Boost logo

Boost-Build :

Subject: [Boost-build] Simple way to add dependency
From: John Bito (jwbito_at_[hidden])
Date: 2009-04-22 21:25:18


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