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*$/
|
qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/
|
||||||
=> sub {
|
=> sub {
|
||||||
if (! @skip || $skip[$#skip] > 0) {
|
if (! @skip || $skip[$#skip] > 0) {
|
||||||
push @skip, !! $1;
|
push @skip, !! $expand_variables->($1);
|
||||||
} else {
|
} else {
|
||||||
push @skip, -1;
|
push @skip, -1;
|
||||||
}
|
}
|
||||||
|
@ -1890,7 +1890,7 @@ if ($builder eq "unified") {
|
||||||
=> sub { die "ELSIF out of scope" if ! @skip;
|
=> sub { die "ELSIF out of scope" if ! @skip;
|
||||||
die "ELSIF following ELSE" if abs($skip[$#skip]) == 2;
|
die "ELSIF following ELSE" if abs($skip[$#skip]) == 2;
|
||||||
$skip[$#skip] = -1 if $skip[$#skip] != 0;
|
$skip[$#skip] = -1 if $skip[$#skip] != 0;
|
||||||
$skip[$#skip] = !! $1
|
$skip[$#skip] = !! $expand_variables->($1)
|
||||||
if $skip[$#skip] == 0; },
|
if $skip[$#skip] == 0; },
|
||||||
qr/^\s*ELSE\s*$/
|
qr/^\s*ELSE\s*$/
|
||||||
=> sub { die "ELSE out of scope" if ! @skip;
|
=> sub { die "ELSE out of scope" if ! @skip;
|
||||||
|
@ -1902,7 +1902,9 @@ if ($builder eq "unified") {
|
||||||
qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/
|
qr/^\s*${variable_re}\s*=\s*(.*?)\s*$/
|
||||||
=> sub {
|
=> sub {
|
||||||
if (!@skip || $skip[$#skip] > 0) {
|
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*$/
|
qr/^\s*SUBDIRS\s*=\s*(.*)\s*$/
|
||||||
|
|
Loading…
Reference in a new issue