summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-05-03 22:32:08 +0000
committerEric Fiselier <eric@efcs.ca>2016-05-03 22:32:08 +0000
commit7039fa1d20e33760f6f2a02c068ed2a334589934 (patch)
tree7c14db999e2686a8cc28f8640a6ab6ec10bd85b1 /docs
parent7da079cc12717cb380e75dedffa80f28d7653216 (diff)
Add documentation for new experimental library
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268456 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/BuildingLibcxx.rst33
-rw-r--r--docs/UsingLibcxx.rst23
2 files changed, 56 insertions, 0 deletions
diff --git a/docs/BuildingLibcxx.rst b/docs/BuildingLibcxx.rst
index 0173326a5..0730703fa 100644
--- a/docs/BuildingLibcxx.rst
+++ b/docs/BuildingLibcxx.rst
@@ -6,6 +6,8 @@ Building libc++
.. contents::
:local:
+.. _build instructions:
+
Getting Started
===============
@@ -119,6 +121,18 @@ CMake docs or execute ``cmake --help-variable VARIABLE_NAME``.
libc++ specific options
-----------------------
+.. option:: LIBCXX_INSTALL_LIBRARY:BOOL
+
+ **Default**: ``ON``
+
+ Toggle the installation of the library portion of libc++.
+
+.. option:: LIBCXX_INSTALL_HEADERS:BOOL
+
+ **Default**: ``ON``
+
+ Toggle the installation of the libc++ headers.
+
.. option:: LIBCXX_ENABLE_ASSERTIONS:BOOL
**Default**: ``ON``
@@ -143,6 +157,25 @@ libc++ specific options
Extra suffix to append to the directory where libraries are to be installed.
This option overrides :option:`LLVM_LIBDIR_SUFFIX`.
+
+.. _libc++experimental options:
+
+libc++experimental Specific Options
+------------------------------------
+
+.. option:: LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL
+
+ **Default**: ``ON``
+
+ Build and test libc++experimental.a.
+
+.. option:: LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY:BOOL
+
+ **Default**: ``OFF``
+
+ Install libc++experimental.a alongside libc++.
+
+
.. _ABI Library Specific Options:
ABI Library Specific Options
diff --git a/docs/UsingLibcxx.rst b/docs/UsingLibcxx.rst
index 344eda594..57472011e 100644
--- a/docs/UsingLibcxx.rst
+++ b/docs/UsingLibcxx.rst
@@ -49,7 +49,30 @@ An example of using ``LD_LIBRARY_PATH``:
$ export LD_LIBRARY_PATH=<libcxx-install-prefix>/lib
$ ./a.out # Searches for libc++ along LD_LIBRARY_PATH
+Using libc++experimental and ``<experimental/...>``
+=====================================================
+Libc++ provides implementations of experimental technical specifications
+in a separate library, ``libc++experimental.a``. Users of ``<experimental/...>``
+headers may requiring linking with ``-lc++experimental``.
+
+.. code-block:: bash
+
+ $ clang++ -std=c++14 -stdlib=libc++ test.cpp -lc++experimental
+
+Libc++experimental.a may not always be available, even when libc++ is already
+installed. For information on building libc++experimental from source see
+:ref:`Building Libc++ <build instructions>` and
+:ref:`libc++experimental CMake Options <libc++experimental options>`.
+
+Also see the `Experimental Library Implementation Status <http://libcxx.llvm.org/ts1z_status.html>`__
+page.
+
+.. warning::
+ Experimental libraries are Experimental.
+ * The contents of the ``<experimental/...>`` headers and ``libc++experimental.a``
+ library will not remain compatible between versions.
+ * No guarantees of API or ABI stability are provided.
Using libc++ on Linux
=====================