Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-03 02:54:07


Hi Kirill,

> I've noticed that some targets are being built twice
> in my project. I tried to reproduce it in a simple
> test case, and I managed to trigger similar behavior,
> even though not exactly the same as I see in my build.

[...]

> Particularly, in my build some targets are being built
> twice if I use "bjam -a", while in the example
> attached it is always a case for debug, but not for
> release.
>
> This behavior observed in presence of custom generated
> intermediate sources (e.g. code generation). I am
> using syntax suggested by Vladimir Prus earlier on
> this list.
>
> Please find test case attached. I am using cygwin,
> latest cvs snapshot, and bjam 3.1.3.

Thanks for the simple test case! This is a bug, and reproduces here. The
surface reason is that the 'make' rule was the first real functionality in V2.
The mechanism for suppressing reduntant recompilation was created later,
and 'make' never used it. A fix and a test are in CVS now. Please let me know
if some problems remain.

Note that in general, 'make' rule must be tweaked. Now it's assumed that all
properties are relevant: you'll have a separate version for 'debug',
'release', '<inlining>full'. We'd need a way to say which properties makes
different for a specific target declared with 'make'. But that's not urgent
yet.

- 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