Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-10-20 04:53:46


David Abrahams wrote:

> Oh, now I finally understand. It's just that the way the document
> phrases things is bizarre. I'd just always use "automatic" if I just
> want it to do the right thing. That's good.

Yes, I hope users won't need to write

lib a : a.cpp : <use>b : : <library>b ;

except in very special circumstances that I'm not aware of.

> > It's just combination of <use> requirement,
> > which we have, and <library> property in usage requirements,
>
> I never understood the meaning of <use>. I still don't.

<use>some_lib

means: "grab usage requirements" from some_lib. Nothing else. "some_lib" won't
be linked to the target which contains this property.

> > which we have as well. We need <library> property in any case, for
> > example so that I can put <library>foo in project requirement.
> >
> > Now that you've asked, I am not sure bubble-up linking should be in
> > docs.
>
> Definitely not. Documenting it as a separate concept in linking.html
> on equal footing with "automatic" linking threw me off, for sure.

Ok, I see.

> Especially if the ability to write
>
> lib a : a.cpp : <use>b : : <library>b ;
>
> simply "falls out" of other information you're going to document, it
> would be better for people to discover it that way.

I don't understand what's "discove it that way" means. Sorry.

> I think you *should* document the behavior of lib targets in the
> sources of other libraries, and doing it in terms of the line above
> is perfectly fine.

Okay.

> IMO it also makes sense for this functionality to be somehow looked up
> as a property of the "b" target rather than being special-cased.

The current idea is this: you're trying to create static lib "a" and have "b"
in sources. The generator for "a" cannot consume "b", so "b" is returned
together with whatever targets are produced for "a".

The only special-casing I see here is that before "a" is constructed, all
<library>properties are converted into sources, so that they are passed to
the generator. This approach seems logical for me.

- Volodya

 


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