libtool
[Top][All Lists]
Advanced

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

Re: Splitting dependency_libs in *.la?


From: Kurt Roeckx
Subject: Re: Splitting dependency_libs in *.la?
Date: Mon, 2 Oct 2006 21:00:36 +0200
User-agent: Mutt/1.5.9i

On Mon, Oct 02, 2006 at 01:51:58PM +0200, Axel Thimm wrote:
> Hi,
> 
> dependency_libs contains the linker switches/arguments that this
> library was built with including the dependent libs, both directly
> references as well as indirectly references through intermediate libs.
> 
> For static linking one needs the whole dependency_libs information,
> but for building against shared libs you only need a subset. This
> leads to having more build dependencies than neccessary in a
> shared-libs only build. As a consequence some distributions decided to
> remove all *.la files to keep build dependencies down. This is of
> course not really a solution.

There is nothing you can do to reduce the number of build dependencies.
If you can reduce it, there is a bug somewhere.

However, you can reduce the number of depends of the package itself
when linking shared.  But recursivly, you'll still have the same
dependencies.

Because of those reduced dependies it makes it alot easier to do
transitions from 1 soname to another.

> Can this be somehow dealt with within libtool? It would need to fork
> the semantics of dependency_libs into static vs shared libs or
> something similar. I guess the difficult part is identifying what
> parts of dependency_libs are needed for a shared build against this
> library.

Debian has a patch that sets link_all_deplibs to no.  This basicly
doesn't use dependency_libs for shared linking.  Note that this causes
various problems for which there are open bugs in the Debian bug
tracking system.

Because of this, Debian is more and more moving from .la files to using
pkg-config's .pc files, which contains the info we need, and also has
cflags (-Is) in it.

If you need more info about this, please let me know.

There is also an other problem when using conviences libraries,
which basicly has the same problem adding dependencies.  This has
also been discussed before, please see:
http://lists.gnu.org/archive/html/libtool/2005-12/msg00021.html


Kurt





reply via email to

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