diff --git a/Makefile.in b/Makefile.in index 6e281cfc..b755df44 100644 --- a/Makefile.in +++ b/Makefile.in @@ -10,6 +10,7 @@ CPPFLAGS=-I$(objdir) -I$(srcdir) @CPPFLAGS@ CFLAGS=$(CPPFLAGS) @CFLAGS@ LDFLAGS=@LDFLAGS@ M4FLAGS=@M4FLAGS@ +BISONFLAGS=@BISONFLAGS@ LIBS=@LIBS@ DAEMON_LIBS=@DAEMON_LIBS@ CLIENT_LIBS=@CLIENT_LIBS@ diff --git a/aclocal.m4 b/aclocal.m4 index 28a632c8..c401d447 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -185,9 +185,11 @@ AC_DEFUN([BIRD_CHECK_BISON_VERSION], ;; 2.*) bird_bison_synclines=no + bird_bison_enhanced_error=no ;; 3.* | 4.* | 5.* | 6.* | 7.* | 8.* | 9.*) bird_bison_synclines=yes + bird_bison_enhanced_error=yes ;; *) AC_MSG_ERROR([Couldn't parse Bison version $$1. Call the developers for help.]) diff --git a/conf/Makefile b/conf/Makefile index 47024d26..39628bff 100644 --- a/conf/Makefile +++ b/conf/Makefile @@ -20,7 +20,7 @@ $(o)commands.h: | $(s)gen_commands.m4 $(srcdir)/client/cmds.m4 $(o)cf-parse.tab.h: $(o)cf-parse.tab.c $(o)cf-parse.tab.c: $(o)cf-parse.y - $(BISON) $(BISON_DEBUG) -dv -pcf_ -b $(@:.tab.c=) $< + $(BISON) $(BISON_DEBUG) $(BISONFLAGS) -dv -pcf_ -b $(@:.tab.c=) $< $(o)cf-lex.c: $(s)cf-lex.l $(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcf_ -o$@ $< diff --git a/configure.ac b/configure.ac index 9a2e55e2..943d3a7b 100644 --- a/configure.ac +++ b/configure.ac @@ -164,7 +164,12 @@ if test "$bird_bison_synclines" = yes; then M4FLAGS="$M4FLAGS -s" fi +if test "$bird_bison_enhanced_error" = yes; then + BISONFLAGS="$BISONFLAGS -Dparse.lac=full -Dparse.error=verbose" +fi + AC_SUBST([M4FLAGS]) +AC_SUBST([BISONFLAGS]) BIRD_CHECK_PROG_FLAVOR_GNU([$M4], [],