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:
@@ -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) ] ;
|
||||
|
||||
@@ -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) ] ;
|
||||
|
||||
Reference in New Issue
Block a user