This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]