[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wip-bootstrap updated

From: Jan Nieuwenhuizen
Subject: Re: wip-bootstrap updated
Date: Thu, 03 May 2018 14:54:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Ludovic Courtès writes:

>> I've updated the wip-bootstrap branch[0] for Mes[1] 0.13.

> Very nice!


> At some point people were wondering whether using tcc as a base was the
> best course of action, after all, given that it needs to be heavily
> patched and that MesCC is making good progress.  What’s your take on
> this now?

Yes, I'm wondering about that quite often.  At the reproducible-builds
conference, Ricardo was inspired to try using Mes to bootstrap Guile
instead of tcc.  That did really work yet, mainly because Mes didn't
recursively expand macros. Recursive macro expansion was added in Mes
0.12, I'd love to revisit the direct Guile bootstrap path.

At the moment, tcc seems the best of the worst.  Tcc is the only
somewhat simple C compile that I know of that can build gcc.  I'd be
very happy to hear any alternatives.

> Also, does M1 support all the architectures Guix currently supports?

Currently, Mes only supports x86.  The low level tools (hex0, hex1, M0
M1 and M2-Planet) become gradually more architecture independent, with
implementations for x86, amd64, amd and Knight VM.

My first aim is to have a working gcc for x86, a pragmatic choice for

> Definitely.  I think we can improve things incrementally, we don’t have
> to go straight to the ultimate solution.  So if we can make small
> changes to our bootstrap graph and already remove 10MB out of these
> 250MB, let’s just do that.

Yes, that's my strategy...however I do not see how to replace anything
until we have bootstrapped a working Gcc [or Guile?].  So all effort is
focussed on that now.

The past months I've been working to improve Mes Scheme, to make it
a viable option for compiling tcc.  Now that's done, I'll be looking
at the tcc and MesCC compiler again.

>> The plan is to replace the mes.M1 seed with mes.M2

> Exciting.

Yes, and it's so much fun over at #bootstrappable.  M2-Planet just
got anonymous structs and function pointers -- that should be enough
for mes.c :-)


Jan Nieuwenhuizen <address@hidden> | GNU LilyPond
Freelance IT | Avatar®

reply via email to

[Prev in Thread] Current Thread [Next in Thread]