summaryrefslogtreecommitdiffstats
path: root/src/graph.h
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-02-23 00:19:39 (GMT)
committerEvan Martin <martine@danga.com>2012-02-23 00:19:39 (GMT)
commit18af8109589bee938e076670487a024a209a82cd (patch)
tree17f2427f55a0414252de8b3284c7c2f8bb1f56c6 /src/graph.h
parent9e120ac09db575d4223e2554f2f9d392daa1defe (diff)
parent2372bdd9121662b6aea73f78fd0a4cf1bbc5d135 (diff)
downloadNinja-18af8109589bee938e076670487a024a209a82cd.zip
Ninja-18af8109589bee938e076670487a024a209a82cd.tar.gz
Ninja-18af8109589bee938e076670487a024a209a82cd.tar.bz2
Merge pull request #217 from PetrWolf/master
Response files
Diffstat (limited to 'src/graph.h')
-rw-r--r--src/graph.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/graph.h b/src/graph.h
index c83d790..b66316d 100644
--- a/src/graph.h
+++ b/src/graph.h
@@ -121,6 +121,8 @@ struct Rule {
EvalString command_;
EvalString description_;
EvalString depfile_;
+ EvalString rspfile_;
+ EvalString rspfile_content_;
};
struct BuildLog;
@@ -146,9 +148,22 @@ struct Edge {
/// Return true if all inputs' in-edges are ready.
bool AllInputsReady() const;
- string EvaluateCommand(); // XXX move to env, take env ptr
+ /// Expand all variables in a command and return it as a string.
+ /// If incl_rsp_file is enabled, the string will also contain the
+ /// full contents of a response file (if applicable)
+ string EvaluateCommand(bool incl_rsp_file = false); // XXX move to env, take env ptr
string EvaluateDepFile();
string GetDescription();
+
+ /// Does the edge use a response file?
+ bool HasRspFile();
+
+ /// Get the path to the response file
+ string GetRspFile();
+
+ /// Get the contents of the response file
+ string GetRspFileContent();
+
bool LoadDepFile(State* state, DiskInterface* disk_interface, string* err);
void Dump();