diff options
author | Louis Dionne <ldionne@apple.com> | 2019-07-05 18:44:25 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2019-07-05 18:44:25 +0000 |
commit | 51de5164865867c17ce7da30428311153eabd5ed (patch) | |
tree | 844cf62c06244f89ef34d7ad25d326caec498097 /libcxx | |
parent | 6c9a392c8eb019d78cd907e0782451ea4678554f (diff) | |
download | llvm-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.txt | 13 | ||||
-rw-r--r-- | libcxx/cmake/Modules/HandleLibCXXABI.cmake | 2 |
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) |