From 635bd409b354a6444728bb4ddf07272cf58e1cc9 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 9 Mar 2016 14:33:37 +0100 Subject: [PATCH] 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 --- Configure | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; -- 2.25.1