On Tue, Aug 25, 2009 at 05:46:12PM +0300, Anssi Hannula wrote: > > dependency_libs contains the dependencies of a library. These are needed > when linking statically. These are also needed when linking dynamically, > but only on certain systems (they are not needed on normal linux systems). > > I think the proper way to solve this is to not link to dependency_libs > when linking dynamically on systems where it is not needed to link to > those. I haven't seen any correctly working patches that implement this.
Debian already ships a version that has link_all_deplibs set to no, which already solves _some_ of the problems we have. (It also has it's issues.) The reason we still have a problem is that the .la file contains all the shared files that this lib, and recursively all the libs they depends on, link to. And when somewhere in the chain something no longer links to a library we have to go and fix all the libraries in between to get rid of the broken .la files. So it currently seems to be easier to ship .la files with dependency_libs set to an empty string. I've mailed about this issue before. What I think needs to happen, and have proposed before, is: - The .la file should only contain the libraries the current library links to - Libtool should recursively read all the .la files in the .la file. With that change only one .la file would need to be updated. I have an implementation (in C) that does this. And it atleast finds some issues in the test suite that I've mailed about and didn't get resolved yet. I should probably also keep working on my version. Kurt _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool