mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
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>
This commit is contained in:
parent
7199ff7d74
commit
43c78d8803
1
Makefile
1
Makefile
@ -618,6 +618,7 @@ ifeq ($(KBUILD_EXTMOD),)
|
||||
init-y := init/
|
||||
drivers-y := drivers/ sound/
|
||||
drivers-$(CONFIG_SAMPLES) += samples/
|
||||
drivers-$(CONFIG_KERNEL_HEADER_TEST) += include/
|
||||
net-y := net/
|
||||
libs-y := lib/
|
||||
core-y := usr/
|
||||
|
1270
include/Kbuild
Normal file
1270
include/Kbuild
Normal file
File diff suppressed because it is too large
Load Diff
11
init/Kconfig
11
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
|
||||
|
Loading…
Reference in New Issue
Block a user