This is the mail archive of the gcc-patches@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: Patch: Documenting tools necessary for GCC [take 2]


 > From: "Joseph S. Myers" <jsm28@cam.ac.uk>
 > 
 > On Fri, 6 Jun 2003, Kaveh R. Ghazi wrote:
 > 
 > > This time I've put it in the form of a patch against install.texi.  I
 > > added a new section called "Prerequisites" before "Downloading", and
 > > this passes "make info".  My markup is weak so be kind, I simply cut
 > > and pasted and poked until "make info" stopped complaining. :-)
 > 
 > You also need to update the install.texi2html script (to create the new
 > file), and test that that works.
 > 
 > [...]

Thanks for the feedback, hopefully I got everything right this time.

Tested via "make info" as well as by running install.texi2html and
browsing the generated prerequisites.html page.

Ok?


2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* doc/install.texi (Prerequisites): New section documenting
	tools and packages necessary prior to building and/or
	modifying GCC.
	* doc/install.texi2html: Also generate prerequisites.html.
	
diff -rup orig/egcc-CVS20030605/gcc/doc/install.texi egcc-CVS20030605/gcc/doc/install.texi
--- orig/egcc-CVS20030605/gcc/doc/install.texi	2003-06-05 20:01:51.000000000 -0400
+++ egcc-CVS20030605/gcc/doc/install.texi	2003-06-06 09:26:14.326607000 -0400
@@ -14,6 +14,9 @@
 @ifset specifichtml
 @settitle Host/Target specific installation notes for GCC
 @end ifset
+@ifset prerequisiteshtml
+@settitle Prerequisites for GCC
+@end ifset
 @ifset downloadhtml
 @settitle Downloading GCC
 @end ifset
@@ -47,6 +50,7 @@
 @ifnothtml
 @set indexhtml
 @set specifichtml
+@set prerequisiteshtml
 @set downloadhtml
 @set configurehtml
 @set buildhtml
@@ -155,6 +159,7 @@ The installation procedure itself is bro
 
 @ifinfo
 @menu
+* Prerequisites::
 * Downloading the source::
 * Configuration::
 * Building::
@@ -165,6 +170,8 @@ The installation procedure itself is bro
 @ifhtml
 @enumerate
 @item
+@uref{prerequisites.html,,Prerequisites}
+@item
 @uref{download.html,,Downloading the source}
 @item
 @uref{configure.html,,Configuration}
@@ -201,10 +208,180 @@ not yet been merged into the main part o
 @end ifhtml
 @end ifset
 
