libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TODO


From: Alexandre Duret-Lutz
Subject: Re: TODO
Date: Wed, 10 Nov 2004 22:44:33 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

>>> "Noah" == Noah Misch <address@hidden> writes:

 Noah> On Wed, Nov 10, 2004 at 01:17:19AM +0100, 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

 Noah> The core problem appears to be that an Automake-generated
 Noah> Makefile.in uses dependencies when building installable
 Noah> products but then installs them in destination_PRIMARY
 Noah> batches without observing the dependencies it already
 Noah> knows.  Indeed, if Automake did not know the dependency
 Noah> graph of each object, it could not build them reliably.

Strictly speaking automake does not know these dependencies.  It
knows some dependencies, but because of the possibility to
AC_SUBST variables for conditional linking, and doest not know
exactly all of them (think libfoo_la_DEPENDENCIES = @SOME_LA@).
However these dependencies are indeed known later at make time.

In other word Makefile.in and Makefile.am do not have the
necessary information to compute an installation order, but
Makefile does.

So yes, this order could be recorded during the build.  Libtool
already does that, doesn't it?  If so it seems easier to get the
dependencies from it.

 Noah> If Automake generated an install target for installable
 Noah> product, just as it generated a build target, would that
 Noah> not solve this problem?  

This sounds appealing, but wouldn't this imply that if two
libraries depends on another one, the later will be installed
twice?
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]