Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2002-11-29 17:27:42

Vladimir Prus <ghost_at_[hidden]> writes:

> David Abrahams wrote:
>>> Moreover, consider that on Windows, a library
>>> called 'expat' must be built by Boost.Build, so we
>>> have to write
>>> exe main : main.cpp : <library>expat
>>> But on Linux this library is already awailable, so we better
>>> use
>>> exe main : main.cpp : <find-library>expat
>>> This difference is messy.
>> Yup.
>> I think it's time to look at
>> again.
> I had that in mind all the time. Moreover, I've recently implemented and just
> documented "prebuilt" targets, which do almost what is proposed in the page
> you mention. At least I think so, check out:

Hmm, I don't think that was really the idea. Ullrich's idea was to
create a small Jam description file that could be "installed" by
Boost.Build along with built products (or crafted by hand). When
working with prebuilt targets, Boost.Build would look for a
corresponding Jamreport file to learn about the build properties of
the targets.

> > ...I think the idea of reducing the number of ways to specify a library is
> > good. But I think the "system-lib" UI is not enough of a reduction. A rather
> > more flexible and cohesive solution would be to incorporate the various
> > instances of a library into the "lib" target. Here are the various ones I
> > can think of, and how they might be declared:
> I agree that using a single "lib" is attractive. After all, we
> already use it for both static and dynamic libraries. But note that
> we have separate target types: STATIC_LIB and SHARED_LIB. And since
> system libraries are special in some sense (you'd need to add "-l") flags,
> to library names to command line, it makes perfect sense to introduce
> SYSTEM_LIB target type first (and system-lib rule), and make it working.

On linux, apparently, -lfoo will find or libfoo.a.

David Abrahams
dave_at_[hidden] *
Boost support, enhancements, training, and commercial distribution

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at