aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2020-01-08 17:03:38 -0800
committerDan Willemsen <dwillemsen@google.com>2020-01-08 17:03:38 -0800
commit831dcffa2be201e2158c1851d9a9ad7abd6293ce (patch)
tree4a2fa097a21a27d70989fd5d9d1621befaa33bf1
parent32c653b31bd1a6ce54ebbb1b73ce03bde6c92246 (diff)
parentae17ffdcf3da3c6743bf8d75be626c02c4ed0414 (diff)
downloadplatform_build_kati-831dcffa2be201e2158c1851d9a9ad7abd6293ce.tar.gz
platform_build_kati-831dcffa2be201e2158c1851d9a9ad7abd6293ce.tar.bz2
platform_build_kati-831dcffa2be201e2158c1851d9a9ad7abd6293ce.zip
Merge remote-tracking branch 'aosp/upstream' into master
* aosp/upstream: Implement "phony_output" feature in ninja Test: treehugger Change-Id: Ia22358ec998b1ab2a808038dafb9827d5dd09d2d
-rw-r--r--flags.cc2
-rw-r--r--flags.h1
-rw-r--r--ninja.cc9
3 files changed, 10 insertions, 2 deletions
diff --git a/flags.cc b/flags.cc
index ab84269..148d59a 100644
--- a/flags.cc
+++ b/flags.cc
@@ -106,6 +106,8 @@ void Flags::Parse(int argc, char** argv) {
no_builtin_rules = true;
} else if (!strcmp(arg, "--no_ninja_prelude")) {
no_ninja_prelude = true;
+ } else if (!strcmp(arg, "--use_ninja_phony_output")) {
+ use_ninja_phony_output = true;
} else if (!strcmp(arg, "--werror_find_emulator")) {
werror_find_emulator = true;
} else if (!strcmp(arg, "--werror_overriding_commands")) {
diff --git a/flags.h b/flags.h
index 1791a55..ee16c4f 100644
--- a/flags.h
+++ b/flags.h
@@ -43,6 +43,7 @@ struct Flags {
bool color_warnings;
bool no_builtin_rules;
bool no_ninja_prelude;
+ bool use_ninja_phony_output;
bool werror_find_emulator;
bool werror_overriding_commands;
bool warn_implicit_rules;
diff --git a/ninja.cc b/ninja.cc
index c11bc56..1a8332e 100644
--- a/ninja.cc
+++ b/ninja.cc
@@ -557,7 +557,7 @@ class NinjaGenerator {
}
*o << ": " << rule_name;
vector<Symbol> order_onlys;
- if (node->is_phony) {
+ if (node->is_phony && !g_flags.use_ninja_phony_output) {
*o << " _kati_always_build_";
}
for (auto const& d : node->deps) {
@@ -585,6 +585,9 @@ class NinjaGenerator {
} else if (use_local_pool) {
*o << " pool = local_pool\n";
}
+ if (node->is_phony && g_flags.use_ninja_phony_output) {
+ *o << " phony_output = true\n";
+ }
if (node->is_default_target) {
unique_lock<mutex> lock(mu_);
default_target_ = node;
@@ -618,7 +621,9 @@ class NinjaGenerator {
fprintf(fp_, "pool local_pool\n");
fprintf(fp_, " depth = %d\n\n", g_flags.num_jobs);
- fprintf(fp_, "build _kati_always_build_: phony\n\n");
+ if (!g_flags.use_ninja_phony_output) {
+ fprintf(fp_, "build _kati_always_build_: phony\n\n");
+ }
}
unique_ptr<ThreadPool> tp(NewThreadPool(g_flags.num_jobs));