The state of Ada (Re: FreeBSD unmaintained ports which are currently scheduled for deletion)

John Merryweather Cooper john_m_cooper at
Fri Jan 8 19:36:10 UTC 2010

----- Original Message ----

From: "freebsd-ports at" <freebsd-ports at>
To: John Merryweather Cooper <john_m_cooper at>
Cc: Mikhail T. <mi+thun at>; karel at; eischen at; freebsd-ports at
Sent: Fri, January 8, 2010 10:56:38 AM
Subject: Re: The state of Ada (Re: FreeBSD unmaintained ports which are currently scheduled for deletion)

> It looks like a noticeable share of the ports listed have one thing in common -- they depend on Ada.
> Various gnat-ports would not even build on anything but i386...
> Is Ada-support really in such a bad shape by the GNU-project, or is it just a FreeBSD problem?


Current situtation is this:

I've spent a great deal of time getting GCC 4.4 ported to FreeBSD on
i386 and x86_64. I currently do regular builds of GCC from SVN on
7/8 i386/x86_64, the logs and test results of which are available here:

No binaries, sorry. I'm limited by bandwidth and disk space.

As you can see, GNAT works pretty well on FreeBSD and passes most of

I created the lang/gnat-gcc44 port a couple of months ago and have
worked to ensure that it works on 7/8 i386/x86_64. Unfortunately, there
won't be support for other platforms until somebody else decides to do
the cross compilation and produce bootstrap binaries (it's not particularly
difficult, just time consuming).

I've recently written a file which I hope will soon be
committed to the ports system. This will allow all Ada ports to state
'USE_GNAT=yes' and will remove the requirement to have up to four (!)
different Ada compilers installed in order to use all existing ports
(assuming that they build and work). This also allows one to, for
example, set 'USE_GNAT=gnat-gpl' in /etc/make.conf and use the GNAT GPL
compiler for all ports. This'll currently only work on i386 as the
current version of the compiler seems to lack x86_64 support (maybe the
2010 version will be better).

I'll work on converting all existing ports to this system.

I also have a large number of my own projects to submit (bindings for various
libraries such as SDL, OpenGL, OpenAL and pure Ada libraries).

In short, the current state of Ada on FreeBSD is poor but should shortly
improve exponentially.


USE_GNAT would be a massive improvement.  It would allow the dependent ports to potentially strip out the logic necessary to determine which compiler is try to build them (and if it will work).


More information about the freebsd-ports mailing list