diff --git a/v2/build/property-set.jam b/v2/build/property-set.jam index bd89a07af..e4016230c 100644 --- a/v2/build/property-set.jam +++ b/v2/build/property-set.jam @@ -309,7 +309,19 @@ class property-set # Returns all values of 'feature'. rule get ( feature ) { - return [ feature.get-values $(feature) : $(self.raw) ] ; + if ! $(self.map-built) + { + # For each feature, create member var and assign all + # values to it. Since all regular member vars start with + # 'self', there will be no conflicts between names. + self.map-built = true ; + for local v in $(self.raw) + { + $(v:G) += $(v:G=) ; + } + } + + return $($(feature)) ; } }