summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-03-09 14:33:37 +0100
committerRichard Levitte <levitte@openssl.org>2016-03-09 14:53:30 +0100
commit635bd409b354a6444728bb4ddf07272cf58e1cc9 (patch)
treec5b81d74b3c13c1e0f416c84ce3e66773fb63ed5 /Configure
parent4a4e250c2ad187e0b078ca10b77ff00e69e5eca9 (diff)
In build.info, an IF within a clause that's skipped over shouldn't apply
If we find an IF within a clause that's skipped over, set it to be skipped as well. Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure8
1 files changed, 7 insertions, 1 deletions
diff --git a/Configure b/Configure
index f34617809d..57d8a5aa81 100755
--- a/Configure
+++ b/Configure
@@ -1333,7 +1333,13 @@ if ($builder eq "unified") {
$l1 =~ s/\\$//; $l1.$l2 }),
# Info we're looking for
qr/^\s*IF\[((?:\\.|[^\\\]])*)\]\s*$/
- => sub { push @skip, !! $1; },
+ => sub {
+ if (! @skip || $skip[$#skip] >= 0) {
+ push @skip, !! $1;
+ } else {
+ push @skip, -1;
+ }
+ },
qr/^\s*ELSIF\[((?:\\.|[^\\\]])*)\]\s*$/
=> sub { die "ELSIF out of scope" if ! @skip;
die "ELSIF following ELSE" if abs($skip[$#skip]) == 2;