* BOOTSTRAP: Update.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* scaffold/tests/23-pointer.c: Add (janneke) to copyright line.
* doc/images/gcc-mesboot-graph.png: Update.
* doc/mes.texi (The Mes Bootstrap Process): Describe update.
https://gitlab.com/janneke/mes
-*** mes.c: a Scheme interpreter prototyped in C ~3000 Lines
+*** mes.c: a Scheme interpreter in ~5,000LOC of simple C
*** mescc: a C compiler written in Scheme (uses Nyacc C99 parser in Scheme)
*** mes.M2: this Scheme interpreter in preprocessed M2
** have tcc-boot compile gnutools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
** have tcc-boot's mes-tcc compile a fully functional tcc
** hex.0, hex.1, M0
-** M1, hex2_linker prototyped in C
+** M1, hex2_linker in simple C
** M2-Planet is now self-hosting, written in M2
** mes+mescc are mutual self-hosting
** patched tcc compiled with mes+mescc
- add x86_64, replace GuixSD's bootstrap binaries for x86_64.
- more architectures (does GuixSD require this, i.e. before 1.0?).
** DONE
+*** 0.16.1 Mes now has info docs and installs ootb on Debian buster/testing.
*** 0.16 Mes Lib C now bootstraps glibc-2.2.5, binutils-2.20.1, gcc-4.1.0.
*** 0.15: MesCC now has a libc+gnu that supports compiling binutils-2.14, gcc-2.95.3 and glibc-2.2.5.
*** 0.14: Mes+MesCC now compiles a slightly patched self-hosting tcc.
guix environment --system=i686-linux -l guix.scm #32 bit only
*** Other GNU/Linux
- - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.4 is known to work.
+ - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
- GNU Gcc, 4.9.3 is known to work.
- GNU Guile, version 2.0.12 or is know to work.
* Bootstrap build
-The bootstrap build is being prototyped in GuixSD, see
+The bootstrap build is being developed in GuixSD, see
https://gitlab.com/janneke/guix/blob/wip-bootstrap/gnu/packages/mes.scm
** Prerequisites
- - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.4 is known to work.
+ - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
- [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
- - [[https://github.com/oriansj/mescc-tools][mes-seed]], 0.15 is known to work.
+ - [[https://gitlab.com/janneke/mes-seed][mes-seed]], 0.16 is known to work.
** Build it
<setup environment, e.g. prefix, MES_SEED>
Please send Mes bug reports to janneke@gnu.org.
+* Changes in 0.16.1 since 0.16
+** Core
+*** Mes now builds out of the box on Debian buster/testing.
+*** Mes now comes with a generic build recipe: build-aux/setup-mes.sh.
+*** Mes now comes with INFO documentation.
+** MesCC
+*** MesCC now exits if spawning BLOOD_ELF, M1, or HEX2 fails.
* Changes in 0.16 since 0.15
** Core
*** Support building with tcc, including Mes Lib C in-line assembly.
-*- org -*-
Mes -- Maxwell Equations of Software
-[[https://gitlab.com/janneke/mes][Mes]] aims to help create full source bootstrapping for [[https://www.gnu.org/software/guix][GuixSD]] as part
-of the [[http://bootstrappable.org][bootstrappable builds]] effort.
+[[http://gitlab.comog/janneke/mes][Mes]] aims to help create full
+source bootstrapping for GNU/Linux distributions such as
+[[https://www.gnu.org/software/guix][GuixSD]] as part of the
+[[http://bootstrappable.org][bootstrappable builds]] effort.
It currently consists of a mutual self-hosting Scheme interpreter
-prototype written in C and a Nyacc-based C compiler written in Scheme.
-This C prototype is [[https://github.com/oriansj/mes-m2][being simplified]] to be transpiled by [[https://github.com/oriansj/m2-planet][M2-Planet]].
+written in ~5,000 LOC of simple C and a Nyacc-based C compiler written
+in Scheme. This mes.c is [[https://github.com/oriansj/mes-m2][being simplified]] to be transpiled by
+[[https://github.com/oriansj/m2-planet][M2-Planet]].
The Scheme interpreter prototype (mes.c) has a Garbage Collector, a
library of loadable Scheme modules-- notably Dominique Boucher's [[https://github.com/schemeway/lalr-scm][LALR]],
Guile's [[https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html][PEG]] --and test suite just barely enough to support a simple
REPL and simple C-compiler: MesCC.
-Mes+MesCC can compile an only [[https://gitlab.com/janneke/tinycc][lightly patched TinyCC]] that is
+Mes+MesCC can compile an only [[http://gitlab.com/janneke/tinycc][lightly patched TinyCC]] that is
self-hosting. Using this tcc and the Mes C library we now have a
reduced-binary-seed bootstrap for the gnutools triplet: glibc-2.2.5,
binutils-2.20.1, gcc-4.1.0.
* Get it
- git clone https://gitlab.com/janneke/mes
+ git clone http://gitlab.com/janneke/mes
* Build it (see INSTALL for full instructions)
Please send Mes bug reports to janneke@gnu.org.
-[0] https://gitlab.com/janneke/mes
+[0] http://gitlab.com/janneke/mes
[1] https://www.gnu.org/software/guix
[2] http://bootstrappable.org
[3] https://github.com/oriansj/mes-m2
[6] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
[7] https://www.nongnu.org/nyacc
[8] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
-[9] https://gitlab.com/janneke/tinycc
+[9] http://gitlab.com/janneke/tinycc
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%25201.5%2520Programmers%2520Manual.pdf
[11] https://github.com/oriansj/stage0
gcc-source + binutils + gcc-core + glibc => gcc
@end verbatim
-@c FIXME: ./pre-inst-env guix graph --type=references gcc-mesboot@4.1.0
-@c | dot -T png > gcc-mesboot-4.1.0.png
+@c This graph is generated from wip-bootstrap, doing:
-@c Using anything else (e.g. --type=package, --type=bag) produces an
-@c unreadable image with *many* duplicates.
+@c sed -i s,package-with-bootstrap-guile,identity, gnu/packages/{commencement,mes}.scm
-Here's a generated dependency diagram to give you impression, it is
-not complete or correct.
+@c ./pre-inst-env guix graph gcc-mesboot | dot -T png >
+@c gcc-mesboot-graph.png
+
+Here's a generated dependency diagram to give you impression, it is not
+complete or correct.
@image{images/gcc-mesboot-graph,2in,,Reference graph of the gcc-mesboot}
/* -*-comment-start: "//";comment-end:""-*-
* Mes --- Maxwell Equations of Software
- * Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
+ * Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
*
* This file is part of Mes.
*