llvm-project/libcxx/docs
Louis Dionne 9b3222f613 [libc++] Make sure we can build libc++ with -fvisibility=hidden
Summary:
When building with -fvisibility=hidden, some symbols do not get exported from
libc++.dylib. This means that some entities are not explicitly given default
visibility in the source code, and that we rely on the fact -fvisibility=default
is the default. This commit explicitly gives default visibility to those
symbols to avoid being dependent on the command line flags used.

The commit also remove symbols from the dylib -- those symbols do not
actually need to be exported from the dylib and this should not be an
ABI break.

Finally, in the future, we may want to mark the whole std:: namespace as
having hidden visibility (to switch from opt-out to opt-in), in which
case the changes done in this commit will be required.

Reviewers: EricWF

Subscribers: mgorny, christof, dexonsmith, libcxx-commits

Differential Revision: https://reviews.llvm.org/D52662

llvm-svn: 345260
2018-10-25 12:13:43 +00:00
..
DesignDocs [libc++] Make sure we can build libc++ with -fvisibility=hidden 2018-10-25 12:13:43 +00:00
BuildingLibcxx.rst [libcxx] By default, do not use internal_linkage to hide symbols from the ABI 2018-08-16 12:44:28 +00:00
CMakeLists.txt docs: Fix Sphinx detection with out-of-tree builds 2017-05-09 11:18:03 +00:00
Makefile.sphinx Add design docs for upcoming file_time_type change. 2018-07-25 02:53:53 +00:00
README.txt Remove test commit. 2015-09-05 05:38:50 +00:00
ReleaseNotes.rst [libcxx] Remove custom CMake code targeting Mac OS 10.6 2018-10-16 00:31:32 +00:00
TestingLibcxx.rst Teach test suite about C++2a dialect flag. 2017-11-07 20:26:23 +00:00
UsingLibcxx.rst [libc++] Add deprecated attributes to many deprecated components 2018-09-23 18:35:00 +00:00
conf.py fix some typos in the doc 2018-09-20 08:05:01 +00:00
index.rst Correct docs to reference the new libc++ lists. 2018-09-22 19:49:29 +00: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.