From: Gary V. Vaughan Date: Thu, 5 Apr 2001 23:43:39 +0000 (+0000) Subject: * doc/libtool.texi (Multiple dependencies): A note about the X-Git-Tag: release-1-4~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9cca8a2d64ae875e26784f197ad7f1c20f26407;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 648ca4d24..faa88dde8 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. + From Edward Lee * libtool.m4: Typos. diff --git a/doc/libtool.texi b/doc/libtool.texi index df4e8a9cf..b2f1432fb 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -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