Micro Emacs on GNU/Minix


Following the filesystem creation on GNU/Minix, the next step is to port an application. Here's a basic port of Micro Emacs (v3.5) running on GNU/Minix (v3.3.0).

./configure --without-curses
 

 

Since configure doesn't support Minix, we need to manually edit the CC and LIBOBJS (for reallocarray() function) variable in generated Makefile.

LIBOBJS =  ${LIBOBJDIR}fparseln$U.o ${LIBOBJDIR}strlcpy$U.o ${LIBOBJDIR}strlcat$U.o ${LIBOBJDIR}strtonum$U.o ${LIBOBJDIR}reallocarray$U.o

 

Also we need following patches.

modified   src/def.h
@@ -12,7 +12,8 @@
 
 #include    "config.h"
 
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
+  || defined(__minix)
 # include    <sys/queue.h>
 # include    <sys/tree.h>
 # ifdef __FreeBSD__
@@ -23,15 +24,14 @@
 #else /* __NotBSD__, DragonFly BSD, or macOS */
 # include    "queue.h"
 # include    "tree.h"
+#ifdef HAVE_PTY_H
+# include    <pty.h>            /* openpty() et al. */
+#endif
 # if defined(__DragonFly__) || defined(__APPLE__)
 #  include    <util.h>
 # endif
 #endif
 
-#ifdef HAVE_PTY_H
-# include    <pty.h>            /* openpty() et al. */
-#endif
-
 #ifdef HAVE_UTMP_H
 # include    <utmp.h>        /* login_pty() on Linux */
 #endif


 

Comments

Popular posts from this blog

GNU Emacs as a Comic Book Reader

Data Visualization with GNU Emacs

Tinylisp and Multi-threaded Emacs