[rb-general] bootstrappable builds: practical source based bootstrapping

Jan Nieuwenhuizen janneke at gnu.org
Mon Jul 24 18:57:58 CEST 2017


I am working on something related to reproducible builds which is
possibly significantly new.  [GuixSD's] reproducible builds inspired me
last year to create Mes[0], a project that aims to produce source based

It's great if we can reproduce [almost all of] our packages from
source...so that got me thinking: what about the initial GCC and the
other bootstrap binaries?  This is now one of the aims of the
“bootstrappable builds” effort[1].

The idea of Mes is to have a Scheme intepreter written in simplified
stage0[2] M1 assembly that executes a C compiler written in Scheme, that
compiles tinycc.  Tinycc can compile Gcc.

The Scheme interpreter is prototyped in ~1400 lines of simple C (mes.c)
and the C compiler in Scheme (mescc.scm) can compile this interpreter,
which makes them mutually self-hosting.

I'm working with Jeremiah Orians [cc] who has created stage0, a source
based toolchain that builds from a self-hosting hex assembler in ~280
bytes via a labeled hex linker up to a simplifield M1 assembler.

This list came to my attention after a posting that suggested that
specific plans to deliver something significantly new be proposed for
future funding.  It would be nice if we could get some help and it
would of course be amazing if there would be a possibility of funding
for a source based bootstrap path.

What do you think, are our efforts related?


[0] https://gitlab.com/janneke/mes
[1] https://bootstrappable.org
[2] https://savannah.nongnu.org/projects/stage0

Jan Nieuwenhuizen <janneke at gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

More information about the rb-general mailing list