Hello there, Recently, Alexandre Oliva kindly sent me this message, which I’m forwarding with his permission:
> The other day, we talked on the Fediverse about bootstrapping GNAT in > Guix, and I wasn't aware of any way to accomplish that. I've had > occasion to talk to some AdaCore old-timers this week and learned about > two paths: > > SETL is the older one. It was the environment used to get GNAT from the > ground up. I'm pretty sure I've seen mentions thereof in Guix > discussions already, so I'll assume you already knew about it. > > The one that may be more promising for now, but that I'm not sure solves > the problem at all, is CCG. > https://docs.adacore.com/live/wave/gnat_ccg/html/gnatccg_ug/gnat_ccg/gnat_ccg.html > > IIUC, it's GNAT-llvm with the backend set to generate C code. So, with > a preexisting CCG, one could (presumably) translate GNAT to C, verify > the translation as much as desired, and use the result to build a > bootstrapping compiler, that could then be used as a starting point to > build recent and future versions of GNAT. Food for thought! Ludo’.