summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFredrik Medley <fredrik.medley@gmail.com>2015-09-03 21:27:19 +0200
committerFredrik Medley <fredrik.medley@gmail.com>2015-09-03 21:45:42 +0200
commit3f5b682bfd1f13c55a1eb6b783cbd3c61f664a7b (patch)
tree6cef91bf274915f779d56c40893503c944efe718
parent2810ffb2b5ff92b38396cc711775801abb3ce634 (diff)
downloadninja-3f5b682bfd1f13c55a1eb6b783cbd3c61f664a7b.tar.gz
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>
-rw-r--r--doc/manual.asciidoc8
1 files changed, 8 insertions, 0 deletions
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
~~~~~~~~~~~~~~~~~~