Boost logo

Boost-Build :

From: Rene Rivera (grafik666_at_[hidden])
Date: 2001-12-16 14:52:49


On 2001-12-16 at 02:01 PM, david.abrahams_at_[hidden] (David Abrahams) wrote:

>
>----- Original Message -----
>From: "Rene Rivera" <grafik_at_[hidden]>
>
>> On 2001-12-16 at 12:07 PM, david.abrahams_at_[hidden] (David Abrahams)
>> wrote:
>>
>> >
>> >This is fantastic. It was a feature I had originally designed into
>> >the system, but scrapped because of the following complication:
>> >what happens if I define a build variant, say debug-python, derived
>> >from another, say debug, and someone hands me a Jamfile which
>> >specifies a requirement: <debug><define>FOOBAR. Does FOOBAR get
>> >defined when we build the debug-python variant?
>> >
>> >How does your patch approach the problem?
>>
>> I believe, don't hold me to this as I haven't tested it :-), it
>> would not. The reason is because the features on the variants, even
>> the child variants, get defined with the specific variant not with
>> the targets.
>
>I can't envision what it would mean to define features "with a target".
>
>> Unless you do something recursive like: variant one on
>> one. would you get that problem, and others I'm sure ;-)
>
>I think I don't understand either of those sentences.

OK after some more reading, of the web pages and the jamboost list, I think I
now understand your original question. And my new answer is, it depends on how
"requirement" works. The changes I made to the "variant" rule only change the
global gBASE_PROPERTIES. So if that gets changed it would, if it doesn't it
would not.

Sorry about the confusion :-\

>You can check whether there's any grist on the first element of the 2nd
>argument with:
>
>if $(>[1]:G) ...

Hmm, cool, I'll try that with your suggested syntax.

>you can use this undocumented trick:
>
>{
> local gSUPPRESS_FAKE_TARGETS = true ;
> lib my-lib : source1.cpp... ;
>}

Ahhh... thanks.

>and of course you can wrap that trick into a new rule for defining your
>static libs.

Might it be resonable to change the lib rule to define it this way also:

lib my-lib : source.cpp : <rtti>off : <fake>true ;

>>>

I'm copying jamboost to see if we can move this conversation to the jamboost
list, now that I know about it :-)

-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq - Grafik666_at_AIM - Grafik_at_[hidden]

 


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