From 3f5b682bfd1f13c55a1eb6b783cbd3c61f664a7b Mon Sep 17 00:00:00 2001
From: Fredrik Medley <fredrik.medley@gmail.com>
Date: Thu, 3 Sep 2015 21:27:19 +0200
Subject: Describe why to use relative paths

Ninja does resolve relative paths and file system links in paths.
Therefore, such paths pointing to the same file will not match and may
lead to an invalid dependency graph.

Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
---
 doc/manual.asciidoc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index 003c71e..47b7456 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -598,6 +598,11 @@ rule cc
   command = cl /showIncludes -c $in /Fo$out
 ----
 
+If the include directory directives are using absolute paths, your depfile
+may result in a mixture of relative and absolute paths. Paths used by other
+build rules need to match exactly. Therefore, it is recommended to use
+relative paths in these cases.
+
 [[ref_pool]]
 Pools
 ~~~~~
@@ -889,6 +894,9 @@ header file before starting a subsequent compilation step.  (Once the
 header is used in compilation, a generated dependency file will then
 express the implicit dependency.)
 
+File paths are compared as is, which means that an absolute path and a
+relative path, pointing to the same file, are considered different by Ninja.
+
 Variable expansion
 ~~~~~~~~~~~~~~~~~~
 
-- 
cgit v0.12

