comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: GNAT in Debian, heads up (was: FSF libgnat)
Date: Wed, 19 Oct 2005 20:30:48 +0200
Date: 2005-10-19T20:30:48+02:00	[thread overview]
Message-ID: <871x2he4vb.fsf_-_@ludovic-brenta.org> (raw)
In-Reply-To: pan.2005.10.19.12.18.09.331034@kometalab.com.ua

Stanislav Tsekhmistroh <stas@kometalab.com.ua> writes:
> PS: 2 Ludovic :
> What are the plans for GNAT in Debian?
> What is the preference - to fix/develop/package FSF GNAT or ACT
> GNAT 3.15p? And what help is needed most of all?

I don't know if you followed the very long thread where a vote took
place, last month, about the next Ada compiler in Debian.  See [1] for
a summary of the votes and the various arguments that were voiced.
There have been other messages since then but I still think that
message captures the gist of the debate.

[1] http://groups.google.com/group/comp.lang.ada/msg/8d1b6d93ee815f87

My plan is to transition to GCC 4.1.  The release branch will be
created by the FSF in the next few weeks, and I anticipate that a
package will appear soon thereafter in Debian's unstable or
experimental distribution.  I will start the transition from there,
probably in November this year.

In the mean time, I'm playing with GNAT 3.15p and breaking things :)

I've modified the build process so that certain parts of the compiler
are exposed in a shared library.  These parts make up the project
manager, and the Ada units that are necessary for the project manager.
The library, which I called "libgnatprj", allows to build
project-aware tools by reusing GNAT's internal code.  One such tool is
AdaBrowse, which gave me the idea in the first place.

A second change which I'm experimenting with is to change the
GNAT_Version_String (declared in gnatvsn.ads, and displayed by
"gnatmake -v") to reflect the Debian version number.  My intention is
to allow ASIS and GLADE to use this shared version string, instead of
providing their own (they both contain a copy of parts of GNAT, and
I'd like to stop that so that they can benefit from bug fixes made in
GNAT).  Another reason for doing this is that the GCC packages
(gnat-3.4, gnat-4.0) also do that.

I've just discovered that changing the GNAT_Version_String with every
Debian release (e.g. "Debian 3.15p-14") was a bad idea, because GNAT
keeps the CRC of the source (gnatvsn.ads) in the corresponding library
information file (gnatvsn.ali).  And if the CRC changes, then
everything that depends on gnatvsn.ads must be recompiled.  The latest
upload is currently gnat 3.15p-16 and it breaks ASIS, GLADE and GPS
(they can still run, but GLADE and GPS fail to build from source).

A second problem I'll tackle in the short term is that libgnatprj
contains some files under GMGPL (e.g. gnatvsn.ads) and other files
under GPL (e.g. the project manager).  I'll want to split that in two
libraries.

I want to port these changes to gnat-4.1 when I start doing the
transition.

-- 
Ludovic Brenta.



  parent reply	other threads:[~2005-10-19 18:30 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-18 14:22 FSF libgnat Stanislav Tsekhmistroh
2005-10-18 19:02 ` Ludovic Brenta
2005-10-18 20:49   ` Björn Persson
2005-10-18 21:33     ` Ludovic Brenta
2005-10-18 21:57       ` Stefan Bellon
2005-10-18 22:37       ` Björn Persson
2005-10-19  4:59         ` Jeffrey R. Carter
2005-10-25 20:15         ` Samuel Tardieu
2005-10-25 21:17           ` Björn Persson
2005-10-25 21:43             ` Samuel Tardieu
2005-10-25 23:12               ` Randy Brukardt
2005-10-25 23:49               ` Björn Persson
2005-10-19 12:18       ` Stanislav Tsekhmistroh
2005-10-19 17:41         ` Björn Persson
2005-10-19 18:30         ` Ludovic Brenta [this message]
2005-10-19 18:54           ` GNAT in Debian, heads up Ludovic Brenta
2005-10-20 11:08             ` Stanislav Tsekhmistroh
2005-10-20 14:17               ` Marc A. Criley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox