2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 13:02:11 +00:00

Fix subvariant calculation to not "forget" ungristed properties to make let property rules work.

Fix subvariant overrides to owork only when needed


[SVN r14463]
This commit is contained in:
Rene Rivera
2002-07-15 02:06:02 +00:00
parent b9687a4679
commit 58b9bd2be3
2 changed files with 18 additions and 6 deletions

View File

@@ -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) ;

View File

@@ -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) ;