[Mesa-dev] [PATCH 1/2] Use AC_PROG_YACC/LEX

Matt Turner mattst88 at gmail.com
Tue Jan 24 16:22:21 PST 2012


Needed for automake. Using AC_PROG_PATH(bison/flex) causes automake to
fail to build .y and .l files.

It is up to the builder to use bison/flex instead of yacc/lex.
---
 configs/autoconf.in |    4 ++--
 configure.ac        |   13 ++++++++-----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/configs/autoconf.in b/configs/autoconf.in
index 38fe317..fa7d329 100644
--- a/configs/autoconf.in
+++ b/configs/autoconf.in
@@ -63,8 +63,8 @@ PYTHON2 = @PYTHON2@
 PYTHON_FLAGS = -t -O -O
 
 # Flex and Bison for GLSL compiler
-FLEX = @FLEX@
-BISON = @BISON@
+FLEX = @LEX@
+BISON = @YACC@
 
 # Library names (base name)
 GL_LIB = @GL_LIB@
diff --git a/configure.ac b/configure.ac
index 71933e4..5e3a69b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,11 +54,14 @@ 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])
+AC_PROG_YACC
+AC_PATH_PROG([YACC_INST], $YACC)
+if test ! -f "$srcdir/src/glsl/glcpp/glcpp-parse.y"; then
+    if test -z "$YACC_INST"; then
+        AC_MSG_ERROR([yacc not found - unable to compile glcpp-parse.y])
+    fi
+fi
+AC_PROG_LEX
 
 dnl Our fallback install-sh is a symlink to minstall. Use the existing
 dnl configuration in that case.
-- 
1.7.3.4



More information about the mesa-dev mailing list