summaryrefslogtreecommitdiffstats
path: root/doc/manual.asciidoc
diff options
context:
space:
mode:
authorunknown <petr@meloun.(none)>2012-02-09 21:23:35 (GMT)
committerunknown <petr@meloun.(none)>2012-02-09 21:23:35 (GMT)
commitaf070e520806987bd3b175bf222774de923b62dd (patch)
tree0eff2859034dd46b6cbd8bd93fed41b8824e642e /doc/manual.asciidoc
parent7504ab4e5dbb153979333c67a8a43448040b718d (diff)
downloadNinja-af070e520806987bd3b175bf222774de923b62dd.zip
Ninja-af070e520806987bd3b175bf222774de923b62dd.tar.gz
Ninja-af070e520806987bd3b175bf222774de923b62dd.tar.bz2
Response files
Diffstat (limited to 'doc/manual.asciidoc')
-rw-r--r--doc/manual.asciidoc20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc
index 3291095..0387c97 100644
--- a/doc/manual.asciidoc
+++ b/doc/manual.asciidoc
@@ -498,6 +498,26 @@ aborting due to a missing input.
This may cause the output's reverse dependencies to be removed from the
list of pending build actions.
+`rspfile`
+`rspfile_content`:: if present (both), Ninja will use a 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.
++
+This is particularly useful on Windows OS, where the maximal length of
+a command line is limited and response files must be used instead.
++
+Use it like in the following example:
++
+----
+rule link
+ command = link.exe /OUT$out [usual link flags here] @$out.rsp
+ rspfile = $out.rsp
+ rspfile_content = $in
+
+build myapp.exe: link a.obj b.obj [possibly many other .obj files]
+----
+
Additionally, the special `$in` and `$out` variables expand to the
space-separated list of files provided to the `build` line referencing
this `rule`.