Boost logo

Boost-Build :

Subject: Re: [Boost-build] How to use generators to CPP and LIB
From: Vladimir Prus (ghost_at_[hidden])
Date: 2009-01-30 11:10:34


On Thursday 29 January 2009 15:09:33 Duncan Rance wrote:
> Hi there,
>
> I am trying to do something with generators but I'm stuck. I'd really
> appreciate some help.
>
> What I've got so far is, in a module called resources.jam, something
> like this:
>
> type.register RESTXT : txt ;
> generators.register-standard resources.genenumh : RESTXT : H ;
> generators.register-standard resources.pkgdata : RESTXT : LIB ;
>
> What I need to do is use a .txt file to produce a header file and a
> static library. The header file is to be used in a few places,
> including the code used to create the LIB. But there's more to go in
> the LIB than just the header. If you're interested, I'm using ICU's
> resource bundling tools
> (http://www.icu-project.org/userguide/ResourceManagement.html)
>
> As you can probably imagine, there is an ambiguity between
> builtin.lib-generator and resources.pkgdata.
>
> How can I do this in boost build?

I don't think there's a way to resolve this ambiguity without introducing
custom generator class.

I suggest you resolve the ambiguity using generators.override, in
favour of your new generator. Your generator, however, should
check if the source type is RESTXT. If so, it should build whatever you
need. If the source type is different, it should call generators.construct
for LIB target again, so that builtin generator does his job.

I also recommend using some more specific extension than .txt

- 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