From 61466d6639b9a1afe727d16461edacfa53e3f77e Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Wed, 8 Apr 2026 21:17:16 +0200 Subject: [PATCH] batman-adv: fix build against Linux 6.18 The EXTRA_CFLAGS for batman-adv were not applied with Linux 6.18. As result, C files for a specific features were build but the datastructures were missing the members for this specific feature. This can be avoided by switching to a more modern way of setting up the make command (like in this case "mt76"). Besides simplifying and cleaning up the code, it is now also directly providing the CONFIG preprocessor variables as part of NOSTDINC_FLAGS. This works on the current kernel versions 6.12 (default) and 6.18 (testing). Signed-off-by: Sven Eckelmann --- batman-adv/Makefile | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/batman-adv/Makefile b/batman-adv/Makefile index ef2626b..86ca1d3 100644 --- a/batman-adv/Makefile +++ b/batman-adv/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=batman-adv PKG_VERSION:=2026.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION) @@ -56,7 +56,7 @@ define Package/kmod-batman-adv/conffiles /etc/config/batman-adv endef -PKG_EXTRA_KCONFIG:= \ +PKG_MAKE_FLAGS:= \ CONFIG_BATMAN_ADV=m \ CONFIG_BATMAN_ADV_DEBUG=$(if $(CONFIG_BATMAN_ADV_DEBUG),y,n) \ CONFIG_BATMAN_ADV_BLA=$(if $(CONFIG_BATMAN_ADV_BLA),y,n) \ @@ -65,29 +65,26 @@ PKG_EXTRA_KCONFIG:= \ CONFIG_BATMAN_ADV_BATMAN_V=$(if $(CONFIG_BATMAN_ADV_BATMAN_V),y,n) \ CONFIG_BATMAN_ADV_TRACING=$(if $(CONFIG_BATMAN_ADV_TRACING),y,n) \ -PKG_EXTRA_CFLAGS:= \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \ - $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \ - -NOSTDINC_FLAGS = \ +NOSTDINC_FLAGS := \ $(KERNEL_NOSTDINC_FLAGS) \ - -I$(PKG_BUILD_DIR)/net/batman-adv \ - -I$(STAGING_DIR)/usr/include/mac80211-backport \ - -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \ - -I$(STAGING_DIR)/usr/include/mac80211 \ - -I$(STAGING_DIR)/usr/include/mac80211/uapi \ -I$(PKG_BUILD_DIR)/include/ \ + -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \ + -I$(STAGING_DIR)/usr/include/mac80211-backport \ + -I$(STAGING_DIR)/usr/include/mac80211/uapi \ + -I$(STAGING_DIR)/usr/include/mac80211 \ -include backport/autoconf.h \ -include backport/backport.h \ -include $(PKG_BUILD_DIR)/compat-hacks.h \ -DBATADV_SOURCE_VERSION=\\\"$(PKG_VERSION)-openwrt-$(PKG_RELEASE)\\\" +NOSTDINC_FLAGS += \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_MAKE_FLAGS)))) \ + $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_MAKE_FLAGS)))) \ + define Build/Compile - $(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \ - $(KERNEL_MAKE_FLAGS) \ + +$(KERNEL_MAKE) $(PKG_JOBS) \ + $(PKG_MAKE_FLAGS) \ M="$(PKG_BUILD_DIR)/net/batman-adv" \ - $(PKG_EXTRA_KCONFIG) \ - EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \ NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \ modules endef