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

ChangeLog
doc/libtool.texi

index 648ca4d24e77e52ee2d2941599f001dc9152daeb..faa88dde8516599ea460eeb6750270f975393848 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.
+
        From Edward Lee <tailbert@yahoo.com>
        * libtool.m4: Typos.
 
index df4e8a9cf0f731dd624567fc7818084572c6cbaf..b2f1432fbcc1c082cfcfb8a61edcd74a0d6c154a 100644 (file)
@@ -202,6 +202,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
@@ -4037,6 +4038,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
 
@@ -4134,6 +4136,28 @@ On all known systems, a reloadable object can be created by running
 reloadable object may be treated as exactly equivalent to other
 objects.
 
+@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