From 58b9bd2be37c8252d4fb5ddb4c8dbea6915632e8 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 15 Jul 2002 02:06:02 +0000 Subject: [PATCH] Fix subvariant calculation to not "forget" ungristed properties to make let property rules work. Fix subvariant overrides to owork only when needed [SVN r14463] --- boost-base.jam | 12 +++++++++--- v1/boost-base.jam | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/boost-base.jam b/boost-base.jam index 29c56fe9a..60b1f98d4 100644 --- a/boost-base.jam +++ b/boost-base.jam @@ -1434,12 +1434,18 @@ rule find-compatible-subvariant ( main-target : toolset variant : dependent-simp # now that we have a mostly (or completely) compatible subvariant do the overrides local gTARGET_REQUIREMENTS($(main-target)) = + # property rules... + [ select-ungristed $(gTARGET_REQUIREMENTS($(main-target))) ] + # always relevant properties to target... [ difference $(target-requirements) : [ get-properties [ difference $(sv-overrides:G) : $(gALWAYS_RELEVANT) ] : $(target-requirements) ] ] - [ difference - $(sv-overrides) : - [ get-properties $(gALWAYS_RELEVANT) : $(sv-overrides) ] ] + # link compatible properties, on the target... + [ get-properties + [ difference $(sv-overrides:G) : $(gALWAYS_RELEVANT) ] : $(target-requirements) ] + # overrides from dependent... + [ get-properties + [ difference $(sv-overrides:G) : $(override-conflicts:G) ] : $(dependent-simple-properties) ] ; subvariant = [ expand-target-subvariants $(sv-target) : $(sv-variant) : $(sv-toolset) ] ; split-target-subvariant sv-target sv-properties sv-toolset sv-variant : $(subvariant) ; diff --git a/v1/boost-base.jam b/v1/boost-base.jam index 29c56fe9a..60b1f98d4 100644 --- a/v1/boost-base.jam +++ b/v1/boost-base.jam @@ -1434,12 +1434,18 @@ rule find-compatible-subvariant ( main-target : toolset variant : dependent-simp # now that we have a mostly (or completely) compatible subvariant do the overrides local gTARGET_REQUIREMENTS($(main-target)) = + # property rules... + [ select-ungristed $(gTARGET_REQUIREMENTS($(main-target))) ] + # always relevant properties to target... [ difference $(target-requirements) : [ get-properties [ difference $(sv-overrides:G) : $(gALWAYS_RELEVANT) ] : $(target-requirements) ] ] - [ difference - $(sv-overrides) : - [ get-properties $(gALWAYS_RELEVANT) : $(sv-overrides) ] ] + # link compatible properties, on the target... + [ get-properties + [ difference $(sv-overrides:G) : $(gALWAYS_RELEVANT) ] : $(target-requirements) ] + # overrides from dependent... + [ get-properties + [ difference $(sv-overrides:G) : $(override-conflicts:G) ] : $(dependent-simple-properties) ] ; subvariant = [ expand-target-subvariants $(sv-target) : $(sv-variant) : $(sv-toolset) ] ; split-target-subvariant sv-target sv-properties sv-toolset sv-variant : $(subvariant) ;