Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-02-05 07:09:56


Hi Olaf,

> I tried debugging the simple test case
>
> project All : ;
> lib A : : <name>a <search>a6 <toolset>msvc <toolset-msvc:version>6
> <variant>debug ;
> lib A : : <name>a <search>a71 <toolset>msvc <toolset-msvc:version>7.1
> <variant>debug ;
>
> and found that in basic-target::match the line
>
> # Weed out conditional properties.
> condition = [ MATCH ^([^:]*)\$ : $(condition) ] ;
>
> filters the property <toolset-msvc:version>, so no best alternative
> can be found. I don't know how to change it, though.

We probably can do better by not looking at feature name, and replacing the
above with

local condition2 ;
# Weed out conditional properties.
for local c in $(condition)
{
if ! [ MATCH ^([^:]*)\$ : $(condition:G=) ] ;
{
condition2 += $(c) ;
}
}
condition = $(condition2) ;

What do you think?

- 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