summaryrefslogtreecommitdiff
path: root/build-aux/compile
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-09-22 07:12:30 -0700
committerKarl Berry <karl@freefriends.org>2010-09-22 07:12:30 -0700
commit4f75229abcaac8c98a0086baf68007dbaa096ed2 (patch)
treed0b7a780f2ff5e7d2ddc9cbc2b9e8011e8de1b28 /build-aux/compile
parent3e2b3547b415017f1eeec4a8483901a172bcd3cb (diff)
downloadgnulib-4f75229abcaac8c98a0086baf68007dbaa096ed2.tar.gz
autoupdate
Diffstat (limited to 'build-aux/compile')
-rwxr-xr-xbuild-aux/compile36
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=','