aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-10-20 21:36:52 +0200
committerFelix Fietkau <nbd@nbd.name>2020-11-13 13:18:20 +0100
commita8fb12a7d62c94fd1bbda332752e0f8c794f3702 (patch)
tree1d65e3bc19adeb9f773f2b9d1c243fd59c9606c6
parent184d7357077e4dd4807e647a402c974931172924 (diff)
downloadupstream-a8fb12a7d62c94fd1bbda332752e0f8c794f3702.tar.gz
upstream-a8fb12a7d62c94fd1bbda332752e0f8c794f3702.tar.bz2
upstream-a8fb12a7d62c94fd1bbda332752e0f8c794f3702.zip
build: filter out more autogenerated kernel config options
Define wildcard patterns for filtering in target/linux/generic/config-filter Preparation for supporting newer kernels Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--include/kernel-build.mk4
-rw-r--r--include/target.mk8
-rw-r--r--target/linux/generic/config-filter7
3 files changed, 12 insertions, 7 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 600cf1d771..a698deec3c 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -170,9 +170,7 @@ define BuildKernel
) \
YACC=$(STAGING_DIR_HOST)/bin/bison \
$$@
- $(LINUX_RECONF_DIFF) $(LINUX_DIR)/.config | \
- grep -vE '(CONFIG_CC_(HAS_ASM_GOTO|IS_GCC|IS_CLANG)|GCC_VERSION)=' \
- > $(LINUX_RECONFIG_TARGET)
+ $(call LINUX_RECONF_DIFF,$(LINUX_DIR)/.config) > $(LINUX_RECONFIG_TARGET)
install: $(LINUX_DIR)/.image
+$(MAKE) -C image compile install TARGET_BUILD=
diff --git a/include/target.mk b/include/target.mk
index a2e76f8149..edc6a146de 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -185,11 +185,11 @@ ifeq ($(CONFIG_TARGET),env)
LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config
endif
-__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1)
+__linux_confcmd = $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1)
-LINUX_CONF_CMD = $(call __linux_confcmd,$(LINUX_KCONFIG_LIST),)
-LINUX_RECONF_CMD = $(call __linux_confcmd,$(LINUX_RECONFIG_LIST),)
-LINUX_RECONF_DIFF = $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST)),'>')
+LINUX_CONF_CMD = $(SCRIPT_DIR)/kconfig.pl $(call __linux_confcmd,$(LINUX_KCONFIG_LIST))
+LINUX_RECONF_CMD = $(SCRIPT_DIR)/kconfig.pl $(call __linux_confcmd,$(LINUX_RECONFIG_LIST))
+LINUX_RECONF_DIFF = $(SCRIPT_DIR)/kconfig.pl - '>' $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST))) $(1) $(GENERIC_PLATFORM_DIR)/config-filter
ifeq ($(DUMP),1)
BuildTarget=$(BuildTargets/DumpCurrent)
diff --git a/target/linux/generic/config-filter b/target/linux/generic/config-filter
new file mode 100644
index 0000000000..0d53ed9c3c
--- /dev/null
+++ b/target/linux/generic/config-filter
@@ -0,0 +1,7 @@
+# CONFIG_ARCH_(ENABLE|HAS|HAVE|INLINE|SUPPORTS|USE|WANT)_.* is not set
+# CONFIG_AS_.* is not set
+# CONFIG_CC_(CAN|HAS|IS|VERSION)_.* is not set
+# CONFIG_LD_.* is not set
+# CONFIG_GCC_VERSION is not set
+# CONFIG_INLINE_.* is not set
+# CONFIG_HAVE_(?!(ARCH_TIMER|TCM|SMP)).* is not set