[libcxx-commits] [PATCH] D119539: [libcxx] Add an explicit option to build against system-libcxxabi

Michał Górny via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Feb 17 11:28:25 PST 2022


mgorny updated this revision to Diff 409728.
mgorny retitled this revision from "[libcxx] [cmake] Fix linking to installed libc++abi in runtimes build" to "[libcxx] Add an explicit option to build against system-libcxxabi".
mgorny edited the summary of this revision.
mgorny added a comment.
Herald added a subscriber: arichardson.

Add another LIBCXX_CXX_ABI variant instead, as requested.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119539/new/

https://reviews.llvm.org/D119539

Files:
  libcxx/cmake/Modules/HandleLibCXXABI.cmake
  libcxx/docs/BuildingLibcxx.rst
  libcxx/utils/libcxx/test/config.py


Index: libcxx/utils/libcxx/test/config.py
===================================================================
--- libcxx/utils/libcxx/test/config.py
+++ libcxx/utils/libcxx/test/config.py
@@ -406,6 +406,8 @@
                         self.cxx.link_flags += [abs_path]
                     else:
                         self.cxx.link_flags += ['-lc++abi']
+        elif cxx_abi == 'system-libcxxabi':
+            self.cxx.link_flags += ['-lc++abi']
         elif cxx_abi == 'libcxxrt':
             self.cxx.link_flags += ['-lcxxrt']
         elif cxx_abi == 'vcruntime':
Index: libcxx/docs/BuildingLibcxx.rst
===================================================================
--- libcxx/docs/BuildingLibcxx.rst
+++ libcxx/docs/BuildingLibcxx.rst
@@ -318,7 +318,8 @@
 
 .. option:: LIBCXX_CXX_ABI:STRING
 
-  **Values**: ``none``, ``libcxxabi``, ``libcxxrt``, ``libstdc++``, ``libsupc++``.
+  **Values**: ``none``, ``libcxxabi``, ``system-libcxxabi``, ``libcxxrt``,
+  ``libstdc++``, ``libsupc++``.
 
   Select the ABI library to build libc++ against.
 
Index: libcxx/cmake/Modules/HandleLibCXXABI.cmake
===================================================================
--- libcxx/cmake/Modules/HandleLibCXXABI.cmake
+++ libcxx/cmake/Modules/HandleLibCXXABI.cmake
@@ -118,6 +118,10 @@
   setup_abi_lib(
     "-DLIBCXX_BUILDING_LIBCXXABI"
     "${shared}" "${static}" "cxxabi.h;__cxxabi_config.h" "")
+elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "system-libcxxabi")
+  setup_abi_lib(
+    "-DLIBCXX_BUILDING_LIBCXXABI"
+    "c++abi" "c++abi" "cxxabi.h;__cxxabi_config.h" "")
 elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxrt")
   if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
     set(LIBCXX_CXX_ABI_INCLUDE_PATHS "/usr/include/c++/v1")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D119539.409728.patch
Type: text/x-patch
Size: 1737 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220217/6506b60e/attachment.bin>


More information about the libcxx-commits mailing list