Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-10-13 14:58:25


On Friday 29 September 2006 11:20, Franz Schnyder wrote:

> 'compile-pch' has two targts (x.obj and x.pch) but the 'CC_RSPLINE on
> $(target)' is just done on the first one. I changed the 'compile.pch' rule
> to also set it on the second target (see patch) and to my surprise now the
> 'CC_RSPLINE' isn't empty anymore an anything works fine now ! I don't know
> if this i a bug in bjam or if the set on target needs to be done on all
> targets of the action to ensure that the variable is set correct for the
> action ?

Hi Franz,
when an action produces more than one target, bjam will use settings of only
one target when computing the build command, and which target will be used
depends on the order in which bjam traverses the dependency graph.
You fix is right; I will commit you fix as soon as Sourceforge CVS works
again.

I must admit I have no idea why this problem manifests -- for the example
Bojan has sent the order of dependency graph traversal should be always the
same. However, I've decided it does not worth the time to find out how
exactly this bug is triggered.

Thanks for the fix!

- 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