diff --git a/v2/tools/builtin.jam b/v2/tools/builtin.jam index b052683bd..d5fa1d2c9 100644 --- a/v2/tools/builtin.jam +++ b/v2/tools/builtin.jam @@ -333,28 +333,31 @@ class searched-lib-target : abstract-file-target rule __init__ ( name : project : shared ? + : real-name ? : search * : action ) { - abstract-file-target.__init__ $(name) exact : SEARCHED_LIB : $(project) - : $(action) : ; - - local rn = [ apply-tag $(name) : [ tag-properties ] ] ; - if $(rn) - { - self.name = $(rn) ; - } + abstract-file-target.__init__ $(name) : SEARCHED_LIB : $(project) + : $(action) ; self.shared = $(shared) ; + self.real-name = $(real-name) ; + self.real-name ?= $(name) ; self.search = $(search) ; } - + + rule shared ( ) { return $(self.shared) ; } - + + rule real-name ( ) + { + return $(self.real-name) ; + } + rule search ( ) { return $(self.search) ; @@ -575,8 +578,8 @@ class searched-lib-generator : generator local search = [ feature.get-values : $(properties) ] ; a = [ new null-action $(property-set) ] ; - local lib-name = [ feature.get-values : $(properties) ] ; - local t = [ new searched-lib-target $(lib-name) : $(project) : $(shared) + local t = [ new searched-lib-target $(name) : $(project) : $(shared) + : [ feature.get-values : $(properties) ] : $(search) : $(a) ] ; @@ -806,7 +809,7 @@ class linking-generator : generator { if [ type.is-derived [ $(s).type ] SEARCHED_LIB ] { - local name = [ $(s).name ] ; + local name = [ $(s).real-name ] ; if [ $(s).shared ] { fsa += $(name) ;