This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Documenting tools necessary for GCC [draft]
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 29 May 2003 18:54:00 +0100 (BST)
- Subject: Re: Documenting tools necessary for GCC [draft]
- References: <200305291727.NAA06347@caip.rutgers.edu>
On Thu, 29 May 2003, Kaveh R. Ghazi wrote:
> I'm bad at designing and implementing formatting, so I left it in text
> form for now. If someone wants to convert into an HTML page suitable
> for our website, that would also be appreciated.
The appropriate location is install.texi, as this documentation ought to
be branched for releases to describe what is needed on the particular
release branch. (And seek out all the places where version numbers are
presently documented in install.texi or elsewhere, to unify the
documentation of prerequisites.)
> To make all languages in a cross-compiler or other configuration where
> 3-stage bootstrap is not performed, you need to start with an existing
> GCC binary because source code for language frontends other than C
> might use GCC extensions.
For building cross-compilers it must (as documented in install.texi) be
GCC 2.95 or later. There is also the documentation of Ada prerequisites
in install.texi.
> A working Bourne (or compatible) shell, or
> GNU bash version 2.??? (or later)
Is there any actual reason to suppose bash 1.x defective?
> Necessary when running configure because some /bin/sh shells have bugs
> or disastrous corner-case performance problems. Set CONFIG_SHELL in
> your environment to your "good" shell prior to running configure/make.
> Sometimes /bin/ksh is sufficient, sometimes it isn't. See the
> host/target specific instructions for your platform, or use bash to be
> sure.
When is ksh defective?
If we're recommending this, perhaps we can consider allowing POSIX shell
features (e.g. shell functions, negation of pipelines) to be used. (The
POSIX shell standard was based on ksh, and any ksh or bash version likely
to be in use should suffice for the features that are likely to be
useful.)
> GNU make version 3.79.1 (later versions okay for building only.)
>
> Necessary when running "make" to build the GCC package.
We've decided to desupport non-GNU make generally (not just for GNAT and
libjava)?
> automake version ???
1.4p? (whichever is the latest 1.4 patch release) but I don't know if this
is the case for all directories.
> makeinfo version 4.2 (or later)
>
> Necessary when modifying *.texi files to test your changes.
You need both makeinfo and texi2dvi from a Texinfo installation (version
4.2 or later) - and a working TeX installation (no version number
relevant; any version now in use should suffice).
> ------------------------------------------------------
> perl version 5.??? (or later)
>
> Necessary when regenerating Makefile dependencies in libiberty.
> Necessary when regenerating something with intl??? (pod2man???)
> Other stuff???
I'm sure that perl 5.6.1 or later suffices; earlier versions may work as
well if you upgrade the included Pod::Man.
> patch version 2.5 (or later)
>
> Necessary when applying patches, created with "diff", to one's own
> sources.
Some versions of patch have had problems with patches to binary files,
which are now included in the diffs between GCC releases (message
catalogs). Could you test whether patch 2.5 does indeed work with these
patches (i.e., generates the same tree as the tarballs); if not, 2.5.4 may
need to be recommended instead.
Not included in the above list:
libtool (a tricky case because what's used is based on a dead CVS branch).
gettext (only for regenerating gcc.pot) (the most recent release isn't yet
needed, though quite possibly it has useful features for GCC; I don't know
what exactly the correct required version is; Zack can probably advise).
--
Joseph S. Myers
jsm28@cam.ac.uk