mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	docs: Kbuild/Makefile: allow check for missing docs at build time
While this doesn't make sense for production Kernels, in order to avoid regressions when documents are touched, let's add a check target at the make file. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
		
							parent
							
								
									3f9564e680
								
							
						
					
					
						commit
						b1663d7e3a
					
				
					 4 changed files with 29 additions and 0 deletions
				
			
		
							
								
								
									
										13
									
								
								Documentation/Kconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Documentation/Kconfig
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | config WARN_MISSING_DOCUMENTS | ||||||
|  | 
 | ||||||
|  | 	bool "Warn if there's a missing documentation file" | ||||||
|  | 	depends on COMPILE_TEST | ||||||
|  | 	help | ||||||
|  | 	   It is not uncommon that a document gets renamed. | ||||||
|  | 	   This option makes the Kernel to check for missing dependencies, | ||||||
|  | 	   warning when something is missing. Works only if the Kernel | ||||||
|  | 	   is built from a git tree. | ||||||
|  | 
 | ||||||
|  | 	   If unsure, select 'N'. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -4,6 +4,11 @@ | ||||||
| 
 | 
 | ||||||
| subdir-y := devicetree/bindings/ | subdir-y := devicetree/bindings/ | ||||||
| 
 | 
 | ||||||
|  | # Check for broken documentation file references
 | ||||||
|  | ifeq ($(CONFIG_WARN_MISSING_DOCUMENTS),y) | ||||||
|  | $(shell $(srctree)/scripts/documentation-file-ref-check --warn) | ||||||
|  | endif | ||||||
|  | 
 | ||||||
| # You can set these variables from the command line.
 | # You can set these variables from the command line.
 | ||||||
| SPHINXBUILD   = sphinx-build | SPHINXBUILD   = sphinx-build | ||||||
| SPHINXOPTS    = | SPHINXOPTS    = | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								Kconfig
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Kconfig
									
									
									
									
									
								
							|  | @ -30,3 +30,5 @@ source "crypto/Kconfig" | ||||||
| source "lib/Kconfig" | source "lib/Kconfig" | ||||||
| 
 | 
 | ||||||
| source "lib/Kconfig.debug" | source "lib/Kconfig.debug" | ||||||
|  | 
 | ||||||
|  | source "Documentation/Kconfig" | ||||||
|  |  | ||||||
|  | @ -22,9 +22,16 @@ $scriptname =~ s,.*/([^/]+/),$1,; | ||||||
| # Parse arguments | # Parse arguments | ||||||
| my $help = 0; | my $help = 0; | ||||||
| my $fix = 0; | my $fix = 0; | ||||||
|  | my $warn = 0; | ||||||
|  | 
 | ||||||
|  | if (! -d ".git") { | ||||||
|  | 	printf "Warning: can't check if file exists, as this is not a git tree"; | ||||||
|  | 	exit 0; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| GetOptions( | GetOptions( | ||||||
| 	'fix' => \$fix, | 	'fix' => \$fix, | ||||||
|  | 	'warn' => \$warn, | ||||||
| 	'h|help|usage' => \$help, | 	'h|help|usage' => \$help, | ||||||
| ); | ); | ||||||
| 
 | 
 | ||||||
|  | @ -139,6 +146,8 @@ while (<IN>) { | ||||||
| 			if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) { | 			if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) { | ||||||
| 				$broken_ref{$ref}++; | 				$broken_ref{$ref}++; | ||||||
| 			} | 			} | ||||||
|  | 		} elsif ($warn) { | ||||||
|  | 			print STDERR "Warning: $f references a file that doesn't exist: $fulref\n"; | ||||||
| 		} else { | 		} else { | ||||||
| 			print STDERR "$f: $fulref\n"; | 			print STDERR "$f: $fulref\n"; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Mauro Carvalho Chehab
						Mauro Carvalho Chehab