aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/doc/html/install.html
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/doc/html/install.html')
-rw-r--r--libstdc++-v3/doc/html/install.html240
1 files changed, 240 insertions, 0 deletions
diff --git a/libstdc++-v3/doc/html/install.html b/libstdc++-v3/doc/html/install.html
new file mode 100644
index 0000000..3166ebc
--- /dev/null
+++ b/libstdc++-v3/doc/html/install.html
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!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" xml:lang="en" lang="en">
+<head>
+ <meta name="AUTHOR" content="pme@gcc.gnu.org (Phil Edwards)" />
+ <meta name="KEYWORDS" content="libstdc++, libstdc++, GCC, g++" />
+ <meta name="DESCRIPTION" content="README for the GNU libstdc++ effort." />
+ <meta name="GENERATOR" content="vi and eight fingers" />
+ <title>libstdc++ Installation Instructions</title>
+<link rel="StyleSheet" href="lib3styles.css" type="text/css" />
+<link rel="Copyright" href="17_intro/license.html" type="text/html" />
+</head>
+<body>
+
+<h1 class="centered"><a name="top">Getting started: configure, build, install</a></h1>
+
+<p class="fineprint"><em>
+ The latest version of this document is always available at
+ <a href="http://gcc.gnu.org/onlinedocs/libstdc++/install.html">
+ http://gcc.gnu.org/onlinedocs/libstdc++/install.html</a>.
+</em></p>
+
+<p><em>
+ To the <a href="http://gcc.gnu.org/libstdc++/">libstdc++ homepage</a>.
+</em></p>
+
+
+<!-- ####################################################### -->
+<hr />
+<h2>Contents</h2>
+
+<p>Because libstdc++ 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++.
+</p>
+
+<ul>
+ <li><a href="#prereqs">Tools you will need beforehand</a></li>
+ <li><a href="#config">Configuring</a></li>
+ <li><a href="#usage">Using the library</a></li>
+</ul>
+
+<hr />
+
+<!-- ####################################################### -->
+
+<h2><a name="prereqs">Tools you will need beforehand</a></h2>
+ <p>The list of software needed to build the library is kept with the
+ rest of the compiler, at
+ <a href="http://gcc.gnu.org/install/prerequisites.html">
+ http://gcc.gnu.org/install/prerequisites.html</a>. The same page
+ also lists the tools you will need if you wish to modify the source.
+ </p>
+
+ <p>As of GCC 4.0.1 the minimum version of binutils required to build
+ libstdc++ is <code>2.15.90.0.1.1</code>. You can get snapshots
+ (as well as releases) of binutils from
+ <a href="ftp://sources.redhat.com/pub/binutils">
+ 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 if 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>
+ <dl>
+ <dt> linux </dt>
+
+ <dd>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>
+ 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>
+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>
+
+ <ul>
+ <li> install all locales
+ <ul>
+ <li>with RedHat Linux:
+ <p> <code> export LC_ALL=C </code> </p>
+ <p> <code> rpm -e glibc-common --nodeps </code> </p>
+ <p> <code> rpm -i --define "_install_langs all"
+ glibc-common-2.2.5-34.i386.rpm </code> </p>
+ </li>
+ <li> (instructions for other operating systems solicited) </li>
+ </ul>
+ </li>
+ <li> install just the necessary locales
+ <ul>
+ <li>with Debian Linux:
+ <p> Add the above list, as shown, to the file
+ <code>/etc/locale.gen</code> </p>
+ <p> run <code>/usr/sbin/locale-gen</code> </p>
+ </li>
+ <li> on most Unix-like operating systems:
+ <p> <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> (instructions for other operating systems solicited) </li>
+ </ul>
+ </li>
+ </ul>
+ </dd>
+ </dl>
+
+<hr />
+
+<h2><a name="config">Configuring</a></h2>
+ <p>If you have never done this before, you should read the basic
+ <a href="http://gcc.gnu.org/install/">GCC Installation
+ Instructions</a> first. Read <em>all of them</em>.
+ <strong>Twice.</strong>
+ </p>
+ <p>When building libstdc++ you'll have to configure
+ the entire <em>gccsrcdir</em> directory. The full list of libstdc++
+ specific configuration options, not dependent on the specific compiler
+ release being used, can be found <a href="configopts.html">here</a>.
+ </p>
+ <p>Consider possibly using --enable-languages=c++ to save time by only
+ building the C++ language parts.
+ </p>
+
+ <pre>
+ cd <em>gccbuilddir</em>
+ <em>gccsrcdir</em>/configure --prefix=<em>destdir</em> --other-opts...</pre>
+
+
+<hr />
+<h2><a name="usage">Using the library</a></h2>
+ <h3>Find the new library at runtime (shared linking only)</h3>
+ <p>If you only built a static library (libstdc++.a), or if you
+ specified static linking, you don't have to worry about this.
+ But if you built a shared library (libstdc++.so) and linked
+ against it, then you will need to find that library when you
+ run the executable.
+ </p>
+ <p>Methods vary for different platforms and different styles, but
+ the usual ones are printed to the screen during installation.
+ They include:
+ </p>
+ <ul>
+ <li>At runtime set LD_LIBRARY_PATH in your environment correctly,
+ so that the shared library for libstdc++ can be found and
+ loaded. Be certain that you understand all of the other
+ implications and behavior of LD_LIBRARY_PATH first (few
+ people do, and they get into trouble).
+ </li>
+ <li>Compile the path to find the library at runtime into the
+ program. This can be done by passing certain options to g++,
+ which will in turn pass them on to the linker. The exact
+ format of the options is dependent on which linker you use:
+ <ul>
+ <li>GNU ld (default on Linux):<code> -Wl,--rpath,<em>destdir</em>/lib</code></li>
+ <li>IRIX ld:<code> -Wl,-rpath,<em>destdir</em>/lib</code></li>
+ <li>Solaris ld:<code> -Wl,-R<em>destdir</em>/lib</code></li>
+ <li>More...? Let us know!</li>
+ </ul>
+ </li>
+ </ul>
+ <p>Use the <code>ldd(1)</code> utility to show which library the system
+ thinks it will get at runtime.
+ </p>
+ <p>A libstdc++.la file is also installed, for use with Libtool. If
+ you use Libtool to create your executables, these details are
+ taken care of for you.
+ </p>
+
+
+<!--
+<hr />
+<h2><a name=""></a></h2>
+ <p>
+ </p>
+
+-->
+
+<!-- ####################################################### -->
+
+<hr />
+<p class="fineprint"><em>
+See <a href="17_intro/license.html">license.html</a> for copying conditions.
+Comments and suggestions are welcome, and may be sent to
+<a href="mailto:libstdc++@gcc.gnu.org">the libstdc++ mailing list</a>.
+</em></p>
+
+
+</body>
+</html>
+