diff --git a/new/property.jam b/new/property.jam index 9ef03ba59..4a987d9ee 100644 --- a/new/property.jam +++ b/new/property.jam @@ -145,7 +145,7 @@ local rule path-order ( feature-space x y ) y = [ $(feature-space).expand-subfeatures $(y) ] ; } - if $(x[0]) < $(y[0]) + if $(x[1]) < $(y[1]) { return true ; } @@ -441,6 +441,13 @@ local rule __test__ ( ) validate gcc gcc-3.0.1 : $(test-space) ; validate gcc gcc-3.0.1 : $(test-space) ; + assert.true path-order $(test-space) debug foo ; + assert.false path-order $(test-space) foo debug ; + assert.true path-order $(test-space) gcc debug ; + assert.false path-order $(test-space) debug gcc ; + assert.true path-order $(test-space) on on ; + assert.false path-order $(test-space) on on ; + assert.result gcc off FOO : refine gcc off : FOO diff --git a/v2/build/property.jam b/v2/build/property.jam index 9ef03ba59..4a987d9ee 100644 --- a/v2/build/property.jam +++ b/v2/build/property.jam @@ -145,7 +145,7 @@ local rule path-order ( feature-space x y ) y = [ $(feature-space).expand-subfeatures $(y) ] ; } - if $(x[0]) < $(y[0]) + if $(x[1]) < $(y[1]) { return true ; } @@ -441,6 +441,13 @@ local rule __test__ ( ) validate gcc gcc-3.0.1 : $(test-space) ; validate gcc gcc-3.0.1 : $(test-space) ; + assert.true path-order $(test-space) debug foo ; + assert.false path-order $(test-space) foo debug ; + assert.true path-order $(test-space) gcc debug ; + assert.false path-order $(test-space) debug gcc ; + assert.true path-order $(test-space) on on ; + assert.false path-order $(test-space) on on ; + assert.result gcc off FOO : refine gcc off : FOO