summaryrefslogtreecommitdiffstats
path: root/src/ninja.cc
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2015-12-09 22:18:18 (GMT)
committerNicolas Despres <nicolas.despres@gmail.com>2015-12-09 22:18:18 (GMT)
commit956876408a64135d8448f2f55fc9213003edb40e (patch)
tree8c24f4125059defdf40a9b5af0f6b999f71269aa /src/ninja.cc
parent2eb1cc9329d2e8c7d80ce01c5af044e383e1e50e (diff)
downloadNinja-956876408a64135d8448f2f55fc9213003edb40e.zip
Ninja-956876408a64135d8448f2f55fc9213003edb40e.tar.gz
Ninja-956876408a64135d8448f2f55fc9213003edb40e.tar.bz2
Do not attempt to rebuild infinitely in dry-run mode.
Diffstat (limited to 'src/ninja.cc')
-rw-r--r--src/ninja.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ninja.cc b/src/ninja.cc
index 21dede6..a73f83c 100644
--- a/src/ninja.cc
+++ b/src/ninja.cc
@@ -1135,6 +1135,10 @@ int real_main(int argc, char** argv) {
// Attempt to rebuild the manifest before building anything else
if (ninja.RebuildManifest(options.input_file, &err)) {
+ // In dry_run mode the regeneration will succeed without changing the
+ // manifest forever. Better to return immediately.
+ if (config.dry_run)
+ return 0;
// Start the build over with the new manifest.
continue;
} else if (!err.empty()) {