<?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 and the "C" library de_DE locale
      information must be installed.

      <p>
      Note that those sanity checks are also perfomed when an explicit
      --enable-clocale=gnu configure option is used:  this behavior is
      new in gcc 4.2.1 and defends 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++-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>

