Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 1997 02:35:14 +0200 (MET DST)
From:      Wolfgang Helbig <helbig@Informatik.BA-Stuttgart.DE>
To:        deischen@iworks.InterWorks.org (Daniel M. Eischen)
Cc:        asami@cs.berkeley.edu, owner-freebsd-ports@FreeBSD.ORG, ada@bsd.org, helbig@Informatik.BA-Stuttgart.DE, ports@FreeBSD.ORG
Subject:   Re: gnat port
Message-ID:  <199709290035.CAA27255@rvc1.informatik.ba-stuttgart.de>
In-Reply-To: <199709282229.RAA19154@iworks.InterWorks.org> from "Daniel M. Eischen" at "Sep 28, 97 05:29:39 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> > > Actually there has been a port submission (PR 3687).  I have exchanged
> >
> > Ooops, I guess I should have queried the PRs *before* starting
> > this Don Quichoteese fight with gcc and friends--devoting every
> > spare second to it. :-( Didn't even take the time to read the mail
> > last couple of days, so it's only today that I learned about this
> > PR and gnat-3.09.
> >
> > > commit now.  It uses a separate tarball (gcc-2.7.2.1.tar.gz), so go
> > > ahead and fix it to use /usr/src/contrib/gcc.
> >
> > I'll try, but it's not trivial. Anyway I think it's worth it.
> 
> If this is in regard to fixing the gnat port to use FreeBSDs
> gcc, please do not do that.  I changed the gnat port so that
> it *doesn't* depend on /usr/src/contrib/gcc (which can be a
> moving target, and changes to it will make the gnat port fail).

This part of the source tree *was* very stable (Well *was*, there
are some changes to prepare a move of FreeBSD to ELF)

> I diff'd the FreeBSD gcc source tree with the stock 2.7.2.1
> source tree, and used that as a patch file to apply to the
> stock gcc-2.7.2.1.  Now the gnat port should work regardless
> of what happens to /usr/src/contrib/gcc.

Changes to /usr/src/contrib/gcc are only done to keep in synch
with changes of the OS. This very changes will break the gnat
port as well with high probability if it's independent of /usr/src/contrib/gcc.

> Another reason for basing the gnat port on the stock gcc
> distribution is that FreeBSDs gcc will always lag behind
> the latest and greatest GNU gcc.  When ACT (Ada Core Technologies) 
> starts using newer gccs, we can easily stay current with
> GNAT by using the stock gcc distributions.  The GNAT port
> has, in the past, been left behind because it was based on the
> stock gcc distribution - GNAT-2.0.3 was based on gcc-2.6.3
> and was never maintained when GNAT went to gcc-2.7.2.

...Because the maintainer didn't run FreeBSD any more. There were
lots of GNAT releases past 2.0.3 depending on gcc-2.6.x and FreeBSD
has been using gcc-2.7.2 for some time now.

BTW. what about GNAT 3.10p :-)

Don't get me wrong--I very much appreciate the update of the gnat
port--but I still think we should get rid of the extra mammoth
distfile gcc-2.7.2.1.tgz.

Instead there should be an extra port (lcc - local C compiler)
which uses exclusively /usr/src/contrib/gcc and is patched to
support the gcc languages from the ports (GNU-FORTRAN, GNU-Pascal,
GNAT ...)

Further the ports should not depend on its own packages for building.
Instead there should be distfiles for bootstrapping (see also
Modula-3 or MOCKA, a Modula-2 compiler). In case of GNAT, this
distfile would contain gnat1 and gnatbind only.

And last but not least the time consuming gcc bootstrapping should
be avoided during port buildings. With gcc 2.7.2.1 installed
we should get by without recompiling gcc three (!) times.

Well, at least this is what I tried to accomplish--but I frankly
have to admit: I got stuck with GNAT-3.07--I couldn't
beat the cc1 compiler to produce useful code.

So, thanks again for the update,
Wolfgang
> 
> Dan Eischen
> deischen@iworks.InterWorks.org
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709290035.CAA27255>