diff options
| author | Dan Willemsen <dwillemsen@google.com> | 2016-11-04 16:57:57 -0700 |
|---|---|---|
| committer | Dan Willemsen <dwillemsen@google.com> | 2016-11-05 13:05:48 -0700 |
| commit | 2f75ffadfbd550b2efd68816c33918c86554ed4b (patch) | |
| tree | 6fe8fea02b2d7fc96bdb0be256ce767ce471ef50 /dep.cc | |
| parent | 69fed2db6db59584db323400580fa0aadd7e4609 (diff) | |
Allow rules to specify custom ninja pools
Setting .KATI_NINJA_POOL as a rule variable will set the corresponding
pool variable in the ninja file.
There's no way to define custom pools in Kati, Android is planning on
scaling the pool depth in a parent ninja file without re-running Kati.
Diffstat (limited to 'dep.cc')
| -rw-r--r-- | dep.cc | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -231,6 +231,7 @@ DepNode::DepNode(Symbol o, bool p, bool r) is_restat(r), rule_vars(NULL), depfile_var(NULL), + ninja_pool_var(NULL), output_pattern(Symbol::IsUninitialized()) { g_dep_node_pool->push_back(this); } @@ -244,7 +245,8 @@ class DepBuilder { rule_vars_(rule_vars), implicit_rules_(new RuleTrie()), first_rule_(Symbol::IsUninitialized{}), - depfile_var_name_(Intern(".KATI_DEPFILE")) { + depfile_var_name_(Intern(".KATI_DEPFILE")), + ninja_pool_var_name_(Intern(".KATI_NINJA_POOL")) { ScopedTimeReporter tr("make dep (populate)"); PopulateRules(rules); // TODO? @@ -607,6 +609,8 @@ class DepBuilder { if (name == depfile_var_name_) { n->depfile_var = new_var; + } else if (name == ninja_pool_var_name_) { + n->ninja_pool_var = new_var; } else { sv.emplace_back(new ScopedVar(cur_rule_vars_.get(), name, new_var)); } @@ -651,6 +655,7 @@ class DepBuilder { unordered_set<Symbol> phony_; unordered_set<Symbol> restat_; Symbol depfile_var_name_; + Symbol ninja_pool_var_name_; }; void MakeDep(Evaluator* ev, |
