Package: libtool
Version: 2.2.6a-4
Severity: normal
I tried to add --Wl,--as-needed to the library flags, but it seems that
libtool adds this option after the -l arguments and makes it useless (it must
stand before the libs and not after them).
Is there a workaround or can it be fixed in libtools? I saw different patches
which does that, but maybe there is a more elegant way to do it.
The actual problem is that `pkg-config --libs gtk+-x11-2.0` isn't really fine
grained and adds a lot of extra dependencies I don't use. --as-needed would be
a nice way to fix it for me.
--- System information. ---
Architecture: amd64
Kernel: Linux 2.6.31-1-amd64
Debian Release: squeeze/sid
500 unstable ftp.debian.org
--- Package information. ---
Depends (Version) | Installed
============================-+-===========
gcc | 4:4.3.4-1
OR c-compiler |
cpp | 4:4.3.4-1
libc6-dev | 2.10.1-7
OR libc-dev |
file | 5.03-3
autotools-dev | 20090611.1
Recommends (Version) | Installed
==========================-+-===========
libltdl-dev | 2.2.6a-4
Suggests (Version) | Installed
=================================-+-===========
libtool-doc |
autoconf (>> 2.50) | 2.64-6
automaken |
gfortran |
OR fortran95-compiler |
gcj |
diff --git a/config/ltmain.sh b/config/ltmain.sh
index 0bf3848246321707ac514bb6566691c31aa4f08c..ec8e8d621cbad18b0769f2d32168f137a2765da2 100644
--- a/config/ltmain.sh
+++ b/config/ltmain.sh
@@ -1807,6 +1807,11 @@ EOF
arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
;;
+ -Wl,--as-needed)
+ deplibs="$deplibs $arg"
+ continue
+ ;;
+
-Wl,*)
args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
arg=
@@ -2150,6 +2155,15 @@ EOF
lib=
found=no
case $deplib in
+ -Wl,--as-needed)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ fi
+ continue
+ ;;
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
if test "$linkmode,$pass" = "prog,link"; then
compile_deplibs="$deplib $compile_deplibs"