From a584887c60e4eea72e7cb3acd7b4c329e47c23da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jurko=20Gospodneti=C4=87?= Date: Sat, 23 Aug 2008 12:17:50 +0000 Subject: [PATCH] Cleaned up the generate.jam Boost Build toolset module. Corrected some copy/paste bugs inherited from the virtual-target.jam module. [SVN r48316] --- src/tools/generate.jam | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/tools/generate.jam b/src/tools/generate.jam index 5cb3a6b21..6732fa355 100644 --- a/src/tools/generate.jam +++ b/src/tools/generate.jam @@ -5,14 +5,14 @@ # Declares main target 'generate' used to produce targets by calling a # user-provided rule that takes and produces virtual targets. -import targets ; import "class" : new ; -import property ; import errors ; -import regex ; -import property-set ; -import project ; import feature ; +import project ; +import property ; +import property-set ; +import targets ; +import regex ; feature.feature generating-rule : : free ; @@ -47,9 +47,11 @@ class generated-target-class : basic-target local rule-name = [ MATCH ^@(.*) : $(gr) ] ; if $(rule-name) { - if $(tag[2]) + if $(gr[2]) { - errors.error "@rulename is present but is not the only feature" ; + local target-name = [ full-name ] ; + errors.user-error "Multiple properties" + "encountered for target $(target-name)." ; } result = [ indirect.call $(rule-name) $(self.project) $(name) @@ -77,8 +79,10 @@ class generated-target-class : basic-target targets = $(result) ; } } + # FIXME: the following loop should be doable using sequence.transform or + # some similar utility rule. local rt ; - for t in $(targets) + for local t in $(targets) { rt += [ virtual-target.register $(t) ] ; }