Commit 7d7b1292 authored by Tom Lane's avatar Tom Lane

Fix configure's incorrect version tests for flex and perl.

awk's equality-comparison operator is "==" not "=".  We got this right
in many places, but not in configure's checks for supported version
numbers of flex and perl.  It hadn't been noticed because unsupported
versions are so old as to be basically extinct in the wild, and because
the only consequence is whether or not a WARNING flies by during
configure.

Daniel Gustafsson noted the problem with respect to the test for flex,
I found the other by reviewing other awk calls.
parent 37d0c2cb
...@@ -13,7 +13,7 @@ if test "$PERL"; then ...@@ -13,7 +13,7 @@ if test "$PERL"; then
pgac_perl_version=`$PERL -v 2>/dev/null | sed -n ['s/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p']` pgac_perl_version=`$PERL -v 2>/dev/null | sed -n ['s/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p']`
AC_MSG_NOTICE([using perl $pgac_perl_version]) AC_MSG_NOTICE([using perl $pgac_perl_version])
if echo "$pgac_perl_version" | sed ['s/[.a-z_]/ /g'] | \ if echo "$pgac_perl_version" | sed ['s/[.a-z_]/ /g'] | \
$AWK '{ if ([$]1 = 5 && [$]2 >= 8) exit 1; else exit 0;}' $AWK '{ if ([$]1 == 5 && [$]2 >= 8) exit 1; else exit 0;}'
then then
AC_MSG_WARN([ AC_MSG_WARN([
*** The installed version of Perl, $PERL, is too old to use with PostgreSQL. *** The installed version of Perl, $PERL, is too old to use with PostgreSQL.
......
...@@ -77,7 +77,7 @@ else ...@@ -77,7 +77,7 @@ else
echo '%%' > conftest.l echo '%%' > conftest.l
if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
pgac_flex_version=`$pgac_candidate --version 2>/dev/null` pgac_flex_version=`$pgac_candidate --version 2>/dev/null`
if echo "$pgac_flex_version" | sed ['s/[.a-z]/ /g'] | $AWK '{ if ([$]1 = 2 && ([$]2 > 5 || ([$]2 = 5 && [$]3 >= 31))) exit 0; else exit 1;}' if echo "$pgac_flex_version" | sed ['s/[.a-z]/ /g'] | $AWK '{ if ([$]1 == 2 && ([$]2 > 5 || ([$]2 == 5 && [$]3 >= 31))) exit 0; else exit 1;}'
then then
pgac_cv_path_flex=$pgac_candidate pgac_cv_path_flex=$pgac_candidate
break 2 break 2
......
...@@ -7358,7 +7358,7 @@ else ...@@ -7358,7 +7358,7 @@ else
echo '%%' > conftest.l echo '%%' > conftest.l
if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
pgac_flex_version=`$pgac_candidate --version 2>/dev/null` pgac_flex_version=`$pgac_candidate --version 2>/dev/null`
if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 = 2 && ($2 > 5 || ($2 = 5 && $3 >= 31))) exit 0; else exit 1;}' if echo "$pgac_flex_version" | sed 's/[.a-z]/ /g' | $AWK '{ if ($1 == 2 && ($2 > 5 || ($2 == 5 && $3 >= 31))) exit 0; else exit 1;}'
then then
pgac_cv_path_flex=$pgac_candidate pgac_cv_path_flex=$pgac_candidate
break 2 break 2
...@@ -7456,7 +7456,7 @@ if test "$PERL"; then ...@@ -7456,7 +7456,7 @@ if test "$PERL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: using perl $pgac_perl_version" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: using perl $pgac_perl_version" >&5
$as_echo "$as_me: using perl $pgac_perl_version" >&6;} $as_echo "$as_me: using perl $pgac_perl_version" >&6;}
if echo "$pgac_perl_version" | sed 's/[.a-z_]/ /g' | \ if echo "$pgac_perl_version" | sed 's/[.a-z_]/ /g' | \
$AWK '{ if ($1 = 5 && $2 >= 8) exit 1; else exit 0;}' $AWK '{ if ($1 == 5 && $2 >= 8) exit 1; else exit 0;}'
then then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
*** The installed version of Perl, $PERL, is too old to use with PostgreSQL. *** The installed version of Perl, $PERL, is too old to use with PostgreSQL.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment