summaryrefslogtreecommitdiff
path: root/pkg/ncurses/gen.rc
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-12-11 16:04:20 -0800
committerMichael Forney <mforney@mforney.org>2016-12-13 23:10:30 -0800
commit293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch)
tree6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/ncurses/gen.rc
parent9a506a6834df01a26795cea222b410f206efa9fa (diff)
Move to flat package hierarchy
Note to self: never try to move submodules again To migrate your existing submodules (more or less): set -x set -e mkdir .git/modules/pkg for old in */*/src ; do new="pkg/${old#*/}" if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then continue fi git -C ".git/modules/$old" config core.worktree "../../../../../$new" rmdir "$new" mv "$old" "$new" sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp" mv "$new/.git.tmp" "$new/.git" mkdir ".git/modules/${new%/src}" mv ".git/modules/$old" ".git/modules/$new" rm "${old%/src}"/*.ninja mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/" rmdir "${old%/src}" || true done sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/ncurses/gen.rc')
-rw-r--r--pkg/ncurses/gen.rc128
1 files changed, 128 insertions, 0 deletions
diff --git a/pkg/ncurses/gen.rc b/pkg/ncurses/gen.rc
new file mode 100644
index 00000000..f8e7dea6
--- /dev/null
+++ b/pkg/ncurses/gen.rc
@@ -0,0 +1,128 @@
+set common_cflags\
+ -D NDEBUG\
+ -I include\
+ -I '$dir' \
+ -I '$outdir' \
+ -I '$outdir'/include\
+ -I '$srcdir'/include\
+ -I '$srcdir'/ncurses\
+ -I '$srcdir'/progs
+cflags '$common_cflags'
+
+{
+ include 'toolchain/$host_toolchain.ninja'
+ cflags '$common_cflags' -D USE_BUILD_CC
+ exe make_keys -d '$outdir/names.c $outdir/include/curses.h $outdir/include/ncurses_dll.h' ncurses/tinfo/make_keys.c
+ exe make_hash -d '$outdir/hashsize.h $outdir/include/curses.h' ncurses/tinfo/make_hash.c
+} >tools.ninja ; subninja tools.ninja
+
+build '$outdir'/curses.head sed '$srcdir'/include/curses.h.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+rule mkkeydefs '{ cat $outdir/curses.head && sh $srcdir/include/MKkey_defs.sh $in && cat $srcdir/include/curses.{wide,tail}; } >$out.tmp && mv $out.tmp $out'
+build '$outdir'/include/curses.h mkkeydefs '$srcdir'/include/Caps '|' '$outdir'/curses.head '$srcdir'/include/^(curses.^(wide tail) MKkey_defs.sh)
+
+rule mkhashsize 'sh $srcdir/include/MKhashsize.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/hashsize.h mkhashsize '$srcdir'/include/Caps '|' '$srcdir'/include/MKhashsize.sh
+
+rule mkkeyslist 'sh $srcdir/ncurses/tinfo/MKkeys_list.sh $in | sort >$out.tmp && mv $out.tmp $out'
+build '$outdir'/keys.list mkkeyslist '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKkeys_list.sh
+
+rule mkkeys '$outdir/make_keys $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/init_keytry.h mkkeys '$outdir'/keys.list '|' '$outdir'/make_keys
+
+rule mkdefs 'sh $srcdir/include/MKncurses_def.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/ncurses_def.h mkdefs '$srcdir'/include/ncurses_defs '|' '$srcdir'/include/MKncurses_def.sh
+
+build '$outdir'/include/ncurses_dll.h sed '$srcdir'/include/ncurses_dll.h.in ; with\
+ expr s,@NCURSES_WRAP_PREFIX@,_nc_,
+
+rule mkparam '$srcdir/include/MKparametrized.sh $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/parametrized.h mkparam '$srcdir'/include/Caps '|' '$srcdir'/include/MKparametrized.sh
+
+build '$outdir'/MKterm.h.awk sed '$srcdir'/include/MKterm.h.awk.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+
+for(f in termcap.h unctrl.h) {
+ build '$outdir'/include/$f sed '$srcdir'/include/$f.in '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+}
+
+rule mkterm 'awk -f $outdir/MKterm.h.awk $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/include/term.h mkterm '$srcdir'/include/Caps '|' '$outdir'/MKterm.h.awk
+
+build '$outdir'/codes.c awk '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKcodes.awk ; with\
+ expr '-f $srcdir/ncurses/tinfo/MKcodes.awk bigstrings=1'
+
+rule mkcaptab '(wd=$$PWD && cd $outdir && $$wd/$srcdir/ncurses/tinfo/MKcaptab.sh awk 1 $$wd/$srcdir/ncurses/tinfo/MKcaptab.awk $$wd/$in) >$out.tmp && mv $out.tmp $out'
+build '$outdir'/comp_captab.c mkcaptab '$srcdir'/include/Caps '|' '$outdir'/make_hash '$srcdir'/tinfo/^(MKcaptab.awk MKcaptab.sh)
+
+rule mkfallback 'sh $srcdir/ncurses/tinfo/MKfallback.sh /dev/null /dev/null /dev/null >$out.tmp && mv $out.tmp $out'
+build '$outdir'/fallback.c mkfallback '|' '$srcdir'/ncurses/tinfo/MKfallback.sh
+
+build '$outdir'/lib_keyname.c awk '$outdir'/keys.list ; with\
+ expr '-f $srcdir/ncurses/base/MKkeyname.awk bigstrings=1'
+
+build '$outdir'/names.c awk '$srcdir'/include/Caps '|' '$srcdir'/ncurses/tinfo/MKnames.awk ; with\
+ expr '-f $srcdir/ncurses/tinfo/MKnames.awk bigstrings=1'
+
+rule mktermsort 'sh $srcdir/progs/MKtermsort.sh awk $in >$out.tmp && mv $out.tmp $out'
+build '$outdir'/termsort.c mktermsort '$srcdir'/include/Caps '|' '$srcdir'/progs/MKtermsort.sh
+
+build '$outdir'/unctrl.c awk /dev/null '|' '$srcdir'/ncurses/base/MKunctrl.awk ; with\
+ expr '-f $srcdir/ncurses/base/MKunctrl.awk bigstrings=1'
+
+hdrs=include/^(curses.h ncurses_dll.h term.h termcap.h unctrl.h)
+for(hdr in $hdrs) file $hdr '$outdir'/$hdr 644
+phony headers '$outdir'/$hdrs
+
+phony deps '$outdir'/^(\
+ hashsize.h init_keytry.h ncurses_def.h parametrized.h termsort.c\
+) '$dir'/headers
+
+lib libncurses.a -d '$dir'/deps `{grep -v '^#' sources.txt}
+file lib/libncurses.a '$outdir'/libncurses.a 644
+
+exe tic -d '$dir'/deps\
+ progs/^(tic.c dump_entry.c tparm_type.c transform.c)\
+ ncurses/^(\
+ tinfo/^(\
+ alloc_entry.c\
+ captoinfo.c\
+ comp_expand.c\
+ comp_parse.c\
+ comp_scan.c\
+ parse_entry.c\
+ write_entry.c\
+ )\
+ trace/lib_trace.c\
+ )\
+ libncurses.a
+file bin/tic '$outdir'/tic 755
+
+exe tset -d '$dir'/deps progs/^(tset.c transform.c.o) libncurses.a
+file bin/tset '$outdir'/tset 755
+sym bin/reset tset
+
+for(m in tic.1m tset.1) {
+ build '$outdir'/$m sed '$srcdir'/man/$m '|' '$dir'/subst.sed ; with\
+ expr '-f $dir/subst.sed'
+ file share/man/man1/$m '$outdir'/$m 644
+}
+sym share/man/man1/reset.1 tset.1
+
+terms=(dumb linux tmux tmux-256color xterm xterm-256color)
+terminfo=`{printf %s\n $terms | awk '{print substr($0, 1, 1) "/" $0}'}
+termnames=`{printf ,%s $terms | tail -c +1}
+terminfo_outs='$outdir'/terminfo/$terminfo
+
+build $"terminfo_outs tic '$srcdir'/misc/terminfo.src ; ticflags=(\
+ -o '$outdir'/terminfo\
+ -e $termnames\
+ -x\
+) with ticflags $"ticflags
+for(f in $terminfo)
+ file share/terminfo/$f '$outdir'/terminfo/$f 644
+
+gen_inputs='$dir'/sources.txt
+
+fetch curl