From 25b8acee2ea11a9edc100c42a61f5d6187eb6167 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Sat, 2 Apr 2022 18:18:57 -0400 Subject: Revert "global: Remove CONFIG_SYS_EXTRA_OPTIONS support" Unfortunately, we require additional logic to buildman to support this removal and still use SYS_SOC, etc, for build targets. This reverts commit eeec00072d7a0b5b91896d014618e558ce438738. Signed-off-by: Tom Rini --- scripts/Makefile.autoconf | 4 ++++ scripts/build-whitelist.sh | 23 ++++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index 00c03817792..0b3ffa08bfa 100644 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -100,6 +100,10 @@ tpl/include/autoconf.mk: tpl/u-boot.cfg # Prior to Kconfig, it was generated by mkconfig. Now it is created here. define filechk_config_h (echo "/* Automatically generated - do not edit */"; \ + for i in $$(echo $(CONFIG_SYS_EXTRA_OPTIONS) | sed 's/,/ /g'); do \ + echo \#define CONFIG_$$i \ + | sed '/=/ {s/=/ /;q; } ; { s/$$/ 1/; }'; \ + done; \ echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\ echo \#include \; \ echo \#include \; \ diff --git a/scripts/build-whitelist.sh b/scripts/build-whitelist.sh index 37630c0271c..6feb9b67cf5 100755 --- a/scripts/build-whitelist.sh +++ b/scripts/build-whitelist.sh @@ -10,13 +10,30 @@ # export LC_ALL=C LC_COLLATE=C -# Looks for the rest of the CONFIG options, but exclude those in Kconfig and -# defconfig files. +# There are two independent greps. The first pulls out the component parts +# of CONFIG_SYS_EXTRA_OPTIONS. An example is: # +# SUN7I_GMAC,AHCI,SATAPWR=SUNXI_GPB(8) +# +# We want this to produce: +# CONFIG_SUN7I_GMAC +# CONFIG_AHCI +# CONFIG_SATAPWR +# +# The second looks for the rest of the CONFIG options, but excludes those in +# Kconfig and defconfig files. +# +( +git grep CONFIG_SYS_EXTRA_OPTIONS |sed -n \ + 's/.*CONFIG_SYS_EXTRA_OPTIONS="\(.*\)"/\1/ p' \ + | tr , '\n' \ + | sed 's/ *\([A-Za-z0-9_]*\).*/CONFIG_\1/' + git grep CONFIG_ | \ egrep -vi "(Kconfig:|defconfig:|README|\.py|\.pl:)" \ | tr ' \t' '\n\n' \ - | sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' \ + | sed -n 's/^\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' +) \ |sort |uniq >scripts/config_whitelist.txt.tmp1; # Finally, we need a list of the valid Kconfig options to exclude these from -- cgit v1.3.1