New
samurai 0.6
New features
- Now compatible with ninja 1.9.0 features.
dupbuild=erris now the default.- Nanosecond resolution timestamps in
.ninja_deps(version 4) and.ninja_log. --verboseis now a synonym for-v.-j 0is now handled by allowing unlimited jobs.
Performance
- Use
getc_unlockedin scanner, improving parse time considerably for huge inputs such as chromium.
Bug fixes
- Paths in
defaultlines weren't getting canonicalized, resulting in an error if the target was not in canonical form (for example,default $builddir/foo, wherebuilddir = .). - Escaped newlines weren't getting handled correctly when they appeared in between non-path tokens.
- Lookup variables in rule before parent environment, as documented in the ninja manual (ninja's actual behavior depends on whether an edge has any bindings).
Cleanups
- Rewrote
arg.hto be simpler. - Updated
tree.cimplementation to new musl version (faster and smaller code). - Rewrote
htab.cto be simpler and better tailored to our needs. - Simplified error handling a bit.