[libcxx-commits] [libcxx] 7142fef - [libc++] Don't override LIBCXX_CXX_ABI_INCLUDE_PATHS for libcxxrt

Alex Richardson via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jun 18 10:09:45 PDT 2020


Author: Alex Richardson
Date: 2020-06-18T18:09:22+01:00
New Revision: 7142fef03d90f4f34e3f6d893f2bc4a671b9e4a5

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

LOG: [libc++] Don't override LIBCXX_CXX_ABI_INCLUDE_PATHS for libcxxrt

When testing libc++ for our cross-compiled CheriBSD target we specify an
explicit LIBCXX_CXX_ABI_INCLUDE_PATHS for libcxxrt. The hardcoded path
/usr/include/c++/v1 was introduced in 61e89737c5daf7b65341936f88f68efb680cdcd4
and overrides any value passed on the CMake command line. Fix this by using
it as a fallback rather than a fixed default value.

Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D82095

Added: 
    

Modified: 
    libcxx/cmake/Modules/HandleLibCXXABI.cmake

Removed: 
    


################################################################################
diff  --git a/libcxx/cmake/Modules/HandleLibCXXABI.cmake b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
index 973d87584e4d..5070e99887f0 100644
--- a/libcxx/cmake/Modules/HandleLibCXXABI.cmake
+++ b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
@@ -102,7 +102,9 @@ if ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libstdc++" OR
     "${_LIBSUPCXX_LIBNAME}" "${_LIBSUPCXX_LIBNAME}" "${_LIBSUPCXX_INCLUDE_FILES}" "bits"
     )
 elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi")
-  set(LIBCXX_CXX_ABI_INCLUDE_PATHS "${LIBCXX_SOURCE_DIR}/../libcxxabi/include")
+  if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
+    set(LIBCXX_CXX_ABI_INCLUDE_PATHS "${LIBCXX_SOURCE_DIR}/../libcxxabi/include")
+  endif()
 
   if(LIBCXX_STANDALONE_BUILD AND NOT (LIBCXX_CXX_ABI_INTREE OR HAVE_LIBCXXABI))
     set(shared c++abi)
@@ -116,7 +118,9 @@ elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi")
     "-DLIBCXX_BUILDING_LIBCXXABI"
     "${shared}" "${static}" "cxxabi.h;__cxxabi_config.h" "")
 elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxrt")
-  set(LIBCXX_CXX_ABI_INCLUDE_PATHS "/usr/include/c++/v1")
+  if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
+    set(LIBCXX_CXX_ABI_INCLUDE_PATHS "/usr/include/c++/v1")
+  endif()
   setup_abi_lib(
     "-DLIBCXXRT"
     "cxxrt" "cxxrt" "cxxabi.h;unwind.h;unwind-arm.h;unwind-itanium.h" ""


        


More information about the libcxx-commits mailing list