Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-30 22:18:40


Juergen Hunold <hunold_at_[hidden]> writes:

> Hi Dave !
>
>> > When I do "use-project /boost", _all_ Boost Libraries are put into
>> > scope
>>
>> They are "declared;" I wouldn't call that putting them "into scope."
>
> Well, their Jamfiles are loaded, parsed and well, analysed.
> I would call this "evaluted" but I'm no BBv2 guru, just someone trying
> to use it ;-))

The Jamfiles are evaluated; the libraries declared therein are not.
They are, well, declared.

>> > Then Boost.Test Jamfile.v2 is loaded and all targets found in it
>> > are evaluated
>>
>> "declared."
>>
>> > and their usage-requirements added to the current property set.
>>
>> "Current property set?" What is that? There is no property set
>> statefulness AFAIK.
>
> Well, I don't know the exact definition, but what I *mean* is the
> set of requirements of _my_ project. This is where
> "<asynch-exception>on" ends and causes havoc.

Well of course, if that's happening, it's wreaking havoc, but that it
is happening makes no sense in the first place.

>> > Thats all there is. Works as designed.
>>
>> You've said that before but I see no evidence that the adding of
>> usage-requirements to properties of targets in that step was an
>> explicit design choice. As I said, I need to
>>
>> a. See it in the BBv2 documentation
>> b. See a darned good rationale for that behavior
>>
>> before I'm ready to accept that.
>
> a. It seems to be missing, at least from my CVS version of the docs.
> And I have trouble getting it built.
> b. Ask Volodya ;-))

Well, I've been expecting him to weigh in here and I'm wondering why
he hasn't. Volodya?

> Well, I'm not sure this was an "explicit" design choice.

Well, now that's a different story than you were telling me before.

> It _can_ be a mere oversight when implementing "alias" since its a
> newer feature as usage-requirements.

Well, I'd be surprised if this had anything to do with "alias."
Doesn't it work the same way for built library targets?

> I believe there might be use-cases when this "surprising" behaviuor
> might be wanted.

I don't. Or if there are such cases, they should be handled via a
more explicit and direct mechanism.

> On the other hand, "use-project" always meant "this projects Jamfile
> and its contents" to me. So, I'm not surprised at all ;-))

But that's crazy! The fact that you need library X from project A
shouldn't cause all of the usage-requirements from libraries Y and Z
in project A to be applied to everything in your project.

> But, please ask Volodya on his view about this...

Done?

-- 
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