Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-12-17 07:16:48


On Friday 17 December 2004 11:59, Toon Knapen wrote:
> Vladimir Prus wrote:
> > Sure, before my change it was possible to use:
> >
> > lib B : b.cpp : <use>A : : <use>A ;
> >
> > to propagate usage requirements of "B" to its dependents. So, library C
> > need not be changed, no matter how dependencies of 'B' are changed.
> >
> > The issue is if this extra <use>A is not confusing enough in itself.
>
> Sorry but I'm not sure how to interpret this last sentence. Do you find
> the extra '<use>A' confusing or not ?

The last sentence means I've not 100% sure answer, but today I tend to think
it's confusing.

> I find this certainly confusing. Because if lib C uses lib B and if
> usage-requirements need to be explicitly propagated, I'm sure that one
> day someone will ask that lib C is able to specify that he wants to
> propagate the usage-requirements of lib A but not of lib B etc. IMO this
> become unnecessarily complex.

I certainly think that "propagate requirements of A but not B" is very
complex. If 'B' exports some usage requirements, then at most 'C' can choose
to either propagate them all or not propagate. We're now trying to figure out
if it's better to simplify things by making 'C' always propagate them. Adding
more complexity by allowing 'C' propagate some requirements is not needed,
IMO.

Dave advocates that requirements must be propagated indvidually, so that you
can mark some requirements as propagated back, and some not. But I'm still
not sure I understand why it's needed.

- 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