This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Ada] Patch to fix bug reporting instructions (3.1 branch)
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- To: Joe Buck <Joe dot Buck at synopsys dot com>
- Cc: Geert Bosch <bosch at gnat dot com>, <gcc at gcc dot gnu dot org>, <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 2 May 2002 10:19:32 +0100 (BST)
- Subject: Re: [Ada] Patch to fix bug reporting instructions (3.1 branch)
On Wed, 1 May 2002, Joe Buck wrote:
> I think that it suffices to provide accurate installation instructions.
> It's too hard to produce software that detects and behaves correctly in
> any possible situation. That is, if someone follows the instructions they
> get a working compiler.
As far as I'm concerned, the installation instructions are accurate but
incomplete; they document the use of gnatgcc, and different C and Ada
compilers, but do not state the required versions. I've applied the
following patch (mainline and 3.1 branch) to document what I understand
the GNAT version requirements to be, and the lack of configure sanity
checks. The gnatgcc support patch was accepted some time ago, and the
existing installation documentation is the status quo. I think this
status quo is something reasonable to release 3.1 with (though I'd rather
have a sanity check on the GNAT version in configure).
I would support the addition to the documentation of a URL where bootstrap
compiler binaries that are tested to work can be downloaded.
I would oppose changes to the documentation stating that other bootstrap
configurations, even if they succeed in building the Ada front end, may
produce an Ada compiler that is broken, where starting from the listed
binaries produces a working compiler, unless supported by evidence (test
results for compilers produced in both ways). I would support the
addition to the documentation of instructions on how to test your new Ada
front end to determine whether it works, since it's now too late to add an
Ada testsuite to CVS for 3.1.
Despite the documentation (and experience of many people) that gnatgcc can
be used, there still seem to be frequent claims with little evidence
quoted that it "may" not work. The only evidence has been the exception
handling problem, which has been adequately worked around, as other
problems with widely used bootstrap software get worked around. A
statement "we built 3.1-branch with the recommended bootstrap binaries,
and with a default GNU/Linux install with gnatgcc, and the version built
with gnatgcc had n more failures on the proprietary ACT testsuite, and we
don't have time to investigate them, so recommend using the bootstrap
binaries" would be evidence (even if not very useful evidence), and a
valid justification for documenting that the recommended binaries should
be used rather than installed gnatgcc - but I haven't seen any such
statements, just suppositions that things might be broken.
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ChangeLog,v
retrieving revision 1.13920
diff -u -r1.13920 ChangeLog
--- ChangeLog 2 May 2002 07:55:13 -0000 1.13920
+++ ChangeLog 2 May 2002 08:53:55 -0000
@@ -1,3 +1,7 @@
+2002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * doc/install.texi: State GNAT version requirements.
+
2002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
Index: doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.109
diff -u -r1.109 install.texi
--- doc/install.texi 1 May 2002 18:42:55 -0000 1.109
+++ doc/install.texi 2 May 2002 08:53:56 -0000
@@ -1037,7 +1037,8 @@
@section Building the Ada compiler
In order to build GNAT, the Ada compiler, you need a working GNAT
-compiler, since the Ada front end is written in Ada (with some
+compiler (GNAT version 3.13 or later, or GCC version 3.1 or later),
+since the Ada front end is written in Ada (with some
GNAT-specific extensions), and GNU make.
However, you do not need a full installation of GNAT, just the GNAT
@@ -1048,6 +1049,10 @@
detect the driver automatically if it has got a common name such as
@command{gcc} or @command{gnatgcc}. Of course, you still need a working
C compiler (the compiler driver can be different or not).
+@command{configure} does not test whether the GNAT installation works
+and has a sufficiently recent version; if too old a GNAT version is
+installed, the build will fail unless @option{--enable-languages} is
+used to disable building the Ada front end.
Additional build tools (such as @command{gnatmake}) or a working GNAT
run-time library installation are usually @emph{not} required. However,
--
Joseph S. Myers
jsm28@cam.ac.uk