Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-12-02 02:51:52


David Abrahams wrote:

>>But then, the command line
>>parsing code has to tell if "gcc-3.2" is property
>>or a target. How can I do that? The 'is-implied-value'
>>rule returns false for 'gcc-3.2' and I see no other
>>way.
>
>
> First you have to split the string on '-' boundaries. Then, you can
> ask if the first element is-implicit-value. I think that's all you
> should be asking about at this level of testing; the rest of the
> string comprises subfeatures, and if they're malformed I'd like to see
> a message like "3.2 is not a know subfeature of <toolset>gcc" more
> than one like "couldn't find target gcc-3.2".

I did as you suggested. But.. I call 'property.validate' on every
property from command line, to get error report as soon as
possible. I can't do that with "gcc-3.2", because "property.validate"
does not recognize it. We still get an error, only later.
Not sure what to do about it.

>>1. In definition of subfeature -- can parent feature be subfeature itself?
>>
>>2. In definition of 'value-string' --- what are "related subfeatures".
>
>
> I hope I've now clarified that.

Yes, thanks!

>
>
>>Going back: what presicely mean 'value-string' parameter to
>>'subfeature' and 'extend-subfeature.
>
>
> I hope I've now clarified that.

Not yet, I'm afraid. What means that "new subfeature values are valid for
a specific value of main feature".

if "<target-platform>mingw" is specific to gcc-2.95.2, then it sounds like
there's more that two-level hierarchy.

Do you mean that "valid" means:

this subfeature can only be specified if the given values of
main features (and some subfeatures) are present?

>> feature.extend-subfeature toolset gcc : version : 3.2 ;

>>The last line does not change the set of allowed values of
>><toolset-version>, because I get this
>>
>>bjam toolset=gcc toolset-version=3.2
>>/home/ghost/Work/boost/tools/build/examples-v2/../new/property.jam:221: in
>>property.validate from module property
>>error: Invalid property '<toolset-version>3.2': value '3.2' is not valid for
>>feature'toolset-version'.
>>/home/ghost/Work/boost/tools/build/examples-v2/../new/build-request.jam:182:
>>in convert-command-line-element from module build-request
>>
>>Is this the right behaviour?
>
>
> I don't know. I certainly never expected people to be able to set
> subfeature values independently. Normally that should be something
> like:
>
> bjam toolset=gcc-3.2

Ok, that's fine with my now that I have this syntax working.

- 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