Michael Schwendt wrote:
On Mon, 2 Oct 2006 12:32:12 +0200, Axel Thimm wrote:
> From a different view: *.la files aren't much different than
> files, in fact they contain a subset of their information. One
> wouldn't argue to remove all *.pc files because some may contain too
> many references to libs.
These are broken and partially have their origin in "extreme static
linking". (For static linking you need the full chain of -lfoo arguments,
as everything else would result in missing symbols).
pkgconfig "Requires" in libfoo.pc should list the options that are needed
to build with libfoo, NOT the options that were used to build libfoo. With
sane linking, the shared libfoo has a run-time dep already on any other
libs it needs and is linked against, e.g. liba and libb, so adding -la -lb
and so on is not needed when linking shared against -lfoo.
Thankfully, pkgconfig has both
The former for *real* lib dependencies, the latter for private/static
ones. Unfortunately, not many developers are aware-of or use
Libs.private, but it least the feature is there. I'm not aware of any
similar functionality for libtool (yet).