Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2006-03-23 19:31:52

Vladimir Prus <ghost_at_[hidden]> writes:

> On Sunday 05 February 2006 00:14, David Abrahams wrote:
>> Recent discussion with users has convinced me that we have missed
>> something important: the ability to run regression tests against the
>> libraries that are constructed by
>> bjam install
>> People want some way to verify that their libraries built correctly;
>> I've heard it over and over. As obvious as it may seem to us that
>> whatever is successfully built will also pass tests, it is a normal
>> expectation for users to have. And who knows? Maybe it will find
>> problems. We can hardly suffer from more accurate testing.
>> This goes for BBv1 and BBv2, though it may only be worth adding the
>> capability to BBv2. I'm not sure about the precise semantics, because
>> IIUC there can be multiple configurations that map to the same
>> decorated library name.
>> Thoughts?
> Yes.
> - The top-level Boost Jamfile.v2 should use some switch to decide if it should
> be testing installed, or built libraries
> - When testing installed libraries, it should glob the install directory and
> create appropriate prebuilt library targets.


> - Top level Jamfile.v2

What do you mean by "top level?"

> should have this conditional logic:
> if $(testing-installed)
> {
> lib program_options : ......./ ;
> }
> else
> {
> alias program_options : libs/program_options/build//program_options ;
> }

Huh. Looks messy. Do you suppose we could do better? It would be
cool if somehow we could make bjam see the installed components _as_
the build results for the lib target.

Anyway, if we have the glob-and-create-prebuilt-targets functionality,
do we need this?

> - All test Jamfiles must be modified to refer to libraries via
> 'boost//library', and never via "../build//library".

That's only right anyway.

> The complication I see:
> - reverse mapping from library names to target declaration.

I don't understand what that means.

> - some libraries want client code to set some defines, IIRC

Isn't that just a normal usage requirement?

Dave Abrahams
Boost Consulting

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