libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI-2.0] fix inherited_linker_flags


From: Peter O'Gorman
Subject: [FYI-2.0] fix inherited_linker_flags
Date: Wed, 12 Jan 2005 00:52:39 +0900
User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206)

Hi,
Applied this to branch-2-0.

Thanks,
Peter
--
Peter O'Gorman - http://www.pogma.com
Index: ChangeLog
2005-01-10  Peter O'Gorman  <address@hidden>

        * 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 <address@hidden>

from  Ralf Wildenhues  <address@hidden>
Index: config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/config/ltmain.m4sh,v
retrieving revision 1.1.2.31
diff -u -3 -p -u -r1.1.2.31 ltmain.m4sh
--- config/ltmain.m4sh 10 Jan 2005 11:00:05 -0000 1.1.2.31
+++ config/ltmain.m4sh 11 Jan 2005 04:03:42 -0000
@@ -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'

reply via email to

[Prev in Thread] Current Thread [Next in Thread]