Configure: allow conditions and variable values to have variable references
This will allow building variables on other variables, and to have conditions based on variable contents. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
This commit is contained in:
parent
26de4ec68f
commit
0ee7b9fe7f
1 changed files with 5 additions and 3 deletions
|
@ -1881,7 +1881,7 @@ if ($builder eq "unified") {
|
|||
qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/
|
||||
=> sub {
|
||||
if (! @skip || $skip[$#skip] > 0) {
|
||||
push @skip, !! $1;
|
||||
push @skip, !! $expand_variables->($1);
|
||||
} else {
|
||||
push @skip, -1;
|
||||
}
|
||||
|
@ -1890,7 +1890,7 @@ if ($builder eq "unified") {
|
|||
=> sub { die "ELSIF out of scope" if ! @skip;
|
||||
die "ELSIF following ELSE" if abs($skip[$#skip]) == 2;
|
||||
$skip[$#skip] = -1 if $skip[$#skip] != 0;
|
||||
$skip[$#skip] = !! $1
|
||||
$skip[$#skip] = !! $expand_variables->($1)
|
||||
if $skip[$#skip] == 0; },
|
||||
qr/^\s*ELSE\s*$/
|
||||
=> sub { die "ELSE out of scope" if ! @skip;
|
||||
|
@ -1902,7 +1902,9 @@ if ($builder eq "unified") {
|
|||
qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/
|
||||
=> sub {
|
||||
if (!@skip || $skip[$#skip] > 0) {
|
||||
$variables{$1} = $2;
|
||||
my $n = $1;
|
||||
my $v = $2;
|
||||
$variables{$n} = $expand_variables->($v);
|
||||
}
|
||||
},
|
||||
qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/
|
||||
|
|
Loading…
Reference in a new issue