libtool-patches
[Top][All Lists]
Advanced

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

Re: don't add -isysroot to compiler flags if already in $CC


From: Peter O'Gorman
Subject: Re: don't add -isysroot to compiler flags if already in $CC
Date: Fri, 02 Dec 2005 00:59:32 +0900
User-agent: Mozilla Thunderbird 1.0.2 (Macintosh/20050317)

Ralf Wildenhues wrote:
Also, I wonder why you leave out CFLAGS and such, so why not check
against $compile_command?

To check against any in-between white space, you'd probably need expr,
as this (SPACE and TAB)

   case " $compile_command " in
   *" $framework_arg[      ]$arg "*) ;;
   *)..

may not be enough?


Okay?


Dunno either.

Hi Ralf,
You are right, of course. The original patch, by checking for CC and then removing the flag broke building of executables. When we build shared libraries we use CC, not compile_command. compile_command is okay and never gets duplicates, but if a flag is in CC and we recognise it and put it in compiler_flags, there is the possibility of it being duplicated on the link line.

Is this version okay & forward port? A space and a tab check is quite satisfactory for me, I don't see the need to go overboard here.

Oops looks like I need to fix indentation too. Please pretend that that is okay for now :)

Peter
Index: ChangeLog
2005-12-01  Peter O'Gorman  <address@hidden>

        * ltmain.in [darwin]: Don't add -framework. -arch, -isysroot
        to $compiler_flags if already in $CC with same arguments.

from  Ralf Wildenhues <address@hidden>
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/ltmain.in,v
retrieving revision 1.334.2.107
diff -u -3 -p -u -r1.334.2.107 ltmain.in
--- ltmain.in 28 Nov 2005 12:41:41 -0000 1.334.2.107
+++ ltmain.in 1 Dec 2005 15:54:17 -0000
@@ -1425,12 +1425,15 @@ EOF
        ;;
 
       -framework|-arch|-isysroot)
-        prev=darwin_framework
-        compiler_flags="$compiler_flags $arg"
-       compile_command="$compile_command $arg"
-       finalize_command="$finalize_command $arg"
+       case " $CC " in
+       *" ${arg} ${1} "* | *" ${arg}   ${1} "*)  ;;
+       *) compiler_flags="$compiler_flags $arg ${1}";;
+       esac
+        compile_command="$compile_command $arg ${1}"
+        finalize_command="$finalize_command $arg ${1}"
+       shift
         continue
-        ;;
+          ;;
 
       -inst-prefix-dir)
        prev=inst_prefix

reply via email to

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