Boost logo

Boost :

Subject: Re: [boost] Why Boost.Build?
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-03-29 21:42:37


At Tue, 29 Mar 2011 19:37:58 -0500,
Matt Chambers wrote:
>
> Do you have a more concrete idea of how a multi-layer approach would
> simplify Jamfiles or build invocation?

Yes. The single-build-invocation/multiple-target-variants approach
means that almost everything in a Jamfile has to be done declaratively
and everything must be parameterized to accept multiple build options,
instead of accepting straightforward procedural code and dealing with
a concrete set of build properties corresponding to the
currently-selected configuration. As a result, BB contains
higher-level abstractions than most people are used to dealing with in
a build system.. These abstractions are not just unfamiliar, but they
need to be documented, which has proven to be a challenge.

> I don't see it getting rid of the
> basic sources/requirements/default-build/usage-requirements pattern.

Those abstractions are the ones I'd keep :-)

> 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

Me too. I'd keep that too, but it's worth asking whether these things
we love are worth their cost to new Boosters, to our users, etc., and
thus to Boost as a whole.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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