Commit b1663d7e authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

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: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 3f9564e6
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 @@ ...@@ -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 =
......
...@@ -30,3 +30,5 @@ source "crypto/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,; ...@@ -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>) { ...@@ -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";
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment