From: Peter O'Gorman Date: Tue, 11 Jan 2005 15:52:18 +0000 (+0000) Subject: * config/ltmain.m4sh (func_mode_link): Fix X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4435633e9c91adfe2eb9f35bce945fffad1f5f3e;p=thirdparty%2Flibtool.git * config/ltmain.m4sh (func_mode_link): Fix inherited_linker_flags so it puts it on the link line when linking shared libraries as well as when linking executables. Reported by: Albert Chin-A-Young --- diff --git a/ChangeLog b/ChangeLog index 551f0cc0b..c6d04ed59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-01-10 Peter O'Gorman + + * config/ltmain.m4sh (func_mode_link): Fix + inherited_linker_flags so it puts it on the link line when + linking shared libraries as well as when linking executables. + Reported by: Albert Chin-A-Young + 2005-01-10 Ralf Wildenhues * libltdl/libltdl/lt__glibc.h: Move all exported slist diff --git a/config/ltmain.m4sh b/config/ltmain.m4sh index 7a3761dd7..11ab83284 100644 --- a/config/ltmain.m4sh +++ b/config/ltmain.m4sh @@ -2156,6 +2156,7 @@ func_mode_link () dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= + new_inherited_linker_flags= avoid_version=no dlfiles= @@ -3089,7 +3090,7 @@ func_mode_link () case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs $inherited_linker_flags" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then @@ -3208,9 +3209,9 @@ func_mode_link () else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then - case "$inherited_linker_flags " in + case "$new_inherited_linker_flags " in *" $deplib "*) ;; - * ) inherited_linker_flags="$inherited_linker_flags $deplib" ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi @@ -3369,12 +3370,18 @@ func_mode_link () *-*-darwin*) # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then - inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([[^ $]]*\)/\1.ltframework/g'` + tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([[^ $]]*\)/\1.ltframework/g'` + new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flags" fi dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([[^ $]]*\).ltframework% -framework \1%g'` ;; esac - + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$inherited_linker_flags $compile_deplibs" + finalize_deplibs="$inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags $inherited_linker_flags" + fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then @@ -3938,7 +3945,7 @@ func_mode_link () if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries - for deplib in $dependency_libs $inherited_linker_flags; do + for deplib in $dependency_libs; do case $deplib in -L*) path="$deplib" ;; *.la) @@ -4841,7 +4848,7 @@ EOF case $host in *-*-darwin*) newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([[^ $]]*\).ltframework% -framework \1%g'` - inherited_linker_flags=`$ECHO "X $inherited_linker_flags" | $Xsed -e 's% \([[^ $]]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([[^ $]]*\).ltframework% -framework \1%g'` deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([[^ $]]*\).ltframework% -framework \1%g'` ;; esac @@ -6429,7 +6436,7 @@ library_names='$library_names' old_library='$old_library' # Linker flags that can not go in dependency_libs. -inherited_linker_flags='$inherited_linker_flags' +inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs'