doc: Release update.
* 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.
This commit is contained in:
parent
4003e3b721
commit
c0af8a1452
|
@ -83,7 +83,7 @@ be source.
|
|||
|
||||
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
|
||||
|
||||
|
@ -107,7 +107,7 @@ be source.
|
|||
** 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
|
||||
|
|
1
HACKING
1
HACKING
|
@ -95,6 +95,7 @@ mes.c.
|
|||
- 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.
|
||||
|
|
8
INSTALL
8
INSTALL
|
@ -17,7 +17,7 @@ similar way.
|
|||
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.
|
||||
|
@ -42,13 +42,13 @@ similar way.
|
|||
|
||||
* 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>
|
||||
|
|
7
NEWS
7
NEWS
|
@ -10,6 +10,13 @@ Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|||
|
||||
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.
|
||||
|
|
19
README
19
README
|
@ -1,12 +1,15 @@
|
|||
-*- 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]],
|
||||
|
@ -14,7 +17,7 @@ Pre-R6RS [[https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html][p
|
|||
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.
|
||||
|
@ -28,7 +31,7 @@ General Public Licence version 3 or later. See the file COPYING.
|
|||
|
||||
* Get it
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
git clone http://gitlab.com/janneke/mes
|
||||
|
||||
* Build it (see INSTALL for full instructions)
|
||||
|
||||
|
@ -50,7 +53,7 @@ General Public Licence version 3 or later. See the file COPYING.
|
|||
|
||||
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
|
||||
|
@ -59,6 +62,6 @@ General Public Licence version 3 or later. See the file COPYING.
|
|||
[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
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 828 KiB |
13
doc/mes.texi
13
doc/mes.texi
|
@ -501,14 +501,15 @@ binutils-source + binutils0 + gcc + glibc => binutils
|
|||
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}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* -*-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.
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue