diff options
author | Louis Dionne <ldionne@apple.com> | 2019-07-05 17:06:23 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2019-07-05 17:06:23 +0000 |
commit | 4ba29e5fbeaf359b8ab07c902b8ad48c899eaec3 (patch) | |
tree | e9e97cd2583d068b7a460a8943e6ce399af256c0 /libcxx | |
parent | 9e38f510b37d5a8e750eec60e123e3a98803b294 (diff) | |
download | llvm-4ba29e5fbeaf359b8ab07c902b8ad48c899eaec3.zip llvm-4ba29e5fbeaf359b8ab07c902b8ad48c899eaec3.tar.gz llvm-4ba29e5fbeaf359b8ab07c902b8ad48c899eaec3.tar.bz2 |
[libc++] Do not cleverly link against libc++abi just because it happens to be there
Summary:
Otherwise, when libcxxabi is not an enabled project in the monorepo, we
get a link error because we try to link against non-existent cxxabi_shared.
More generally, we shouldn't change the behavior of the build based on
implicit things like whether a file happens to be at a specific path or
not.
Reviewers: EricWF
Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D63883
llvm-svn: 365222
Diffstat (limited to 'libcxx')
-rw-r--r-- | libcxx/CMakeLists.txt | 13 | ||||
-rw-r--r-- | libcxx/cmake/Modules/HandleLibCXXABI.cmake | 2 |
2 files changed, 1 insertions, 14 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index 4a7d945..4c1e3ab 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -149,22 +149,9 @@ 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 10f100f..57f9e32 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 (LIBCXX_CXX_ABI_INTREE) + if (TARGET cxxabi_shared AND TARGET cxxabi_static) # Link against just-built "cxxabi" target. set(CXXABI_SHARED_LIBNAME cxxabi_shared) set(CXXABI_STATIC_LIBNAME cxxabi_static) |