[Top][All Lists]
[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'
- Re: flat, no all-load for darwin,
Peter O'Gorman <=