Boost logo

Boost-Build :

From: Ray Lambert (codemonkey_at_[hidden])
Date: 2008-08-11 15:25:41


Steven Watanabe wrote:
> You can prevent this [endless nested bjams] with something like
>
> if ! --in-recursive-invocation-of-bjam in [ modules.peek : ARGV ] {
> SHELL bjam --in-recursive-invocation-of-bjam ... ;
> }

Thanks for the tip Steven. This did help a lot in that it prevented the
endless nesting and allowed me to kill the runaway build more easily.
Unfortunately, it did not prevent the attempt at endless nesting and it
did not permit the desired result. I can't see why it's even trying the
endless nesting but my configuration is a bit complex and so I assume
there's some dependency that I'm missing.

> bjam decides what targets it needs to build
> before building anything. A full solution would
> have to modify bjam to allow actions that might
> update a target.

Yes, I can see that. It would be nice to have a rule such as
"prerequisite" that could do this. It would make some things a lot
easier.

I did manage to get my stuff working with one compromise: my build-tools
project must be updated as a separate build step. I had hoped to avoid
that as it can potentially be error prone (especially for team members who
aren't developers). However, I guess it's pretty reasonable in this case
seeing as it theoretically only needs to be done on a fresh check-out. I
configured the Jamfiles so that the build-tools project is isolated and so
a "bjam --clean" won't effect it. And the tools should change only very
rarely.

Thanks again,

~ray


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