From f43853469d2fbe6fe4168bda6405ce86a77f3ff0 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Fri, 5 Sep 2003 08:36:28 +0000 Subject: [PATCH] * new/property.jam: (refine): Ignore conditional properties. This reverts my previous change but makes the change more robust. [SVN r19923] --- src/build/property.jam | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/build/property.jam b/src/build/property.jam index 75b929343..b4ac59852 100644 --- a/src/build/property.jam +++ b/src/build/property.jam @@ -29,8 +29,12 @@ rule refine ( properties * : requirements * ) # Record them so that we can handle 'properties'. for local r in $(requirements) { - # Note: cannot use local here, so take an ugly name - __require__$(r:G) = $(r:G=) ; + # Don't consider conditional requirements. + if ! [ MATCH (:) : $(r:G=) ] + { + # Note: cannot use local here, so take an ugly name + __require__$(r:G) = $(r:G=) ; + } } for local p in $(properties) @@ -500,6 +504,11 @@ local rule __test__ ( ) : refine gcc : off off:FOO : $(test-space) ; + + assert.result gcc:foo gcc:bar + : refine gcc:foo : gcc:bar + : $(test-space) + ; assert.result gcc release off MY_RELEASE : evaluate-conditionals gcc release off