Boost logo

Boost-Build :

From: Phillip Seaver (phil_at_[hidden])
Date: 2005-12-07 09:04:49


David Abrahams wrote:

>Phillip Seaver <phil_at_[hidden]> writes:
>
>
[snip]

>>My preference for the default would be to not propagate library usage
>>requirements beyond the direct dependent.
>>
>>
>
>So, something like
>
> lib a : $(ASrc) : : : <include>./include/a ;
> lib b : $(BSrc) : : : <include>./include/b <use>a ;
>
>if they do need to be propagated?
>
>
Yes, except that I was including "a" in the sources, since "<use>" says
to get the usage requirements but not link directly against it, IIRC.

>>It would be nice if I could do this for objects, too, so that I
>>could encapsulate a library.
>>
>>
>
>How so?
>
>
>
>>The users of a library don't necessarily need to have the defines
>>and includes from the libraries it uses.
>>
>>
>
>Correct.
>
>
>
>>If they need them, the Jamfile for that library should
>>explicitly add them to the usage requirements (probably via <use>).
>>For example:
>>
>>obj f : f.c a ;
>>
>>lib e : $(ESrc) f ;
>>
>>
>
>Where's that <use>?
>
>
Sorry. I meant this as an example of encapsulating a library with one
source file so that only the source file got the library usage
requirements. Not very clear was it? ;-)

Phillip


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