diff --git a/new/toolset.jam b/new/toolset.jam index 6c24978c7..d27041819 100644 --- a/new/toolset.jam +++ b/new/toolset.jam @@ -177,13 +177,18 @@ rule set-target-variables ( rule-or-module targets + : properties * ) local matches = [ property.select $(condition) : $(properties) ] ; for local p in $(matches) { - if dependency in [ feature.attributes $(p:G) ] + local att = [ feature.attributes $(p:G) ] ; + if dependency in $(att) { # the value of a dependency feature is a target # and must be actualized result += [ $(p:G=).actualize ] ; } - else + else if path in $(att) + { + result += [ path.native $(p:G=) ] ; + } + else { result += $(p:G=) ; } diff --git a/v2/build/toolset.jam b/v2/build/toolset.jam index 6c24978c7..d27041819 100644 --- a/v2/build/toolset.jam +++ b/v2/build/toolset.jam @@ -177,13 +177,18 @@ rule set-target-variables ( rule-or-module targets + : properties * ) local matches = [ property.select $(condition) : $(properties) ] ; for local p in $(matches) { - if dependency in [ feature.attributes $(p:G) ] + local att = [ feature.attributes $(p:G) ] ; + if dependency in $(att) { # the value of a dependency feature is a target # and must be actualized result += [ $(p:G=).actualize ] ; } - else + else if path in $(att) + { + result += [ path.native $(p:G=) ] ; + } + else { result += $(p:G=) ; }