Commit fcbb8461 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: remove header compile test

There are both positive and negative options about this feature.
At first, I thought it was a good idea, but actually Linus stated a
negative opinion (https://lkml.org/lkml/2019/9/29/227

). I admit it
is ugly and annoying.

The baseline I'd like to keep is the compile-test of uapi headers.
(Otherwise, kernel developers have no way to ensure the correctness
of the exported headers.)

I will maintain a small build rule in usr/include/Makefile.
Remove the other header test functionality.

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent eba19032
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
@@ -1115,23 +1115,6 @@ When kbuild executes, the following steps are followed (roughly):
	In this example, extra-y is used to list object files that
	shall be built, but shall not be linked as part of built-in.a.

    header-test-y

	header-test-y specifies headers (`*.h`) in the current directory that
	should be compile tested to ensure they are self-contained,
	i.e. compilable as standalone units. If CONFIG_HEADER_TEST is enabled,
	this builds them as part of extra-y.

    header-test-pattern-y

	This works as a weaker version of header-test-y, and accepts wildcard
	patterns. The typical usage is::

		header-test-pattern-y += *.h

	This specifies all the files that matches to `*.h` in the current
	directory, but the files in 'header-test-' are excluded.

6.7 Commands useful for building a boot image
---------------------------------------------

+0 −1
Original line number Diff line number Diff line
@@ -618,7 +618,6 @@ 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/
+0 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ config DRM_I915_WERROR
        # We use the dependency on !COMPILE_TEST to not be enabled in
        # allmodconfig or allyesconfig configurations
        depends on !COMPILE_TEST
	select HEADER_TEST
        default n
        help
          Add -Werror to the build flags for (and only for) i915.ko.

include/Kbuild

deleted100644 → 0
+0 −1185

File deleted.

Preview size limit exceeded, changes collapsed.

+1 −21
Original line number Diff line number Diff line
@@ -104,29 +104,9 @@ 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 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
	depends on HEADERS_INSTALL && CC_CAN_LINK
	help
	  Compile test headers exported to user-space to ensure they are
	  self-contained, i.e. compilable as standalone units.
Loading