diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/disk_interface.h | 2 | ||||
-rw-r--r-- | src/ninja.cc | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/disk_interface.h b/src/disk_interface.h index d368c38..bffb679 100644 --- a/src/disk_interface.h +++ b/src/disk_interface.h @@ -66,12 +66,14 @@ struct RealDiskInterface : public DiskInterface { /// Whether to print on errors. Used to make a test quieter. bool quiet_; +#ifdef _WIN32 /// Whether stat information can be cached. bool use_cache_; typedef map<string, TimeStamp> DirCache; typedef map<string, DirCache*> Cache; Cache cache_; +#endif }; #endif // NINJA_DISK_INTERFACE_H_ diff --git a/src/ninja.cc b/src/ninja.cc index acb793e..ccfc14d 100644 --- a/src/ninja.cc +++ b/src/ninja.cc @@ -889,8 +889,10 @@ int NinjaMain::RunBuild(int argc, char** argv) { return 1; } +#ifdef _WIN32 if (g_experimental_win_statcache) disk_interface_.use_cache_ = true; +#endif Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_); for (size_t i = 0; i < targets.size(); ++i) { @@ -905,8 +907,10 @@ int NinjaMain::RunBuild(int argc, char** argv) { } } +#ifdef _WIN32 // Make sure restat rules do not see stale timestamps. disk_interface_.use_cache_ = false; +#endif if (builder.AlreadyUpToDate()) { printf("ninja: no work to do.\n"); |