From bc69a640de3d22512fca69b1f997fb7b832addb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20=C5=9Aniatowski?= Date: Mon, 15 Feb 2021 13:06:30 +0100 Subject: Add manual entry about the missingdeps tool --- doc/manual.asciidoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc index e1ae083..2cbe6a3 100644 --- a/doc/manual.asciidoc +++ b/doc/manual.asciidoc @@ -284,6 +284,21 @@ _Available since Ninja 1.2._ `deps`:: show all dependencies stored in the `.ninja_deps` file. When given a target, show just the target's dependencies. _Available since Ninja 1.4._ +`missingdeps`:: given a list of targets, look for targets that depend on +a generated file, but do not have a properly (possibly transitive) dependency +on the generator. Such targets may cause build flakiness on clean builds. + +The broken targets can be found assuming deps log / depfile dependency +information is correct. Any target that depends on a generated file (output +of a generator-target) implicitly, but does not have an explicit or order-only +dependency path to the generator-target, is considered broken. + +The tool's findings can be verified by trying to build the listed targets in +a clean outdir without buidling any other targets. The build should fail for +each of them with a missing include error or equivalent pointing to the +generated file. +_Available since Ninja 1.11._ + `recompact`:: recompact the `.ninja_deps` file. _Available since Ninja 1.4._ `restat`:: updates all recorded file modification timestamps in the `.ninja_log` -- cgit v0.12