On windows, SCons internally uses CHANGED_SOURCES in CCCOM and CXXCOM. In a situation where an object file already exists, this can expand to an empty list rather than the expected list of sources during ninja regeneration. This leads to unpleasant errors that look like this:
[1/3684] Compiling build\ninja\mongo\base\data_type_string_data.obj FAILED: build/ninja/mongo/base/data_type_string_data.obj cl @build\ninja\mongo\base\data_type_string_data.obj.rsp cl : Command line error D8003 : missing source filename
The CHANGED_SOURCES facility exists to do batch compilation with MSVC, something we don't do. The idea is also incompatible with the idea of a build system generator, since the status of changed vs unchanged sources (with respect to the underlying object files) shouldn't affect the generated build.