|
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