Boost logo

Boost-Build :

From: Juergen Hunold (hunold_at_[hidden])
Date: 2005-06-30 03:02:55


Hi Dave !

On Tuesday 28 June 2005 16:03, David Abrahams wrote:

[snipped most because the real issue follows]

> It represents the header-only "minimal" configuration of the test
> library (boost/test/minimal.hpp). I'm not going to remove it; where
> do you think documentation should go?

Just above the declaration of "minimal".
Just something along the lines:
# Configuration for header-only "minimal" configuration
# see (boost/test/minimal.hpp)

> > 2. make it explicit and document it.
>
> I don't like making changes whose consequences I don't even think I
> understand. At least when I added minimal, I thought I knew what I
> was doing. What you're telling me sounds like either BBv2's response
> to usage-requirements is completely broken or its documentation is (I
> suspect both, actually).

Well, usage-requirements just work as expected (at least by me ;-)).

The "surprise" seems to be the way "use-project" works.

> After we deal with the issue of how BBv2 works I'll be happy to do
> whatever needs to be done to make that Jamfile work for you.

Okay, so we need to clarify what "use-project" means.

When I do "use-project /boost", _all_ Boost Libraries are put into scope
via $BOOST_ROOT/Jamfile.v2 line 170 ff.
--- snip -----
# Make project ids of all libraries known.
for local l in $(libraries)
{
use-project /boost/$(l) : libs/$(l)/build ;
}
-- snap ---

Then Boost.Test Jamfile.v2 is loaded and all targets found in it are
evaluated and their usage-requirements added to the current property
set.

Since the "minimal" is not explicit, it is evaluated and it's
usage-requirements added.

Thats all there is. Works as designed.

When writing "minimal" you probably wanted it's usage requirements only
added when someone adds /boost/test//minimal to her project, right ?

Then "minimal" has and can be explicit.

The full documentation would then read:
# Configuration for header-only "minimal" configuration
# see (boost/test/minimal.hpp)
# add /boost/test//minimal to your sources when using it.

I hope this is a convincing explanation of what happens.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold ! Institut für Verkehrswesen, Eisenbahnbau
* voice: ++49 511 762-2529 ! und -betrieb, Universität Hannover 
* fax : ++49 511 762-3001 ! Appelstrasse 9a, D-30167 Hannover
* hunold_at_[hidden] ! www.ive.uni-hannover.de
 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk