
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