doc: Add PORTING.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 3 Mar 2019 19:19:42 +0000 (20:19 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 9 Sep 2019 14:04:16 +0000 (16:04 +0200)
* PORTING: New file.

PORTING [new file with mode: 0644]

diff --git a/PORTING b/PORTING
new file mode 100644 (file)
index 0000000..8eeb418
--- /dev/null
+++ b/PORTING
@@ -0,0 +1,62 @@
+#+COMMENT:                                                            -*- org -*-
+#+TITLE: Porting GNU Mes
+
+* Porting GNU Mes to ARM
+
+The ARM port can be found in wip-arm on savannah.
+
+For development, we use Guix's qemu-binfmt-service-type.
+
+** Guix Setup, see [[info:guix#Virtualization%20Services][Virtualization Services]].
+
+Add something like
+   #+BEGIN_SRC scheme
+      (service qemu-binfmt-service-type
+               (qemu-binfmt-configuration
+                (platforms (lookup-qemu-platforms "arm"))
+                (guix-support? #t)))
+   #+END_SRC
+to your config.scm and run guix system reconfigure.
+
+** Setup environment
+
+   #+BEGIN_SRC bash
+   guix environment -s armhf-linux --pure --ad-hoc bash coreutils diffutils gawk gcc-toolchain grep guile help2man make nyacc pkg-config sed texinfo
+   PATH=~/src/mescc-tools-arm/bin:$PATH
+   #+END_SRC
+
+(No git, graphviz on ARM yet).
+
+** Try it
+   #+BEGIN_SRC bash
+   ./configure --with-courage --with-system-libc
+   ./simple.sh
+   #+END_SRC
+
+some failures are expected.
+
+** Build it
+   #+BEGIN_SRC bash
+   ./configure --with-courage --with-system-libc
+   make MES=guile
+   make check
+   #+END_SRC
+
+expect many failures.  Non-system-libc, i.e. using the Mes C Library is currently WIP.
+
+* Porting GNU Mes to x86_64
+
+The x86_64 port is almost done, only a few bugs remain.  The Guix
+bootstrap for x86_64 uses x86 mes and that is not expected to change.
+
+* Porting GNU Mes to GNU/Hurd
+
+The Hurd port can be found in wip-hurd on savannah.  For development, we
+use a Debian GNU/Hurd vm.
+
+* Legalese
+Copyright © 2019 Jan (janneke) Nieuwenhuizen <[[mailto:janneke@gnu.org][janneke@gnu.org]]>
+
+  Copying and distribution of this file, with or without modification,
+  are permitted in any medium without royalty provided the copyright
+  notice and this notice are preserved.