
Untitled
By: a guest on
Jun 17th, 2012 | syntax:
None | size: 1.41 KB | hits: 12 | expires: Never
diff -u -r -P ./patched/src/build.cc ./patched/src/build.cc
--- ./mainline/src/build.cc 2011-12-01 11:25:25.000000000 +0000
+++ ./patched/src/build.cc 2011-12-01 11:24:17.000000000 +0000
@@ -32,6 +32,7 @@
#include "state.h"
#include "subprocess.h"
#include "util.h"
+#include <time.h>
/// Tracks the status of a build: completion fraction, printing updates.
struct BuildStatus {
@@ -614,26 +615,7 @@
}
if (node_cleaned) {
- // If any output was cleaned, find the most recent mtime of any
- // (existing) non-order-only input or the depfile.
- for (vector<Node*>::iterator i = edge->inputs_.begin();
- i != edge->inputs_.end() - edge->order_only_deps_; ++i) {
- time_t input_mtime = disk_interface_->Stat((*i)->path());
- if (input_mtime == 0) {
- restat_mtime = 0;
- break;
- }
- if (input_mtime > restat_mtime)
- restat_mtime = input_mtime;
- }
-
- if (restat_mtime != 0 && !edge->rule().depfile().empty()) {
- time_t depfile_mtime = disk_interface_->Stat(edge->EvaluateDepFile());
- if (depfile_mtime == 0)
- restat_mtime = 0;
- else if (depfile_mtime > restat_mtime)
- restat_mtime = depfile_mtime;
- }
+ restat_mtime = time(NULL);
// The total number of edges in the plan may have changed as a result
// of a restat.