aboutsummaryrefslogtreecommitdiff
path: root/eval.h
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-04-27 17:26:21 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-04-27 17:26:21 +0900
commit2941ea07651737a6151b19db45c010d2083dfa1d (patch)
tree7ddf455eb757a3eef2912097ef0f806b9d2de52f /eval.h
parent03fa34583ab79e9b0382c6c61104227c7d165970 (diff)
downloadkati-2941ea07651737a6151b19db45c010d2083dfa1d.tar.gz
[C++] Handle .POSIX at eval time
.POSIX pseudo target should change the behavior of $(shell). This also implements .POSIX for ckati's non-ninja mode.
Diffstat (limited to 'eval.h')
-rw-r--r--eval.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/eval.h b/eval.h
index 3eede2b..3f32d5c 100644
--- a/eval.h
+++ b/eval.h
@@ -89,6 +89,10 @@ class Evaluator {
eval_depth_--;
}
+ string GetShell();
+ string GetShellFlag();
+ string GetShellAndFlag();
+
private:
Var* EvalRHS(Symbol lhs, Value* rhs, StringPiece orig_rhs, AssignOp op,
bool is_override = false);
@@ -115,6 +119,9 @@ class Evaluator {
// error).
vector<string> delayed_output_commands_;
+ Symbol posix_sym_;
+ bool is_posix_;
+
static unordered_set<Symbol> used_undefined_vars_;
};