From 398f71909cebee03b80583d1134d424cdad3832a Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 17 Feb 2003 17:51:07 +0000 Subject: [PATCH] disable use of allow-composing [SVN r17493] --- new/generators.jam | 14 ++++++++++++-- v2/build/generators.jam | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/new/generators.jam b/new/generators.jam index 5cb41f9c0..137092455 100644 --- a/new/generators.jam +++ b/new/generators.jam @@ -537,7 +537,7 @@ rule composing-generator ( id : source-types * : target-types + : } } - rule run ( project name ? : property-set : sources + ) + rule run ( project name ? : property-set : sources + : multiple ? ) { generators.dout [ indent ] " composing generator" $(self.id) ; @@ -762,13 +762,23 @@ local rule find-viable-generators ( target-type : property-set : allow-composing # quite specific requirements. local t = * [ type.all-bases $(target-type) ] ; + generators.dout [ indent ] find-viable-generators target-type= $(target-type) + property-set= [ $(property-set).as-path ] + $(allow-composing) + ; + while $(t[1]) { + generators.dout [ indent ] "trying type" $(t[1]) ; for local g in $(.generators.$(t[1])) { + generators.dout [ indent ] "trying generator" [ $(g).source-types ] -> [ $(g).target-types ] ; + + allow-composing = 1 ; # Avoid trying the same generator twice on different levels. if ! $(g) in $(.active-generators) - && ! ( [ is-a $(g) : composing-generator ] && ! $(allow-composing) ) + && ( $(allow-composing) || ! ( [ is-a $(g) : composing-generator ] + ) ) { local m = [ $(g).match-rank $(property-set) ] ; if $(m) diff --git a/v2/build/generators.jam b/v2/build/generators.jam index 5cb41f9c0..137092455 100644 --- a/v2/build/generators.jam +++ b/v2/build/generators.jam @@ -537,7 +537,7 @@ rule composing-generator ( id : source-types * : target-types + : } } - rule run ( project name ? : property-set : sources + ) + rule run ( project name ? : property-set : sources + : multiple ? ) { generators.dout [ indent ] " composing generator" $(self.id) ; @@ -762,13 +762,23 @@ local rule find-viable-generators ( target-type : property-set : allow-composing # quite specific requirements. local t = * [ type.all-bases $(target-type) ] ; + generators.dout [ indent ] find-viable-generators target-type= $(target-type) + property-set= [ $(property-set).as-path ] + $(allow-composing) + ; + while $(t[1]) { + generators.dout [ indent ] "trying type" $(t[1]) ; for local g in $(.generators.$(t[1])) { + generators.dout [ indent ] "trying generator" [ $(g).source-types ] -> [ $(g).target-types ] ; + + allow-composing = 1 ; # Avoid trying the same generator twice on different levels. if ! $(g) in $(.active-generators) - && ! ( [ is-a $(g) : composing-generator ] && ! $(allow-composing) ) + && ( $(allow-composing) || ! ( [ is-a $(g) : composing-generator ] + ) ) { local m = [ $(g).match-rank $(property-set) ] ; if $(m)