History

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.

Mauro Carvalho Chehab committed 7 years ago

Commit b1663d71 parent 3f9564e4 files · +29 −0Browse files

Unified · Split

4 files
  1. Documentation/Kconfig +13 −0
  2. Documentation/Makefile +5 −0
  3. Kconfig +2 −0
  4. scripts/documentation-file-ref-check +9 −0
Documentation/Kconfig+13−0
@@ -0,0 +1,13 @@
1config WARN_MISSING_DOCUMENTS
2
3 bool "Warn if there's a missing documentation file"
4 depends on COMPILE_TEST
5 help
6 It is not uncommon that a document gets renamed.
7 This option makes the Kernel to check for missing dependencies,
8 warning when something is missing. Works only if the Kernel
9 is built from a git tree.
10
11 If unsure, select 'N'.
12
13
Documentation/Makefile+5−0
@@ -4,6 +4,11 @@ · 3 unmodified lines
4 4
5subdir-y := devicetree/bindings/5subdir-y := devicetree/bindings/
6 6
7# Check for broken documentation file references
8ifeq ($(CONFIG_WARN_MISSING_DOCUMENTS),y)
9$(shell $(srctree)/scripts/documentation-file-ref-check --warn)
10endif
11
7# You can set these variables from the command line.12# You can set these variables from the command line.
8SPHINXBUILD = sphinx-build13SPHINXBUILD = sphinx-build
9SPHINXOPTS =14SPHINXOPTS =
Kconfig+2−0
@@ -30,3 +30,5 @@ source "crypto/Kconfig" · 29 unmodified lines
30source "lib/Kconfig"30source "lib/Kconfig"
31 31
32source "lib/Kconfig.debug"32source "lib/Kconfig.debug"
33
34source "Documentation/Kconfig"
scripts/documentation-file-ref-check+9−0
@@ -22,9 +22,16 @@ $scriptname =~ s,.*/([^/]+/),$1,; · 21 unmodified lines
22# Parse arguments22# Parse arguments
23my $help = 0;23my $help = 0;
24my $fix = 0;24my $fix = 0;
25my $warn = 0;
26
27if (! -d ".git") {
28 printf "Warning: can't check if file exists, as this is not a git tree";
29 exit 0;
30}
25 31
26GetOptions(32GetOptions(
27 'fix' => \$fix,33 'fix' => \$fix,
34 'warn' => \$warn,
28 'h|help|usage' => \$help,35 'h|help|usage' => \$help,
29);36);
30 37
@@ -139,6 +146,8 @@ while (<IN>) { · 108 unmodified lines
139 if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) {146 if (!($ref =~ m/(scripts|Kconfig|Kbuild)/)) {
140 $broken_ref{$ref}++;147 $broken_ref{$ref}++;
141 }148 }
149 } elsif ($warn) {
150 print STDERR "Warning: $f references a file that doesn't exist: $fulref\n";
142 } else {151 } else {
143 print STDERR "$f: $fulref\n";152 print STDERR "$f: $fulref\n";
144 }153 }