doc: Add PORTING.

* PORTING: New file.
This commit is contained in:
Jan Nieuwenhuizen 2019-03-03 20:19:42 +01:00
parent 1b47face21
commit 2ba9d89af8
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 62 additions and 0 deletions

62
PORTING Normal file
View File

@ -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.