Boost logo

Boost :

Subject: Re: [boost] Why Boost.Build?
From: Matt Chambers (matt.chambers42_at_[hidden])
Date: 2011-03-29 20:37:58


On Mar 29, 2011 7:05 PM, "Dave Abrahams" <dave_at_[hidden]> wrote:
>
> Part of that is because the design tries to do too much.
> Specifically, the production of multiple build configurations with a
> single build command offers most users no benefit in exchange for the
> enormous complication it causes in design, implementation, and
> especially in writing build instructions (Jamfiles in our case). For
> the few who do benefit from the feature, the ability to build multiple
> configurations easily could have been written as another layer that
> invokes the build system multiple times.
I'm not a BB expert, but it seems to me that the ability to target multiple
metatargets at once is a small step away from being able to build the same
target (cpp/obj/lib/alias) with different properties depending on how the
dependent code needs to use it. But the latter is a huge leap from the
one-target-one-command paradigm that so many are used to but that is so
cumbersome for large C++ projects, especially ones that have interactions
with other languages.

Do you have a more concrete idea of how a multi-layer approach would
simplify Jamfiles or build invocation? I don't see it getting rid of the
basic sources/requirements/default-build/usage-requirements pattern. And
whether I'm building multiple targets or not, I still love being able to use
platform independent syntax:
bjam path/to/foo//bar link=shared address-model=32

-Matt


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk