| <html lang="en"> |
| <head> |
| <title>Tools for Compilation - The GNU C Library</title> |
| <meta http-equiv="Content-Type" content="text/html"> |
| <meta name="description" content="The GNU C Library"> |
| <meta name="generator" content="makeinfo 4.13"> |
| <link title="Top" rel="start" href="index.html#Top"> |
| <link rel="up" href="Installation.html#Installation" title="Installation"> |
| <link rel="prev" href="Running-make-install.html#Running-make-install" title="Running make install"> |
| <link rel="next" href="Linux.html#Linux" title="Linux"> |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> |
| <!-- |
| This file documents the GNU C library. |
| |
| This is Edition 0.12, last updated 2007-10-27, |
| of `The GNU C Library Reference Manual', for version |
| 2.8 (Sourcery G++ Lite 2011.03-41). |
| |
| Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, |
| 2003, 2007, 2008, 2010 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 the |
| Invariant Sections being ``Free Software Needs Free Documentation'' |
| and ``GNU Lesser General Public License'', the Front-Cover texts being |
| ``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A |
| copy of the license is included in the section entitled "GNU Free |
| Documentation License". |
| |
| (a) The FSF's Back-Cover Text is: ``You have the freedom to |
| copy and modify this GNU manual. Buying copies from the FSF |
| supports it in developing GNU and promoting software freedom.''--> |
| <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> |
| <link rel="stylesheet" type="text/css" href="../cs.css"> |
| </head> |
| <body> |
| <div class="node"> |
| <a name="Tools-for-Compilation"></a> |
| <p> |
| Next: <a rel="next" accesskey="n" href="Linux.html#Linux">Linux</a>, |
| Previous: <a rel="previous" accesskey="p" href="Running-make-install.html#Running-make-install">Running make install</a>, |
| Up: <a rel="up" accesskey="u" href="Installation.html#Installation">Installation</a> |
| <hr> |
| </div> |
| |
| <h3 class="appendixsec">C.3 Recommended Tools for Compilation</h3> |
| |
| <p><a name="index-installation-tools-3816"></a><a name="index-tools_002c-for-installing-library-3817"></a> |
| We recommend installing the following GNU tools before attempting to |
| build the GNU C library: |
| |
| <ul> |
| <li>GNU <code>make</code> 3.79 or newer |
| |
| <p>You need the latest version of GNU <code>make</code>. Modifying the GNU C |
| Library to work with other <code>make</code> programs would be so difficult that |
| we recommend you port GNU <code>make</code> instead. <strong>Really.</strong> We |
| recommend GNU <code>make</code> version 3.79. All earlier versions have severe |
| bugs or lack features. |
| |
| <li>GCC 3.4 or newer, GCC 4.1 recommended |
| |
| <p>For the 2.4 release or later, GCC 3.4 or higher is required; as of this |
| writing, GCC 4.4 is the compiler we advise to use for current versions. |
| On certain machines including <code>powerpc64</code>, compilers prior to GCC |
| 4.0 have bugs that prevent them compiling the C library code in the |
| 2.4 release. On other machines, GCC 4.1 is required to build the C |
| library with support for the correct <code>long double</code> type format; |
| these include <code>powerpc</code> (32 bit), <code>s390</code> and <code>s390x</code>. For |
| other architectures special compiler-provided headers are needed |
| (like <samp><span class="file">cpuid.h</span></samp> on x86) which only come with later compiler versions. |
| |
| <p>You can use whatever compiler you like to compile programs that use GNU |
| libc, but be aware that both GCC 2.7 and 2.8 have bugs in their |
| floating-point support that may be triggered by the math library. |
| |
| <p>Check the FAQ for any special compiler issues on particular platforms. |
| |
| <li>GNU <code>binutils</code> 2.15 or later |
| |
| <p>You must use GNU <code>binutils</code> (as and ld) to build the GNU C library. |
| No other assembler or linker has the necessary functionality at the |
| moment. |
| |
| <li>GNU <code>texinfo</code> 3.12f |
| |
| <p>To correctly translate and install the Texinfo documentation you need |
| this version of the <code>texinfo</code> package. Earlier versions do not |
| understand all the tags used in the document, and the installation |
| mechanism for the info files is not present or works differently. |
| |
| <li>GNU <code>awk</code> 3.0, or higher |
| |
| <p><code>Awk</code> is used in several places to generate files. |
| <code>gawk</code> 3.0 is known to work. |
| |
| <li>Perl 5 |
| |
| <p>Perl is not required, but it is used if present to test the |
| installation. We may decide to use it elsewhere in the future. |
| |
| <li>GNU <code>sed</code> 3.02 or newer |
| |
| <p><code>Sed</code> is used in several places to generate files. Most scripts work |
| with any version of <code>sed</code>. The known exception is the script |
| <code>po2test.sed</code> in the <code>intl</code> subdirectory which is used to |
| generate <code>msgs.h</code> for the test suite. This script works correctly |
| only with GNU <code>sed</code> 3.02. If you like to run the test suite, you |
| should definitely upgrade <code>sed</code>. |
| |
| </ul> |
| |
| <p class="noindent">If you change any of the <samp><span class="file">configure.in</span></samp> files you will also need |
| |
| <ul> |
| <li>GNU <code>autoconf</code> 2.53 or higher |
| </ul> |
| |
| <p class="noindent">and if you change any of the message translation files you will need |
| |
| <ul> |
| <li>GNU <code>gettext</code> 0.10.36 or later |
| </ul> |
| |
| <p class="noindent">You may also need these packages if you upgrade your source tree using |
| patches, although we try to avoid this. |
| |
| </body></html> |
| |