diff options
Diffstat (limited to 'src/build.cc')
-rw-r--r-- | src/build.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/build.cc b/src/build.cc index ab2460a..45d3f32 100644 --- a/src/build.cc +++ b/src/build.cc @@ -871,9 +871,17 @@ bool Builder::ExtractDeps(CommandRunner::Result* result, return false; } - string content = disk_interface_->ReadFile(depfile, err); - if (!err->empty()) + // Read depfile content. Treat a missing depfile as empty. + string content; + switch (disk_interface_->ReadFile(depfile, &content, err)) { + case DiskInterface::Okay: + break; + case DiskInterface::NotFound: + err->clear(); + break; + case DiskInterface::OtherError: return false; + } if (content.empty()) return true; |