mirror of
https://github.com/reactos/ninja.git
synced 2025-03-04 17:29:15 +00:00
Do not reset restat_mtime if an input is missing (issue #295)
This commit is contained in:
parent
8aebe7d32e
commit
ec228f1e44
@ -749,19 +749,13 @@ void Builder::FinishEdge(Edge* edge, bool success, const string& output) {
|
||||
for (vector<Node*>::iterator i = edge->inputs_.begin();
|
||||
i != edge->inputs_.end() - edge->order_only_deps_; ++i) {
|
||||
TimeStamp 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()) {
|
||||
TimeStamp depfile_mtime = disk_interface_->Stat(edge->EvaluateDepFile());
|
||||
if (depfile_mtime == 0)
|
||||
restat_mtime = 0;
|
||||
else if (depfile_mtime > restat_mtime)
|
||||
if (depfile_mtime > restat_mtime)
|
||||
restat_mtime = depfile_mtime;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user