From 4073b99371c6acc149b0b47c2abc8fc15fa6759f Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Mon, 5 Apr 2004 08:26:54 +0000 Subject: [PATCH] Bugfix: don't think that 6.0 is a composite property, during alternative selection. Thanks to Zbynek Winkler for the bug report. [SVN r22602] --- v2/build/targets.jam | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 {