2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-17 01:32:12 +00:00

Fix usage requirements check to account for conditional properties.

I'm not completely sure this is precisely the right fix:

    a. The error message used to reference a non-existent variable.
    What was it supposed to be?

    b. Should property.remove et. al. be able to cope with conditional
    properties?


[SVN r18023]
This commit is contained in:
Dave Abrahams
2003-03-20 02:41:49 +00:00
parent 3229f3f9bd
commit aa1274fe71
2 changed files with 20 additions and 4 deletions

View File

@@ -453,10 +453,18 @@ rule project-attributes ( location )
}
else if $(attribute) = "usage-requirements"
{
local non-free = [ property.remove free : $(specification) ] ;
local unconditional ;
for local p in $(specification)
{
local split = [ property.split-conditional $(p) ] ;
split ?= nothing $(p) ;
unconditional += $(split[2]) ;
}
local non-free = [ property.remove free : $(unconditional) ] ;
if $(non-free)
{
errors.error "usage-requirements" $($(real-pos2)) "have non-free properties" $(non-free) ;
errors.error "usage-requirements" $(specification) "have non-free properties" $(non-free) ;
}
local t = [ property.translate-paths $(specification)
: $(self.location) ] ;

View File

@@ -453,10 +453,18 @@ rule project-attributes ( location )
}
else if $(attribute) = "usage-requirements"
{
local non-free = [ property.remove free : $(specification) ] ;
local unconditional ;
for local p in $(specification)
{
local split = [ property.split-conditional $(p) ] ;
split ?= nothing $(p) ;
unconditional += $(split[2]) ;
}
local non-free = [ property.remove free : $(unconditional) ] ;
if $(non-free)
{
errors.error "usage-requirements" $($(real-pos2)) "have non-free properties" $(non-free) ;
errors.error "usage-requirements" $(specification) "have non-free properties" $(non-free) ;
}
local t = [ property.translate-paths $(specification)
: $(self.location) ] ;