|
From: | Bob Friesenhahn |
Subject: | Re: TODO |
Date: | Tue, 9 Nov 2004 18:58:07 -0600 (CST) |
On Wed, 10 Nov 2004, Alexandre Duret-Lutz wrote:
- the relinking dependency debacle: For libtool to relink libraries when installing them, all dependencies must have been installed. However automake cannot pre-compute this installation order when it is run, and computing it at compile-time look overly complicated and error prone. Instead, would it make sense to support a two-stage install as follows: 1. install all programs and libraries without relinking (in random order) 2. relink everything (in random order) Would this work? (I think I already asked and the answer was no, but I cannot find that answer in the archive.)
I don't believe that this would work since dependencies are inherited at link time based on existing registered library dependencies. This means that a library may link against a wrong library version, and the error would propagate.
Automake can at least keep its part of the house in order by ensuring the correct library install order within the same Makefile. It does build the libraries in the correct order, assuming that LDADD has been used properly.
One approach which could be used is for libtool to support a mode where it is provided with a list of all the .la files for libraries to be installed, and libtool returns a re-ordered list which is ordered by increasing dependency. Automake would then use this to order its installation of libtool libraries. Efficient implementation of this capability in bourne shell sounds quite challenging. There is also the problem that sometimes there is not a 100% correct answer.
Bob ====================================== Bob Friesenhahn address@hidden http://www.simplesystems.org/users/bfriesen
[Prev in Thread] | Current Thread | [Next in Thread] |