bug-libtool
[Top][All Lists]
Advanced

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

Re: inherited linker flags misses linker flags on darwin


From: Peter O'Gorman
Subject: Re: inherited linker flags misses linker flags on darwin
Date: Sun, 07 Aug 2005 00:24:47 +0900
User-agent: Mozilla Thunderbird 1.0.2 (Macintosh/20050317)

Christoph Egger wrote:

But there is something going wrong later, when I link a program
against libfoo.la

While inherited_linker_flags contains the right values, libtool
malforms them. The linker then see's this:

Carbon ApplicationServices -framework


If this works for you maybe someone would be kind enough to commit it while I am gone.

Peter
2005-08-06  Peter O'Gorman  <address@hidden>

        * config/ltmain.m4sh (inherited_linker_flags): Work when output
        is an application too.
        Reported by Christopher Egger <address@hidden>

Index: config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/config/ltmain.m4sh,v
retrieving revision 1.79
diff -u -3 -p -u -r1.79 ltmain.m4sh
--- config/ltmain.m4sh  5 Aug 2005 07:50:54 -0000       1.79
+++ config/ltmain.m4sh  6 Aug 2005 15:25:10 -0000
@@ -3405,14 +3405,19 @@ func_mode_link ()
          # Convert "-framework foo" to "foo.ltframework"
          if test -n "$inherited_linker_flags"; then
            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"
+               for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+                 case " $new_inherited_linker_flags " in
+                   *" tmp_inherited_linker_flag "*) ;;
+                   *) new_inherited_linker_flags="$new_inherited_linker_flags 
$tmp_inherited_linker_flags";;
+                 esac
+               done
          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"
+         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
        else
          compiler_flags="$compiler_flags $inherited_linker_flags"
        fi

reply via email to

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