From 5cc8e058850acbc22fe92c5e2b24863efc577971 Mon Sep 17 00:00:00 2001 From: pmelange Date: Thu, 27 Aug 2020 17:50:11 +0200 Subject: [PATCH] olsrd: migrate to using bison 3.7.1 With the upgrade to bison 3.7.1 (openwrt commit 1cf842d) building olsrd was failing. Now, instead of the contents of header files being directly inserted into the generated source files, they are instead included with a #include directive. The local.mk has, until now, done some magic with *-tmp files, which is not longer necessary and even causes builds to fail. src/cfgparser/oparse.c:265:10: fatal error: oparse.h-tmp: No such file or directory #include "oparse.h-tmp" Suggested-by: Jo-Philipp Wich Signed-off-by: Perry Melange --- olsrd/Makefile | 2 +- olsrd/patches/011-bison.patch | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 olsrd/patches/011-bison.patch diff --git a/olsrd/Makefile b/olsrd/Makefile index 8a2f33a..462a0fc 100644 --- a/olsrd/Makefile +++ b/olsrd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=olsrd PKG_SOURCE_DATE:=2020-06-18 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/OLSR/olsrd.git diff --git a/olsrd/patches/011-bison.patch b/olsrd/patches/011-bison.patch new file mode 100644 index 0000000..b7e6fd5 --- /dev/null +++ b/olsrd/patches/011-bison.patch @@ -0,0 +1,16 @@ +--- a/src/cfgparser/local.mk ++++ b/src/cfgparser/local.mk +@@ -74,12 +74,8 @@ $(C)oparse.c: $(C)oparse.y $(C)olsrd_conf.h $(C)Makefile + ifeq ($(VERBOSE),0) + @echo "[BISON] $@" + endif +- $(MAKECMDPREFIX)$(BISON) -d -o "$@-tmp" "$<" +- $(MAKECMDPREFIX)sed -e 's/register //' \ +- -e '/^#line/s/$(call quote,$@-tmp)/$(call quote,$@)/' \ +- < "$@-tmp" >"$@" +- $(MAKECMDPREFIX)mv "$(subst .c,.h,$@-tmp)" "$(subst .c,.h,$@)" +- $(MAKECMDPREFIX)$(RM) "$@-tmp" "$(subst .c,.h,$@-tmp)" ++ $(MAKECMDPREFIX)$(BISON) -d -o "$@" "$<" ++ $(MAKECMDPREFIX)sed -e 's/register //' "$@" > "$@.o" && mv "$@.o" "$@" + + $(C)oparse.o: CFLAGS := $(filter-out -Wunreachable-code,$(CFLAGS))