GNAT 3.15p transition plan
I'm going to recompile the existing Ada packages in Debian using GNAT
3.15p, at least on x86.
This involves the following steps:
- Packaging GNAT 3.15p (mostly done). I'm going to omit DSO support
- Fixing the FTBFS errors of current Ada packages (not necessarily
3.15p-specific). Drop DSO support, too.
- Let someone upload the packages (I'm not a DD).
- After some time, request removal of the existing and now unneeded
Why no DSO support? The GNAT ABI changes in *each* release, and the
run-time library can only be built with the corresponding GNAT
version. This means that if we want true backwards compatibility
(including a buildable libgnat-3.14p), we'd have to keep around GNAT
3.14p (and GNAT 3.15p and so on), and all libraries depending on it.
This doesn't look acceptable to me.
GNAT supports source-based (Ada) package repositories, but I think
it's still worthwhile to add precompiled object code libraries, to cut
down compilation time. The source repository approach is interesting
once we want to support multiple GNAT installations in parallel (à la
What about other architectures besides x86? Honestly, I don't know.
The only non-x86 Debian port I looked at was the SPARC one, and it
is incomplete (it includes some Solaris-specific code and fails to
build GNAT 3.x as a result). If there is demand for Ada on this
architecture and someone shows me a proof that GNAT 3.14p is in
reasonably good shape (e.g. good ACATS results), I'll try to make
3.15p competitive in this regard.