github michaelforney/samurai 0.6
samurai 0.6

latest releases: 1.2, 1.1, 1.0...
5 years ago

New features

  • Now compatible with ninja 1.9.0 features.
    • dupbuild=err is now the default.
    • Nanosecond resolution timestamps in .ninja_deps (version 4) and .ninja_log.
    • --verbose is now a synonym for -v.
    • -j 0 is now handled by allowing unlimited jobs.

Performance

  • Use getc_unlocked in scanner, improving parse time considerably for huge inputs such as chromium.

Bug fixes

  • Paths in default lines weren't getting canonicalized, resulting in an error if the target was not in canonical form (for example, default $builddir/foo, where builddir = .).
  • 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.h to be simpler.
  • Updated tree.c implementation to new musl version (faster and smaller code).
  • Rewrote htab.c to be simpler and better tailored to our needs.
  • Simplified error handling a bit.

Don't miss a new samurai release

NewReleases is sending notifications on new releases.