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: Christoph Egger
Subject: Re: inherited linker flags misses linker flags on darwin
Date: Sat, 6 Aug 2005 19:12:46 +0200 (MEST)

> --- Ursprüngliche Nachricht ---
> Von: Peter O'Gorman <address@hidden>
> An: Christoph Egger <address@hidden>
> Kopie: address@hidden
> Betreff: Re: inherited linker flags misses linker flags on darwin
> Datum: Sun, 07 Aug 2005 00:24:47 +0900
> 
> 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.

Hey, tnx. That's great!

> 
> 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";;

use a singular here:
*) new_inherited_linker_flags="$new_inherited_linker_flag
$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


This patch works! Someone with cvs write access please commit!

-- 
Greetings,

Christoph

5 GB Mailbox, 50 FreeSMS http://www.gmx.net/de/go/promail
+++ GMX - die erste Adresse für Mail, Message, More +++




reply via email to

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