2000-10-26 18:28:01 +02:00
|
|
|
# $Header: /cvsroot/pgsql/config/programs.m4,v 1.2 2000/10/26 16:28:00 petere Exp $
|
2000-08-28 13:53:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
# PGAC_PATH_FLEX
|
|
|
|
# --------------
|
|
|
|
# Look for Flex, set the output variable FLEX to its path if found.
|
|
|
|
# Avoid the buggy version 2.5.3. Also find Flex if its installed
|
|
|
|
# under `lex', but do not accept other Lex programs.
|
|
|
|
|
|
|
|
AC_DEFUN([PGAC_PATH_FLEX],
|
|
|
|
[AC_CACHE_CHECK([for flex], pgac_cv_path_flex,
|
|
|
|
[# Let the user override the test
|
|
|
|
if test -n "$FLEX"; then
|
|
|
|
pgac_cv_path_flex=$FLEX
|
|
|
|
else
|
|
|
|
pgac_save_IFS=$IFS
|
|
|
|
IFS=:
|
|
|
|
for pgac_dir in $PATH; do
|
|
|
|
if test -z "$pgac_dir" || test x"$pgac_dir" = x"."; then
|
|
|
|
pgac_dir=`pwd`
|
|
|
|
fi
|
|
|
|
for pgac_prog in flex lex; do
|
|
|
|
pgac_candidate="$pgac_dir/$pgac_prog"
|
|
|
|
if test -f "$pgac_candidate" \
|
2000-10-26 18:28:01 +02:00
|
|
|
&& $pgac_candidate --version </dev/null >/dev/null 2>&1
|
2000-08-28 13:53:23 +02:00
|
|
|
then
|
|
|
|
echo '%%' > conftest.l
|
|
|
|
if $pgac_candidate -t conftest.l 2>/dev/null | grep FLEX_SCANNER >/dev/null 2>&1; then
|
|
|
|
if $pgac_candidate --version | grep '2\.5\.3' >/dev/null 2>&1; then
|
|
|
|
pgac_broken_flex=$pgac_candidate
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
|
|
|
|
pgac_cv_path_flex=$pgac_candidate
|
|
|
|
break 2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
IFS=$pgac_save_IFS
|
|
|
|
rm -f conftest.l
|
|
|
|
: ${pgac_cv_path_flex=no}
|
|
|
|
fi
|
|
|
|
])[]dnl AC_CACHE_CHECK
|
|
|
|
|
|
|
|
if test x"$pgac_cv_path_flex" = x"no"; then
|
|
|
|
if test -n "$pgac_broken_flex"; then
|
|
|
|
AC_MSG_WARN([
|
|
|
|
***
|
|
|
|
The Flex version 2.5.3 you have at $pgac_broken_flex contains a bug. You
|
|
|
|
should get version 2.5.4 or later.
|
|
|
|
###])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_MSG_WARN([
|
|
|
|
***
|
|
|
|
Without Flex you won't be able to build PostgreSQL from scratch, or change
|
|
|
|
any of the scanner definition files. You can obtain Flex from a GNU mirror
|
|
|
|
site. (If you are using the official distribution of PostgreSQL then you
|
|
|
|
do not need to worry about this because the lexer files are pre-generated.)
|
|
|
|
***])
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test x"$pgac_cv_path_flex" = x"no"; then
|
|
|
|
FLEX=
|
|
|
|
else
|
|
|
|
FLEX=$pgac_cv_path_flex
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(FLEX)
|
|
|
|
AC_SUBST(FLEXFLAGS)
|
|
|
|
])# PGAC_PATH_FLEX
|