From owner-freebsd-ports Sun Sep 28 19:19:57 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA08735 for ports-outgoing; Sun, 28 Sep 1997 19:19:57 -0700 (PDT) Received: from iworks.InterWorks.org (deischen@iworks.interworks.org [128.255.18.10]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA08729; Sun, 28 Sep 1997 19:19:54 -0700 (PDT) Received: (from deischen@localhost) by iworks.InterWorks.org (8.7.5/) id UAA19666; Sun, 28 Sep 1997 20:47:21 -0500 (CDT) Message-Id: <199709290147.UAA19666@iworks.InterWorks.org> Date: Sun, 28 Sep 1997 20:47:21 -0500 (CDT) From: "Daniel M. Eischen" To: helbig@Informatik.BA-Stuttgart.DE Subject: Re: gnat port Cc: ada@bsd.org, asami@cs.berkeley.edu, owner-freebsd-ports@FreeBSD.ORG, ports@FreeBSD.ORG Sender: owner-freebsd-ports@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > 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) Tying the gnat port to FreeBSDs gcc has already been tried. Depending on what version of FreeBSD (2.2, or what version of -current) it *will* not build without accounting for various changes to gcc along the way. > > 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. The patch I mention was to a stable version of gcc as of sometime in August from -current. It is applied to the stock gcc tree and works fine under all 2.2+ and 3.0-current. On the other hand, tying the gnat port to FreeBSD gcc sources does not work. > ...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. Starting with GNAT-2.07, it was based on gcc-2.7. It was a much longer time before FreeBSD made the leap to gcc-2.7.2. This will most likely be the case in the future. FreeBSD wants a stable gcc and will probably take some time in moving to major new versions of it. > BTW. what about GNAT 3.10p :-) Soon. I have to revamp some of the tasking support files because the GNAT RTL internal interfaces have changes slightly. > 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. IMHO, I think it's a small price to pay to have a less complex port that isn't tied to the FreeBSD source tree which is subject to change. > 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 ...) This is nice, but it makes these ports harder to maintain and update. > 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. Nothing wrong with that. I cross compiled GNAT for FreeBSD from sparc-sun-solaris. I wouldn't want everyone to have to do that ;-) But that's what we have a package for. One could always install the package, and then build the port. > 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. Dan Eischen deischen@iworks.InterWorks.org