summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--aclocal.m42
-rw-r--r--conf/Makefile2
-rw-r--r--configure.ac5
4 files changed, 9 insertions, 1 deletions
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],
[],