forked from mirrors/linux
		
	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
					
				
					 3 changed files with 1282 additions and 0 deletions
				
			
		
							
								
								
									
										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 a new issue