llvm-project/libcxx/cmake/caches
Louis Dionne 2eadbc8614 [libc++] Rework the whole availability markup implementation
Currently, vendor-specific availability markup is enabled by default.
This means that even when building against trunk libc++, the headers
will by default prevent you from using some features that were not
released in the dylib on your target platform. This is a source of
frustration since people building libc++ from sources are usually not
trying to use some vendor's released dylib.

For that reason, I've been thinking for a long time that availability
annotations should be off by default, which is the primary change that
this commit enables.

In addition, it reworks the implementation to make it easier for new
vendors to add availability annotations for their platform, and it
refreshes the documentation to reflect the current state of the codebase.

Finally, a CMake configuration option is added to control whether
availability annotations should be turned on for the flavor of libc++
being created. The intent is for vendors like Apple to turn it on, and
for the upstream libc++ to leave it off (the default).

Differential Revision: https://reviews.llvm.org/D90843
2020-11-05 12:28:52 -05:00
..
Apple.cmake [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
Generic-32bits.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-asan.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-cxx2a.cmake [runtimes] Allow passing Lit parameters through CMake 2020-07-09 12:45:00 -04:00
Generic-cxx03.cmake [runtimes] Allow passing Lit parameters through CMake 2020-07-09 12:45:00 -04:00
Generic-cxx11.cmake [runtimes] Allow passing Lit parameters through CMake 2020-07-09 12:45:00 -04:00
Generic-cxx14.cmake [runtimes] Allow passing Lit parameters through CMake 2020-07-09 12:45:00 -04:00
Generic-cxx17.cmake [runtimes] Allow passing Lit parameters through CMake 2020-07-09 12:45:00 -04:00
Generic-msan.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-no-localization.cmake [libc++] Add a libc++ configuration that does not support localization 2020-10-27 14:56:30 -04:00
Generic-no-random_device.cmake [libc++] Allow building libc++ on platforms without a random device 2020-10-15 12:20:29 -04:00
Generic-nodebug.cmake [libc++] Rename LIBCXX_ENABLE_DEBUG_MODE to LIBCXX_ENABLE_DEBUG_MODE_SUPPORT 2020-10-09 14:39:20 -04:00
Generic-noexceptions.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-singlethreaded.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-tsan.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
Generic-ubsan.cmake [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00
README.md [libc++][CMake] Add CMake caches for commonly supported configurations 2020-06-09 14:52:14 -04:00

README.md

libc++ / libc++abi configuration caches

This directory contains CMake caches for the supported configurations of libc++. Some of the configurations are specific to a vendor, others are generic and not tied to any vendor.

While we won't explicitly work to break configurations not listed here, any configuration not listed here is not explicitly supported. If you use or ship libc++ under a configuration not listed here, you should work with the libc++ maintainers to make it into a supported configuration and add it here.

Similarly, adding any new configuration that's not already covered must be discussed with the libc++ maintainers as it entails a maintenance burden.