05 March 2016

es

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: es-0.9.tar.gz

This post will be about compiling the extensible shell (es).

http://web.mit.edu/~yandros/doc/es-usenix-winter93.html

https://wryun.github.io/es-shell/
es-0.9.tar.gz

There are two options for line editing, GNU readline (default), and the UNIX port
of the NetBSD libedit library. The latter - even with '--enable-widec' added to the
configure arguments - appears to create dead keys on Scandinvian keyboards.

If the libedit library is chosen, e.g., for UK/US only keyboards, run the configure script
without any arguments for 'Optional Packages', and hand edit afterwords the config.h
and Makefile.

config.h

- /*#undef HAVE_LIBEDITLINE */
+ #define HAVE_LIBEDITLINE 1

- #define HAVE_LIBREADLINE 1
+/*#undef HAVE_LIBREADLINE */

Makefile
- LIBS = $(ADDLIBS) -lreadline -ltermcap
+ LIBS = $(ADDLIBS) -ledit -ltermcap

Then run 'make'.

Based on es-0.9beta is also (albeit with some language changes) a C++ version
where the following line (using automake < 1.12) will create a configure script.

bash-4.2# autoreconf -i

http://pkgs.fedoraproject.org/repo/pkgs/xs/
frytvm-XS-9c19777.tar.gz

https://slackbuilds.org/repository/14.0/development/gc/
gc.tar.gz

http://hboehm.info/gc/gc_source/
gc-7.2d.tar.gz

Add '--enable-cplusplus' to the configure arguments in
the gc.SlackBuild.

Slackware current (i.e., automake >=1.12) would use the
newer frytvm-XS-c9a0b29.tar.gz.

The XS configure script includes an option as '--enable-lisptrees'; sexprs
along with [Plan 9] ndb(6)-like data structures are among the alternatives
to the use of XML.

The es(1) and xs(1) man pages are similar.