Ignore:
Timestamp:
Dec 4, 2012, 12:07:03 PM (7 years ago)
Author:
cameron
Message:

icXML version of SchemaSymbols?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icXML/icXML-devel/config/compile

    r2723 r2732  
    11#! /bin/sh
    2 # Wrapper for compilers which do not understand `-c -o'.
    3 
    4 scriptversion=2009-04-28.21; # 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-01-04.17; # UTC
     5
     6# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
     7# Software Foundation, Inc.
    88# Written by Tom Tromey <tromey@cygnus.com>.
    99#
     
    3030# <automake-patches@gnu.org>.
    3131
     32nl='
     33'
     34
     35# We need space, tab and new line, in precisely that order.  Quoting is
     36# there to prevent tools from complaining about whitespace usage.
     37IFS=" ""        $nl"
     38
     39file_conv=
     40
     41# func_file_conv build_file lazy
     42# Convert a $build file to $host form and store it in $file
     43# Currently only supports Windows hosts. If the determined conversion
     44# type is listed in (the comma separated) LAZY, no conversion will
     45# take place.
     46func_file_conv ()
     47{
     48  file=$1
     49  case $file in
     50    / | /[!/]*) # absolute file, and not a UNC file
     51      if test -z "$file_conv"; then
     52        # lazily determine how to convert abs files
     53        case `uname -s` in
     54          MINGW*)
     55            file_conv=mingw
     56            ;;
     57          CYGWIN*)
     58            file_conv=cygwin
     59            ;;
     60          *)
     61            file_conv=wine
     62            ;;
     63        esac
     64      fi
     65      case $file_conv/,$2, in
     66        *,$file_conv,*)
     67          ;;
     68        mingw/*)
     69          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
     70          ;;
     71        cygwin/*)
     72          file=`cygpath -m "$file" || echo "$file"`
     73          ;;
     74        wine/*)
     75          file=`winepath -w "$file" || echo "$file"`
     76          ;;
     77      esac
     78      ;;
     79  esac
     80}
     81
     82# func_cl_wrapper cl arg...
     83# Adjust compile command to suit cl
     84func_cl_wrapper ()
     85{
     86  # Assume a capable shell
     87  lib_path=
     88  shared=:
     89  linker_opts=
     90  for arg
     91  do
     92    if test -n "$eat"; then
     93      eat=
     94    else
     95      case $1 in
     96        -o)
     97          # configure might choose to run compile as 'compile cc -o foo foo.c'.
     98          eat=1
     99          case $2 in
     100            *.o | *.[oO][bB][jJ])
     101              func_file_conv "$2"
     102              set x "$@" -Fo"$file"
     103              shift
     104              ;;
     105            *)
     106              func_file_conv "$2"
     107              set x "$@" -Fe"$file"
     108              shift
     109              ;;
     110          esac
     111          ;;
     112        -I*)
     113          func_file_conv "${1#-I}" mingw
     114          set x "$@" -I"$file"
     115          shift
     116          ;;
     117        -l*)
     118          lib=${1#-l}
     119          found=no
     120          save_IFS=$IFS
     121          IFS=';'
     122          for dir in $lib_path $LIB
     123          do
     124            IFS=$save_IFS
     125            if $shared && test -f "$dir/$lib.dll.lib"; then
     126              found=yes
     127              set x "$@" "$dir/$lib.dll.lib"
     128              break
     129            fi
     130            if test -f "$dir/$lib.lib"; then
     131              found=yes
     132              set x "$@" "$dir/$lib.lib"
     133              break
     134            fi
     135          done
     136          IFS=$save_IFS
     137
     138          test "$found" != yes && set x "$@" "$lib.lib"
     139          shift
     140          ;;
     141        -L*)
     142          func_file_conv "${1#-L}"
     143          if test -z "$lib_path"; then
     144            lib_path=$file
     145          else
     146            lib_path="$lib_path;$file"
     147          fi
     148          linker_opts="$linker_opts -LIBPATH:$file"
     149          ;;
     150        -static)
     151          shared=false
     152          ;;
     153        -Wl,*)
     154          arg=${1#-Wl,}
     155          save_ifs="$IFS"; IFS=','
     156          for flag in $arg; do
     157            IFS="$save_ifs"
     158            linker_opts="$linker_opts $flag"
     159          done
     160          IFS="$save_ifs"
     161          ;;
     162        -Xlinker)
     163          eat=1
     164          linker_opts="$linker_opts $2"
     165          ;;
     166        -*)
     167          set x "$@" "$1"
     168          shift
     169          ;;
     170        *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
     171          func_file_conv "$1"
     172          set x "$@" -Tp"$file"
     173          shift
     174          ;;
     175        *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
     176          func_file_conv "$1" mingw
     177          set x "$@" "$file"
     178          shift
     179          ;;
     180        *)
     181          set x "$@" "$1"
     182          shift
     183          ;;
     184      esac
     185    fi
     186    shift
     187  done
     188  if test -n "$linker_opts"; then
     189    linker_opts="-link$linker_opts"
     190  fi
     191  exec "$@" $linker_opts
     192  exit 1
     193}
     194
     195eat=
     196
    32197case $1 in
    33198  '')
    34      echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
     199     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    35200     exit 1;
    36201     ;;
     
    39204Usage: compile [--help] [--version] PROGRAM [ARGS]
    40205
    41 Wrapper for compilers which do not understand `-c -o'.
    42 Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
     206Wrapper for compilers which do not understand '-c -o'.
     207Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
    43208arguments, and rename the output as expected.
    44209
    45210If you are trying to build a whole package this is not the
    46 right script to run: please start by reading the file `INSTALL'.
     211right script to run: please start by reading the file 'INSTALL'.
    47212
    48213Report bugs to <bug-automake@gnu.org>.
     
    54219    exit $?
    55220    ;;
     221  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
     222    func_cl_wrapper "$@"      # Doesn't return...
     223    ;;
    56224esac
    57225
    58226ofile=
    59227cfile=
    60 eat=
    61228
    62229for arg
     
    67234    case $1 in
    68235      -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.
     236        # configure might choose to run compile as 'compile cc -o foo foo.c'.
     237        # So we strip '-o arg' only if arg is an object.
    71238        eat=1
    72239        case $2 in
     
    95262
    96263if test -z "$ofile" || test -z "$cfile"; then
    97   # If no `-o' option was seen then we might have been invoked from a
     264  # If no '-o' option was seen then we might have been invoked from a
    98265  # pattern rule where we don't need one.  That is ok -- this is a
    99266  # normal compilation that the losing compiler can handle.  If no
    100   # `.c' file was seen then we are probably linking.  That is also
     267  # '.c' file was seen then we are probably linking.  That is also
    101268  # ok.
    102269  exec "$@"
     
    107274
    108275# Create the lock directory.
    109 # Note: use `[/\\:.-]' here to ensure that we don't use the same name
     276# Note: use '[/\\:.-]' here to ensure that we don't use the same name
    110277# that we are using for the .o file.  Also, base the name on the expected
    111278# object file name, since that is what matters with a parallel build.
     
    125292
    126293if test -f "$cofile"; then
    127   mv "$cofile" "$ofile"
     294  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
    128295elif test -f "${cofile}bj"; then
    129   mv "${cofile}bj" "$ofile"
     296  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
    130297fi
    131298
Note: See TracChangeset for help on using the changeset viewer.