U.Mutlu writes:

>> Thanks!  I'm very grateful for your help.  I succeeded in building
>> gcc-4.7.4 from almost no binary seeds[0] for GuixSD!
> Congrats!  :-)


> Can you give us some info on your project? (mes?)

Mes[0] aims to help create full source bootstrapping for GNU/Linux
distributions such as GuixSD[1] as part of the bootstrappable builds[2]

It consists of a mutual self-hosting Scheme interpreter written in
~5,000LOC of simple C and a Nyacc-based C compiler written in Scheme.

> As I could figure out, GuixSD is a (new) GNU package manager, right?

Correct.  Guix is the packagage manager, GuixSD (for System Distribution) is
GNU's GNU/Linux distribution built around it.

> I think you mentioned TCC, scheme, own header files etc.

This MesCC compiler comes with three sizes of Mes lib C: libc for
building mes.c, libc+tcc for building TCC.  Then, there is libc+gnu that
is used together with TCC to build binutils-2.20a and gcc-2.95.3.

> Did you still had to use also the old gcc 2.95.3 ?

We are using gcc 2.95.3 as the first GCC compiler mainly because (after
many experiments with versions from 1.40 to 4.1) it proved the most
"bootstrappable" GCC.  GCC 3 introduces a dependency on dirent, e.g.,
that our naive C library does not support.

If we make our libc+gnu richer then we can probably target a newer GCC,
but it's not obvious to me what the bootstrap consequences of that are.

> What's the goal, and why especially that target version gcc 4.7.4 ?

GCC 4.7.4 is currently used as one of the bootstrap binaries of GuixSD.
Also, it's the most recent GCC compiler that can be considered to be
directly bootstrappable.  I don't consider building a c++ bootstrap
compiler ;-)

The goal is to replace the x86 bootstrap of GNU/Linux distributions,
using a bootstrap [mostly] from source instead of what currently
happens: seeding it with a very large blob of bootstrap binaries.

GuixSD seems the best place to develop this in.

> Just a little bit curious about your complicated looking project :-)

Thanks for showing interest!


[0] http://gitlab.com/janneke/mes
[1] https://www.gnu.org/software/guix
[2] http://bootstrappable.org

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

Reply via email to