From 587c5016cbbb0faced61e8a36ab25b5117fbf732 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Thu, 7 Sep 2017 00:17:57 +0200
Subject: [PATCH] build: handle generic and target-specific config in the same
 run of target_config{,_check}.sh

This, together with a new try_config directive, will allow checking the
generic config and make it more flexible.
---
 Makefile                       | 1 -
 scripts/common.inc.sh          | 4 ++++
 scripts/target_config.sh       | 5 +++++
 scripts/target_config_check.sh | 1 +
 targets/generic                | 4 ++--
 5 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index fa6b9404d..463cf804c 100644
--- a/Makefile
+++ b/Makefile
@@ -103,7 +103,6 @@ config: FORCE
 		echo 'CONFIG_TARGET_$(BOARD)=y' \
 		$(if $(SUBTARGET),&& echo 'CONFIG_TARGET_$(BOARD)_$(SUBTARGET)=y') \
 		$(foreach pkg,$(GLUON_PACKAGES_NO),&& echo '# CONFIG_PACKAGE_$(pkg) is not set') \
-		&& scripts/target_config.sh generic \
 		&& GLUON_SITEDIR='$(GLUON_SITEDIR)' scripts/target_config.sh '$(GLUON_TARGET)' \
 		$(foreach pkg,$(GLUON_PACKAGES_YES),&& echo 'CONFIG_PACKAGE_$(pkg)=y') \
 		$(foreach lang,$(GLUON_LANGS),&& echo 'CONFIG_GLUON_WEB_LANG_$(lang)=y') \
diff --git a/scripts/common.inc.sh b/scripts/common.inc.sh
index 793e71bc7..bcda85140 100644
--- a/scripts/common.inc.sh
+++ b/scripts/common.inc.sh
@@ -2,6 +2,10 @@ config() {
 	:
 }
 
+try_config() {
+	:
+}
+
 device() {
 	:
 }
diff --git a/scripts/target_config.sh b/scripts/target_config.sh
index ccda6c0d7..b50d1613c 100755
--- a/scripts/target_config.sh
+++ b/scripts/target_config.sh
@@ -35,6 +35,10 @@ config() {
 	echo "$1"
 }
 
+try_config() {
+	echo "$1"
+}
+
 device() {
 	emit
 
@@ -63,6 +67,7 @@ packages() {
 	fi
 }
 
+. targets/generic
 
 # The sort will not only remove duplicate entries,
 # but also magically make =y entries override =m ones
diff --git a/scripts/target_config_check.sh b/scripts/target_config_check.sh
index 6ee02371c..5b30ef04e 100755
--- a/scripts/target_config_check.sh
+++ b/scripts/target_config_check.sh
@@ -92,6 +92,7 @@ packages() {
 }
 
 
+. targets/generic
 . targets/"$target"
 check_devices
 
diff --git a/targets/generic b/targets/generic
index 2b802c0af..2e062e165 100644
--- a/targets/generic
+++ b/targets/generic
@@ -7,8 +7,8 @@ config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set'
 
 config 'CONFIG_PACKAGE_ATH_DEBUG=y'
 
-config 'CONFIG_TARGET_MULTI_PROFILE=y'
-config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y'
+try_config 'CONFIG_TARGET_MULTI_PROFILE=y'
+try_config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y'
 
 if [ "$GLUON_DEBUG" ]
 then
-- 
GitLab