<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>"libc++" C++ Standard Library</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>

<body>
<div id="menu">
  <div>
    <a href="http://llvm.org/">LLVM Home</a>
  </div>

  <div class="submenu">
    <label>libc++ Info</label>
    <a href="/index.html">About</a>
  </div>

  <div class="submenu">
    <label>Quick Links</label>
    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a>
    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a>
    <a href="http://llvm.org/bugs/">Bug Reports</a>
    <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/">Browse SVN</a>
    <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/">Browse ViewVC</a>
  </div>
</div>

<div id="content">
  <!--*********************************************************************-->
  <h1>"libc++" C++ Standard Library</h1>
  <!--*********************************************************************-->

  <p>libc++ is a new implementation of the C++ standard library, targeting
     C++11.</p>

  <p>All of the code in libc++ is <a
     href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
     under the MIT license and the UIUC License (a BSD-like license).</p>

  <!--=====================================================================-->
  <h2 id="goals">Features and Goals</h2>
  <!--=====================================================================-->

    <ul>
        <li>Correctness as defined by the C++11 standard.</li>
        <li>Fast execution.</li>
        <li>Minimal memory use.</li>
        <li>Fast compile times.</li>
        <li>ABI compatibility with gcc's libstdc++ for some low-level features
            such as exception objects, rtti and memory allocation.</li>
        <li>Extensive unit tests.</li>
    </ul>

  <!--=====================================================================-->
  <h2 id="why">Why a new C++ Standard Library for C++11?</h2>
  <!--=====================================================================-->

  <p>After its initial introduction, many people have asked "why start a new
     library instead of contributing to an existing library?" (like Apache's
     libstdcxx, GNU's libstdc++, STLport, etc).  There are many contributing
     reasons, but some of the major ones are:</p>

  <ul>
  <li><p>From years of experience (including having implemented the standard
      library before), we've learned many things about implementing
      the standard containers which require ABI breakage and fundamental changes
      to how they are implemented.  For example, it is generally accepted that
      building std::string using the "short string optimization" instead of
      using Copy On Write (COW) is a superior approach for multicore
      machines (particularly in C++11, which has rvalue references).  Breaking
      ABI compatibility with old versions of the library was
      determined to be critical to achieving the performance goals of
      libc++.</p></li>

  <li><p>Mainline libstdc++ has switched to GPL3, a license which the developers
      of libc++ cannot use.  libstdc++ 4.2 (the last GPL2 version) could be
      independently extended to support C++11, but this would be a fork of the
      codebase (which is often seen as worse for a project than starting a new
      independent one).  Another problem with libstdc++ is that it is tightly
       integrated with G++ development, tending to be tied fairly closely to the
       matching version of G++.</p>
    </li>

  <li><p>STLport and the Apache libstdcxx library are two other popular
      candidates, but both lack C++11 support.  Our experience (and the
      experience of libstdc++ developers) is that adding support for C++11 (in
      particular rvalue references and move-only types) requires changes to
      almost every class and function, essentially amounting to a rewrite.
      Faced with a rewrite, we decided to start from scratch and evaluate every
      design decision from first principles based on experience.</p>

      <p>Further, both projects are apparently abandoned: STLport 5.2.1 was
      released in Oct'08, and STDCXX 4.2.1 in May'08.</p>

    </ul>

  <!--=====================================================================-->
  <h2 id="requirements">Platform Support</h2>
  <!--=====================================================================-->

  <p>
    libc++ is known to work on the following platforms, using g++-4.2 and
    clang (lack of C++11 language support disables some functionality). Note
    that functionality provided by &lt;atomic&gt; is only functional with
    clang.
  </p>

  <ul>
    <li>Mac OS X i386</li>
    <li>Mac OS X x86_64</li>
    <li>FreeBSD 10+ i386</li>
    <li>FreeBSD 10+ x86_64</li>
    <li>FreeBSD 10+ ARM</li>
  </ul>

  <!--=====================================================================-->
  <h2 id="dir-structure">Current Status</h2>
  <!--=====================================================================-->

   <p>libc++ is a 100% complete C++11 implementation on Apple's OS X. </p>
   <p>LLVM and Clang can self host in C++ and C++11 mode with libc++ on Linux.</p>
   <p>libc++ is also a 100% complete C++14 implementation. A list of new features and changes for 
      C++14 can be found <a href="cxx1y_status.html">here</a>.</p>
   <p>A list of features and changes for the next C++ standard, known here as
      "C++1z" (probably to be C++17) can be found <a href="cxx1z_status.html">here</a>.</p>
   <p>Implementation of the post-c++14 Technical Specifications is in progress. A list of features and
      the current status of these features can be found <a href="ts1z_status.html">here</a>.</p>
   <p>
   Ports to other platforms are underway. Here are recent test
   results for <a href="results.Windows.html">Windows</a>
   and <a href="results.Linux.html">Linux</a>.
   </p>

   <!--======================================================================-->
   <h2 id="dir-structure">Build Bots</h2>
   <!--======================================================================-->
   <p>The latest libc++ build results can be found at the following locations.</p>
   <ul>
      <li><a href="http://lab.llvm.org:8011/console">
        Buildbot libc++ builders
      </a></li>
      <li><a href="http://lab.llvm.org:8080/green/view/Libcxx/">
        Jenkins libc++ builders
      </a></li>
    </ul>

  <!--=====================================================================-->
  <h2>Get it and get involved!</h2>
  <!--=====================================================================-->

  <p>First please review our
     <a href="http://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.

  <p>
     On Mac OS 10.7 (Lion) and later, the easiest way to get this library is to install
     Xcode 4.2 or later.  However if you want to install tip-of-trunk from here
     (getting the bleeding edge), read on.  However, be warned that Mac OS
     10.7 will not boot without a valid copy of <code>libc++.1.dylib</code> in
     <code>/usr/lib</code>.
  </p>

  <p>To check out the code, use:</p>

  <ul>
  <li><code>svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx</code></li>
  </ul>

  <p>
    Note that for an in-tree build, you should check out libcxx to
    llvm/projects.
  </p>

  <p>
    The following instructions are for building libc++ on FreeBSD, Linux, or Mac
    using <a href="http://libcxxabi.llvm.org/">libc++abi</a> as the C++ ABI
    library. On Linux, it is also possible to use
    <a href="#libsupcxx">libsupc++</a> or <a href="#libcxxrt">libcxxrt</a>.
  </p>

  <p>In-tree build:</p>
  <ul>
    <li>Check out libcxx and <a href="http://libcxxabi.llvm.org/">libcxxabi</a>
      into llvm/projects</li>
    <li><code>cd llvm</code></li>
    <li><code>mkdir build &amp;&amp; cd build</code></li>
    <li><code>cmake .. # Linux may require -DCMAKE_C_COMPILER=clang
        -DCMAKE_CXX_COMPILER=clang++</code></li>
    <li><code>make cxx</code></li>
  </ul>

  <p>Out-of-tree build:</p>
  <ul>
    <li>Check out libcxx</li>
    <li>If not on a Mac, also check out
      <a href="http://libcxxabi.llvm.org/">libcxxabi</a></li>
    <li><code>cd libcxx</code></li>
    <li><code>mkdir build &amp;&amp; cd build</code></li>
    <li><code>cmake -DLIBCXX_CXX_ABI=libcxxabi
        -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=path/to/libcxxabi/include
        -DLIT_EXECUTABLE=path/to/llvm/utils/lit/lit.py .. # Linux may require
        -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++</code></li>
    <li><code>make</code></li>
  </ul>

  <p>To run the tests:</p>
  <ul>
  <li><code>make check-libcxx</code></li>
  </ul>

  <p>If you wish to run a subset of the test suite:</p>
  <ul>
    <li><code>cd path/to/libcxx/libcxx</code></li>
    <li><code>alias lit='python path/to/llvm/utils/lit/lit.py'</code></li>
    <li><code>export
        LIBCXX_SITE_CONFIG=path/to/build/dir/projects/libcxx/test/lit.site.cfg
        </code></li>
    <li><code>lit -sv test/re/ # or whichever subset of tests you're interested
        in</code></li>
  </ul>
  <p>The above is currently quite inconvenient. Sorry! We're working on it!</p>

  <p>More information on using LIT can be found
    <a href="http://llvm.org/docs/CommandGuide/lit.html">here</a>. For more
    general information about the LLVM testing infrastructure, see the
    <a href="http://llvm.org/docs/TestingGuide.html">LLVM Testing Infrastructure
      Guide</a>
  </p>

  <p>
    Shared libraries for libc++ should now be present in llvm/build/lib. Note
    that it is safest to use this from its current location rather than
    replacing your system's libc++ (if it has one, if not, go right ahead).
  </p>

  <p>
    Mac users, remember to be careful when replacing the system's libc++.
    <strong>Your system will not be able to boot without a funcioning
    libc++.</strong>
  </p>

  <!--=====================================================================-->
  <h3>Notes</h3>
  <!--=====================================================================-->

  <p>
    Building libc++ with <code>-fno-rtti</code> is not supported.  However
    linking against it with <code>-fno-rtti</code> is supported.
  </p>

  <p>Send discussions to the
    <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">clang mailing list</a>.</p>

  <!--=====================================================================-->
  <h2>Using libc++ in your programs</h2>
  <!--=====================================================================-->

  <!--=====================================================================-->
  <h3>FreeBSD and Mac OS X</h3>
  <!--=====================================================================-->

  <p>
    To use your system-installed libc++ with clang you can:
  </p>

  <ul>
    <li><code>clang++ -stdlib=libc++ test.cpp</code></li>
    <li><code>clang++ -std=c++11 -stdlib=libc++ test.cpp</code></li>
  </ul>

  <p>
    To use your tip-of-trunk libc++ on Mac OS with clang you can:
  </p>

  <ul>
    <li><code>export DYLD_LIBRARY_PATH=path/to/build/lib</code>
    <li><code>clang++ -std=c++11 -stdlib=libc++ -nostdinc++
         -I&lt;path-to-libcxx&gt;/include -L&lt;path-to-libcxx&gt;/lib
         test.cpp</code></li>
  </ul>

  <!--=====================================================================-->
  <h3>Linux</h3>
  <!--=====================================================================-->

  <p>
    You will need to keep the source tree of
    <a href="http://libcxxabi.llvm.org">libc++abi</a> available on your build
    machine and your copy of the libc++abi shared library must be placed where
    your linker will find it.
  </p>

  <p>
    Unfortunately you can't simply run clang with "-stdlib=libc++" at this
    point, as clang is set up to link for libc++ linked to libsupc++.  To get
    around this you'll have to set up your linker yourself (or patch clang).
    For example:
  </p>

  <ul>
    <li><code>clang++ -stdlib=libc++ helloworld.cpp -nodefaultlibs -lc++ -lc++abi -lm -lc -lgcc_s -lgcc</code></li>
  </ul>

  <p>
    Alternately, you could just add libc++abi to your libraries list, which in
    most situations will give the same result:
  </p>

  <ul>
    <li><code>clang++ -stdlib=libc++ helloworld.cpp -lc++abi</code></li>
  </ul>

  <!--=====================================================================-->
  <h2>Bug reports and patches</h2>
  <!--=====================================================================-->

