summaryrefslogtreecommitdiff
path: root/config/programs.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/programs.m4')
-rw-r--r--config/programs.m472
1 files changed, 72 insertions, 0 deletions
diff --git a/config/programs.m4 b/config/programs.m4
new file mode 100644
index 00000000000..3e49b9a0eb1
--- /dev/null
+++ b/config/programs.m4
@@ -0,0 +1,72 @@
+# $Header: /cvsroot/pgsql/config/programs.m4,v 1.1 2000/08/28 11:53:13 petere Exp $
+
+
+# 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" \
+ && $pgac_candidate --version >/dev/null 2>&1
+ 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