llvm-project/libcxx/docs
Louis Dionne c06a8f9caa [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.

Differential Revision: https://reviews.llvm.org/D97572
2021-03-30 14:06:11 -07:00
..
DesignDocs [lic++][docs] Explain noexcept policy for narrow contracts. 2021-02-05 11:27:19 -08:00
Helpers [libc++] [docs] Exclude helper files from Sphinx configuration to avoid generating empty pages. 2020-11-27 13:47:20 +01:00
AddingNewCIJobs.rst [libc++] Add documentation for setting up new CI jobs 2020-11-19 14:42:02 -05:00
BuildingLibcxx.rst [libcxx] [docs] Fix formatting of inline verbatim snippets in the Windows section 2021-03-17 11:41:45 +02:00
CMakeLists.txt
Contributing.rst [libc++] NFC: Document the Differential queries to avoid duplicating work 2021-01-08 17:47:39 -05:00
Cxx1yStatus.rst [libc++] [docs] Add C++2b (to be C++23) status page. 2020-12-03 09:22:06 +01:00
Cxx1yStatusIssuesStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx1yStatusPaperStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx1zStatus.rst [libc++] [docs] Add C++2b (to be C++23) status page. 2020-12-03 09:22:06 +01:00
Cxx1zStatusIssuesStatus.csv [libc++][nfc] SFINAE on pair/tuple assignment operators: LWG 2729. 2021-02-19 13:25:34 -08:00
Cxx1zStatusPaperStatus.csv [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
Cxx2aStatus.rst [libc++] [docs] Add link to clang status page for C++2b and fix anchor for C++20. 2021-03-11 20:49:14 +01:00
Cxx2aStatusIssuesStatus.csv [libc++] Add bind_front function (P0356R5). 2021-03-02 16:18:06 -08:00
Cxx2aStatusPaperStatus.csv [libc++] [P1032] Misc constexpr bits in <iterator>, <string_view>, <tuple>, <utility>. 2021-03-25 10:34:35 -04:00
Cxx2bStatus.rst [libc++] [docs] Add link to clang status page for C++2b and fix anchor for C++20. 2021-03-11 20:49:14 +01:00
Cxx2bStatusIssuesStatus.csv [libc++] [docs] [C++2b] Update status page with issues (and forgotten papers) adopted in November 2020 and February 2021 virtual meetings. 2021-03-01 11:19:18 +01:00
Cxx2bStatusPaperStatus.csv [libc++] [C++2b] [P2162] Allow inheritance from std::variant. 2021-03-25 18:20:50 +01:00
FeatureTestMacroTable.rst [libc++] [C++2b] [P2162] Allow inheritance from std::variant. 2021-03-25 18:20:50 +01:00
Makefile.sphinx Add design docs for upcoming file_time_type change. 2018-07-25 02:53:53 +00:00
README.txt
ReleaseNotes.rst Revert "[libc++] Require C++20 to build the benchmarks." 2021-02-09 19:59:34 +01:00
TestingLibcxx.rst [libc++] Include <__config_site> from <__config> 2021-03-30 14:06:11 -07:00
UsingLibcxx.rst [libc++] Use c++20 instead of c++2a consistently. 2021-01-07 13:11:33 +01:00
conf.py Bump the trunk major version to 13 2021-01-26 19:37:55 -08:00
index.rst [lic++][docs] Explain noexcept policy for narrow contracts. 2021-02-05 11:27:19 -08: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.