Introduce --detect_android_echo flag
So the description detection will not make ninja based testing
even harder.
diff --git a/flags.cc b/flags.cc
index b0dd4df..024b607 100644
--- a/flags.cc
+++ b/flags.cc
@@ -21,3 +21,4 @@
const char* g_ignore_optional_include_pattern;
const char* g_goma_dir;
int g_num_jobs;
+bool g_detect_android_echo;
diff --git a/flags.h b/flags.h
index 3cdbfea..786791a 100644
--- a/flags.h
+++ b/flags.h
@@ -20,5 +20,6 @@
extern const char* g_ignore_optional_include_pattern;
extern const char* g_goma_dir;
extern int g_num_jobs;
+extern bool g_detect_android_echo;
#endif // FLAGS_H_
diff --git a/m2n b/m2n
index c5cd55b..19b943b 100755
--- a/m2n
+++ b/m2n
@@ -114,7 +114,7 @@
ninja_suffix_flag=--ninja_suffix=${ninja_suffix}
fi
-${kati} --ninja ${ninja_suffix_flag} --ignore_optional_include=out/%.P --use_find_emulator ${goma_flag} ${extra_flags} ${targets}
+${kati} --ninja ${ninja_suffix_flag} --ignore_optional_include=out/%.P --use_find_emulator --detect_android_echo ${goma_flag} ${extra_flags} ${targets}
echo
echo ninja${ninja_suffix}.sh and build${ninja_suffix}.ninja were generated, please run ./ninja${ninja_suffix}.sh
diff --git a/main.cc b/main.cc
index 25589a4..68c0ed9 100644
--- a/main.cc
+++ b/main.cc
@@ -90,6 +90,8 @@
g_enable_stat_logs = true;
} else if (!strcmp(arg, "--ninja")) {
g_generate_ninja = true;
+ } else if (!strcmp(arg, "--detect_android_echo")) {
+ g_detect_android_echo = true;
} else if (ParseCommandLineOptionWithArg(
"-j", argv, &i, &num_jobs_str)) {
g_num_jobs = strtol(num_jobs_str, NULL, 10);
diff --git a/ninja.cc b/ninja.cc
index 08c6a71..b6b45d5 100644
--- a/ninja.cc
+++ b/ninja.cc
@@ -394,7 +394,8 @@
fprintf(fp_, "rule %s\n", rule_name.c_str());
string description = "build $out";
- if (GetDescriptionFromCommand(*(commands[0]->cmd), &description)) {
+ if (g_detect_android_echo &&
+ GetDescriptionFromCommand(*(commands[0]->cmd), &description)) {
commands[0]->cmd->assign("true");
}
fprintf(fp_, " description = %s\n", description.c_str());