diff options
Diffstat (limited to 'main/lzo/autoconf/compile')
| -rwxr-xr-x | main/lzo/autoconf/compile | 123 | 
1 files changed, 80 insertions, 43 deletions
| diff --git a/main/lzo/autoconf/compile b/main/lzo/autoconf/compile index bac481cd..a85b723c 100755 --- a/main/lzo/autoconf/compile +++ b/main/lzo/autoconf/compile @@ -1,10 +1,9 @@  #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2010-11-15.09; # UTC +scriptversion=2012-10-14.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2014 Free Software Foundation, Inc.  # Written by Tom Tromey <tromey@cygnus.com>.  #  # This program is free software; you can redistribute it and/or modify @@ -40,7 +39,7 @@ file_conv=  # func_file_conv build_file lazy  # Convert a $build file to $host form and store it in $file -# Currently only supports Win32 hosts. If the determined conversion +# Currently only supports Windows hosts. If the determined conversion  # type is listed in (the comma separated) LAZY, no conversion will  # take place.  func_file_conv () @@ -79,6 +78,53 @@ func_file_conv ()    esac  } +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ +  func_file_conv "$1" +  if test -z "$lib_path"; then +    lib_path=$file +  else +    lib_path="$lib_path;$file" +  fi +  linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ +  lib=$1 +  found=no +  save_IFS=$IFS +  IFS=';' +  for dir in $lib_path $LIB +  do +    IFS=$save_IFS +    if $shared && test -f "$dir/$lib.dll.lib"; then +      found=yes +      lib=$dir/$lib.dll.lib +      break +    fi +    if test -f "$dir/$lib.lib"; then +      found=yes +      lib=$dir/$lib.lib +      break +    fi +    if test -f "$dir/lib$lib.a"; then +      found=yes +      lib=$dir/lib$lib.a +      break +    fi +  done +  IFS=$save_IFS + +  if test "$found" != yes; then +    lib=$lib.lib +  fi +} +  # func_cl_wrapper cl arg...  # Adjust compile command to suit cl  func_cl_wrapper () @@ -94,7 +140,7 @@ func_cl_wrapper ()      else        case $1 in  	-o) -	  # configure might choose to run compile as `compile cc -o foo foo.c'. +	  # configure might choose to run compile as 'compile cc -o foo foo.c'.  	  eat=1  	  case $2 in  	    *.o | *.[oO][bB][jJ]) @@ -109,43 +155,34 @@ func_cl_wrapper ()  	      ;;  	  esac  	  ;; +	-I) +	  eat=1 +	  func_file_conv "$2" mingw +	  set x "$@" -I"$file" +	  shift +	  ;;  	-I*)  	  func_file_conv "${1#-I}" mingw  	  set x "$@" -I"$file"  	  shift  	  ;; +	-l) +	  eat=1 +	  func_cl_dashl "$2" +	  set x "$@" "$lib" +	  shift +	  ;;  	-l*) -	  lib=${1#-l} -	  found=no -	  save_IFS=$IFS -	  IFS=';' -	  for dir in $lib_path $LIB -	  do -	    IFS=$save_IFS -	    if $shared && test -f "$dir/$lib.dll.lib"; then -	      found=yes -	      set x "$@" "$dir/$lib.dll.lib" -	      break -	    fi -	    if test -f "$dir/$lib.lib"; then -	      found=yes -	      set x "$@" "$dir/$lib.lib" -	      break -	    fi -	  done -	  IFS=$save_IFS - -	  test "$found" != yes && set x "$@" "$lib.lib" +	  func_cl_dashl "${1#-l}" +	  set x "$@" "$lib"  	  shift  	  ;; +	-L) +	  eat=1 +	  func_cl_dashL "$2" +	  ;;  	-L*) -	  func_file_conv "${1#-L}" -	  if test -z "$lib_path"; then -	    lib_path=$file -	  else -	    lib_path="$lib_path;$file" -	  fi -	  linker_opts="$linker_opts -LIBPATH:$file" +	  func_cl_dashL "${1#-L}"  	  ;;  	-static)  	  shared=false @@ -196,19 +233,19 @@ eat=  case $1 in    '') -     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2 +     echo "$0: No command.  Try '$0 --help' for more information." 1>&2       exit 1;       ;;    -h | --h*)      cat <<\EOF  Usage: compile [--help] [--version] PROGRAM [ARGS] -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining  arguments, and rename the output as expected.  If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. +right script to run: please start by reading the file 'INSTALL'.  Report bugs to <bug-automake@gnu.org>.  EOF @@ -233,8 +270,8 @@ do    else      case $1 in        -o) -	# configure might choose to run compile as `compile cc -o foo foo.c'. -	# So we strip `-o arg' only if arg is an object. +	# configure might choose to run compile as 'compile cc -o foo foo.c'. +	# So we strip '-o arg' only if arg is an object.  	eat=1  	case $2 in  	  *.o | *.obj) @@ -261,10 +298,10 @@ do  done  if test -z "$ofile" || test -z "$cfile"; then -  # If no `-o' option was seen then we might have been invoked from a +  # If no '-o' option was seen then we might have been invoked from a    # pattern rule where we don't need one.  That is ok -- this is a    # normal compilation that the losing compiler can handle.  If no -  # `.c' file was seen then we are probably linking.  That is also +  # '.c' file was seen then we are probably linking.  That is also    # ok.    exec "$@"  fi @@ -273,7 +310,7 @@ fi  cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`  # Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# Note: use '[/\\:.-]' here to ensure that we don't use the same name  # that we are using for the .o file.  Also, base the name on the expected  # object file name, since that is what matters with a parallel build.  lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d | 
