Boost logo

Boost-Build :

Subject: Re: [Boost-build] How to use generators to CPP and LIB
From: Alexander Sack (pisymbol_at_[hidden])
Date: 2009-01-30 12:19:25


On Fri, Jan 30, 2009 at 11:10 AM, Vladimir Prus <ghost_at_[hidden]> wrote:
> 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

After reading Volodya's email, I just realized is you are trying to
register one generator for two types! Well one work around is the
name the same file with two different extensions which would allow two
different simpler generators no?

-aps


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