libtool-patches
[Top][All Lists]
Advanced

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

Re: removing convenience libraries in the wrong place


From: Peter O'Gorman
Subject: Re: removing convenience libraries in the wrong place
Date: Sun, 23 Feb 2003 02:10:16 +0900

Looking at this again, the nested loops are unnecessarily slow.
This may be better:
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/ltmain.in,v
retrieving revision 1.323
diff -u -r1.323 ltmain.in
--- ltmain.in   17 Feb 2003 18:55:45 -0000      1.323
+++ ltmain.in   22 Feb 2003 16:57:17 -0000
@@ -3536,24 +3536,24 @@
        if test "$mode" = relink; then
$run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
        fi
-
+    save_deplibs="$deplibs"
+       tmp_deplibs=
+       for test_deplib in $deplibs; do
+               case " $convenience " in
+               *" $test_deplib "*) ;;
+               *)
+                       tmp_deplibs="$tmp_deplibs $test_deplib"
+                       ;;
+               esac
+       done
+       deplibs="$tmp_deplibs"
        # Do each of the archive commands.
        if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
          eval cmds=\"$archive_expsym_cmds\"
        else
-         save_deplibs="$deplibs"
-         for conv in $convenience; do
-           tmp_deplibs=
-           for test_deplib in $deplibs; do
-             if test "$test_deplib" != "$conv"; then
-               tmp_deplibs="$tmp_deplibs $test_deplib"
-             fi
-           done
-           deplibs="$tmp_deplibs"
-         done
          eval cmds=\"$archive_cmds\"
-         deplibs="$save_deplibs"
        fi
+       deplibs="$save_deplibs"

        if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` &&
           test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then



On Sunday, February 23, 2003, at 12:28  AM, Peter O'Gorman wrote:

Hi,
The convenience libs should be removed from deplibs before archive_expsym_cmds


+       save_deplibs="$deplibs"
+       
+       for conv in $convenience; do
+         tmp_deplibs=
+         for test_deplib in $deplibs; do
+           if test "$test_deplib" != "$conv"; then
+                 tmp_deplibs="$tmp_deplibs $test_deplib"
+           fi
+         done
+         deplibs="$tmp_deplibs"
+       done
+





reply via email to

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