diff --git a/v2/build/targets.jam b/v2/build/targets.jam index ca5ca54c9..6f76987c2 100644 --- a/v2/build/targets.jam +++ b/v2/build/targets.jam @@ -860,12 +860,20 @@ class basic-target : abstract-target # the condition is satisfied by 'property-set'. rule match ( property-set ) { - local condition = [ $(self.requirements).base ] ; - # Weed out conditional properties. - condition = [ MATCH ^([^:]*)\$ : $(condition) ] ; + # The condition is composed of all base non-conditional properties. + # It's not clear if we should expand 'self.requirements' or not. + # For one thing, it would be nice to be able to put + # msvc-6.0 + # in requirements. + # On the other hand, if we have release in condition it + # does not make sense to require full to be in + # build request just to select this variant. + local bcondition = [ $(self.requirements).base ] ; + local ccondition = [ $(self.requirements).conditional ] ; + local condition = [ set.difference $(bcondition) : $(ccondition) ] ; if $(condition) in [ $(property-set).raw ] { - return $(condition) ; + return $(condition) ; } else {