summary refs log tree commit diff
path: root/init
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2019-06-04 15:42:48 +0300
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-06-15 19:57:02 +0900
commite846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4 (patch)
treeb58f3a2e11125b3ed4f35f0c0c14380e3374b9db /init
parent0315bb7a25267bfeee2a7aaed5d1b4ba915e0c53 (diff)
downloadlinux-e846f0dc57f441e5e93194d39bc9b8ac2ab5e0a4.tar.gz
kbuild: add support for ensuring headers are self-contained
Sometimes it's useful to be able to explicitly ensure certain headers
remain self-contained, i.e. that they are compilable as standalone
units, by including and/or forward declaring everything they depend on.

Add special target header-test-y where individual Makefiles can add
headers to be tested if CONFIG_HEADER_TEST is enabled. This will
generate a dummy C file per header that gets built as part of extra-y.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 0e2344389501..df5bba27e3fe 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -96,6 +96,15 @@ config COMPILE_TEST
 	  here. If you are a user/distributor, say N here to exclude useless
 	  drivers to be distributed.
 
+config HEADER_TEST
+	bool "Compile test headers that should be standalone compilable"
+	help
+	  Compile test headers listed in header-test-y target to ensure they are
+	  self-contained, i.e. compilable as standalone units.
+
+	  If you are a developer or tester and want to ensure the requested
+	  headers are self-contained, say Y here. Otherwise, choose N.
+
 config LOCALVERSION
 	string "Local version - append to kernel release"
 	help