2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 13:02:11 +00:00

changed translate-indirect to skip rules, that are already in indirect format. This allows e.g. to make use of the -<tag> to remove already set tag feature.

[SVN r40676]
This commit is contained in:
Roland Schwarz
2007-11-02 07:42:49 +00:00
parent d5fbab60f8
commit e5e7ef7f77

View File

@@ -455,19 +455,29 @@ rule translate-indirect ( specification * : context-module )
local m = [ MATCH ^@(.+) : $(p:G=) ] ;
if $(m)
{
if ! [ MATCH ".*([.]).*" : $(m) ]
local v ;
if [ MATCH "^([^%]*)%([^%]+)$" : $(m) ]
{
# This is unqualified rule name. The user might want
# to set flags on this rule name, and toolset.flag
# auto-qualifies the rule name. Need to do the same
# here so set flag setting work.
# We can arrange for toolset.flag to *not* auto-qualify
# the argument, but then two rules defined in two Jamfiles
# will conflict.
m = $(context-module).$(m) ;
# Rule is already in indirect format
v = $(m) ;
}
local v = [ indirect.make $(m) : $(context-module) ] ;
else
{
if ! [ MATCH ".*([.]).*" : $(m) ]
{
# This is unqualified rule name. The user might want
# to set flags on this rule name, and toolset.flag
# auto-qualifies the rule name. Need to do the same
# here so set flag setting work.
# We can arrange for toolset.flag to *not* auto-qualify
# the argument, but then two rules defined in two Jamfiles
# will conflict.
m = $(context-module).$(m) ;
}
v = [ indirect.make $(m) : $(context-module) ] ;
}
v = @$(v) ;
result += $(v:G=$(p:G)) ;
}