Ignore:
Timestamp:
12/10/15 10:45:35 (9 years ago)
Author:
tbretz
Message:
Updated to newer versions.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/.aux_dir/compile

    r10183 r18384  
    11#! /bin/sh
    2 # Wrapper for compilers which do not understand `-c -o'.
    3 
    4 scriptversion=2009-10-06.20; # UTC
    5 
    6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
    7 # Foundation, Inc.
     2# Wrapper for compilers which do not understand '-c -o'.
     3
     4scriptversion=2012-10-14.11; # UTC
     5
     6# Copyright (C) 1999-2013 Free Software Foundation, Inc.
    87# Written by Tom Tromey <tromey@cygnus.com>.
    98#
     
    3029# <automake-patches@gnu.org>.
    3130
     31nl='
     32'
     33
     34# We need space, tab and new line, in precisely that order.  Quoting is
     35# there to prevent tools from complaining about whitespace usage.
     36IFS=" ""        $nl"
     37
     38file_conv=
     39
     40# func_file_conv build_file lazy
     41# Convert a $build file to $host form and store it in $file
     42# Currently only supports Windows hosts. If the determined conversion
     43# type is listed in (the comma separated) LAZY, no conversion will
     44# take place.
     45func_file_conv ()
     46{
     47  file=$1
     48  case $file in
     49    / | /[!/]*) # absolute file, and not a UNC file
     50      if test -z "$file_conv"; then
     51        # lazily determine how to convert abs files
     52        case `uname -s` in
     53          MINGW*)
     54            file_conv=mingw
     55            ;;
     56          CYGWIN*)
     57            file_conv=cygwin
     58            ;;
     59          *)
     60            file_conv=wine
     61            ;;
     62        esac
     63      fi
     64      case $file_conv/,$2, in
     65        *,$file_conv,*)
     66          ;;
     67        mingw/*)
     68          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
     69          ;;
     70        cygwin/*)
     71          file=`cygpath -m "$file" || echo "$file"`
     72          ;;
     73        wine/*)
     74          file=`winepath -w "$file" || echo "$file"`
     75          ;;
     76      esac
     77      ;;
     78  esac
     79}
     80
     81# func_cl_dashL linkdir
     82# Make cl look for libraries in LINKDIR
     83func_cl_dashL ()
     84{
     85  func_file_conv "$1"
     86  if test -z "$lib_path"; then
     87    lib_path=$file
     88  else
     89    lib_path="$lib_path;$file"
     90  fi
     91  linker_opts="$linker_opts -LIBPATH:$file"
     92}
     93
     94# func_cl_dashl library
     95# Do a library search-path lookup for cl
     96func_cl_dashl ()
     97{
     98  lib=$1
     99  found=no
     100  save_IFS=$IFS
     101  IFS=';'
     102  for dir in $lib_path $LIB
     103  do
     104    IFS=$save_IFS
     105    if $shared && test -f "$dir/$lib.dll.lib"; then
     106      found=yes
     107      lib=$dir/$lib.dll.lib
     108      break
     109    fi
     110    if test -f "$dir/$lib.lib"; then
     111      found=yes
     112      lib=$dir/$lib.lib
     113      break
     114    fi
     115    if test -f "$dir/lib$lib.a"; then
     116      found=yes
     117      lib=$dir/lib$lib.a
     118      break
     119    fi
     120  done
     121  IFS=$save_IFS
     122
     123  if test "$found" != yes; then
     124    lib=$lib.lib
     125  fi
     126}
     127
     128# func_cl_wrapper cl arg...
     129# Adjust compile command to suit cl
     130func_cl_wrapper ()
     131{
     132  # Assume a capable shell
     133  lib_path=
     134  shared=:
     135  linker_opts=
     136  for arg
     137  do
     138    if test -n "$eat"; then
     139      eat=
     140    else
     141      case $1 in
     142        -o)
     143          # configure might choose to run compile as 'compile cc -o foo foo.c'.
     144          eat=1
     145          case $2 in
     146            *.o | *.[oO][bB][jJ])
     147              func_file_conv "$2"
     148              set x "$@" -Fo"$file"
     149              shift
     150              ;;
     151            *)
     152              func_file_conv "$2"
     153              set x "$@" -Fe"$file"
     154              shift
     155              ;;
     156          esac
     157          ;;
     158        -I)
     159          eat=1
     160          func_file_conv "$2" mingw
     161          set x "$@" -I"$file"
     162          shift
     163          ;;
     164        -I*)
     165          func_file_conv "${1#-I}" mingw
     166          set x "$@" -I"$file"
     167          shift
     168          ;;
     169        -l)
     170          eat=1
     171          func_cl_dashl "$2"
     172          set x "$@" "$lib"
     173          shift
     174          ;;
     175        -l*)
     176          func_cl_dashl "${1#-l}"
     177          set x "$@" "$lib"
     178          shift
     179          ;;
     180        -L)
     181          eat=1
     182          func_cl_dashL "$2"
     183          ;;
     184        -L*)
     185          func_cl_dashL "${1#-L}"
     186          ;;
     187        -static)
     188          shared=false
     189          ;;
     190        -Wl,*)
     191          arg=${1#-Wl,}
     192          save_ifs="$IFS"; IFS=','
     193          for flag in $arg; do
     194            IFS="$save_ifs"
     195            linker_opts="$linker_opts $flag"
     196          done
     197          IFS="$save_ifs"
     198          ;;
     199        -Xlinker)
     200          eat=1
     201          linker_opts="$linker_opts $2"
     202          ;;
     203        -*)
     204          set x "$@" "$1"
     205          shift
     206          ;;
     207        *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
     208          func_file_conv "$1"
     209          set x "$@" -Tp"$file"
     210          shift
     211          ;;
     212        *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
     213          func_file_conv "$1" mingw
     214          set x "$@" "$file"
     215          shift
     216          ;;
     217        *)
     218          set x "$@" "$1"
     219          shift
     220          ;;
     221      esac
     222    fi
     223    shift
     224  done
     225  if test -n "$linker_opts"; then
     226    linker_opts="-link$linker_opts"
     227  fi
     228  exec "$@" $linker_opts
     229  exit 1
     230}
     231
     232eat=
     233
    32234case $1 in
    33235  '')
    34      echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
     236     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    35237     exit 1;
    36238     ;;
     
    39241Usage: compile [--help] [--version] PROGRAM [ARGS]
    40242
    41 Wrapper for compilers which do not understand `-c -o'.
    42 Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
     243Wrapper for compilers which do not understand '-c -o'.
     244Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
    43245arguments, and rename the output as expected.
    44246
    45247If you are trying to build a whole package this is not the
    46 right script to run: please start by reading the file `INSTALL'.
     248right script to run: please start by reading the file 'INSTALL'.
    47249
    48250Report bugs to <bug-automake@gnu.org>.
     
    54256    exit $?
    55257    ;;
     258  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
     259    func_cl_wrapper "$@"      # Doesn't return...
     260    ;;
    56261esac
    57262
    58263ofile=
    59264cfile=
    60 eat=
    61265
    62266for arg
     
    67271    case $1 in
    68272      -o)
    69         # configure might choose to run compile as `compile cc -o foo foo.c'.
    70         # So we strip `-o arg' only if arg is an object.
     273        # configure might choose to run compile as 'compile cc -o foo foo.c'.
     274        # So we strip '-o arg' only if arg is an object.
    71275        eat=1
    72276        case $2 in
     
    95299
    96300if test -z "$ofile" || test -z "$cfile"; then
    97   # If no `-o' option was seen then we might have been invoked from a
     301  # If no '-o' option was seen then we might have been invoked from a
    98302  # pattern rule where we don't need one.  That is ok -- this is a
    99303  # normal compilation that the losing compiler can handle.  If no
    100   # `.c' file was seen then we are probably linking.  That is also
     304  # '.c' file was seen then we are probably linking.  That is also
    101305  # ok.
    102306  exec "$@"
     
    107311
    108312# Create the lock directory.
    109 # Note: use `[/\\:.-]' here to ensure that we don't use the same name
     313# Note: use '[/\\:.-]' here to ensure that we don't use the same name
    110314# that we are using for the .o file.  Also, base the name on the expected
    111315# object file name, since that is what matters with a parallel build.
Note: See TracChangeset for help on using the changeset viewer.