diff options
author | Evan Martin <martine@danga.com> | 2012-09-04 22:39:04 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-09-04 22:39:04 (GMT) |
commit | 1e11c8a6bd119025efd8725370ffa42354f92f88 (patch) | |
tree | 53adfbd3d97d14a84bc9e0657e85569d0d547a11 /src/build.cc | |
parent | 703dcffd6d2e4b64411eb44d3025093abfd1d737 (diff) | |
download | Ninja-1e11c8a6bd119025efd8725370ffa42354f92f88.zip Ninja-1e11c8a6bd119025efd8725370ffa42354f92f88.tar.gz Ninja-1e11c8a6bd119025efd8725370ffa42354f92f88.tar.bz2 |
move BuildLog to DependencyScan
The build log is needed in computing whether an edge is
dirty, so I think it belongs here. (It's a bit weird
that Builder needs to reach into it to record completed
commands, maybe it will become cleaner with more thought.)
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/build.cc b/src/build.cc index 4102209..efc05b0 100644 --- a/src/build.cc +++ b/src/build.cc @@ -554,11 +554,10 @@ struct DryRunCommandRunner : public CommandRunner { }; Builder::Builder(State* state, const BuildConfig& config, - DiskInterface* disk_interface) + BuildLog* log, DiskInterface* disk_interface) : state_(state), config_(config), disk_interface_(disk_interface), - scan_(state, disk_interface) { + scan_(state, log, disk_interface) { status_ = new BuildStatus(config); - log_ = state->build_log_; } Builder::~Builder() { @@ -797,7 +796,7 @@ void Builder::FinishEdge(Edge* edge, bool success, const string& output) { int start_time, end_time; status_->BuildEdgeFinished(edge, success, output, &start_time, &end_time); - if (success && log_) - log_->RecordCommand(edge, start_time, end_time, restat_mtime); + if (success && scan_.build_log()) + scan_.build_log()->RecordCommand(edge, start_time, end_time, restat_mtime); } |