summaryrefslogtreecommitdiffstats
path: root/doc/manual.asciidoc
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2014-05-21 22:07:47 (GMT)
committerNico Weber <thakis@chromium.org>2014-05-21 22:18:01 (GMT)
commitbc239cca4f3f0757ba34d0306fbc2a2b75d067a2 (patch)
treee01abd5130c1e0f7ecca0dc0f0a24e8b9113dc0f /doc/manual.asciidoc
parent7103c32646df958b0287c65b1c660bf528a191d6 (diff)
downloadNinja-bc239cca4f3f0757ba34d0306fbc2a2b75d067a2.zip
Ninja-bc239cca4f3f0757ba34d0306fbc2a2b75d067a2.tar.gz
Ninja-bc239cca4f3f0757ba34d0306fbc2a2b75d067a2.tar.bz2
Make "depfile=$out.d" work if $out contains escaped characters, rspfile too.
Fixes #730. This has always been broken, but due to #690 more paths are now escaped (e.g. paths containing + characters, like file.c++). Also see discussion in #689. The approach is to give EdgeEnv an enum deciding on whether or not to escape file names, and provide functions that evaluate depfile and rspfile with that set that to kNoEscape. (depfile=$out.d doesn't make sense on edges with multiple outputs.) This should be relatively safe, as $in and $out can't be used on edges, only on rules (#687).
Diffstat (limited to 'doc/manual.asciidoc')
-rw-r--r--doc/manual.asciidoc6
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index 18760dd..aea1784 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -783,7 +783,8 @@ keys.
`depfile`:: path to an optional `Makefile` that contains extra
_implicit dependencies_ (see <<ref_dependencies,the reference on
dependency types>>). This is explicitly to support C/C++ header
- dependencies; see <<ref_headers,the full discussion>>.
+ dependencies; see <<ref_headers,the full discussion>>. `out`, `in`, and
+ `in_newline` are not shell-quoted when used to set `depfile`.
`deps`:: _(Available since Ninja 1.3.)_ if present, must be one of
`gcc` or `msvc` to specify special dependency processing. See
@@ -830,7 +831,8 @@ keys.
response file for the given command, i.e. write the selected string
(`rspfile_content`) to the given file (`rspfile`) before calling the
command and delete the file after successful execution of the
- command.
+ command. `out`, `in`, and `in_newline` are not shell-quoted when used to set
+ `rspfile`.
+
This is particularly useful on Windows OS, where the maximal length of
a command line is limited and response files must be used instead.