From cba01138e5efdb2ccd4b813a7257245a77345d50 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Thu, 26 Jan 2006 12:11:36 +0000 Subject: [PATCH] Fix gettext regression. During construction of subvariant object for a given build of a given main target, all virtual target created in the build process would be marked as roots, as opposed to only those retuned to dependents. As result, gettext module was no able to find any sources to process, and virtual-target.traverse would stop short on first found root. [SVN r32416] --- src/build/targets.jam | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/build/targets.jam b/src/build/targets.jam index bf67e0acd..f2dd0d986 100644 --- a/src/build/targets.jam +++ b/src/build/targets.jam @@ -1153,6 +1153,7 @@ class basic-target : abstract-target result = $(result[2-]) ; local s = [ create-subvariant + $(result) : [ virtual-target.recent-targets ] : $(property-set) : $(source-targets) : $(rproperties) : $(usage-requirements) ] ; @@ -1234,19 +1235,22 @@ class basic-target : abstract-target } # Creates a new subvariant-dg instances for 'targets' - local rule create-subvariant ( targets * : build-request : sources * : + # - 'root-targets' the virtual targets will be returned to dependents + # - 'all-targets' all virtual + # targets created while building this main target + # - 'build-request' is property-set instance with requested build properties + local rule create-subvariant ( root-targets * + : all-targets * : build-request : sources * : rproperties : usage-requirements ) { - for local e in $(targets) + for local e in $(root-targets) { $(e).root true ; } # Process all vtargets that will be created if this main target # is created. - local all-targets = - [ sequence.transform virtual-target.traverse : $(targets) ] ; local s = [ new subvariant $(__name__) : $(build-request) : $(sources) : $(rproperties) : $(usage-requirements) : $(all-targets) ] ; for local v in $(all-targets)