From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- INSTALL/prerequisites.html | 297 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 297 insertions(+) create mode 100644 INSTALL/prerequisites.html (limited to 'INSTALL/prerequisites.html') diff --git a/INSTALL/prerequisites.html b/INSTALL/prerequisites.html new file mode 100644 index 000000000..f5d374626 --- /dev/null +++ b/INSTALL/prerequisites.html @@ -0,0 +1,297 @@ + + +Prerequisites for GCC + + + + + + + + + + +

Prerequisites for GCC

+ +GCC requires that various tools and packages be available for use in the +build procedure. Modifying GCC sources requires additional tools +described below. + +

Tools/packages necessary for building GCC

+ +
+
ISO C90 compiler
Necessary to bootstrap GCC, although versions of GCC prior +to 3.4 also allow bootstrapping with a traditional (K&R) C compiler. + +

To build 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. + +

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. + +
A “working” POSIX compatible shell, or GNU bash
+Necessary when running configure because some +/bin/sh shells have bugs and may crash when configuring the +target libraries. In other cases, /bin/sh or ksh +have disastrous corner-case performance problems. This +can cause target configure runs to literally take days to +complete in some cases. + +

So on some platforms /bin/ksh is sufficient, on others it +isn't. See the host/target specific instructions for your platform, or +use bash to be sure. Then set CONFIG_SHELL in your +environment to your “good” shell prior to running +configure/make. + +

zsh is not a fully compliant POSIX shell and will not +work when configuring GCC. + +

A POSIX or SVR4 awk
+Necessary for creating some of the generated source files for GCC. +If in doubt, use a recent GNU awk version, as some of the older ones +are broken. GNU awk version 3.1.5 is known to work. + +
GNU binutils
+Necessary in some circumstances, optional in others. See the +host/target specific instructions for your platform for the exact +requirements. + +
gzip version 1.2.4 (or later) or
bzip2 version 1.0.2 (or later)
+Necessary to uncompress GCC tar files when source code is +obtained via FTP mirror sites. + +
GNU make version 3.80 (or later)
+You must have GNU make installed to build GCC. + +
GNU tar version 1.14 (or later)
+Necessary (only on some platforms) to untar the source code. Many +systems' tar programs will also work, only try GNU +tar if you have problems. + +
Perl version 5.6.1 (or later)
+Necessary when targetting Darwin, building ‘libstdc++’, +and not using --disable-symvers. +Necessary when targetting Solaris 2 with Sun ld and not using +--disable-symvers. A helper +script needs ‘Glob.pm’, which is missing from perl 5.005 +included in Solaris 8. The bundled perl in Solaris 9 and up +works. + +

Necessary when regenerating Makefile dependencies in libiberty. +Necessary when regenerating libiberty/functions.texi. +Necessary when generating manpages from Texinfo manuals. +Used by various scripts to generate some files included in SVN (mainly +Unicode-related and rarely changing) from source tables. + +

jar, or InfoZIP (zip and unzip)
+Necessary to build libgcj, the GCJ runtime. + +
+ +

Several support libraries are necessary to build GCC, some are required, +others optional. While any sufficiently new version of required tools +usually work, library requirements are generally stricter. Newer +versions may work in some cases, but it's safer to use the exact +versions documented. We appreciate bug reports about problems with +newer versions, though. + +

+
GNU Multiple Precision Library (GMP) version 4.3.2 (or later)
+Necessary to build GCC. If you do not have it installed in your +library search path, you will have to configure with the +--with-gmp configure option. See also --with-gmp-lib +and --with-gmp-include. Alternatively, if a GMP source +distribution is found in a subdirectory of your GCC sources named +gmp, it will be built together with GCC. + +
MPFR Library version 2.4.2 (or later)
+Necessary to build GCC. It can be downloaded from +http://www.mpfr.org/. The --with-mpfr configure +option should be used if your MPFR Library is not installed in your +default library search path. See also --with-mpfr-lib and +--with-mpfr-include. Alternatively, if a MPFR source +distribution is found in a subdirectory of your GCC sources named +mpfr, it will be built together with GCC. + +
MPC Library version 0.8.1 (or later)
+Necessary to build GCC. It can be downloaded from +http://www.multiprecision.org/. The --with-mpc +configure option should be used if your MPC Library is not installed +in your default library search path. See also --with-mpc-lib +and --with-mpc-include. Alternatively, if an MPC source +distribution is found in a subdirectory of your GCC sources named +mpc, it will be built together with GCC. + +
Parma Polyhedra Library (PPL) version 0.11
+Necessary to build GCC with the Graphite loop optimizations. +It can be downloaded from http://www.cs.unipr.it/ppl/Download/. + +

