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
@@ -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
Post a Comment