2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 01:32:12 +00:00

Fix generators with several targets of the same time. Previously, if generator

were declared as:

  type.register LEMON : lemon ;
  generators.register-standard lemon.lemon
  :  LEMON
  :  C H C(%_opcodes) H(%_opcodes) ;

V2 would consider LEMON->C and LEMON->C(%_opcodes) two separate transformation
and report an ambiguity. Now the generator is run only once.


[SVN r31405]
This commit is contained in:
Vladimir Prus
2005-10-20 07:35:25 +00:00
parent 39c5b20c05
commit 6f67ab7540

View File

@@ -598,7 +598,11 @@ rule register ( g )
{
.generators += $(g) ;
for local t in [ $(g).target-types ]
# A generator can produce several targets of the
# same type. We want unique occurence of that generator
# in .generators.$(t) in that case, otherwise, it will
# be tried twice and we'll get false ambiguity.
for local t in [ sequence.unique [ $(g).target-types ] ]
{
.generators.$(t) += $(g) ;
}