From 97f7854cfeec8b387607b2bd147d2291e247030b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 3 Apr 2002 06:42:55 +0000 Subject: [PATCH] Fix subvariant generation of dependents to correctly transmit/match dependant requirements/requests. [SVN r13352] --- boost-base.jam | 16 ++++++++++++---- v1/boost-base.jam | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/boost-base.jam b/boost-base.jam index 10e3b3293..de0664ca2 100644 --- a/boost-base.jam +++ b/boost-base.jam @@ -1375,10 +1375,18 @@ rule is-link-compatible ( feature : value1 : value2 ) rule find-compatible-subvariant ( main-target : toolset variant : dependent-simple-properties * ) { # calculate the subvariant only of what is requested - local BUILD = $(variant) - [ intersection - [ multiply-property-sets [ select-gristed $(BUILD) ] ] : - $(dependent-simple-properties) ] ; + # the subvariant requested... + local sv-request = + [ multiply-property-sets + [ get-properties $(BUILD:G) : $(dependent-simple-properties) ] ] ; + # the available build requests... + local build-requests = + [ multiply-property-sets [ select-gristed $(BUILD) ] ] ; + # the build requst we want to build... + local sv-build = + [ split-path [ intersection $(sv-request) : $(build-requests) ] ] ; + local BUILD = $(variant) $(sv-build) ; + # the full subvariant to build... local subvariant = [ expand-target-subvariants $(main-target) : $(variant) : $(toolset) ] ; local sv-target = ; diff --git a/v1/boost-base.jam b/v1/boost-base.jam index 10e3b3293..de0664ca2 100644 --- a/v1/boost-base.jam +++ b/v1/boost-base.jam @@ -1375,10 +1375,18 @@ rule is-link-compatible ( feature : value1 : value2 ) rule find-compatible-subvariant ( main-target : toolset variant : dependent-simple-properties * ) { # calculate the subvariant only of what is requested - local BUILD = $(variant) - [ intersection - [ multiply-property-sets [ select-gristed $(BUILD) ] ] : - $(dependent-simple-properties) ] ; + # the subvariant requested... + local sv-request = + [ multiply-property-sets + [ get-properties $(BUILD:G) : $(dependent-simple-properties) ] ] ; + # the available build requests... + local build-requests = + [ multiply-property-sets [ select-gristed $(BUILD) ] ] ; + # the build requst we want to build... + local sv-build = + [ split-path [ intersection $(sv-request) : $(build-requests) ] ] ; + local BUILD = $(variant) $(sv-build) ; + # the full subvariant to build... local subvariant = [ expand-target-subvariants $(main-target) : $(variant) : $(toolset) ] ; local sv-target = ;