diff options
Diffstat (limited to 'libstdc++-v3/doc/html/install.html')
-rw-r--r-- | libstdc++-v3/doc/html/install.html | 240 |
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> + |