<?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++-v3, GCC, g++" />
   <meta name="DESCRIPTION" content="README for the GNU libstdc++ effort." />
   <meta name="GENERATOR" content="vi and eight fingers" />
   <title>libstdc++-v3 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++-v3 homepage</a>.
</em></p>


<!-- ####################################################### -->
<hr />
<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>
   <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 June 19, 2000, libstdc++ attempts to use tricky and
      space-saving features of the GNU toolchain, enabled with
      <code>-ffunction-sections -fdata-sections -Wl,--gc-sections</code>.
      To obtain maximum benefit from this, binutils after this date should
      also be used (bugs were fixed with C++ exception handling related
      to this change in libstdc++-v3).  The version of these tools should
      be <code>2.10.90</code>, or later, and you can get snapshots (as
      well as releases) of binutils
      <a href="ftp://sources.redhat.com/pub/binutils">here</a>. 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.

      <p>
      The configure option --enable-clocale can be used force a
      particular behavior.
      </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 not pass 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++-v3 you'll have to configure
      the entire <em>gccsrcdir</em> directory.  The full list of libstdc++-v3
      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>

