Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-04-25 22:17:47


on Wed Apr 25 2007, Vladimir Prus <ghost-AT-cs.msu.su> wrote:

> On Wednesday 18 April 2007 10:13, David Abrahams wrote:
>
>> > 2. You claim that it's often desirable to express
>> > "select this alternative is either <feature1>value1 or ...
>> > ... or <featureN>valueN" is in properties.
>>
>> Yes, especially in the presence of prebuilt libs.
>
> Okay, this claim is clear and indeed it's not possible to express
> "select this alternative is either <feature1>value1 OR .... OR
> <featureN>valueN is in requirements".

That's not all I want to express. I still want a best match
heuristic, so that the alternative with the most matching requirements
will be matched.

> However, I still at loss what real examples call for this behaviour. Would
> you mind providing some?

I already did; the python examples call for this behavior. To
abstract it a bit more:

         # prebuilt
         lib a : : <name>a0 <threading>single <profiling>on ;
         lib a : : <name>a1 <threading>single <liba-version>3.3 ;
         lib a : : <name>a2 <threading>multi <liba-version>3.3 ;

bjam profiling=on # should select a0
bjam threading=multi # should select a2
bjam threading=single # should be ambiguous
bjam threading=single profiling=on # should select a0
bjam liba-version=3.3 # should select a1 if the default for
                      # <threading> is single, a2 otherwise

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com
Don't Miss BoostCon 2007! ==> http://www.boostcon.com

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