Boost logo

Boost-Build :

Subject: Re: [Boost-build] Another funny Boost Build behaviour.
From: Juraj Ivančić (juraj.ivancic_at_[hidden])
Date: 2008-09-04 07:13:40


[...snip...]
> In code, generators.variable-source-types-for-generator returns the set of source type can
> a generator can consume, after some chain of transformation. As you see, the set is computed when
> we first encounter a generator, and is never recomputed. The most easiest way to fix
> this would be to clean entire cache of viable source type whenever a new generator is defined.
> Smarter approaches are possible, but they are harder.

I was the one who presented Jurko with this issue. Thanks for the
explanation. To avoid messing with boost build sources I added the
following to Other/mygen.jam, right before the generator registration:

local generators = [ modules.peek generators : .generators ] ;
for local gen in $(generators)
{
     modules.poke generators : .vstg.$(gen) ;
     local generator-source-types = [ $(gen).source-types ] ;
     if $(generator-source-types)
     {
         for type in $(generator-source-types)
         {
             modules.poke generators : .vst.$(type) ;
         }
     }
}

With this the project compiles correctly. I have probably deleted more
cache than necessary. Someone with more boost build insight might
convert this into an actual patch.


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