From 89ef8296da2efd040f9852072b1e13563df4a879 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Tue, 6 Apr 2004 08:11:09 +0000 Subject: [PATCH] Bugfix. When calling feature.expand on 7.1 msvc we used to get error if default value of is 6.0. * build/feature.jam (expand-subfeatures-aux): Do no apply subfeature defaults, since it causes the above troubles and is also performed in 'add-defaults'. [SVN r22607] --- v2/build/feature.jam | 47 +++++++++++++++----------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/v2/build/feature.jam b/v2/build/feature.jam index 83f266f47..a2196bdba 100644 --- a/v2/build/feature.jam +++ b/v2/build/feature.jam @@ -342,21 +342,6 @@ local rule expand-subfeatures-aux ( result += $(subvalue:G=$(f)-$(subfeature)) ; } } - - # Add all the default feature values for non-optional subfeatures. - local ungristed-feature = [ utility.ungrist $(feature) ] ; - for local s in $($(feature).subfeatures) - { - local full-name = <$(ungristed-feature)-$(s)> ; - if ! optional in $($(full-name).attributes) - && [ is-subfeature-of $(result[1]) $(full-name) ] - { - if ! $(full-name) in $(result:G) - { - result += $(full-name)$($(full-name).default) ; - } - } - } return $(result) ; } @@ -1031,7 +1016,7 @@ local rule __test__ ( ) extend-feature toolset : msvc metrowerks ; subfeature toolset gcc : version : 2.95.2 2.95.3 2.95.4 - 3.0 3.0.1 3.0.2 : optional ; + 3.0 3.0.1 3.0.2 ; assert.result : select-subfeatures gcc @@ -1053,19 +1038,15 @@ local rule __test__ ( ) assert.result gcc 3.0.1 : expand-subfeatures gcc-3.0.1 ; - + + assert.result gcc 3.0.1 + : expand gcc 3.0.1 ; + assert.result foo=x-y : expand-subfeatures foo=x-y ; assert.result gcc 3.0.1 : expand-subfeatures gcc-3.0.1 ; - - feature dummy : dummy1 dummy2 ; - subfeature dummy : subdummy : x y z : optional ; - - feature fu : fu1 fu2 : optional ; - subfeature fu : subfu : x y z : optional ; - subfeature fu : subfu2 : q r s ; assert.result a c e : get-values : a b c d e ; @@ -1074,10 +1055,6 @@ local rule __test__ ( ) debug _DEBUG on : expand gcc-3.0.1 debug on ; - - assert.result fu1 q - : expand-subfeatures fu1 - ; assert.result debug _DEBUG on : expand debug on @@ -1090,17 +1067,25 @@ local rule __test__ ( ) assert.result dynamic on : defaults ; + + feature dummy : dummy1 dummy2 ; + subfeature dummy : subdummy : x y z : optional ; + feature fu : fu1 fu2 : optional ; + subfeature fu : subfu : x y z : optional ; + subfeature fu : subfu2 : q r s ; + assert.result static foobar on gcc:FOO - gcc debug native dummy1 + gcc debug native dummy1 2.95.2 : add-defaults static foobar on gcc:FOO ; assert.result static foobar on gcc:FOO - fu1 gcc debug native dummy1 q - + fu1 gcc debug native dummy1 q + 2.95.2 + : add-defaults static foobar on gcc:FOO fu1 ;