<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.11">
<link title="Top" rel="top" href="#Top">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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.2 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 C90 compiler<dd>Necessary to bootstrap GCC, although versions of GCC prior
to 3.4 also allow bootstrapping with a traditional (K&amp;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 2.95 or later) because source code for language
frontends other than C might use GCC extensions.

     <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 &ldquo;working&rdquo; 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 &ldquo;good&rdquo; 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>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.79.1 (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>GNU Multiple Precision Library (GMP) version 4.1 (or later)<dd>
Necessary to build GCC.  If you do not have it installed 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.3.0 (or later)<dd>
Necessary to build GCC.  It can be downloaded from
<a href="http://www.mpfr.org/">http://www.mpfr.org/</a>.  The version of MPFR that is bundled with
GMP 4.1.x contains numerous bugs.  Although GCC may appear to function
with the buggy versions of MPFR, there are a few bugs that will not be
fixed when using this version.  It is strongly recommended to upgrade
to the recommended version of MPFR.

     <p>The <samp><span class="option">--with-mpfr</span></samp> configure option should be used if your MPFR
Library is not installed in your default library search path.  See
also <samp><span class="option">--with-mpfr-lib</span></samp> and <samp><span class="option">--with-mpfr-include</span></samp>.

     <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>

<h3 class="heading"><a name="TOC1"></a>Tools/packages necessary for modifying GCC</h3>

     <dl>
<dt>autoconf version 2.59<dt>GNU m4 version 1.4 (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.9.6<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.9.x series, which is currently 1.9.6.  When regenerating a directory
to a newer version, please update all the directories using an older 1.9.x
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 &lsquo;<samp><span class="samp">make check</span></samp>&rsquo; 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>GNU Bison version 1.28 (or later)<dd>
Necessary when modifying <samp><span class="file">*.y</span></samp> files.  Necessary to build the
<code>treelang</code> front end (which is not enabled by default) from a
checkout of the SVN repository; the generated files are not in the
repository.  They are included in releases.

     <p>Berkeley <samp><span class="command">yacc</span></samp> (<samp><span class="command">byacc</span></samp>) has been reported to work
as well.

     <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.4 (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>Perl version 5.6.1 (or later)<dd>
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. 
Necessary when targetting Darwin, building libstdc++,
and not using <samp><span class="option">--disable-symvers</span></samp>. 
Used by various scripts to generate some files included in SVN (mainly
Unicode-related and rarely changing) from source tables.

     <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>.

</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>

