install.html: Update locales list (from Paolo).

2004-08-30  Phil Edwards  <phil@codesourcery.com>

	* docs/html/install.html:  Update locales list (from Paolo).
	Remove other redundant information and point to the GCC install
	documentation.

From-SVN: r86800
This commit is contained in:
Phil Edwards 2004-08-30 21:18:09 +00:00 committed by Phil Edwards
parent 216116130e
commit 00fd31d1d2
2 changed files with 28 additions and 160 deletions

View File

@ -1,3 +1,9 @@
2004-08-30 Phil Edwards <phil@codesourcery.com>
* docs/html/install.html: Update locales list (from Paolo).
Remove other redundant information and point to the GCC install
documentation.
2004-08-30 Benjamin Kosnik <bkoz@redhat.com> 2004-08-30 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pool_allocator.h: Rename __pool_base to * include/ext/pool_allocator.h: Rename __pool_base to

View File

@ -31,12 +31,16 @@
<!-- ####################################################### --> <!-- ####################################################### -->
<hr /> <hr />
<h2>Contents</h2> <h2>Contents</h2>
<p>Because libstdc++-v3 is part of GCC, the primary source for
installation instructions is
<a href="http://gcc.gnu.org/install/">the GCC install page</a>.
Additional data is given here only where it applies to libstdc++-v3.
</p>
<ul> <ul>
<li><a href="#prereqs">Tools you will need beforehand</a></li> <li><a href="#prereqs">Tools you will need beforehand</a></li>
<li><a href="#srcsetup">Setting up the source directories</a></li>
<li><a href="#config">Configuring</a></li> <li><a href="#config">Configuring</a></li>
<li><a href="#install">Building and installing the library</a></li>
<li><a href="#postinstall">Post-installation</a></li>
<li><a href="#usage">Using the library</a></li> <li><a href="#usage">Using the library</a></li>
</ul> </ul>
@ -45,52 +49,24 @@
<!-- ####################################################### --> <!-- ####################################################### -->
<h2><a name="prereqs">Tools you will need beforehand</a></h2> <h2><a name="prereqs">Tools you will need beforehand</a></h2>
<p>You will need a recent version of g++ to compile the snapshot of <p>The list of software needed to build the library is kept with the
libstdc++, such as one of the GCC 3.x snapshots (insert standard rest of the compiler, at
caveat about using snapshots rather than formal releases). You will <a href="http://gcc.gnu.org/install/prerequisites.html">
need the full source distribution to whatever compiler release you are http://gcc.gnu.org/install/prerequisites.html</a>. The same page
using. The GCC snapshots can be had from one of the sites on their also lists the tools you will need if you wish to modify the source.
<a href="http://gcc.gnu.org/mirrors.html">mirror list</a>.
</p>
<p>In addition, if you plan to modify the makefiles or regenerate the
configure scripts you'll need recent versions of the GNU Autotools:
autoconf (version 2.57 or later) and
automake (version 1.7.6 or later),
in order to rebuild the files. Libtool is built from special sources
in the GCC source tree.
These tools are all required to be installed in the same location
(most linux distributions install these tools by default, so no
worries as long as the versions are correct).
</p>
<p>To test your build, you will need either DejaGNU 1.4 (to run
<code>'make check'</code> like
<a href="http://gcc.gnu.org/install/test.html">the rest of GCC</a>),
or Bash 2.x (to run <code>'make check-script'</code>).
</p> </p>
<p>As of June 19, 2000, libstdc++ attempts to use tricky and <p>As of June 19, 2000, libstdc++ attempts to use tricky and
space-saving features of the GNU toolchain, enabled with space-saving features of the GNU toolchain, enabled with
<code>-ffunction-sections -fdata-sections <code>-ffunction-sections -fdata-sections -Wl,--gc-sections</code>.
-Wl,--gc-sections</code>. To obtain maximum benefit from this, To obtain maximum benefit from this, binutils after this date should
binutils after this date should also be used (bugs were fixed also be used (bugs were fixed with C++ exception handling related
with C++ exception handling related to this change in to this change in libstdc++-v3). The version of these tools should
libstdc++-v3). The version of these tools should be be <code>2.10.90</code>, or later, and you can get snapshots (as
<code>2.10.90</code>, or later, and you can get snapshots (as
well as releases) of binutils well as releases) of binutils
<a href="ftp://sources.redhat.com/pub/binutils">here</a>. The <a href="ftp://sources.redhat.com/pub/binutils">here</a>. The
configure process will automatically detect and use these configure process will automatically detect and use these features
features if the underlying support is present. if the underlying support is present.
</p>
<p>If you are using a 3.1-series libstdc++ snapshot, then the
requirements are slightly more stringent: the compiler sources
must also be 3.1 or later (for both technical and licensing
reasons), and your binutils must be 2.11.95 or later if you want
to use symbol versioning in shared libraries. Again, the
configure process will automatically detect and use these
features if the underlying support is present.
</p> </p>
<p>Finally, a few system-specific requirements: </p> <p>Finally, a few system-specific requirements: </p>
@ -125,9 +101,12 @@ en_US.UTF-8 UTF-8
es_MX ISO-8859-1 es_MX ISO-8859-1
fr_FR ISO-8859-1 fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15 fr_FR@euro ISO-8859-15
is_IS UTF-8
it_IT ISO-8859-1 it_IT ISO-8859-1
ja_JP.eucjp EUC-JP ja_JP.eucjp EUC-JP
se_NO.UTF-8 UTF-8 se_NO.UTF-8 UTF-8
ta_IN UTF-8
zh_TW BIG5
</pre> </pre>
<p>Failure to have the underlying "C" library locale <p>Failure to have the underlying "C" library locale
information installed will mean that C++ named locales for the information installed will mean that C++ named locales for the
@ -174,66 +153,6 @@ se_NO.UTF-8 UTF-8
<hr /> <hr />
<h2><a name="srcsetup">Setting up the source directories</a></h2>
<p>The following definitions will be used throughout the rest of this
document:
</p>
<ul>
<li><em>gccsrcdir</em>: The directory holding the source of the
compiler. It should have several subdirectories like
<em>gccsrcdir</em>/libiberty and <em>gccsrcdir</em>/gcc.
</li>
<li><em>libsrcdir</em>: The directory holding the source of the
C++ library.
</li>
<li><em>gccbuilddir</em>: The build directory for the compiler
in <em>gccsrcdir</em>. GCC requires that it be built in
a different directory than its sources.
</li>
<li><em>libbuilddir</em>: The build directory for libstdc++.
</li>
<li><em>destdir</em>: The eventual installation directory for
the compiler/libraries, set with the --prefix option to
the configure script.
</li>
</ul>
<p> Note: </p>
<ol>
<li>The 3.0 version and following are intended to replace the
library that comes with the compiler, so <em>libsrcdir</em>
and <em>libbuilddir</em> must be contained under
<em>gccsrcdir</em> and <em>gccbuilddir</em>, respectively.
</li>
<li>The source, build, and installation directories should
not be parents of one another; i.e., these should all be
separate directories. Please don't build out of the
source directory.
</li>
</ol>
<p>Check out or download the GCC sources: the resulting source directory
(<code>gcc</code> or <code>gcc-3.0.3</code>, for example) is
<em>gccsrcdir</em>.
Once in <em>gccsrcdir</em>, you'll need to rename or delete the
libstdc++-v3 directory which comes with that snapshot:
</p>
<pre>
mv libstdc++-v3 libstdc++-v3-previous <strong>[OR]</strong>
rm -r libstdc++-v3</pre>
<p>Next, unpack the libstdc++-v3 library tarball into this
<em>gccsrcdir</em> directory; it will create a
<em>libsrcdir</em> called <code>libstdc++-<em>version</em></code>:
</p>
<pre>
gzip -dc libstdc++-version.tar.gz | tar xf -</pre>
<p>Finally, rename <em>libsrcdir</em> to <code>libstdc++-v3</code> so that
gcc's configure flags will be able to deal with the new library.
</p>
<pre>
mv <em>libsrcdir</em> libstdc++-v3</pre>
<hr />
<h2><a name="config">Configuring</a></h2> <h2><a name="config">Configuring</a></h2>
<p>If you have never done this before, you should read the basic <p>If you have never done this before, you should read the basic
<a href="http://gcc.gnu.org/install/">GCC Installation <a href="http://gcc.gnu.org/install/">GCC Installation
@ -254,63 +173,6 @@ se_NO.UTF-8 UTF-8
<em>gccsrcdir</em>/configure --prefix=<em>destdir</em> --other-opts...</pre> <em>gccsrcdir</em>/configure --prefix=<em>destdir</em> --other-opts...</pre>
<hr />
<h2><a name="install">Building and installing the library</a></h2>
<p>Now you have a few options:</p>
<h3>[re]building <em>everything</em></h3>
<p>If you're building GCC from scratch, you can do the usual
<code> 'make bootstrap' </code> here, and libstdc++-v3 will be built
as its default C++ library. The generated g++ will magically
use the correct headers, link against the correct library
binary, and in general using libstdc++-v3 will be a piece of
cake. You're done; run <code>'make install'</code> (see the GCC
installation instructions) to put the new compiler and libraries
into place.
</p>
<h3>[re]building only libstdc++</h3>
<p>To rebuild just libstdc++, use: </p>
<pre>
make all-target-libstdc++-v3</pre>
<p>
This will configure and build the C++ library in the
<em>gccbuilddir/cpu-vendor-os/</em>libstdc++ directory.
</p>
<p>If you are rebuilding from a previous build [attempt], some
information is kept in a cache file. This is stored in
<em>gccbuilddir/cpu-vendor-os/</em> if you are building with
multilibs (the default), or in
<em>gccbuilddir/cpu-vendor-os/</em>libstdc++-v3 if you have
multilibs disabled. The filename is config.cache; if previous
information is causing problems, you can delete it entirely, or
simply edit it and remove lines.
</p>
<p>You're done. Now install the rebuilt pieces with</p>
<pre>
make install</pre>
<p>or</p>
<pre>
make install-gcc
make install-target-libstdc++-v3</pre>
<hr />
<h2><a name="postinstall">Post-installation</a></h2>
<p>Installation will create the <em>destdir</em> directory and
populate it with subdirectories:
</p>
<pre>
lib/
include/c++/<em>gcc-version</em>
backward/
bits/
<em>cpu-vendor-os</em>/bits/
ext/</pre>
<p>If you used the version-specific-libs configure option, then most of
the headers and library files will be moved under
<code>lib/gcc-lib/</code> instead.
</p>
<hr /> <hr />
<h2><a name="usage">Using the library</a></h2> <h2><a name="usage">Using the library</a></h2>
<h3>Find the new library at runtime (shared linking only)</h3> <h3>Find the new library at runtime (shared linking only)</h3>