|
Boost-Build : |
Subject: Re: [Boost-build] Simple way to add dependency
From: John Bito (jwbito_at_[hidden])
Date: 2009-04-23 17:01:44
I was surprised to find the dependency 'feature'. I added an obj target
obj dbisql : dbisql.pc : <dependency>dbisql.i ;
To replace the INCLUDES rule which didn't have the desired effect.
Now the build is able to produce all targets based on accurate
dependencies. Much more clean than a makefile!
I would still like to make this code generation independent of the
variant and link features so the release/debug builds won't have to
generate code unnecessarily.
On Wed, Apr 22, 2009 at 6:25 PM, John Bito <jwbito_at_[hidden]> wrote:
> I'm getting the processing of Oracle Pro*C files (embedded SQL) going,
> but I'm stuck on a problem dealing with a generator (the one for
> Pro*C) that processes a file that includes a file that is generated.
>
> ---- excerpts from jam file ---
> actions create-ten
> {
> $(>[1]) 10 > dbisql.i ;
> }
> exe gencurs : gencurs.c ; # the include-file generator
>
> make dbisql.i : gencurs : @create-ten ; # My attempt to simply invoke
> the action to create include - do I need a generator?
>
> INCLUDES dbisql.pc : dbisql.i ; # my feeble attempt to state the dependency
>
> lib dbi : dbisql.pc ; # works OK as long as dbisql.i exists
> --- end excerpt ---
>
> I've been unable to figure out how to connect the dependencies - I can
> generate the include file if it's in the request from the
> command-line, and all is well. The problem is that if I do a clean
> build, the Pro*C file (dbisql.pc) is processed, but dbisql.i is not
> generated, so there's an error. Please point me in a direction that
> would get the processing of dbisql.pc to depend on the dbisql.i
> target?! The Pro*C is handled by a generator that's set up by
> generators.register-standard.
>
> I am also having some difficulty because my generated files end up
> where the objects/libs should land, though these aren't dependent on
> variants like debug/release. If I create a generator rather than a
> simple make rule, how would I get the target generated to a constant
> location across variants?
>
> I've quite a few variations, like writing an obj target
>
> obj dbisql : dbisql.pc dbisli.i ;
>
> and adding 'i' as a suffix for the H type. I'm hoping someone will
> help me find a more productive avenue to pursue...
>
> Thanks!
> John
>
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