From: Peter Rosin Date: Thu, 12 Aug 2010 16:01:18 +0000 (+0200) Subject: Enable the use of "link -lib" as the wrapped archiver. X-Git-Tag: ng-0.5a~386^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c406f64b66aedee8359ddf1383e087faa2ba233;p=thirdparty%2Fautomake.git Enable the use of "link -lib" as the wrapped archiver. * lib/ar-lib: Enable the use of "link -lib" as the wrapped archiver, as well as allowing some other options to be passed through to the wrapped archiver. * tests/ar-lib.test: Test the above. Signed-off-by: Peter Rosin --- diff --git a/ChangeLog b/ChangeLog index 8208906c2..2a1c51471 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-08-12 Peter Rosin + + Enable the use of "link -lib" as the wrapped archiver. + * lib/ar-lib: Enable the use of "link -lib" as the wrapped + archiver, as well as allowing some other options to be passed + through to the wrapped archiver. + * tests/ar-lib.test: Test the above. + 2010-08-06 Peter Rosin Add new auxiliary 'ar-lib' script, wrapping Microsoft lib. diff --git a/lib/ar-lib b/lib/ar-lib index aa4acbdaa..ef0343037 100755 --- a/lib/ar-lib +++ b/lib/ar-lib @@ -2,7 +2,7 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2010-08-08.07; # UTC +scriptversion=2010-08-12.16; # UTC # Copyright (C) 2010 Free Software # Foundation, Inc. @@ -121,8 +121,28 @@ fi AR=$1 shift -action=$1 -shift +while : +do + if test $# -lt 2; then + func_error "you must specify a program, an action and an archive" + fi + case $1 in + -lib | -LIB \ + | -ltcg | -LTCG \ + | -machine* | -MACHINE* \ + | -subsystem* | -SUBSYSTEM* \ + | -verbose | -VERBOSE \ + | -wx* | -WX* ) + AR="$AR $1" + shift + ;; + *) + action=$1 + shift + break + ;; + esac +done orig_archive=$1 shift func_file_conv "$orig_archive" diff --git a/tests/ar-lib.test b/tests/ar-lib.test index 85f82422f..d418c21ed 100755 --- a/tests/ar-lib.test +++ b/tests/ar-lib.test @@ -72,4 +72,8 @@ test x"$opts" = x"lib -NOLOGO -EXTRACT:foo.obj foo.lib" opts=`./ar-lib ./lib x foo.lib @foolist` test x"$opts" = x"lib -NOLOGO -EXTRACT:foo.obj foo.lib" +# Check if ar-lib passes -lib and -LTCG through to the wrappee +opts=`./ar-lib ./lib -lib -LTCG x foo.lib foo.obj` +test x"$opts" = x"lib -lib -LTCG -NOLOGO -EXTRACT:foo.obj foo.lib" + :