From: Richard Levitte Date: Wed, 9 Mar 2016 13:33:37 +0000 (+0100) Subject: In build.info, an IF within a clause that's skipped over shouldn't apply X-Git-Tag: OpenSSL_1_1_0-pre4~153 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=635bd409b354a6444728bb4ddf07272cf58e1cc9;p=oweals%2Fopenssl.git 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 --- 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;