From: Domenico Andreoli (cavokz_at_[hidden])
Date: 2007-07-30 02:45:37
On Mon, Jul 30, 2007 at 10:09:43AM +0400, Vladimir Prus wrote:
> Roger Leigh wrote:
> > 2) pkg-config also provides other extra information in addition to the
> > library name for linking:
> > a) The CFLAGS needed to build. This might be as simple as a
> > -Iincludedir, but could also include -Ddef and threading options,
> > such as -pthread if using multithreaded libraries.
> > b) LDFLAGS including the library directory -Ldir option, needed to
> > find the correct instance of the library and the -llibrary
> > option.
> > c) Libs.private is a list of dependent libraries needed to link.
> > When linking dynamically, at least on ELF systems, dependent
> > libraries are seen as NEEDED entries in the dynamic section of
> > the symbol table. But, static libraries carry no dependency
> > information; you have to know, and this provides a mechanism to
> > link statically by allowing discovery of the depdendencies.
> > Maybe I need to link to libicu, maybe I don't. This can be
> > tailored to the specific build of Boost, so there's no
> > ambiguity. i.e. the pkg-config file is generated with plaform-,
> > compiler- and build-specific information embedded in it as
> > needed.
> > d) Requires and Conflicts can specify versioned dependencies for
> > other libraries also using pkg-config. Currently, I don't think
> > you would need this, but libraries based on Boost libraries can
> > then Require boost pkg-config modules.
> Those (a)-(c) points above are the most clear explanations of pkgconfig
> benefits I've heard on this list, and it appears reasonable to add
> pkgconfig support to Boost.Build. At the same time, I think we *first*
> should try to change the build process so that properly named libraries
> are created on Linux, so that things work even without pkgconfig.
let me stress the fact that sources using linux names would not be
generally portable to other platforms. such a solution would not be
much different from directly using decorated library names, only a
little more easy to use.
-----[ Domenico Andreoli, aka cavok
---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk