llvm-project/libcxx/docs
Louis Dionne 5d796645d6 [take 2] [libc++] Include <__config_site> from <__config>
Prior to this patch, we would generate a fancy <__config> header by
concatenating <__config_site> and <__config>. This complexifies the
build system and also increases the difference between what's tested
and what's actually installed.

This patch removes that complexity and instead simply installs <__config_site>
alongside the libc++ headers. <__config_site> is then included by <__config>,
which is much simpler. Doing this also opens the door to having different
<__config_site> headers depending on the target, which was impossible before.

It does change the workflow for testing header-only changes to libc++.
Previously, we would run `lit` against the headers in libcxx/include.
After this patch, we run it against a fake installation root of the
headers (containing a proper <__config_site> header). This makes use
closer to testing what we actually install, which is good, however it
does mean that we have to update that root before testing header changes.
Thus, we now need to run `ninja check-cxx-deps` before running `lit` by
hand.

This commit was originally applied in 1e46d1aa3 and reverted in eb60c487
because it broke the libc++abi and libunwind test suites. This has now
been fixed.

Differential Revision: https://reviews.llvm.org/D89041
2020-10-21 10:40:33 -04:00
..
DesignDocs [libc++] Update the <version> header in-place from generate_feature_test_macro_components 2020-10-13 09:18:35 -04:00
BuildingLibcxx.rst [libc++] Provide a default LLVM_PATH when building standalone 2020-06-29 12:40:07 -04:00
CMakeLists.txt
FeatureTestMacroTable.rst [libc++] Implement C++20's P0784 (More constexpr containers) 2020-09-22 11:20:33 -04:00
Makefile.sphinx Add design docs for upcoming file_time_type change. 2018-07-25 02:53:53 +00:00
README.txt
ReleaseNotes.rst [libc++] Define new/delete in libc++abi only by default 2020-10-19 11:35:01 -04:00
TestingLibcxx.rst [take 2] [libc++] Include <__config_site> from <__config> 2020-10-21 10:40:33 -04:00
UsingLibcxx.rst Doc: Links should use https 2020-03-22 22:49:33 +01:00
conf.py Bump the trunk major version to 12 2020-07-15 12:05:05 +02:00
index.rst Reland [libcxx]Put clang::trivial_abi on smart pointers 2020-07-20 11:54:34 -04:00

README.txt

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.