mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 09:41:54 +00:00
M4: generate synchronization lines
This also includes Bison version check. Versions before 3.0 don't support them in a reliable way and we don't promise to work with versions older than 2.4.
This commit is contained in:
parent
1279a83103
commit
aaf99e5e56
@ -9,6 +9,7 @@ MAKEFLAGS += -r
|
||||
CPPFLAGS=-I$(objdir) -I$(srcdir) @CPPFLAGS@
|
||||
CFLAGS=$(CPPFLAGS) @CFLAGS@
|
||||
LDFLAGS=@LDFLAGS@
|
||||
M4FLAGS=@M4FLAGS@
|
||||
LIBS=@LIBS@
|
||||
DAEMON_LIBS=@DAEMON_LIBS@
|
||||
CLIENT_LIBS=@CLIENT_LIBS@
|
||||
|
16
aclocal.m4
vendored
16
aclocal.m4
vendored
@ -175,3 +175,19 @@ AC_DEFUN([BIRD_CHECK_PROG_FLAVOR_GNU],
|
||||
)
|
||||
esac
|
||||
])
|
||||
|
||||
AC_DEFUN([BIRD_CHECK_BISON_VERSION],
|
||||
[
|
||||
$1=`bison --version | ( read line; echo ${line##* } )`
|
||||
case "$$1" in
|
||||
1.* | 2.0* | 2.1* | 2.2* | 2.3* )
|
||||
AC_MSG_ERROR([Provided Bison version $$1 is too old, need at least 2.4])
|
||||
;;
|
||||
2.*)
|
||||
bird_bison_synclines=no
|
||||
;;
|
||||
3.* | 4.* | 5.* | 6.* | 7.* | 8.* | 9.* )
|
||||
bird_bison_synclines=yes
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
@ -11,7 +11,7 @@ BISON_DEBUG=-t
|
||||
endif
|
||||
|
||||
$(conf-y-targets): $(s)confbase.Y $(s)flowspec.Y
|
||||
$(M4) -P $| $^ >$@
|
||||
$(M4) $(M4FLAGS) -P $| $^ >$@
|
||||
|
||||
$(o)cf-parse.y: | $(s)gen_parser.m4
|
||||
$(o)keywords.h: | $(s)gen_keywords.m4
|
||||
|
@ -157,6 +157,15 @@ test -z "$FLEX" && AC_MSG_ERROR([Flex is missing.])
|
||||
test -z "$BISON" && AC_MSG_ERROR([Bison is missing.])
|
||||
test -z "$M4" && AC_MSG_ERROR([M4 is missing.])
|
||||
|
||||
AC_MSG_CHECKING([bison version])
|
||||
BIRD_CHECK_BISON_VERSION(BISON_VERSION)
|
||||
AC_MSG_RESULT([$BISON_VERSION])
|
||||
if test "$bird_bison_synclines" = yes; then
|
||||
M4FLAGS="$M4FLAGS -s"
|
||||
fi
|
||||
|
||||
AC_SUBST([M4FLAGS])
|
||||
|
||||
BIRD_CHECK_PROG_FLAVOR_GNU([$M4],
|
||||
[],
|
||||
[AC_MSG_ERROR([Provided M4 is not GNU M4.])]
|
||||
|
Loading…
Reference in New Issue
Block a user