diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-22 07:12:30 -0700 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-22 07:12:30 -0700 |
commit | 4f75229abcaac8c98a0086baf68007dbaa096ed2 (patch) | |
tree | d0b7a780f2ff5e7d2ddc9cbc2b9e8011e8de1b28 /build-aux/compile | |
parent | 3e2b3547b415017f1eeec4a8483901a172bcd3cb (diff) | |
download | gnulib-4f75229abcaac8c98a0086baf68007dbaa096ed2.tar.gz |
autoupdate
Diffstat (limited to 'build-aux/compile')
-rwxr-xr-x | build-aux/compile | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/build-aux/compile b/build-aux/compile index 77f8f31763..46caccc37c 100755 --- a/build-aux/compile +++ b/build-aux/compile @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper for compilers which do not understand `-c -o'. -scriptversion=2010-08-31.19; # UTC +scriptversion=2010-09-21.14; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010 Free Software # Foundation, Inc. @@ -80,10 +80,12 @@ func_file_conv () } # func_cl_wrapper cl arg... -# Adjust compile command to suite cl +# Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell + lib_path= + shared=: linker_opts= for arg do @@ -113,13 +115,41 @@ func_cl_wrapper () shift ;; -l*) - set x "$@" "${1#-l}.lib" + 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" shift ;; -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" ;; + -static) + shared=false + ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' |