+@c ***Prerequisites**************************************************
+@ifnothtml
+@comment node-name,     next,          previous, up
+@node    Prerequisites, Downloading the source, , Installing GCC
+@end ifnothtml
+@ifset prerequisiteshtml
+@ifnothtml
+@chapter Prerequisites
+@end ifnothtml
+@cindex Prerequisites
+
+GCC requires that various tools and packages be available for use in the
+build procedure.  Modifying GCC sources requires additional tools
+described below.
+
+@heading Tools/packages necessary for building GCC
+@table @code
+@item ISO C90 compiler
+Necessary to bootstrap the GCC package, although versions of GCC prior
+to 3.4 also allow bootstrapping with a traditional (K&R) C compiler.
+
+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 (version 2.95 or later) because source code for language
+frontends other than C might use GCC extensions.
+
+@item GNAT
+
+In order to build the Ada compiler (GNAT) you must already have GNAT
+installed because portions of the Ada frontend are written in Ada (with
+GNAT extensions.)  Refer to the Ada installation instructions for more
+specific information.
+
+@item A ``working'' POSIX compatible shell, or GNU bash
+
+Necessary when running @command{configure} because some
+@command{/bin/sh} shells have bugs and may crash when configuring the
+target libraries.  In other cases, @command{/bin/sh} or even some
+@command{ksh} have disastrous corner-case performance problems.  This
+can cause target @command{configure} runs to literally take days to
+complete in some cases.
+
+So on some platforms @command{/bin/ksh} is sufficient, on others it
+isn't.  See the host/target specific instructions for your platform, or
+use @command{bash} to be sure.  Then set @env{CONFIG_SHELL} in your
+environment to your ``good'' shell prior to running
+@command{configure/make}.
+
+@item GNU binutils
+
+Necessary in some circumstances, optional in others.  See the
+host/target specific instructions for your platform for the exact
+requirements.
+
+@item gzip version 1.2.4 (or later) or
+@itemx bzip2 version 1.0.2 (or later)
+
+Necessary to uncompress GCC @command{tar} files when source code is
+obtained via FTP mirror sites.
+
+@item GNU tar version 1.12 (or later)
+
+Necessary (only on some platforms) to untar the source code.  Many
+systems' @command{tar} programs will also work, only try GNU
+@command{tar} if you have problems.
+
+@end table
+
+
+@heading Tools/packages necessary for modifying GCC
+@table @code
+
+@item autoconf version 2.13 (NO earlier or later versions) and
+@itemx GNU m4 version 1.4 (or later)
+
+Necessary when modifying @file{configure.in}, @file{aclocal.m4}, etc.@
+to regenerate @file{configure} and @file{config.in} files
+
+@item automake version ???
+
+Necessary when modifying a @file{Makefile.am} file to regenerate its
+associated @file{Makefile.in}
+
+@item gperf version 2.7.2 (or later)
+
+Necessary when modifying @command{gperf} input files, e.g.@
+@file{gcc/cp/cfns.gperf} to regenerate its associated header file, e.g.@
+@file{gcc/cp/cfns.h}.
+
+@item expect version ???
+@itemx tcl version ???
+@itemx dejagnu version ???
+
+Necessary to run the GCC testsuite.
+
+@item autogen version 5.5.4 (or later) and
+@itemx guile version 1.4.1 (or later)
+
+Necessary to regenerate @file{fixinc/fixincl.x} from
+@file{fixinc/inclhack.def} and @file{fixinc/*.tpl}.
+
+Necessary to run the @file{fixinc} @command{make check}.
+
+Necessary to regenerate the top level @file{Makefile.am} files from
+@file{Makefile.tpl} and @file{Makefile.def}.
+
+@item GNU Bison version 1.28 (or later)
+Berkeley @command{yacc} (@command{byacc}) is also reported to work other
+than for java.
+
+Necessary when modifying @file{*.y} files.
+
+Necessary to build GCC during development because the generated output
+files are not included in the CVS repository.  They are included in
+releases.
+
+@item Flex version 2.5.4 (or later)
+
+Necessary when modifying @file{*.l} files.
+
+Necessary to build GCC during development because the generated output
+files are not included in the CVS repository.  They are included in
+releases.
+
+@item Texinfo version 4.2 (or later)
+
+Necessary for running @command{makeinfo} when modifying @file{*.texi}
+files to test your changes.
+
+Necessary to build GCC documentation during development because the
+generated output files are not included in the CVS repository.  They are
+included in releases.
+
+@item @TeX{} (any working version)
+
+Necessary for running @command{texi2dvi}, used when running
+@command{make dvi} to create DVI files.
+
+@item cvs version 1.10 (or later)
+@itemx ssh (any version)
+
+Necessary to access the CVS repository.  Public releases and weekly
+snapshots of the development sources are also available via FTP.
+
+@item perl version 5.6.1 (or later)
+
+Necessary when regenerating @file{Makefile} dependencies in libiberty.
+Necessary when regenerating something with intl??? (pod2man???)
+Other stuff???
+
+@item GNU diffutils version 2.7 (or later)
+
+Necessary when creating changes to GCC source code to submit for review.
+
+@item patch version 2.5.4 (or later)
+
+Necessary when applying patches, created with @command{diff}, to one's
+own sources.
+
+@end table
+
+@html
+<hr />
+<p>
+@end html
+@ifhtml
+@uref{./index.html,,Return to the GCC Installation page}
+@end ifhtml
+@end ifset
+
 @c ***Downloading the source**************************************************
 @ifnothtml
 @comment node-name,     next,          previous, up
-@node    Downloading the source, Configuration, , Installing GCC
+@node    Downloading the source, Configuration, Prerequisites, Installing GCC
 @end ifnothtml
 @ifset downloadhtml
 @ifnothtml
diff -rup orig/egcc-CVS20030605/gcc/doc/install.texi2html egcc-CVS20030605/gcc/doc/install.texi2html
--- orig/egcc-CVS20030605/gcc/doc/install.texi2html	2001-12-17 14:42:57.000000000 -0500
+++ egcc-CVS20030605/gcc/doc/install.texi2html	2003-06-06 09:20:32.497652000 -0400
@@ -21,7 +21,7 @@ if [ ! -d $DESTDIR ]; then
     mkdir -p $DESTDIR
 fi
 
-for x in index.html specific.html download.html configure.html \
+for x in index.html specific.html prerequisites.html download.html configure.html \
          build.html test.html finalinstall.html binaries.html old.html \
          gfdl.html
 do


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