Boost logo

Boost-Build :

From: andrewjmcd (andrewjmcd_at_[hidden])
Date: 2005-10-17 01:12:33


--- In jamboost_at_[hidden], Alexey Pakhunov <alexeypa_at_g...> wrote:
>
> Vladimir Prus wrote:
> > That is almost enough. The last trick is that you have to add
paths to
> > generated files to header search directory. That is done by
> > subvariant.implciit-includes rule (in virtual-target.jam), and if
you look at
> > the compile-action class in builtin.jam you'll see this:
> >
> > local s = [ $(self.targets[1]).creating-subvariant ] ;
> > return [ $(property-set).add-raw
> > [ $(s).implicit-includes "include" : H ] ] ;
>
> Ok, now I get it. In my case TLB was not derived from H but the funny
> thing is that it still worked. :) It worked because the generator that
> created a TLB target also created an 'H' target:
>
> generators.register-c-compiler midl.compile.idl : IDL : TLB H C(%_i)
> C(%_proxy) C(%_dlldata) ;
>
> So 'implicit-includes' caught up the directory were H was created and
> this directory was the same as TLB's one.
>
> Best regards/Venlig hilsen,
> Alexey Pakhunov.
>

Why can the above mentioned generator have more than one output?

And this one not?
-----------------------------------------------
import type ;
type.register VER : ver ;

# this creates a generator "version"
# it will generate an c & rc file from a ver file
import generators ;
generators.register-standard myversion.version : VER : CPP RC ;

# this rule means it will always be compiled
rule version ( target * : sources * : properties * )
{
ALWAYS $(target) ;
}

actions version
{
python version.py $(>) $(<)
}
-----------------------------------------------

Best Regards,

Andrew McDonald

 


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