Defining these macros lets us use AC_PROG_YACC/LEX which makes automake easier while still specifically requiring bison and flex.
Based on bison.m4 and flex.m4 found in LLVM's tree. Signed-off-by: Matt Turner <matts...@gmail.com> --- configure.ac | 9 ++++----- m4/bison.m4 | 16 ++++++++++++++++ m4/flex.m4 | 16 ++++++++++++++++ 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 m4/bison.m4 create mode 100644 m4/flex.m4 diff --git a/configure.ac b/configure.ac index 511d147..c0abeb9 100644 --- a/configure.ac +++ b/configure.ac @@ -45,11 +45,10 @@ if test "x$MKDEP" = "x"; then AC_MSG_ERROR([makedepend is required to build Mesa]) fi -AC_PATH_PROG([FLEX], [flex]) -test "x$FLEX" = "x" && AC_MSG_ERROR([flex is needed to build Mesa]) - -AC_PATH_PROG([BISON], [bison]) -test "x$BISON" = "x" && AC_MSG_ERROR([bison is needed to build Mesa]) +m4_include([m4/bison.m4]) +AC_PROG_BISON +m4_include([m4/flex.m4]) +AC_PROG_FLEX dnl Our fallback install-sh is a symlink to minstall. Use the existing dnl configuration in that case. diff --git a/m4/bison.m4 b/m4/bison.m4 new file mode 100644 index 0000000..641d438 --- /dev/null +++ b/m4/bison.m4 @@ -0,0 +1,16 @@ +# +# Check for Bison. +# +# This macro verifies that Bison is installed. If successful, then +# 1) YACC is set to bison -y (to emulate YACC calls) +# 2) BISON is set to bison +# +AC_DEFUN([AC_PROG_BISON], +[AC_PROG_YACC() +if test "$YACC" != "bison -y"; then + AC_SUBST(BISON,[]) + AC_MSG_WARN([bison not found]) +else + AC_SUBST(BISON,[bison]) +fi +]) diff --git a/m4/flex.m4 b/m4/flex.m4 new file mode 100644 index 0000000..6a2a004 --- /dev/null +++ b/m4/flex.m4 @@ -0,0 +1,16 @@ +# +# Check for FLEX. +# +# This macro verifies that flex is installed. If successful, then +# 1) LEX is set to flex (to emulate lex calls) +# 2) FLEX is set to flex +# +AC_DEFUN([AC_PROG_FLEX], +[AC_PROG_LEX() +if test "$LEX" != "flex"; then + AC_SUBST(FLEX,[]) + AC_MSG_ERROR([flex not found]) +else + AC_SUBST(FLEX,[flex]) +fi +]) -- 1.7.3.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev