diff options
| author | Michael Forney <mforney@mforney.org> | 2019-11-17 14:48:05 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2019-11-17 15:24:25 -0800 |
| commit | f4720910b9b72bd1fe2aaa82cf6a38e226d5e149 (patch) | |
| tree | 773f1c9ea2fa5375243a4cb065c8345f0730a5cf /pkg/ncurses/gen.lua | |
| parent | 564557663b9c36612df603e36e4c7a679e82c51b (diff) | |
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] https://github.com/ninja-build/ninja/commit/04d886b11041bb59d01df794cce7a1e8cad2250d
[1] https://github.com/michaelforney/samurai/commit/799bc5a4719b90a1026c129b55b92c0bccf97eeb
Diffstat (limited to 'pkg/ncurses/gen.lua')
| -rw-r--r-- | pkg/ncurses/gen.lua | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/pkg/ncurses/gen.lua b/pkg/ncurses/gen.lua index 64a3c821..ddfdc58b 100644 --- a/pkg/ncurses/gen.lua +++ b/pkg/ncurses/gen.lua @@ -19,7 +19,7 @@ end) build('sed', '$outdir/curses.head', {'$srcdir/include/curses.h.in', '|', '$dir/subst.sed'}, { expr='-f $dir/subst.sed', }) -rule('mkkeydefs', '{ cat $outdir/curses.head && sh $srcdir/include/MKkey_defs.sh $in && cat $srcdir/include/curses.wide $srcdir/include/curses.tail; } >$out.tmp && mv $out.tmp $out') +rule('mkkeydefs', '{ cat $outdir/curses.head && sh $srcdir/include/MKkey_defs.sh $in && cat $srcdir/include/curses.wide $srcdir/include/curses.tail; } >$out') build('mkkeydefs', '$outdir/include/curses.h', {'$srcdir/include/Caps', '|', '$outdir/curses.head', '$srcdir/include/curses.wide', @@ -27,19 +27,19 @@ build('mkkeydefs', '$outdir/include/curses.h', {'$srcdir/include/Caps', '|', '$srcdir/include/MKkey_defs.sh', }) -rule('mkhashsize', 'sh $srcdir/include/MKhashsize.sh $in >$out.tmp && mv $out.tmp $out') +rule('mkhashsize', 'sh $srcdir/include/MKhashsize.sh $in >$out') build('mkhashsize', '$outdir/hashsize.h', {'$srcdir/include/Caps', '|', '$srcdir/include/MKhashsize.sh'}) -rule('mkkeyslist', 'sh $srcdir/ncurses/tinfo/MKkeys_list.sh $in | LC_ALL=C sort >$out.tmp && mv $out.tmp $out') +rule('mkkeyslist', 'sh $srcdir/ncurses/tinfo/MKkeys_list.sh $in | LC_ALL=C sort >$out') build('mkkeyslist', '$outdir/keys.list', {'$srcdir/include/Caps', '|', '$srcdir/ncurses/tinfo/MKkeys_list.sh'}) -rule('mkkeys', '$outdir/make_keys $in >$out.tmp && mv $out.tmp $out') +rule('mkkeys', '$outdir/make_keys $in >$out') build('mkkeys', '$outdir/init_keytry.h', {'$outdir/keys.list', '|', '$outdir/make_keys'}) -rule('mkdefs', 'sh $srcdir/include/MKncurses_def.sh $in >$out.tmp && mv $out.tmp $out') +rule('mkdefs', 'sh $srcdir/include/MKncurses_def.sh $in >$out') build('mkdefs', '$outdir/ncurses_def.h', {'$srcdir/include/ncurses_defs', '|', '$srcdir/include/MKncurses_def.sh'}) -rule('mkparam', '$srcdir/include/MKparametrized.sh $in >$out.tmp && mv $out.tmp $out') +rule('mkparam', '$srcdir/include/MKparametrized.sh $in >$out') build('mkparam', '$outdir/parametrized.h', {'$srcdir/include/Caps', '|', '$srcdir/include/MKparametrized.sh'}) build('sed', '$outdir/MKterm.h.awk', {'$srcdir/include/MKterm.h.awk.in', '|', '$dir/subst.sed'}, { @@ -52,21 +52,21 @@ for _, f in ipairs{'ncurses_dll.h', 'termcap.h', 'unctrl.h'} do }) end -rule('mkterm', 'awk -f $outdir/MKterm.h.awk $in >$out.tmp && mv $out.tmp $out') +rule('mkterm', 'awk -f $outdir/MKterm.h.awk $in >$out') build('mkterm', '$outdir/include/term.h', {'$srcdir/include/Caps', '|', '$outdir/MKterm.h.awk'}) build('awk', '$outdir/codes.c', {'$srcdir/include/Caps', '|', '$srcdir/ncurses/tinfo/MKcodes.awk'}, { expr='-f $srcdir/ncurses/tinfo/MKcodes.awk bigstrings=1', }) -rule('mkcaptab', '(cd $outdir && $$OLDPWD/$srcdir/ncurses/tinfo/MKcaptab.sh awk 1 $$OLDPWD/$srcdir/ncurses/tinfo/MKcaptab.awk $$OLDPWD/$in) >$out.tmp && mv $out.tmp $out') +rule('mkcaptab', '(cd $outdir && $$OLDPWD/$srcdir/ncurses/tinfo/MKcaptab.sh awk 1 $$OLDPWD/$srcdir/ncurses/tinfo/MKcaptab.awk $$OLDPWD/$in) >$out') build('mkcaptab', '$outdir/comp_captab.c', {'$srcdir/include/Caps', '|', '$outdir/make_hash', '$srcdir/tinfo/MKcaptab.awk', '$srcdir/tinfo/MKcaptab.sh', }) -rule('mkfallback', 'sh $srcdir/ncurses/tinfo/MKfallback.sh /dev/null /dev/null /dev/null >$out.tmp && mv $out.tmp $out') +rule('mkfallback', 'sh $srcdir/ncurses/tinfo/MKfallback.sh /dev/null /dev/null /dev/null >$out') build('mkfallback', '$outdir/fallback.c', {'|', '$srcdir/ncurses/tinfo/MKfallback.sh'}) build('awk', '$outdir/lib_keyname.c', '$outdir/keys.list', { @@ -77,7 +77,7 @@ build('awk', '$outdir/names.c', {'$srcdir/include/Caps', '|', '$srcdir/ncurses/t expr='-f $srcdir/ncurses/tinfo/MKnames.awk bigstrings=1', }) -rule('mktermsort', 'sh $srcdir/progs/MKtermsort.sh awk $in >$out.tmp && mv $out.tmp $out') +rule('mktermsort', 'sh $srcdir/progs/MKtermsort.sh awk $in >$out') build('mktermsort', '$outdir/termsort.c', {'$srcdir/include/Caps', '|', '$srcdir/progs/MKtermsort.sh'}) build('awk', '$outdir/unctrl.c', {'/dev/null', '|', '$srcdir/ncurses/base/MKunctrl.awk'}, { |
