aboutsummaryrefslogtreecommitdiff
path: root/libcxx
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2019-07-05 18:44:25 +0000
committerLouis Dionne <ldionne@apple.com>2019-07-05 18:44:25 +0000
commit51de5164865867c17ce7da30428311153eabd5ed (patch)
tree844cf62c06244f89ef34d7ad25d326caec498097 /libcxx
parent6c9a392c8eb019d78cd907e0782451ea4678554f (diff)
downloadllvm-51de5164865867c17ce7da30428311153eabd5ed.zip
llvm-51de5164865867c17ce7da30428311153eabd5ed.tar.gz
llvm-51de5164865867c17ce7da30428311153eabd5ed.tar.bz2
Revert "[libc++] Do not cleverly link against libc++abi just because it happens to be there"
This reverts r365222, which broke the libc++ build bots. llvm-svn: 365233
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/CMakeLists.txt13
-rw-r--r--libcxx/cmake/Modules/HandleLibCXXABI.cmake2
2 files changed, 14 insertions, 1 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt
index 4c1e3ab..4a7d945 100644
--- a/libcxx/CMakeLists.txt
+++ b/libcxx/CMakeLists.txt
@@ -149,9 +149,22 @@ set_property(CACHE LIBCXX_CXX_ABI PROPERTY STRINGS ;${CXXABIS})
# Setup the default options if LIBCXX_CXX_ABI is not specified.
if (LIBCXX_CXX_ABI STREQUAL "default")
+ find_path(
+ LIBCXX_LIBCXXABI_INCLUDES_INTERNAL cxxabi.h
+ PATHS ${LLVM_MAIN_SRC_DIR}/projects/libcxxabi/include
+ ${LLVM_MAIN_SRC_DIR}/runtimes/libcxxabi/include
+ ${LLVM_MAIN_SRC_DIR}/../libcxxabi/include
+ NO_DEFAULT_PATH
+ NO_CMAKE_FIND_ROOT_PATH
+ )
if (LIBCXX_TARGETING_MSVC)
# FIXME: Figure out how to configure the ABI library on Windows.
set(LIBCXX_CXX_ABI_LIBNAME "vcruntime")
+ elseif ((NOT LIBCXX_STANDALONE_BUILD OR HAVE_LIBCXXABI) AND
+ IS_DIRECTORY "${LIBCXX_LIBCXXABI_INCLUDES_INTERNAL}")
+ set(LIBCXX_CXX_ABI_LIBNAME "libcxxabi")
+ set(LIBCXX_CXX_ABI_INCLUDE_PATHS "${LIBCXX_LIBCXXABI_INCLUDES_INTERNAL}")
+ set(LIBCXX_CXX_ABI_INTREE 1)
elseif (APPLE)
set(LIBCXX_CXX_ABI_LIBNAME "libcxxabi")
set(LIBCXX_CXX_ABI_SYSTEM 1)
diff --git a/libcxx/cmake/Modules/HandleLibCXXABI.cmake b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
index 57f9e32..10f100f 100644
--- a/libcxx/cmake/Modules/HandleLibCXXABI.cmake
+++ b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
@@ -98,7 +98,7 @@ if ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libstdc++" OR
"${_LIBSUPCXX_LIBNAME}" "${_LIBSUPCXX_LIBNAME}" "${_LIBSUPCXX_INCLUDE_FILES}" "bits"
)
elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi")
- if (TARGET cxxabi_shared AND TARGET cxxabi_static)
+ if (LIBCXX_CXX_ABI_INTREE)
# Link against just-built "cxxabi" target.
set(CXXABI_SHARED_LIBNAME cxxabi_shared)
set(CXXABI_STATIC_LIBNAME cxxabi_static)