|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-11 07:54:01
Several days ago, Jürgen Hunold has noted that the <dependency> feature is
pretty broken. It's main purpose was to get usage requirements for other
project. For example
project hello
: requirements <dependency>@/boost
;
should add relevant includes to all applications in "hello" project, so that
boost can be used. Unfortunately, all applications will also depend on all
boost libraries --- quite undesirable thing.
I've fixed this in the way I considered most simple. Now, if <dependency> is
used in build properties, the refered target will be built, and it's usage
requirements will be applied. However, no dependency will be automatically
established. This fixed the <dependency> problem.
The <library> feature now works in a special way: the 'linking-generator'
looks on all <library> features, and adds dependency explicitly.
The changes are in CVS now. Let me know what you think.
Remaining problems are:
1. <dependency>@/boost still causes construction of virtual targets
for all libraries, which is probably not so great for efficiency.
2. <dependency> now is quite confusing
lib a : a.cpp ;
exe b : b.cpp : <dependency>a ;
Works nice, but if you touch "a.cpp", "b" won't be updated.
- 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