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.

Cool.

> - Top level Jamfile.v2

What do you mean by "top level?"

> should have this conditional logic:
>
> if $(testing-installed)
> {
> lib program_options : ......./libprogram_options_d.so ;
> }
> 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
www.boost-consulting.com

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