================
@@ -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.
----------------
ldionne wrote:

I did, in fact I started with that but eventually renamed it to `merged` since 
it's not necessarily implemented with CMake object libraries. Possibilities:

```
merged-libcxxabi
object-libcxxabi
```

Or we can swap it around and have this instead:

```
libcxxabi-merged
libcxxabi-objects
```

IMO `merged` makes more sense than `object` because for e.g. 
`libsupcxx-objects` it makes it look as-if we were using the object files of 
the library, when in reality we're using the static archive and merging it into 
our dylib (in practice I guess those are the same thing under the hood, but I 
have a different mental model).

https://github.com/llvm/llvm-project/pull/112978
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to