Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-07-30 01:23:45


Hi Christopher,

> > That would really be funny with static linking, since you can't link once
> > static library into another one. But I think your problem has an easy
> > solution:
> >
> > lib core : core.cpp : <dependency>/utils//utils : :
> > <library>/utils//utils ;
> >
> > The <dependency> feature cause usage-requirements to be propagated to
> > from utils to "core", but nothing else (like attempt at linking) is done.
> > Too bad the feature is not documented.
>
> This helped a lot, thanks! However, looking at that line of code makes
> it seem like I'm saying the same thing twice. Would it not make sense
> for the <library> directive in usage-requirements to imply the
> <dependency> directive? Or would this break some other scenario I'm
> forgetting?

The primary reason is that I stubbornly dislike the idea that usage
requirements have any effect on requirements, and prefer them to be
independent ;-)

In fact, there was a better idea. That <library> feature is handled specially.

lib core : core.cpp /utils//utils ;

would mean that you link to 'utils' when doing shared linking. But with static
linking, you magically get <library>/utils//utils in usage requirements. That
would probably be the best solution, but we did not discuss this in depth and
implemented. Maybe, it's about right time now....

- 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