From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geoff Keating To: dewar@gnat.com (Robert Dewar) Cc: gcc@gcc.gnu.org Subject: Re: A FrontEnd in C++? Date: Wed, 21 Aug 2002 12:59:00 -0000 Message-id: References: <20020821184114.89A05F2942@nile.gnat.com> X-SW-Source: 2002-08/msg01265.html dewar@gnat.com (Robert Dewar) writes: > A lot of the growing pains in integrating Ada into the FSF structure > come from the fact that this is the first time it is done, so we > have had to learn how it should be done, and from people having the > unrealistic expectation that you should be able to build from any > old ancient version of GNAT used together with some unrelated > version of C. > > I think once we have gone through a couple of release cycles with > GNAT there, the problems will mostly take care of themselves. The problems I found with building Ada are all related to trying to obtain a version of GNAT to use to bootstrap. There are two ways you can do this: 1. Take an old version of GNAT, and try to use that. This doesn't work, because you need a _current_ version. The rest of GCC does not need a current version of GCC to bootstrap itself; any working C compiler will do, and we stretch the definition of "working" to include (for instance) the base compiler on IRIX. By comparison, GNAT requires not just any working Ada compiler, but GNAT, and not any GNAT, but one of a small set of versions. 2. Build a cross-compiler from a system that does have a suitable version of GNAT. This doesn't work because of various bugs in GNAT and in building cross-compilers. These bugs wouldn't matter so much if GNAT wasn't built, because it's rare that anyone needs a cross-compiler from, say, linux to AIX (see PR 6872), unless they want GNAT. It doesn't help that GNAT's build process with cross compilers is much less user friendly than (and different to) the rest of GCC (see PRs 5910, 5911). -- - Geoffrey Keating