Boost logo

Boost-Build :

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

Hi Jurko,

Jurko Gospodnetić wrote:
> Hi Ray.
>> Does anyone know of a rule or technique that allows one to force another
>> project to build as a prerequisite to (and independent of) the current
>> project?
> If there is a dependency between your 'tool target' and the 'final
> target' built using that tool then Boost Build will first build the
> 'tool targets' and so you'll have it available when building the 'final
> target'.
> Have you tried adding an explicit dependency between these targets?

Yes, I have done that and that works fine unless I also need the "external
conditions" logic.

> As for 'files modified by external conditions', I believe Boost Build
> assumes it knows about all dependencies between targets. To give it that
> have you tries modeling your tools using Boost Build target or generator?

I've tried a few things like this but I haven't successfully gotten it to
work. It may just be due to me not understanding the internals enough to
"press the right buttons" (so to speak).

I need to run an external tool to "sense" the external condition and I
haven't found a way to directly translate that into something that effects
what gets built (i.e. build foo if it's out of date OR if condition X is

I *have* managed to get it to work by modifying some of the dependent
files that BB will test. I decided I could make it all work that way if I
could just manage to get another project to build (and the external tool
to run) *before* the dependency graph is built. And that's what led me to
the questions I posed to the list.

Anyway, as I wrote in my previous post, I have gotten it to work by using
a separate manual invocation of bjam to build my "build-tools". The main
build can then run those commands using SHELL, they modify the source
files if needed, and BB senses that and builds the correct stuff. It
would still be nice though if I could to it all with one invocation.



Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at