diff options
| author | Michael Forney <mforney@mforney.org> | 2016-11-19 00:29:41 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-11-19 01:05:22 -0800 |
| commit | 8033c67785966891877e6cbb6ff53a89f1dd698f (patch) | |
| tree | 5844d4afe80e44911466e28df2032602d1376d01 | |
| parent | 41ea63ca5c05c23c6837ddd6b19ea0892ae2d134 (diff) | |
ncurses: Build tic and tset (reset)
| -rw-r--r-- | extra/ncurses/gen.rc | 42 | ||||
| -rw-r--r-- | extra/ncurses/gensources.awk | 1 | ||||
| -rw-r--r-- | extra/ncurses/sources.txt | 1 | ||||
| -rw-r--r-- | extra/ncurses/subst.sed | 8 | ||||
| -rw-r--r-- | extra/ncurses/transform.h | 9 |
5 files changed, 58 insertions, 3 deletions
diff --git a/extra/ncurses/gen.rc b/extra/ncurses/gen.rc index 698acdf1..75377544 100644 --- a/extra/ncurses/gen.rc +++ b/extra/ncurses/gen.rc @@ -5,7 +5,8 @@ set common_cflags\ -I '$outdir' \ -I '$outdir'/include\ -I '$srcdir'/include\ - -I '$srcdir'/ncurses + -I '$srcdir'/ncurses\ + -I '$srcdir'/progs cflags '$common_cflags' { @@ -35,6 +36,9 @@ build '$outdir'/ncurses_def.h mkdefs '$srcdir'/include/ncurses_defs '|' '$srcdir 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' @@ -46,6 +50,9 @@ for(f in termcap.h unctrl.h) { 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) @@ -58,14 +65,45 @@ build '$outdir'/lib_keyname.c awk '$outdir'/keys.list ; with\ 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' phony headers '$outdir'/include/^(curses.h ncurses_dll.h term.h termcap.h unctrl.h) -phony deps 'phony/$dir/headers' '$outdir'/^(hashsize.h init_keytry.h ncurses_def.h) +phony deps 'phony/$dir/headers' '$outdir'/^(hashsize.h init_keytry.h ncurses_def.h parametrized.h termsort.c) lib libncurses.a -d 'phony/$dir/deps' `{grep -v '^#' sources.txt} +exe tic -d 'phony/$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 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} diff --git a/extra/ncurses/gensources.awk b/extra/ncurses/gensources.awk index a85da74c..b4b45838 100644 --- a/extra/ncurses/gensources.awk +++ b/extra/ncurses/gensources.awk @@ -6,7 +6,6 @@ BEGIN { dirs["$(wide)"] = "ncurses/widechar" dirs["."] = "$outdir" - skip["codes"] = 1 skip["expanded"] = 1 skip["lib_gen"] = 1 skip["link_test"] = 1 diff --git a/extra/ncurses/sources.txt b/extra/ncurses/sources.txt index af7fe95f..3a213917 100644 --- a/extra/ncurses/sources.txt +++ b/extra/ncurses/sources.txt @@ -108,6 +108,7 @@ ncurses/base/wresize.c ncurses/tinfo/access.c ncurses/tinfo/add_tries.c ncurses/tinfo/alloc_ttype.c +$outdir/codes.c $outdir/comp_captab.c ncurses/tinfo/comp_error.c ncurses/tinfo/comp_hash.c diff --git a/extra/ncurses/subst.sed b/extra/ncurses/subst.sed index bf825f4d..4f3701fe 100644 --- a/extra/ncurses/subst.sed +++ b/extra/ncurses/subst.sed @@ -3,12 +3,15 @@ s,@NCURSES_MINOR@,0, s,@NCURSES_PATCH@,20150808, s,@BROKEN_LINKER@,0, +s,@CAPTOINFO@,captoinfo, s,@GENERATED_EXT_FUNCS@,generated, s,@HAVE_STDINT_H@,1, s,@HAVE_TCGETATTR@,1, s,@HAVE_TERMIOS_H@,1, s,@HAVE_TERMIO_H@,0, s,@HAVE_VSSCANF@,1, +s,@INFOCMP@,infocmp, +s,@INFOTOCAP@,infotocap, s,@NCURSES_CCHARW_MAX@,5, s,@NCURSES_CH_T@,cchar_t, s,@NCURSES_CONST@,const, @@ -32,6 +35,11 @@ s,@NCURSES_WCHAR_T@,0, s,@NCURSES_WINT_T@,0, s,@NCURSES_XNAMES@,1, s,@NEED_WCHAR_H@,1, +s,@TERMINFO@,/share/terminfo, +s,@TERMINFO_DIRS@,/share/terminfo, +s,@TIC@,tic, +s,@TOE@,toe, +s,@TSET@,tset, s,@USE_CXX_BOOL@,0, s,@cf_cv_1UL@,1U,g s,@cf_cv_enable_lp64@,1, diff --git a/extra/ncurses/transform.h b/extra/ncurses/transform.h new file mode 100644 index 00000000..df994d1d --- /dev/null +++ b/extra/ncurses/transform.h @@ -0,0 +1,9 @@ +#ifndef __TRANSFORM_H +#define __TRANSFORM_H 1 +#include <progs.priv.h> +extern bool same_program(const char *, const char *); +#define PROG_CAPTOINFO "captoinfo" +#define PROG_INFOTOCAP "infotocap" +#define PROG_RESET "reset" +#define PROG_INIT "init" +#endif /* __TRANSFORM_H */ |