<p>
If you think you've found a bug in libc++, please report it using 
the <a href="http://llvm.org/bugs">LLVM Bugzilla</a>. If you're not sure, you
can post a message to the <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a> 
mailing list or on IRC. Please include "libc++" in your subject.
</p>

<p>
If you want to contribute a patch to libc++, the best place for that is the
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a> 
mailing list. Please include "libc++" and "PATCH" in your subject.
</p>

  <!--=====================================================================-->
  <h2 id="libsupcxx">Build on Linux using CMake and libsupc++.</h2>
  <!--=====================================================================-->

  <p>
     You will need libstdc++ in order to provide libsupc++.
  </p>
  
  <p>
     Figure out where the libsupc++ headers are on your system. On Ubuntu this
     is <code>/usr/include/c++/&lt;version&gt;</code> and
     <code>/usr/include/c++/&lt;version&gt;/&lt;target-triple&gt;</code>
  </p>
  
  <p>
     You can also figure this out by running
     <pre>
$ echo | g++ -Wp,-v -x c++ - -fsyntax-only
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include &lt;...&gt; search starts here:
 /usr/include/c++/4.7
 /usr/include/c++/4.7/x86_64-linux-gnu
 /usr/include/c++/4.7/backward
 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
     </pre>

      Note the first two entries happen to be what we are looking for. This
      may not be correct on other platforms.
  </p>
  
  <p>
     We can now run CMake:
     <ul>
       <li><code>CC=clang CXX=clang++ cmake -G "Unix Makefiles"
                -DLIBCXX_CXX_ABI=libstdc++
                -DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="/usr/include/c++/4.7/;/usr/include/c++/4.7/x86_64-linux-gnu/"
                -DCMAKE_BUILD_TYPE=Release
                -DCMAKE_INSTALL_PREFIX=/usr
                &lt;libc++-source-dir&gt;</code></li>
       <li>You can also substitute <code>-DLIBCXX_CXX_ABI=libsupc++</code>
       above, which will cause the library to be linked to libsupc++ instead
       of libstdc++, but this is only recommended if you know that you will
       never need to link against libstdc++ in the same executable as libc++.
       GCC ships libsupc++ separately but only as a static library.  If a
       program also needs to link against libstdc++, it will provide its
       own copy of libsupc++ and this can lead to subtle problems.
       <li><code>make</code></li>
       <li><code>sudo make install</code></li>
     </ul>
     <p>
        You can now run clang with -stdlib=libc++.
     </p>
  </p>

  <!--=====================================================================-->
  <h2 id="libcxxrt">Build on Linux using CMake and libcxxrt.</h2>
  <!--=====================================================================-->

  <p>
     You will need to keep the source tree of
     <a href="https://github.com/pathscale/libcxxrt/">libcxxrt</a> available
     on your build machine and your copy of the libcxxrt shared library must
     be placed where your linker will find it.
  </p>
 
  <p>
     We can now run CMake:
     <ul>
       <li><code>CC=clang CXX=clang++ cmake -G "Unix Makefiles"
                -DLIBCXX_CXX_ABI=libcxxrt
                -DLIBCXX_LIBCXXRT_INCLUDE_PATHS="&lt;libcxxrt-source-dir&gt;/src"
                -DCMAKE_BUILD_TYPE=Release
                -DCMAKE_INSTALL_PREFIX=/usr
                &lt;libc++-source-dir&gt;</code></li>
       <li><code>make</code></li>
       <li><code>sudo make install</code></li>
     </ul>
     <p>
        Unfortunately you can't simply run clang with "-stdlib=libc++" at this point, as
        clang is set up to link for libc++ linked to libsupc++.  To get around this
        you'll have to set up your linker yourself (or patch clang).  For example,
        <ul>
          <li><code>clang++ -stdlib=libc++ helloworld.cpp -nodefaultlibs -lc++ -lcxxrt -lm -lc -lgcc_s -lgcc</code></li>
        </ul>
        Alternately, you could just add libcxxrt to your libraries list, which in most
        situations will give the same result:
        <ul>
          <li><code>clang++ -stdlib=libc++ helloworld.cpp -lcxxrt</code></li>
        </ul>
     </p>
  </p>

  <!--=====================================================================-->
  <h2 id="local-abi">Using a local ABI library</h2>
  <!--=====================================================================-->
  <p>
    <strong>Note: This is not recommended in almost all cases.</strong><br>
    Generally these instructions should only be used when you can't install
    your ABI library.
  </p>
  <p>
    Normally you must link libc++ against a ABI shared library that the
    linker can find.  If you want to build and test libc++ against an ABI
    library not in the linker's path you need to set
    <code>-DLIBCXX_CXX_ABI_LIBRARY_PATH=/path/to/abi/lib</code> when
    configuring CMake.
  </p>
  <p>
    An example build using libc++abi would look like:
    <ul>
    <li><code>CC=clang CXX=clang++ cmake
              -DLIBCXX_CXX_ABI=libc++abi
              -DLIBCXX_LIBCXXABI_INCLUDE_PATHS="/path/to/libcxxabi/include"
              -DLIBCXX_CXX_ABI_LIBRARY_PATH="/path/to/libcxxabi-build/lib"
              path/to/libcxx</code></li>
    <li><code>make</code></li>
    </ul>
  </p>
  <p>
    When testing libc++ LIT will automatically link against the proper ABI
    library.
  </p>

  <!--=====================================================================-->
  <h2>Design Documents</h2>
  <!--=====================================================================-->

<ul>
<li><a href="atomic_design.html"><tt>&lt;atomic&gt;</tt></a></li>
<li><a href="type_traits_design.html"><tt>&lt;type_traits&gt;</tt></a></li>
<li><a href="http://cplusplusmusings.wordpress.com/2012/07/05/clang-and-standard-libraries-on-mac-os-x/">Excellent notes by Marshall Clow</a></li>
<li><a href="debug_mode.html">Status of debug mode</a></li>
<li><a href="lit_usage.html">LIT usage guide</a></li>
</ul>

</div>
</body>
</html>
