--- ltmain.sh.orig 2009-04-18 16:51:52.000000000 +0200 +++ ltmain.sh 2009-04-18 16:55:05.000000000 +0200 @@ -1812,10 +1812,15 @@ done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; + -Wl,--as-needed|-Wl,--no-as-needed) + deplibs="$deplibs $arg" + continue + ;; + -Wl,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do @@ -2152,10 +2157,19 @@ fi for deplib in $libs; do lib= found=no case $deplib in + -Wl,--as-needed|-Wl,--no-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" finalize_deplibs="$deplib $finalize_deplibs" else