The --with-ppl configure option should be used if PPL is not +installed in your default library search path. + +

CLooG-PPL version 0.15 or CLooG 0.16
+Necessary to build GCC with the Graphite loop optimizations. There +are two versions available. CLooG-PPL 0.15 as well as CLooG 0.16. +The former is the default right now. It can be downloaded from +ftp://gcc.gnu.org/pub/gcc/infrastructure/ as +cloog-ppl-0.15.tar.gz. + +

CLooG 0.16 support is still in testing stage, but will be the +default in future GCC releases. It is also available at +ftp://gcc.gnu.org/pub/gcc/infrastructure/ as +cloog-0.16.1.tar.gz. To use it add the additional configure +option --enable-cloog-backend=isl. Even if CLooG 0.16 +does not use PPL, PPL is still required for Graphite. + +

In both cases --with-cloog configure option should be used +if CLooG is not installed in your default library search path. + +

+ +

Tools/packages necessary for modifying GCC

+ +
+
autoconf version 2.64
GNU m4 version 1.4.6 (or later)
+Necessary when modifying configure.ac, aclocal.m4, etc. +to regenerate configure and config.in files. + +
automake version 1.11.1
+Necessary when modifying a Makefile.am file to regenerate its +associated Makefile.in. + +

Much of GCC does not use automake, so directly edit the Makefile.in +file. Specifically this applies to the gcc, intl, +libcpp, libiberty, libobjc directories as well +as any of their subdirectories. + +

For directories that use automake, GCC requires the latest release in +the 1.11 series, which is currently 1.11.1. When regenerating a directory +to a newer version, please update all the directories using an older 1.11 +to the latest released version. + +

gettext version 0.14.5 (or later)
+Needed to regenerate gcc.pot. + +
gperf version 2.7.2 (or later)
+Necessary when modifying gperf input files, e.g. +gcc/cp/cfns.gperf to regenerate its associated header file, e.g. +gcc/cp/cfns.h. + +
DejaGnu 1.4.4
Expect
Tcl
+Necessary to run the GCC testsuite; see the section on testing for details. + +
autogen version 5.5.4 (or later) and
guile version 1.4.1 (or later)
+Necessary to regenerate fixinc/fixincl.x from +fixinc/inclhack.def and fixinc/*.tpl. + +

Necessary to run ‘make check’ for fixinc. + +

Necessary to regenerate the top level Makefile.in file from +Makefile.tpl and Makefile.def. + +

Flex version 2.5.4 (or later)
+Necessary when modifying *.l files. + +

Necessary to build GCC during development because the generated output +files are not included in the SVN repository. They are included in +releases. + +

Texinfo version 4.7 (or later)
+Necessary for running makeinfo when modifying *.texi +files to test your changes. + +

Necessary for running make dvi or make pdf to +create printable documentation in DVI or PDF format. Texinfo version +4.8 or later is required for make pdf. + +

Necessary to build GCC documentation during development because the +generated output files are not included in the SVN repository. They are +included in releases. + +

TeX (any working version)
+Necessary for running texi2dvi and texi2pdf, which +are used when running make dvi or make pdf to create +DVI or PDF files, respectively. + +
SVN (any version)
SSH (any version)
+Necessary to access the SVN repository. Public releases and weekly +snapshots of the development sources are also available via FTP. + +
GNU diffutils version 2.7 (or later)
+Useful when submitting patches for the GCC source code. + +
patch version 2.5.4 (or later)
+Necessary when applying patches, created with diff, to one's +own sources. + +
ecj1
gjavah
+If you wish to modify .java files in libjava, you will need to +configure with --enable-java-maintainer-mode, and you will need +to have executables named ecj1 and gjavah in your path. +The ecj1 executable should run the Eclipse Java compiler via +the GCC-specific entry point. You can download a suitable jar from +ftp://sourceware.org/pub/java/, or by running the script +contrib/download_ecj. + +
antlr.jar version 2.7.1 (or later)
antlr binary
+If you wish to build the gjdoc binary in libjava, you will +need to have an antlr.jar library available. The library is +searched in system locations but can be configured with +--with-antlr-jar= instead. When configuring with +--enable-java-maintainer-mode, you will need to have one of +the executables named cantlr, runantlr or +antlr in your path. + +
+ +


+

Return to the GCC Installation page + + + + + + + + + + + + + + -- cgit v1.2.3