From: Andrew Dunstan Date: Tue, 30 Aug 2011 16:06:32 +0000 (-0400) Subject: Detect out of date flex in MSVC builds. X-Git-Tag: REL9_2_BETA1~1188 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=94478aa8b1a19cb0cb423cbc1f8167a4275ad30a;p=postgresql Detect out of date flex in MSVC builds. Per recent discussion, following a report from Quan Zongliang. The same logic is used as in pgbison.pl. --- diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl index f48ce6b900..7b9021d2ba 100644 --- a/src/tools/msvc/pgflex.pl +++ b/src/tools/msvc/pgflex.pl @@ -12,10 +12,14 @@ use File::Basename; require 'src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; -system('flex -V > NUL'); -if ($? != 0) +my ($flexver) = `flex -V`; # grab first line +$flexver=(split(/\s+/,$flexver))[1]; +$flexver =~ s/[^0-9.]//g; +my @verparts = split(/\./,$flexver); +unless ($verparts[0] == 2 && $verparts[1] == 5 && $verparts[2] >= 31) { - print "WARNING! flex install not found, attempting to build without\n"; + print "WARNING! Flex install not found, or unsupported Flex version.\n"; + print "echo Attempting to build without.\n"; exit 0; }