I hadn't synced in a long time, hit a landmine, and got clobbered. The build.ninja files were replaced along these lines:
rule gn
command = gn -q gen //out/Release-iphoneos/
description = Regenerating ninja files
build build.ninja: gn
generator = 1
depfile = build.ninja.d
After that, everything fails with:
ninja: error: build.ninja:2: expected 'command =' line
That's really confusing. I think the rule should indented:
rule gn
command = gn -q gen //out/Release-iphoneos/
description = Regenerating ninja files
https://cs.corp.google.com/clankium/src/build/clobber.py?q=gn%5C+-q%5C+gen%5C+//out&sq=case:yes&dr=C&l=92