
2009-03-17 Benjamin Kosnik <bkoz@redhat.com> * doc/xml/manual/appendix_contributing.xml: Add docbook style sheet version information. Table-ize docbook element examples. * doc/xml/manual/using.xml: Human-readable header markup. Alphabetized. Add new headers. * doc/html: Regenerate. From-SVN: r144923
98 lines
7.9 KiB
HTML
98 lines
7.9 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Setup</title><meta name="generator" content="DocBook XSL Stylesheets V1.74.0" /><meta name="keywords" content=" ISO C++ , library " /><link rel="home" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="intro.html" title="Part I. Introduction" /><link rel="prev" href="bk01pt01ch01s03.html" title="Bugs" /><link rel="next" href="configure.html" title="Configure" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Setup</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt01ch01s03.html">Prev</a> </td><th width="60%" align="center">Part I. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.setup"></a>Chapter 2. Setup</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="bk01pt01ch02.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="sect1"><a href="configure.html">Configure</a></span></dt><dt><span class="sect1"><a href="bk01pt01ch02s03.html">Make</a></span></dt><dt><span class="sect1"><a href="test.html">Test</a></span></dt><dd><dl><dt><span class="sect2"><a href="test.html#test.organization">Organization</a></span></dt><dt><span class="sect2"><a href="test.html#test.run">Running the Testsuite</a></span></dt><dt><span class="sect2"><a href="test.html#test.new_tests">Writing a new test case</a></span></dt><dt><span class="sect2"><a href="test.html#test.harness">Test Harness and Utilities</a></span></dt></dl></dd></dl></div><p>To transform libstdc++ sources into installed include files
|
||
and properly built binaries useful for linking to other software is
|
||
a multi-step process. Steps include getting the sources,
|
||
configuring and building the sources, testing, and installation.
|
||
</p><p>The general outline of commands is something like:
|
||
</p><pre class="programlisting">
|
||
<span class="emphasis"><em>get gcc sources</em></span>
|
||
<span class="emphasis"><em>extract into gccsrcdir</em></span>
|
||
mkdir <span class="emphasis"><em>gccbuilddir</em></span>
|
||
cd <span class="emphasis"><em>gccbuilddir</em></span>
|
||
<span class="emphasis"><em>gccsrcdir</em></span>/configure --prefix=<span class="emphasis"><em>destdir</em></span> --other-opts...
|
||
make
|
||
make check
|
||
make install
|
||
</pre><p>
|
||
Each step is described in more detail in the following sections.
|
||
</p><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.setup.prereq"></a>Prerequisites</h2></div></div></div><p>
|
||
Because libstdc++ is part of GCC, the primary source for
|
||
installation instructions is
|
||
<a class="ulink" href="http://gcc.gnu.org/install/" target="_top">the GCC install page</a>.
|
||
In particular, list of prerequisite software needed to build the library
|
||
<a class="ulink" href="http://gcc.gnu.org/install/prerequisites.html" target="_top">
|
||
starts with those requirements.</a> The same pages also list
|
||
the tools you will need if you wish to modify the source.
|
||
</p><p>
|
||
Additional data is given here only where it applies to libstdc++.
|
||
</p><p>As of GCC 4.0.1 the minimum version of binutils required to build
|
||
libstdc++ is <code class="code">2.15.90.0.1.1</code>. You can get snapshots
|
||
(as well as releases) of binutils from
|
||
<a class="ulink" href="ftp://sources.redhat.com/pub/binutils" target="_top">
|
||
ftp://sources.redhat.com/pub/binutils</a>.
|
||
Older releases of libstdc++ do not require such a recent version,
|
||
but to take full advantage of useful space-saving features and
|
||
bug-fixes you should use a recent binutils whenever possible.
|
||
The configure process will automatically detect and use these
|
||
features if the underlying support is present.
|
||
</p><p>
|
||
Finally, a few system-specific requirements:
|
||
</p><div class="variablelist"><dl><dt><span class="term">linux</span></dt><dd><p>
|
||
If gcc 3.1.0 or later on is being used on linux, an attempt
|
||
will be made to use "C" library functionality necessary for
|
||
C++ named locale support. For gcc 3.2.1 and later, this
|
||
means that glibc 2.2.5 or later is required and the "C"
|
||
library de_DE locale information must be installed.
|
||
</p><p>
|
||
Note however that the sanity checks involving the de_DE
|
||
locale are skipped when an explicit --enable-clocale=gnu
|
||
configure option is used: only the basic checks are carried
|
||
out, defending against misconfigurations.
|
||
</p><p>
|
||
If the 'gnu' locale model is being used, the following
|
||
locales are used and tested in the libstdc++ testsuites.
|
||
The first column is the name of the locale, the second is
|
||
the character set it is expected to use.
|
||
</p><pre class="programlisting">
|
||
de_DE ISO-8859-1
|
||
de_DE@euro ISO-8859-15
|
||
en_HK ISO-8859-1
|
||
en_PH ISO-8859-1
|
||
en_US ISO-8859-1
|
||
en_US.ISO-8859-1 ISO-8859-1
|
||
en_US.ISO-8859-15 ISO-8859-15
|
||
en_US.UTF-8 UTF-8
|
||
es_ES ISO-8859-1
|
||
es_MX ISO-8859-1
|
||
fr_FR ISO-8859-1
|
||
fr_FR@euro ISO-8859-15
|
||
is_IS UTF-8
|
||
it_IT ISO-8859-1
|
||
ja_JP.eucjp EUC-JP
|
||
se_NO.UTF-8 UTF-8
|
||
ta_IN UTF-8
|
||
zh_TW BIG5
|
||
</pre><p>Failure to have the underlying "C" library locale
|
||
information installed will mean that C++ named locales for the
|
||
above regions will not work: because of this, the libstdc++
|
||
testsuite will skip the named locale tests. If this isn't an
|
||
issue, don't worry about it. If named locales are needed, the
|
||
underlying locale information must be installed. Note that
|
||
rebuilding libstdc++ after the "C" locales are installed is not
|
||
necessary.
|
||
</p><p>
|
||
To install support for locales, do only one of the following:
|
||
</p><div class="itemizedlist"><ul type="disc"><li><p>install all locales</p><div class="itemizedlist"><ul type="circle"><li><p>with RedHat Linux:
|
||
</p><p> <code class="code"> export LC_ALL=C </code>
|
||
</p><p> <code class="code"> rpm -e glibc-common --nodeps </code>
|
||
</p><p>
|
||
<code class="code"> rpm -i --define "_install_langs all"
|
||
glibc-common-2.2.5-34.i386.rpm
|
||
</code>
|
||
</p></li><li><p>
|
||
Instructions for other operating systems solicited.
|
||
</p></li></ul></div></li><li><p>install just the necessary locales</p><div class="itemizedlist"><ul type="circle"><li><p>with Debian Linux:</p><p> Add the above list, as shown, to the file
|
||
<code class="code">/etc/locale.gen</code> </p><p> run <code class="code">/usr/sbin/locale-gen</code> </p></li><li><p>on most Unix-like operating systems:</p><p><code class="code"> localedef -i de_DE -f ISO-8859-1 de_DE </code></p><p>(repeat for each entry in the above list) </p></li><li><p>
|
||
Instructions for other operating systems solicited.
|
||
</p></li></ul></div></li></ul></div></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk01pt01ch01s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="configure.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Bugs </td><td width="20%" align="center"><a accesskey="h" href="../spine.html">Home</a></td><td width="40%" align="right" valign="top"> Configure</td></tr></table></div></body></html>
|