[clang] [compiler-rt] [libcxx] [llvm] [libc++] Replace LIBCXX_ENABLE_STATIC_ABI_LIBRARY & friends by a new LIBCXX_CXX_ABI choice (PR #112978)
Petr Hosek via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 5 01:01:13 PST 2024
================
@@ -230,11 +230,22 @@ else()
endif()
set(LIBCXX_SUPPORTED_ABI_LIBRARIES none libcxxabi system-libcxxabi libcxxrt libstdc++ libsupc++ vcruntime)
-set(LIBCXX_CXX_ABI "${LIBCXX_DEFAULT_ABI_LIBRARY}" CACHE STRING "Specify C++ ABI library to use. Supported values are ${LIBCXX_SUPPORTED_ABI_LIBRARIES}.")
-if (NOT "${LIBCXX_CXX_ABI}" IN_LIST LIBCXX_SUPPORTED_ABI_LIBRARIES)
- message(FATAL_ERROR "Unsupported C++ ABI library: '${LIBCXX_CXX_ABI}'. Supported values are ${LIBCXX_SUPPORTED_ABI_LIBRARIES}.")
-endif()
-
+set(LIBCXX_CXX_ABI "${LIBCXX_DEFAULT_ABI_LIBRARY}" CACHE STRING
+ "Specify the C++ ABI library to use for the shared and the static libc++ libraries. Supported values are ${LIBCXX_SUPPORTED_ABI_LIBRARIES}.
+ This CMake option also supports \"consumption specifiers\", which specify how the selected ABI library should be consumed by
+ libc++. The supported specifiers are:
+ - `shared`: The selected ABI library should be used as a shared library.
+ - `static`: The selected ABI library should be used as a static library.
+ - `merged`: The selected ABI library should be a static library whose object files will be merged directly into the produced libc++ library.
----------------
petrhosek wrote:
This is just bikeshedding, but have you considered `object` rather than `merged`?
https://github.com/llvm/llvm-project/pull/112978
More information about the cfe-commits
mailing list