diff options
| author | Petr Hosek <phosek@chromium.org> | 2017-01-16 00:33:09 +0000 |
|---|---|---|
| committer | Petr Hosek <phosek@chromium.org> | 2017-01-16 00:33:09 +0000 |
| commit | 06d3c51c88b1fb9432a35ef0384dafb7b1d152a8 (patch) | |
| tree | 547de2666e8fd58733474f023627256b696326ef | |
| parent | daf3a694604a96933853092506a88af85bbe73c9 (diff) | |
| download | bcm5719-llvm-06d3c51c88b1fb9432a35ef0384dafb7b1d152a8.tar.gz bcm5719-llvm-06d3c51c88b1fb9432a35ef0384dafb7b1d152a8.zip | |
Reland "[CMake][libcxx] Do not rely on the existence of c++abi or unwind targets"
This relands commit r291727.
llvm-svn: 292085
| -rw-r--r-- | libcxx/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | libcxx/lib/CMakeLists.txt | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/libcxx/CMakeLists.txt b/libcxx/CMakeLists.txt index ed66930ea25..b7d2f4aa56d 100644 --- a/libcxx/CMakeLists.txt +++ b/libcxx/CMakeLists.txt @@ -125,8 +125,7 @@ if (LIBCXX_CXX_ABI STREQUAL "default") ${LLVM_MAIN_SRC_DIR}/runtimes/libcxxabi/include NO_DEFAULT_PATH ) - if (NOT DEFINED LIBCXX_STANDALONE_BUILD AND - IS_DIRECTORY "${LIBCXX_LIBCXXABI_INCLUDES_INTERNAL}") + if (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) diff --git a/libcxx/lib/CMakeLists.txt b/libcxx/lib/CMakeLists.txt index 23a17dd7162..e11ff2627b8 100644 --- a/libcxx/lib/CMakeLists.txt +++ b/libcxx/lib/CMakeLists.txt @@ -247,7 +247,8 @@ if (LIBCXX_ENABLE_STATIC) if (LIBCXX_CXX_ABI_LIBRARY_PATH) set(MERGE_ARCHIVES_SEARCH_PATHS "-L${LIBCXX_CXX_ABI_LIBRARY_PATH}") endif() - if (TARGET ${LIBCXX_CXX_ABI_LIBRARY}) + if ((TARGET ${LIBCXX_CXX_ABI_LIBRARY}) OR + (${LIBCXX_CXX_ABI_LIBRARY} STREQUAL "cxxabi(_static|_shared)?" AND HAVE_LIBCXXABI)) set(MERGE_ARCHIVES_ABI_TARGET "$<TARGET_LINKER_FILE:${LIBCXX_CXX_ABI_LIBRARY}>") else() set(MERGE_ARCHIVES_ABI_TARGET @@ -318,7 +319,9 @@ if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT) set(LIBCXX_INTERFACE_LIBRARY_NAMES) foreach(lib ${LIBCXX_INTERFACE_LIBRARIES}) # FIXME: Handle cxxabi_static and unwind_static. - if (TARGET ${lib}) + if (TARGET ${lib} OR + (${lib} MATCHES "cxxabi(_static|_shared)?" AND HAVE_LIBCXXABI) OR + (${lib} MATCHES "unwind(_static|_shared)?" AND HAVE_LIBUNWIND)) list(APPEND LIBCXX_INTERFACE_LIBRARY_NAMES "$<TARGET_PROPERTY:${lib},OUTPUT_NAME>") else() list(APPEND LIBCXX_INTERFACE_LIBRARY_NAMES "${lib}") |

