On Sun, Dec 04, 2005 at 05:10:47PM +0100, Kurt Roeckx wrote: > On Sun, Dec 04, 2005 at 04:59:12PM +0100, Aurelien Jarno wrote: > > Package: libtool > > Version: 1.5.20-2 > > Severity: wishlist > > Tags: patch > > > > Hi, > > > > The patch you added to libtool to prune unused libs from the linker line > > is a very nice thing and will probably ease the next transitions. > > > > However, it is currently only enabled on GNU/Linux. Could you please > > also enable it on GNU/kFreeBSD? The attached patch does that. > > I think this patch is still missing a part. If you look at the > current patch, it sets it to no in 2 cases, both being only for > Linux. > > Can you please verify that in the generated libtool all > link_all_deplibs are set to no (instead of unknown)? >
Oops, you're right. Please find attached a fixed patch. Note that I had to separate kfreebsd*-gnu from freebsd* for the second part. Thanks, Aurelien -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net
diff -u libtool-1.5.20/debian/patches/link_all_deplibs.dpatch libtool-1.5.20/debian/patches/link_all_deplibs.dpatch --- libtool-1.5.20/debian/patches/link_all_deplibs.dpatch +++ libtool-1.5.20/debian/patches/link_all_deplibs.dpatch @@ -11,17 +11,20 @@ diff -urNad --exclude=CVS --exclude=.svn ./libtool.m4 /tmp/dpep-work.DH3vrV/libtool-1.5.20/libtool.m4 --- ./libtool.m4 2005-09-14 20:50:48.404325960 +0200 +++ /tmp/dpep-work.DH3vrV/libtool-1.5.20/libtool.m4 2005-09-14 20:50:48.488313192 +0200 -@@ -5216,6 +5216,9 @@ +@@ -5216,6 +5216,12 @@ cygwin* | mingw*) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' ;; ++ kfreebsd*-gnu) ++ _LT_AC_TAGVAR(link_all_deplibs, $1)=no ++ ;; + linux*) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; -@@ -5393,6 +5396,7 @@ +@@ -5393,6 +5399,7 @@ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi @@ -29,6 +32,29 @@ else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi +@@ -5701,12 +5708,21 @@ + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +- freebsd* | kfreebsd*-gnu | dragonfly*) ++ freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; ++ ++ # GNU/kFreeBSD uses gcc -shared to do shared libraries. ++ kfreebsd*-gnu) ++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' ++ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ++ _LT_AC_TAGVAR(hardcode_direct, $1)=yes ++ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ++ _LT_AC_TAGVAR(link_all_deplibs, $1)=no ++ ;; + + hpux9*) + if test "$GCC" = yes; then diff -urNad --exclude=CVS --exclude=.svn ./ltmain.in /tmp/dpep-work.DH3vrV/libtool-1.5.20/ltmain.in --- ./ltmain.in 2005-09-14 20:38:50.000000000 +0200 +++ /tmp/dpep-work.DH3vrV/libtool-1.5.20/ltmain.in 2005-09-14 20:50:48.490312888 +0200