Detect depfiles only when --detect_depfiles is specified
This makes generation time ~5% faster.
diff --git a/flags.cc b/flags.cc
index 7623499..7a995a5 100644
--- a/flags.cc
+++ b/flags.cc
@@ -82,6 +82,8 @@
dump_kati_stamp = true;
} else if (!strcmp(arg, "--detect_android_echo")) {
detect_android_echo = true;
+ } else if (!strcmp(arg, "--detect_depfiles")) {
+ detect_depfiles = true;
} else if (ParseCommandLineOptionWithArg(
"-j", argv, &i, &num_jobs_str)) {
num_jobs = strtol(num_jobs_str, NULL, 10);
diff --git a/flags.h b/flags.h
index 905d5ee..910acbf 100644
--- a/flags.h
+++ b/flags.h
@@ -25,6 +25,7 @@
struct Flags {
bool detect_android_echo;
+ bool detect_depfiles;
bool dump_kati_stamp;
bool enable_kati_warnings;
bool enable_stat_logs;
diff --git a/m2n b/m2n
index b6798b8..3fd6661 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 --ignore_dirty=out/% --use_find_emulator --detect_android_echo --gen_all_targets ${goma_flag} ${extra_flags} ${targets}
+${kati} --ninja ${ninja_suffix_flag} --ignore_optional_include=out/%.P --ignore_dirty=out/% --use_find_emulator --detect_android_echo --detect_depfiles --gen_all_targets ${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/ninja.cc b/ninja.cc
index 4a5d014..6b1a778 100644
--- a/ninja.cc
+++ b/ninja.cc
@@ -474,6 +474,8 @@
node->depfile_var->Eval(ev_, depfile);
return true;
}
+ if (!g_flags.detect_depfiles)
+ return false;
*cmd_buf += ' ';
bool result = GetDepfileFromCommand(cmd_buf, depfile);