diff options
Diffstat (limited to 'gcc-4.8.1/INSTALL/prerequisites.html')
-rw-r--r-- | gcc-4.8.1/INSTALL/prerequisites.html | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/gcc-4.8.1/INSTALL/prerequisites.html b/gcc-4.8.1/INSTALL/prerequisites.html deleted file mode 100644 index 4879f9286..000000000 --- a/gcc-4.8.1/INSTALL/prerequisites.html +++ /dev/null @@ -1,296 +0,0 @@ -<html lang="en"> -<head> -<title>Prerequisites for GCC</title> -<meta http-equiv="Content-Type" content="text/html"> -<meta name="description" content="Prerequisites for GCC"> -<meta name="generator" content="makeinfo 4.13"> -<link title="Top" rel="top" href="#Top"> -<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> -<!-- -Copyright (C) 1988-2013 Free Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, the Front-Cover texts being (a) (see below), and -with the Back-Cover Texts being (b) (see below). A copy of the -license is included in the section entitled "GNU Free Documentation License". - -(a) The FSF's Front-Cover Text is: - - A GNU Manual - -(b) The FSF's Back-Cover Text is: - - You have freedom to copy and modify this GNU Manual, like GNU - software. Copies published by the Free Software Foundation raise - funds for GNU development.--> -<meta http-equiv="Content-Style-Type" content="text/css"> -<style type="text/css"><!-- - pre.display { font-family:inherit } - pre.format { font-family:inherit } - pre.smalldisplay { font-family:inherit; font-size:smaller } - pre.smallformat { font-family:inherit; font-size:smaller } - pre.smallexample { font-size:smaller } - pre.smalllisp { font-size:smaller } - span.sc { font-variant:small-caps } - span.roman { font-family:serif; font-weight:normal; } - span.sansserif { font-family:sans-serif; font-weight:normal; } ---></style> -</head> -<body> -<h1 class="settitle">Prerequisites for GCC</h1> -<a name="index-Prerequisites-1"></a> -GCC requires that various tools and packages be available for use in the -build procedure. Modifying GCC sources requires additional tools -described below. - -<h3 class="heading"><a name="TOC0"></a>Tools/packages necessary for building GCC</h3> - - <dl> -<dt>ISO C++98 compiler<dd>Necessary to bootstrap GCC, although versions of GCC prior -to 4.8 also allow bootstrapping with a ISO C89 compiler and versions -of GCC prior to 3.4 also allow bootstrapping with a traditional -(K&R) C compiler. - - <p>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 3.4 or later) because source code for language -frontends other than C might use GCC extensions. - - <p>Note that to bootstrap GCC with versions of GCC earlier than 3.4, you -may need to use <samp><span class="option">--disable-stage1-checking</span></samp>, though -bootstrapping the compiler with such earlier compilers is strongly -discouraged. - - <br><dt>GNAT<dd> -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. - - <br><dt>A “working” POSIX compatible shell, or GNU bash<dd> -Necessary when running <samp><span class="command">configure</span></samp> because some -<samp><span class="command">/bin/sh</span></samp> shells have bugs and may crash when configuring the -target libraries. In other cases, <samp><span class="command">/bin/sh</span></samp> or <samp><span class="command">ksh</span></samp> -have disastrous corner-case performance problems. This -can cause target <samp><span class="command">configure</span></samp> runs to literally take days to -complete in some cases. - - <p>So on some platforms <samp><span class="command">/bin/ksh</span></samp> is sufficient, on others it -isn't. See the host/target specific instructions for your platform, or -use <samp><span class="command">bash</span></samp> to be sure. Then set <samp><span class="env">CONFIG_SHELL</span></samp> in your -environment to your “good” shell prior to running -<samp><span class="command">configure</span></samp>/<samp><span class="command">make</span></samp>. - - <p><samp><span class="command">zsh</span></samp> is not a fully compliant POSIX shell and will not -work when configuring GCC. - - <br><dt>A POSIX or SVR4 awk<dd> -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. - - <br><dt>GNU binutils<dd> -Necessary in some circumstances, optional in others. See the -host/target specific instructions for your platform for the exact -requirements. - - <br><dt>gzip version 1.2.4 (or later) or<dt>bzip2 version 1.0.2 (or later)<dd> -Necessary to uncompress GCC <samp><span class="command">tar</span></samp> files when source code is -obtained via FTP mirror sites. - - <br><dt>GNU make version 3.80 (or later)<dd> -You must have GNU make installed to build GCC. - - <br><dt>GNU tar version 1.14 (or later)<dd> -Necessary (only on some platforms) to untar the source code. Many -systems' <samp><span class="command">tar</span></samp> programs will also work, only try GNU -<samp><span class="command">tar</span></samp> if you have problems. - - <br><dt>Perl version 5.6.1 (or later)<dd> -Necessary when targeting Darwin, building ‘<samp><span class="samp">libstdc++</span></samp>’, -and not using <samp><span class="option">--disable-symvers</span></samp>. -Necessary when targeting Solaris 2 with Sun <samp><span class="command">ld</span></samp> and not using -<samp><span class="option">--disable-symvers</span></samp>. The bundled <samp><span class="command">perl</span></samp> in Solaris 8 -and up works. - - <p>Necessary when regenerating <samp><span class="file">Makefile</span></samp> dependencies in libiberty. -Necessary when regenerating <samp><span class="file">libiberty/functions.texi</span></samp>. -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. - - <br><dt><samp><span class="command">jar</span></samp>, or InfoZIP (<samp><span class="command">zip</span></samp> and <samp><span class="command">unzip</span></samp>)<dd> -Necessary to build libgcj, the GCJ runtime. - -</dl> - - <p>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. If your OS vendor provides packages for the -support libraries then using those packages may be the simplest way to -install the libraries. - - <dl> -<dt>GNU Multiple Precision Library (GMP) version 4.3.2 (or later)<dd> -Necessary to build GCC. If a GMP source distribution is found in a -subdirectory of your GCC sources named <samp><span class="file">gmp</span></samp>, it will be built -together with GCC. Alternatively, if GMP is already installed but it -is not in your library search path, you will have to configure with the -<samp><span class="option">--with-gmp</span></samp> configure option. See also <samp><span class="option">--with-gmp-lib</span></samp> -and <samp><span class="option">--with-gmp-include</span></samp>. - - <br><dt>MPFR Library version 2.4.2 (or later)<dd> -Necessary to build GCC. It can be downloaded from -<a href="http://www.mpfr.org/">http://www.mpfr.org/</a>. If an MPFR source distribution is found -in a subdirectory of your GCC sources named <samp><span class="file">mpfr</span></samp>, it will be -built together with GCC. Alternatively, if MPFR is already installed -but it is not in your default library search path, the -<samp><span class="option">--with-mpfr</span></samp> configure option should be used. See also -<samp><span class="option">--with-mpfr-lib</span></samp> and <samp><span class="option">--with-mpfr-include</span></samp>. - - <br><dt>MPC Library version 0.8.1 (or later)<dd> -Necessary to build GCC. It can be downloaded from -<a href="http://www.multiprecision.org/">http://www.multiprecision.org/</a>. If an MPC source distribution -is found in a subdirectory of your GCC sources named <samp><span class="file">mpc</span></samp>, it -will be built together with GCC. Alternatively, if MPC is already -installed but it is not in your default library search path, the -<samp><span class="option">--with-mpc</span></samp> configure option should be used. See also -<samp><span class="option">--with-mpc-lib</span></samp> and <samp><span class="option">--with-mpc-include</span></samp>. - - <br><dt>ISL Library version 0.11.1<dd> -Necessary to build GCC with the Graphite loop optimizations. -It can be downloaded from <a href="ftp://gcc.gnu.org/pub/gcc/infrastructure/">ftp://gcc.gnu.org/pub/gcc/infrastructure/</a> -as <samp><span class="file">isl-0.11.1.tar.bz2</span></samp>. - - <p>The <samp><span class="option">--with-isl</span></samp> configure option should be used if ISL is not -installed in your default library search path. - - <br><dt>CLooG 0.18.0<dd> -Necessary to build GCC with the Graphite loop optimizations. It can be -downloaded from <a href="ftp://gcc.gnu.org/pub/gcc/infrastructure/">ftp://gcc.gnu.org/pub/gcc/infrastructure/</a> as -<samp><span class="file">cloog-0.18.0.tar.gz</span></samp>. The <samp><span class="option">--with-cloog</span></samp> configure option should -be used if CLooG is not installed in your default library search path. -CLooG needs to be built against ISL 0.11.1. Use <samp><span class="option">--with-isl=system</span></samp> -to direct CLooG to pick up an already installed ISL, otherwise it will use -ISL 0.11.1 as bundled with CLooG. CLooG needs to be configured to use GMP -internally, use <samp><span class="option">--with-bits=gmp</span></samp> to direct it to do that. - - </dl> - -<h3 class="heading"><a name="TOC1"></a>Tools/packages necessary for modifying GCC</h3> - - <dl> -<dt>autoconf version 2.64<dt>GNU m4 version 1.4.6 (or later)<dd> -Necessary when modifying <samp><span class="file">configure.ac</span></samp>, <samp><span class="file">aclocal.m4</span></samp>, etc. -to regenerate <samp><span class="file">configure</span></samp> and <samp><span class="file">config.in</span></samp> files. - - <br><dt>automake version 1.11.1<dd> -Necessary when modifying a <samp><span class="file">Makefile.am</span></samp> file to regenerate its -associated <samp><span class="file">Makefile.in</span></samp>. - - <p>Much of GCC does not use automake, so directly edit the <samp><span class="file">Makefile.in</span></samp> -file. Specifically this applies to the <samp><span class="file">gcc</span></samp>, <samp><span class="file">intl</span></samp>, -<samp><span class="file">libcpp</span></samp>, <samp><span class="file">libiberty</span></samp>, <samp><span class="file">libobjc</span></samp> directories as well -as any of their subdirectories. - - <p>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. - - <br><dt>gettext version 0.14.5 (or later)<dd> -Needed to regenerate <samp><span class="file">gcc.pot</span></samp>. - - <br><dt>gperf version 2.7.2 (or later)<dd> -Necessary when modifying <samp><span class="command">gperf</span></samp> input files, e.g. -<samp><span class="file">gcc/cp/cfns.gperf</span></samp> to regenerate its associated header file, e.g. -<samp><span class="file">gcc/cp/cfns.h</span></samp>. - - <br><dt>DejaGnu 1.4.4<dt>Expect<dt>Tcl<dd> -Necessary to run the GCC testsuite; see the section on testing for details. - - <br><dt>autogen version 5.5.4 (or later) and<dt>guile version 1.4.1 (or later)<dd> -Necessary to regenerate <samp><span class="file">fixinc/fixincl.x</span></samp> from -<samp><span class="file">fixinc/inclhack.def</span></samp> and <samp><span class="file">fixinc/*.tpl</span></samp>. - - <p>Necessary to run ‘<samp><span class="samp">make check</span></samp>’ for <samp><span class="file">fixinc</span></samp>. - - <p>Necessary to regenerate the top level <samp><span class="file">Makefile.in</span></samp> file from -<samp><span class="file">Makefile.tpl</span></samp> and <samp><span class="file">Makefile.def</span></samp>. - - <br><dt>Flex version 2.5.4 (or later)<dd> -Necessary when modifying <samp><span class="file">*.l</span></samp> files. - - <p>Necessary to build GCC during development because the generated output -files are not included in the SVN repository. They are included in -releases. - - <br><dt>Texinfo version 4.7 (or later)<dd> -Necessary for running <samp><span class="command">makeinfo</span></samp> when modifying <samp><span class="file">*.texi</span></samp> -files to test your changes. - - <p>Necessary for running <samp><span class="command">make dvi</span></samp> or <samp><span class="command">make pdf</span></samp> to -create printable documentation in DVI or PDF format. Texinfo version -4.8 or later is required for <samp><span class="command">make pdf</span></samp>. - - <p>Necessary to build GCC documentation during development because the -generated output files are not included in the SVN repository. They are -included in releases. - - <br><dt>TeX (any working version)<dd> -Necessary for running <samp><span class="command">texi2dvi</span></samp> and <samp><span class="command">texi2pdf</span></samp>, which -are used when running <samp><span class="command">make dvi</span></samp> or <samp><span class="command">make pdf</span></samp> to create -DVI or PDF files, respectively. - - <br><dt>SVN (any version)<dt>SSH (any version)<dd> -Necessary to access the SVN repository. Public releases and weekly -snapshots of the development sources are also available via FTP. - - <br><dt>GNU diffutils version 2.7 (or later)<dd> -Useful when submitting patches for the GCC source code. - - <br><dt>patch version 2.5.4 (or later)<dd> -Necessary when applying patches, created with <samp><span class="command">diff</span></samp>, to one's -own sources. - - <br><dt>ecj1<dt>gjavah<dd> -If you wish to modify <samp><span class="file">.java</span></samp> files in libjava, you will need to -configure with <samp><span class="option">--enable-java-maintainer-mode</span></samp>, and you will need -to have executables named <samp><span class="command">ecj1</span></samp> and <samp><span class="command">gjavah</span></samp> in your path. -The <samp><span class="command">ecj1</span></samp> executable should run the Eclipse Java compiler via -the GCC-specific entry point. You can download a suitable jar from -<a href="ftp://sourceware.org/pub/java/">ftp://sourceware.org/pub/java/</a>, or by running the script -<samp><span class="command">contrib/download_ecj</span></samp>. - - <br><dt>antlr.jar version 2.7.1 (or later)<dt>antlr binary<dd> -If you wish to build the <samp><span class="command">gjdoc</span></samp> binary in libjava, you will -need to have an <samp><span class="file">antlr.jar</span></samp> library available. The library is -searched for in system locations but can be specified with -<samp><span class="option">--with-antlr-jar=</span></samp> instead. When configuring with -<samp><span class="option">--enable-java-maintainer-mode</span></samp>, you will need to have one of -the executables named <samp><span class="command">cantlr</span></samp>, <samp><span class="command">runantlr</span></samp> or -<samp><span class="command">antlr</span></samp> in your path. - -</dl> - - <p><hr /> -<p><a href="./index.html">Return to the GCC Installation page</a> - -<!-- ***Downloading the source************************************************** --> -<!-- ***Configuration*********************************************************** --> -<!-- ***Building**************************************************************** --> -<!-- ***Testing***************************************************************** --> -<!-- ***Final install*********************************************************** --> -<!-- ***Binaries**************************************************************** --> -<!-- ***Specific**************************************************************** --> -<!-- ***Old documentation****************************************************** --> -<!-- ***GFDL******************************************************************** --> -<!-- *************************************************************************** --> -<!-- Part 6 The End of the Document --> -</body></html> - |