libtool-patches
[Top][All Lists]
Advanced

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

Re: flat, no all-load for darwin


From: Peter O'Gorman
Subject: Re: flat, no all-load for darwin
Date: Mon, 02 Aug 2004 13:15:31 +0900
User-agent: Mozilla Thunderbird 0.6 (Macintosh/20040502)

Geoffrey Keating wrote:

Libtool was using -all_load to get all the members of a convenience
archive.  Unfortunately, -all_load applies to *every* library in the
link, so this would cause it to pull in everything from, say,
libstdc++, causing huge binary bloat and occasionally link errors
when a library is listed twice on the link line.

I applied the -all_load part just now.

Peter
--
Peter O'Gorman - http://www.pogma.com



Index: ChangeLog
from  Geoffrey Keating  <address@hidden>

        * libtool.m4 [darwin]: Don't use -all_load.

Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.43
diff -u -3 -p -u -r1.314.2.43 libtool.m4
--- libtool.m4 1 Aug 2004 08:53:31 -0000 1.314.2.43
+++ libtool.m4 2 Aug 2004 03:50:59 -0000
@@ -2886,7 +2886,7 @@ case $host_os in
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
     if test "$GXX" = yes ; then
@@ -2912,7 +2912,6 @@ case $host_os in
       case "$cc_basename" in
         xlc*)
          output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags 
${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib 
-bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it 
doesn't exist in older darwin ld's
@@ -5435,7 +5434,7 @@ $echo "local: *; };" >> $output_objdir/$
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
     if test "$GCC" = yes ; then
        output_verbose_link_cmd='echo'
@@ -5448,7 +5447,6 @@ $echo "local: *; };" >> $output_objdir/$
       case "$cc_basename" in
         xlc*)
          output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag 
-o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo 
$rpath/$soname` $verstring'
          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib 
-bundle $libobjs $deplibs$compiler_flags'
           # Don't fix this by using the ld -exported_symbols_list flag, it 
doesn't exist in older darwin ld's

Index: ChangeLog
from  Geoffrey Keating  <address@hidden>

        * m4/libtool.m4 [darwin]: Don't use -all_load.

Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.85
diff -u -3 -p -u -r1.85 libtool.m4
--- m4/libtool.m4 1 Aug 2004 09:06:00 -0000 1.85
+++ m4/libtool.m4 2 Aug 2004 03:58:16 -0000
@@ -3806,7 +3806,7 @@ _LT_EOF
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
     if test "$GCC" = yes ; then
        output_verbose_link_cmd='echo'
@@ -3818,7 +3818,6 @@ _LT_EOF
     else
       case "$cc_basename" in
         xlc*)
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
          output_verbose_link_cmd='echo'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags 
${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib 
-bundle $libobjs $deplibs$compiler_flags'
@@ -4734,7 +4733,7 @@ if test -n "$compiler"; then
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience'
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
     if test "$GXX" = yes ; then
@@ -4759,7 +4758,6 @@ if test -n "$compiler"; then
       else
       case "$cc_basename" in
         xlc*)
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
          output_verbose_link_cmd='echo'
           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags 
${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib 
-bundle $libobjs $deplibs$compiler_flags'


reply via email to

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