5 Commits

Author SHA1 Message Date
Michael Forney
02659ab48c sbase: Add dd(1) 2020-04-28 23:21:09 -07:00
Michael Forney
bf839c5260 Use mknod(1) from sbase 2020-03-01 20:48:09 -08:00
Michael Forney
3ff8532c91 Use -Wpedantic over -pedantic 2020-02-20 20:15:50 -08:00
Michael Forney
f4720910b9 Update ninja requirement to 1.8.0 and don't bother with atomic outputs
Since ninja 1.8.0[0] and samurai 0.2[1], output mtime is always
recorded after a job succeeds, and outputs are considered dirty if
the recorded mtime is older than any input. This means that even
if a command partially writes its output then fails (for example,
if run with stdout redirected to a file), it will still get re-run
during the next build.

This means that outputs no longer have to be written atomically
(i.e. renamed into place) in order to ensure a correct build, and
we can drop the idiom `command >$out.tmp && mv $out.tmp $out`.

[0] 04d886b110
[1] 799bc5a471
2019-11-17 15:24:25 -08:00
Michael Forney
ba94a8513d Rewrite ninja generation scripts in Lua 2017-09-25 19:23:06 -07:00