summaryrefslogtreecommitdiffstats
path: root/src/build.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-01-28 09:16:07 (GMT)
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-01-28 09:22:12 (GMT)
commit24750de7d7ec1a74830410ffdb53ca1f22efdc26 (patch)
tree0b9c466f4ebdfa7dc6863cb88d9337e3a6897b3a /src/build.cc
parent233acbad4dea6410b567f077ecc8699525a46683 (diff)
downloadNinja-24750de7d7ec1a74830410ffdb53ca1f22efdc26.zip
Ninja-24750de7d7ec1a74830410ffdb53ca1f22efdc26.tar.gz
Ninja-24750de7d7ec1a74830410ffdb53ca1f22efdc26.tar.bz2
Add -d keepdepfile to preserve depfiles
This is useful when you are developing a tool which generates GCC-style depfiles.
Diffstat (limited to 'src/build.cc')
-rw-r--r--src/build.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/build.cc b/src/build.cc
index 0e9a399..ab2460a 100644
--- a/src/build.cc
+++ b/src/build.cc
@@ -892,9 +892,11 @@ bool Builder::ExtractDeps(CommandRunner::Result* result,
deps_nodes->push_back(state_->GetNode(*i, slash_bits));
}
- if (disk_interface_->RemoveFile(depfile) < 0) {
- *err = string("deleting depfile: ") + strerror(errno) + string("\n");
- return false;
+ if (!g_keep_depfile) {
+ if (disk_interface_->RemoveFile(depfile) < 0) {
+ *err = string("deleting depfile: ") + strerror(errno) + string("\n");
+ return false;
+ }
}
} else {
Fatal("unknown deps type '%s'", deps_type.c_str());