From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 22 Sep 93 11:50:09 GMT From: lab.ultra.nyu.edu!kenner@nyu.edu (Richard Kenner) Subject: Re: Current state of Ada 9X compilers...? Message-ID: <27pe5h$hdo@cmcl2.NYU.EDU> List-Id: In article <27oniq$khn@hpchase.rose.hp.com> tom@hpncmo.rose.hp.com (Thomas Vach uska) writes: >Can anybody offer an informed insight as to when platforms other than OS/2 and >SPARC are going to be supported by GNAT? Namely, what I have in mind is >HP9000's series 800, 700 or 400. From what I understand, cross-compilation >from one of the supported platforms, i.e. OS/2 or SPARC would be necessary to >achieve this. Since this keeps coming up, let me try to summarize the situation. GNAT is a front-end to GCC, the GNU C compiler. As such, it can generate code for all targets supported by GCC, which is essentially all commonly-used processors and systems other than the Cray, Transputer, and KSR. The intention is to distribute GNAT releases (this is a good time to remind people that what is available now is NOT YET a release; merely a "snapshot" of the current state of development of a project of wide interest) the same way as GCC: primarily in source form, with binaries for a very few configurations. In order to compile GCC you need a C compiler. Since most systems include a C compiler, there is no need to distribute GCC binaries. For those systems on which a C compiler is often not available (VMS, Solaris 2.0, and some of the PC systems), binaries of GCC are available at various locations. However, providing binaries for the 150 or so configurations that support GCC (and hence GNAT) is impractical. The situation for building GNAT is currently made difficult by the fact that the only compiler capable of compiling it is itself due to the way C and Ada are intermixed. We hope, at some point, to provide some sort of bootstrap tools to allow GNAT to be built with just a C compiler, probably via a multi-step process. Although we would like to do this, it is important to point out that we are not committed to doing it and we do not know when such tools might be available, precisely how they will work, or what auxiliary files may need to be added to the distribution to support the bootstrap process. In the meantime, therefore, the only way to build GNAT is via a cross-compiler from some machine on which a binary is available. From NYU, that's Sparc and OS/2 (I would not recommend trying to cross-compile from OS/2, though). However, we know that other folks have binaries, though possibly dated, for other machines. Doing this cross-compilation is a very straightforward process. However, in order to do it, you need to be very familiar with general cross-compilation issues and know how to build GCC cross-compilers. To make it easier, we are adding the following to Makefile.in in our next snapshot: gnat-cross: force make $(ADA_ADA_OBJS) CC="gcc -Bstage1/" CFLAGS="-S" Although we encourage people who feel comfortable with the process to build GNAT for other systems, we do not have the resources to assist people who do not understand the procedure. If you understand how to do it but something doesn't work when you try it, we'd like to know about it, but it's not likely we'll be able to respond in any way, at least in the short term. We do know that if you want to build GNAT on a HP PA-RISC system, you need to specify -mdisable-indexing when you build the C parts of GNAT.