]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
* doc/libtool.texi (Multiple dependencies): A note about the
authorGary V. Vaughan <gary@gnu.org>
Fri, 6 Apr 2001 00:57:13 +0000 (00:57 +0000)
committerGary V. Vaughan <gary@gnu.org>
Fri, 6 Apr 2001 00:57:13 +0000 (00:57 +0000)
problems I've reintroduced by reverting the my patch of 2001-03-31.

ChangeLog
doc/libtool.texi

index 1369690981a40eb1d26b32d98379b02ab364b098..db8eb62d1608d7f45a731dcbf29492415d79b003 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2001-04-05  Gary V. Vaughan  <gvv@techie.com>
 
+       * doc/libtool.texi (Multiple dependencies): A note about the
+       problems I've reintroduced by reverting the my patch of 2001-03-31.
+
        * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test.
        * tests/depdemo-dups.test:  Removed, as part of the patch
        reversion below.
index 6cac5f8e0220e5ef283aa2dff9cea710a587e827..fca68d49fbc9eb627a1e289bee45dccea237cafa 100644 (file)
@@ -207,6 +207,7 @@ Platform quirks
 * References::                  Finding more information.
 * Compilers::                   Creating object files from source files.
 * Reloadable objects::          Binding object files together.
+* Multiple dependencies::      Removing duplicate dependant libraries.
 * Archivers::                   Programs that create static archives.
 
 @end detailmenu
@@ -4334,6 +4335,7 @@ write your own.
 * References::                  Finding more information.
 * Compilers::                   Creating object files from source files.
 * Reloadable objects::          Binding object files together.
+* Multiple dependencies::      Removing duplicate dependant libraries.
 * Archivers::                   Programs that create static archives.
 @end menu
 
@@ -4435,6 +4437,28 @@ created by libtool are linked together in as few steps as necessary
 into a single reloadable object file.  This temporary object file
 is then used to generate a shared library.
 
+@node Multiple dependencies
+@subsection Multiple dependencies
+
+On most modern platforms the order that dependent libraries are listed
+has no effect on object generation.  In theory, there are platforms
+which require libraries which provide missing symbols to other libraries
+to listed after those libraries whose symbols they provide.
+
+Particularly, if a pair of static archives each resolve some of the
+other's symbols, it might be necessary to list one of those archives
+both before and after the other one.  Libtool does not currently cope
+with this situation well, since dupicate libraries are removed from
+thr link line.
+
+If you find yourself developing on a host that requires you to list
+libraries multiple times in order for it to generate correctly linked
+objects, you can defeat libtool's removal algorithm like this:
+
+@example
+$ libtool ... -lfoo -lbar -Wl,-lfoo
+@end example
+
 @node Archivers
 @subsection Archivers