From: Ralf Wildenhues Date: Sat, 31 Jan 2009 14:00:10 +0000 (+0100) Subject: execute mode: do not transform *.lo or *.la arguments. X-Git-Tag: v2.2.7b~118 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92a785fd7eadea8db2f1b81ed0425fb93cf62874;p=thirdparty%2Flibtool.git execute mode: do not transform *.lo or *.la arguments. * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check arguments matching *.lo or *.la for script wrappers. * tests/execute-mode.at (execute mode): Add tests. * NEWS, THANKS: Update. Report by Paul Biggar. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 10fdbd98e..53917f498 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2009-01-31 Ralf Wildenhues + execute mode: do not transform *.lo or *.la arguments. + * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check + arguments matching *.lo or *.la for script wrappers. + * tests/execute-mode.at (execute mode): Add tests. + * NEWS, THANKS: Update. + Report by Paul Biggar. + Nonexistent `main' does not guarantee link failure. * tests/fail.at (Failure tests): Use an unresolved symbol, rather than non-presence of `main', to provoke a link failure diff --git a/NEWS b/NEWS index 511659807..8c3fa330a 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,7 @@ New in 2.2.8 2009-??-??: git version 2.2.7a, Libtool team: only the default informational output. See New Features, --no-silent. - Link tests are guarded by cache variables so they can be avoided for bootstrapping purposes (e.g., when link tests are not possible). + - Argument mangling of execute mode has been improved (i.e., lessened). * Miscellaneous changes: diff --git a/THANKS b/THANKS index 6acff4da4..b6d8b705d 100644 --- a/THANKS +++ b/THANKS @@ -122,6 +122,7 @@ Olaf Lenz olenz@fias.uni-frankfurt.de Olly Betts olly@muscat.co.uk Patrick Welche prlw1@newn.cam.ac.uk + Paul Biggar paul.biggar@gmail.com Paul Eggert eggert@twinsun.com Peter Eisentraut peter_e@gmx.net Peter Jeremy peterjeremy@optushome.com.au diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 5f6647183..d685d3081 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -1314,7 +1314,7 @@ func_mode_execute () for file do case $file in - -*) ;; + -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then diff --git a/tests/execute-mode.at b/tests/execute-mode.at index fc38ece2e..0fba29cf7 100644 --- a/tests/execute-mode.at +++ b/tests/execute-mode.at @@ -210,4 +210,11 @@ do arg1= done +# Check that .la files are not transformed by the wrapper searching loop. +AT_CHECK([$LIBTOOL --mode=execute echo ./main liba.lo libfakelib.la], [], [stdout]) +# This could be .libs/lt-main or similar (or just plain `main'). +AT_CHECK([grep main stdout], [], [ignore]) +AT_CHECK([grep liba.lo stdout], [], [ignore]) +AT_CHECK([grep libfakelib.la stdout], [], [ignore]) + AT_CLEANUP