Question

I am trying to understand the fundamental differences between the Gnat compiler that is delivered with the Adacore Libre version and the one that comes standard with the gcc say in a Linux distribution or MinGw.

I assume the main difference may be that the Adacore version is always the latest one whereas what you get with a Linux distribution might be the one that was available at the date the distribution was packaged.

But is there a functional difference as well? Meaning are there any improved functions in the Adacore version that they dont release to the general Open Source versions available from Gnu?

I am not a very experienced Linux user, so apologies if this is transparent to have more experience in the Gnu/Open Source world, but I couldn't find anything about this.

Was it helpful?

Solution

From reading the Debian policy for Ada written by Ludovic Brenta and Stephen Leake: When Ada code is built to produce an executable it is linked with the Ada runtime library. The main difference between the different versions of the GNAT compiler is the license of the Ada runtime library.

  1. The GNAT Pro Version => GNAT-Modified GPL
  2. The GNAT Libre Version => GPL version 3
  3. FSF GNAT Version => GPL version 3 with GCC runtime library exception

GNAT-Modified and GPL version 3 with GCC runtime library exception allow development of commercial and proprietary software. The GNAT libre version is not suitable for commercial software development but excellent for developing free software. The FSF GNAT version seems to be about one year behind the GNAT Libre Version.

I think AdaCore would also like me to point out that with the GNAT Pro Version AdaCore provides support meaning for example that if a bug is found in the compiler one can inform them about this and it will be corrected immediately.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top