Boost logo

Boost-Build :

From: Dave Abrahams (dave_at_[hidden])
Date: 2003-02-05 12:51:59

On Wednesday, February 05, 2003 10:36 AM [GMT+1=CET],
Vladimir Prus <ghost_at_[hidden]> wrote:

> Dave Abrahams wrote:
> > If I understand the proposal correctly, I don't like this. In v1,
> > default-build didn't work this way. It should be possible to build
> > targets of a single project that require threading-multi and
> > threading-single using the same build command.
> I'm keeping half of the truth to myself, as usual :-( I did not mean that
> default build cannot include both <threading>single and <threading>multi.
> I just want <threading>multi in build request if it's in default build
> and the user did no specify threading=single on the command line.

Volodya and I had a chat session about this, and though we didn't
reach an agreement, I came to some very definite conclusions of my own

So, here they are:

* Default-build specifications on projects, targets, etc. are
different from build requests. Users should be able to specify
default build on individual targets and subprojects without them
being overridden by (parent) projects.

One obvious use-case is that a project may have default-build
"release", but its regression tests should be built by default in
"debug" mode. It should certainly be possible to build the tests
in release mode, e.g. in order to test against the optimizer. It
should also be possible for the user to request that everything
be built in debug mode, by putting it

* all features should be treated uniformly with respect to
default-build. That is, features specified in subprojects, even
free features, should override the features specified in their
parents. If the user wishes to specify additional values of a free
feature which may have been specified in a parent, she can write:


likewise, she can write


to remove a feature which may have been specified in a parent's



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