summaryrefslogtreecommitdiffstats
path: root/src/ninja.cc
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2016-11-16 18:05:17 (GMT)
committerColin Cross <ccross@android.com>2020-12-18 20:38:25 (GMT)
commitdede9ac780ca63d2e479e8a94096aa67ea668a83 (patch)
tree4df228efdf3a205da88a73812bce6f11296c8e47 /src/ninja.cc
parent68f971460bb21abd59dfe6253e35a55c3e1cfc64 (diff)
downloadNinja-dede9ac780ca63d2e479e8a94096aa67ea668a83.zip
Ninja-dede9ac780ca63d2e479e8a94096aa67ea668a83.tar.gz
Ninja-dede9ac780ca63d2e479e8a94096aa67ea668a83.tar.bz2
Move edge time from Status to Builder
The times that end up in the build log currently originate in the status printer, and are propagated back out to the Builder. Move the edge times into the Builder instead, and move the overall start time into NinjaMain so it doesn't get reset during manifest rebuilds.
Diffstat (limited to 'src/ninja.cc')
-rw-r--r--src/ninja.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ninja.cc b/src/ninja.cc
index eb97320..57690be 100644
--- a/src/ninja.cc
+++ b/src/ninja.cc
@@ -82,7 +82,8 @@ struct Options {
/// to poke into these, so store them as fields on an object.
struct NinjaMain : public BuildLogUser {
NinjaMain(const char* ninja_command, const BuildConfig& config) :
- ninja_command_(ninja_command), config_(config) {}
+ ninja_command_(ninja_command), config_(config),
+ start_time_millis_(GetTimeMillis()) {}
/// Command line used to run Ninja.
const char* ninja_command_;
@@ -172,6 +173,8 @@ struct NinjaMain : public BuildLogUser {
Error("%s", err.c_str()); // Log and ignore Stat() errors.
return mtime == 0;
}
+
+ int64_t start_time_millis_;
};
/// Subtools, accessible via "-t foo".
@@ -249,7 +252,8 @@ bool NinjaMain::RebuildManifest(const char* input_file, string* err) {
if (!node)
return false;
- Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_);
+ Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_,
+ start_time_millis_);
if (!builder.AddTarget(node, err))
return false;
@@ -1199,7 +1203,8 @@ int NinjaMain::RunBuild(int argc, char** argv) {
disk_interface_.AllowStatCache(g_experimental_statcache);
- Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_);
+ Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_,
+ start_time_millis_);
for (size_t i = 0; i < targets.size(); ++i) {
if (!builder.AddTarget(targets[i], &err)) {
if (!err.empty()) {