summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2019-07-01 03:58:45 +0300
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-07-09 15:44:37 +0300
commit43c78d88036e47949a5af2fac0067e7ebaaf7dd0 (patch)
tree1ed4654119e717c498b9d62424d9b46099e254a3 /init
parent7199ff7d74003b5aad1e6328bf6128cd8ceea735 (diff)
downloadlinux-43c78d88036e47949a5af2fac0067e7ebaaf7dd0.tar.xz
kbuild: compile-test kernel headers to ensure they are self-contained
The headers in include/ are globally used in the kernel source tree to provide common APIs. They are included from external modules, too. It will be useful to make as many headers self-contained as possible so that we do not have to rely on a specific include order. There are more than 4000 headers in include/. In my rough analysis, 70% of them are already self-contained. With efforts, most of them can be self-contained. For now, we must exclude more than 1000 headers just because they cannot be compiled as standalone units. I added them to header-test-. The blacklist was mostly generated by a script, so the reason of the breakage should be checked later. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig11
1 files changed, 11 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 74192de8ada6..e2e99544da8d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -108,6 +108,17 @@ config HEADER_TEST
If you are a developer or tester and want to ensure the requested
headers are self-contained, say Y here. Otherwise, choose N.
+config KERNEL_HEADER_TEST
+ bool "Compile test kernel headers"
+ depends on HEADER_TEST
+ help
+ Headers in include/ are used to build external moduls.
+ Compile test them to ensure they are self-contained, i.e.
+ compilable as standalone units.
+
+ If you are a developer or tester and want to ensure the headers
+ in include/ are self-contained, say Y here. Otherwise, choose N.
+
config UAPI_HEADER_TEST
bool "Compile test UAPI headers"
depends on HEADER_TEST && HEADERS_INSTALL && CC_CAN_LINK