unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Possible path to bootstrap GNAT, the Ada compiler
@ 2024-10-15 15:38 Ludovic Courtès
  0 siblings, 0 replies; only message in thread
From: Ludovic Courtès @ 2024-10-15 15:38 UTC (permalink / raw)
  To: guix-devel; +Cc: Cayetano Santos

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’.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-10-15 15:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-15 15:38 Possible path to bootstrap GNAT, the Ada compiler Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).