From ea02ade1dc0b7c8ca44aaaf5ee5acc7cf8a5346e Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Fri, 12 Aug 2005 13:16:37 +0000 Subject: [PATCH] Allow Whale generator to be called with several sources, and immediate return no targets in that case. [SVN r30542] --- src/tools/whale.jam | 52 ++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/src/tools/whale.jam b/src/tools/whale.jam index 155e57686..9335ff0c0 100644 --- a/src/tools/whale.jam +++ b/src/tools/whale.jam @@ -59,32 +59,36 @@ class wd-to-cpp : generator generator.__init__ $(1) : $(2) : $(3) ; } - rule run ( project name ? : property-set : source ) + rule run ( project name ? : property-set : source * ) { - local new-sources ; - if ! [ $(source).type ] in WHL DLP - { - local r1 = [ generators.construct $(project) $(name) - : WHL : $(property-set) : $(source) ] ; - local r2 = [ generators.construct $(project) $(name) - : DLP : $(property-set) : $(source) ] ; + if ! $(source[2]) + { + local new-sources ; + if ! [ $(source).type ] in WHL DLP + { + local r1 = [ generators.construct $(project) $(name) + : WHL : $(property-set) : $(source) ] ; + local r2 = [ generators.construct $(project) $(name) + : DLP : $(property-set) : $(source) ] ; + + new-sources = [ sequence.unique $(r1[2-]) $(r2[2-]) ] ; + } + else + { + new-sources = $(source) ; + } - new-sources = [ sequence.unique $(r1[2-]) $(r2[2-]) ] ; - } - else - { - new-sources = $(source) ; - } - - local result ; - for local i in $(new-sources) - { - local t = [ generators.construct $(project) $(name) : CPP - : $(property-set) : $(i) ] ; - result += $(t[2-]) ; - } - return $(result) ; - } + local result ; + for local i in $(new-sources) + { + local t = [ generators.construct $(project) $(name) : CPP + : $(property-set) : $(i) ] ; + result += $(t[2-]) ; + } + return $(result) ; + } + } + }