aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2011-08-30 12:06:32 -0400
committerAndrew Dunstan <andrew@dunslane.net>2011-08-30 12:06:32 -0400
commit94478aa8b1a19cb0cb423cbc1f8167a4275ad30a (patch)
tree480d21d6b35a8f8a014d561795dafe9eee093e3d
parent8a3d33c8e6c681d512f79af4a521ee0c02befcef (diff)
downloadpostgresql-94478aa8b1a19cb0cb423cbc1f8167a4275ad30a.tar.gz
postgresql-94478aa8b1a19cb0cb423cbc1f8167a4275ad30a.zip
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.
-rw-r--r--src/tools/msvc/pgflex.pl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl
index f48ce6b900a..7b9021d2ba2 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;
}