From: Gary V. Vaughan Date: Fri, 6 Apr 2001 00:57:13 +0000 (+0000) Subject: * doc/libtool.texi (Multiple dependencies): A note about the X-Git-Tag: multi-language-merge-point~39 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7dfc425533855899db5455ecf937ee333c204cf;p=thirdparty%2Flibtool.git * doc/libtool.texi (Multiple dependencies): A note about the problems I've reintroduced by reverting the my patch of 2001-03-31. --- diff --git a/ChangeLog b/ChangeLog index 136969098..db8eb62d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2001-04-05 Gary V. Vaughan + * 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. diff --git a/doc/libtool.texi b/doc/libtool.texi index 6cac5f8e0..fca68d49f 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -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