On Fri Sep 04, 2020 at 07:12:51PM +0100, Ricardo wrote: > Hi Rafael, > > Tested OK on amd64.
Thanks but that is not the point here. We have to be sure that this ninja update is fine for the bulk(8)'s. > > Take care. > Ricardo > > On 9/3/20 6:10 AM, Rafael Sadowski wrote: > > Simple patch to update ninja to 1.10.1 but the main bugfix sounds > > interesting. Please take a look into the Changlog: > > > > https://groups.google.com/g/ninja-build/c/QQM54eAhrjU/m/q5zn_zTlAQAJ?pli=1 > > This link, sadly, requires login into one's Google account (which I > don't have). > Thanks, changelog from upstream: we'd like to release 1.10.1 from current master. 1.10.0 introduced the restat tool, which CMake 3.17 uses to update the timestamps in .ninja_log to avoid having to run some rules twice after regenerating. This didn't work on Windows though, as you can't write to a file which is opened for writing by another process there. To clarify what I mean imagine you have the following hierarchy: a.) ninja b.) -> regenerate by calling CMake c.) -> -> CMake calls ninja -t restat d.) ninja continues the build and rereads the build manifest Between a.) and d.) the outer ninja process would (unnecessarily) open .ninja_log, but not write anything to it yet. c.) would then fail on Windows. After https://github.com/ninja-build/ninja/pull/1780 ninja will now open .ninja_log on the first write - so during d.) - or if it has finished. In the future we could even avoid creating .ninja_log if it would be empty, but I didn't want to change too much of the behavior in a minor release (it would also require touching some unit tests). The other change is that the automatic build on GitHub Actions now builds binaries compatible with macOS 10.12 (previously they required 10.14 IIRC). For a complete list of changes see: https://github.com/ninja-build/ninja/compare/v1.10.0...00968321d6ace10b6798855cab7620dc6a5620fd Please test a build of the master branch with your projects and report any problems. Thanks!