[libcxx-commits] [libcxx] f5c1d44 - [libc++] Try to fix Chromium's build

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 2 10:15:47 PDT 2020


Author: Louis Dionne
Date: 2020-04-02T13:15:30-04:00
New Revision: f5c1d4409e013f805a151bb2089cfa030f7eb892

URL: https://github.com/llvm/llvm-project/commit/f5c1d4409e013f805a151bb2089cfa030f7eb892
DIFF: https://github.com/llvm/llvm-project/commit/f5c1d4409e013f805a151bb2089cfa030f7eb892.diff

LOG: [libc++] Try to fix Chromium's build

Chromium's build sets LIBCXX_CXX_ABI_SYSTEM explicitly when building
libc++, which was broken by 61e89737c5da (which stopped listening to
that option). As a workaround, this commit uses the system libc++abi
when LIBCXX_CXX_ABI_SYSTEM is used.

However, we will need to work with Chromium to standardize their build
of libc++, because LIBCXX_CXX_ABI_SYSTEM is not a public facing build
configuration for libc++, and has never been AFAICT.

Added: 
    

Modified: 
    libcxx/cmake/Modules/HandleLibCXXABI.cmake

Removed: 
    


################################################################################
diff  --git a/libcxx/cmake/Modules/HandleLibCXXABI.cmake b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
index a62efc0afa95..f5d15f89e2a9 100644
--- a/libcxx/cmake/Modules/HandleLibCXXABI.cmake
+++ b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
@@ -104,7 +104,7 @@ if ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libstdc++" OR
 elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi")
   set(LIBCXX_CXX_ABI_INCLUDE_PATHS "${LIBCXX_SOURCE_DIR}/../libcxxabi/include")
 
-  if(LIBCXX_STANDALONE_BUILD AND NOT (LIBCXX_CXX_ABI_INTREE OR HAVE_LIBCXXABI))
+  if((LIBCXX_CXX_ABI_SYSTEM OR LIBCXX_STANDALONE_BUILD) AND NOT (LIBCXX_CXX_ABI_INTREE OR HAVE_LIBCXXABI))
     set(shared c++abi)
     set(static c++abi)
   else()


        


More information about the libcxx-commits mailing list