|
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