On 12-01-11 01:29 AM, Matt Turner wrote: > On Wed, Jan 11, 2012 at 1:16 AM, Matt Turner <matts...@gmail.com> wrote: >> 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]) I am not sure if you need to m4_include. Perhaps because the toplevel makefile is not Automake.
>> +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]) > This should be AC_MSG_ERROR. Not if you want to be able to build from tarball using the generated code included in the tarball. > >> +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