From 83edd615cad9ca5e7b846190b5142799908f51bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kruszewski?= Date: Sat, 17 Jun 2017 22:22:51 +0200 Subject: [PATCH] Kconfig: Source Kconfig from Zephyr application directory. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enable application specific configuration to be easily included and manageable via Kconfig. Add sample. Signed-off-by: MichaƂ Kruszewski --- Kconfig.zephyr | 6 ++++++ .../application_development/app_kconfig/Kconfig | 5 +++++ .../application_development/app_kconfig/Makefile | 4 ++++ .../application_development/app_kconfig/prj.conf | 1 + .../app_kconfig/src/Kconfig | 6 ++++++ .../app_kconfig/src/Makefile | 1 + .../app_kconfig/src/main.c | 15 +++++++++++++++ .../app_kconfig/testcase.ini | 4 ++++ 8 files changed, 42 insertions(+) create mode 100644 samples/application_development/app_kconfig/Kconfig create mode 100644 samples/application_development/app_kconfig/Makefile create mode 100644 samples/application_development/app_kconfig/prj.conf create mode 100644 samples/application_development/app_kconfig/src/Kconfig create mode 100644 samples/application_development/app_kconfig/src/Makefile create mode 100644 samples/application_development/app_kconfig/src/main.c create mode 100644 samples/application_development/app_kconfig/testcase.ini diff --git a/Kconfig.zephyr b/Kconfig.zephyr index 45b52acaf6e..ea89bafa29e 100644 --- a/Kconfig.zephyr +++ b/Kconfig.zephyr @@ -28,6 +28,12 @@ source "ext/Kconfig" source "tests/Kconfig" +config PROJECT_BASE + string + option env="PROJECT_BASE" + +source "$PROJECT_BASE/Kconfig" + # # The following are for Kconfig files for default values only. # These should be parsed at the end. diff --git a/samples/application_development/app_kconfig/Kconfig b/samples/application_development/app_kconfig/Kconfig new file mode 100644 index 00000000000..beb2eb8a796 --- /dev/null +++ b/samples/application_development/app_kconfig/Kconfig @@ -0,0 +1,5 @@ +menu "APPLICATION CONFIGURATION" + +source "$PROJECT_BASE/src/Kconfig" + +endmenu diff --git a/samples/application_development/app_kconfig/Makefile b/samples/application_development/app_kconfig/Makefile new file mode 100644 index 00000000000..e70a750a88d --- /dev/null +++ b/samples/application_development/app_kconfig/Makefile @@ -0,0 +1,4 @@ +BOARD ?= qemu_x86 +CONF_FILE = prj.conf + +include ${ZEPHYR_BASE}/Makefile.test diff --git a/samples/application_development/app_kconfig/prj.conf b/samples/application_development/app_kconfig/prj.conf new file mode 100644 index 00000000000..b2a4ba59104 --- /dev/null +++ b/samples/application_development/app_kconfig/prj.conf @@ -0,0 +1 @@ +# nothing here diff --git a/samples/application_development/app_kconfig/src/Kconfig b/samples/application_development/app_kconfig/src/Kconfig new file mode 100644 index 00000000000..d5b0443c94b --- /dev/null +++ b/samples/application_development/app_kconfig/src/Kconfig @@ -0,0 +1,6 @@ +config MERGE_PATCH + bool "Merge patch" + default y + help + Will this patch, supporting application + Kconfig configuration, be merged? diff --git a/samples/application_development/app_kconfig/src/Makefile b/samples/application_development/app_kconfig/src/Makefile new file mode 100644 index 00000000000..00066e15678 --- /dev/null +++ b/samples/application_development/app_kconfig/src/Makefile @@ -0,0 +1 @@ +obj-y = main.o diff --git a/samples/application_development/app_kconfig/src/main.c b/samples/application_development/app_kconfig/src/main.c new file mode 100644 index 00000000000..8a2ceedcd34 --- /dev/null +++ b/samples/application_development/app_kconfig/src/main.c @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +void main(void) +{ +#if defined(CONFIG_MERGE_PATCH) + printk("This patch will be merged!\n"); +#else + printk("This patch will not be merged!\n"); +#endif +} diff --git a/samples/application_development/app_kconfig/testcase.ini b/samples/application_development/app_kconfig/testcase.ini new file mode 100644 index 00000000000..c3d0fa6f664 --- /dev/null +++ b/samples/application_development/app_kconfig/testcase.ini @@ -0,0 +1,4 @@ +[test] +tags = appdev +build_only = true +platform_whitelist = qemu_x86