summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-11-19 00:29:41 -0800
committerMichael Forney <mforney@mforney.org>2016-11-19 01:05:22 -0800
commit8033c67785966891877e6cbb6ff53a89f1dd698f (patch)
tree5844d4afe80e44911466e28df2032602d1376d01
parent41ea63ca5c05c23c6837ddd6b19ea0892ae2d134 (diff)
ncurses: Build tic and tset (reset)
-rw-r--r--extra/ncurses/gen.rc42
-rw-r--r--extra/ncurses/gensources.awk1
-rw-r--r--extra/ncurses/sources.txt1
-rw-r--r--extra/ncurses/subst.sed8
-rw-r--r--extra/ncurses/transform.h9
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 */