diff options
author | Louis Dionne <ldionne@apple.com> | 2019-10-08 16:26:24 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2019-10-08 16:26:24 +0000 |
commit | 32300877f9f450c0a58810d94a905a0fd76f9948 (patch) | |
tree | 10f50bc85599b2fb9843085b72f1f3c437af44e4 /libcxx/src | |
parent | eb6698572623f7f704596949bfc2a6bdcc7940d1 (diff) | |
download | bcm5719-llvm-32300877f9f450c0a58810d94a905a0fd76f9948.tar.gz bcm5719-llvm-32300877f9f450c0a58810d94a905a0fd76f9948.zip |
[libc++] Make sure we link all system libraries into the benchmarks
It turns out that r374056 broke _some_ build bots again, specifically
the ones using sanitizers. Instead of trying to link the right system
libraries to the benchmarks bit-by-bit, let's just link exactly the
system libraries that libc++ itself needs.
llvm-svn: 374079
Diffstat (limited to 'libcxx/src')
-rw-r--r-- | libcxx/src/CMakeLists.txt | 65 |
1 files changed, 2 insertions, 63 deletions
diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt index 2dad20049a1..fc14b1e71a3 100644 --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt @@ -137,65 +137,6 @@ if (APPLE AND LLVM_USE_SANITIZER) endif() endif() -function(cxx_link_system_libraries target) - target_add_link_flags_if_supported(${target} PRIVATE "-nodefaultlibs") - target_add_compile_flags_if_supported(${target} PRIVATE "/Zl") - target_add_link_flags_if_supported(${target} PRIVATE "/nodefaultlib") - - if (LIBCXX_HAS_SYSTEM_LIB) - target_link_libraries(${target} PRIVATE System) - endif() - - if (LIBCXX_HAS_PTHREAD_LIB) - target_link_libraries(${target} PRIVATE pthread) - endif() - - if (LIBCXX_HAS_C_LIB) - target_link_libraries(${target} PRIVATE c) - endif() - - if (LIBCXX_HAS_M_LIB) - target_link_libraries(${target} PRIVATE m) - endif() - - if (LIBCXX_HAS_RT_LIB) - target_link_libraries(${target} PRIVATE rt) - endif() - - if (LIBCXX_USE_COMPILER_RT) - find_compiler_rt_library(builtins LIBCXX_BUILTINS_LIBRARY) - if (LIBCXX_BUILTINS_LIBRARY) - target_link_libraries(${target} PRIVATE "${LIBCXX_BUILTINS_LIBRARY}") - endif() - elseif (LIBCXX_HAS_GCC_S_LIB) - target_link_libraries(${target} PRIVATE gcc_s) - endif() - - if (LIBCXX_HAVE_CXX_ATOMICS_WITH_LIB) - target_link_libraries(${target} PRIVATE atomic) - endif() - - if (MINGW) - target_link_libraries(${target} PRIVATE "${MINGW_LIBRARIES}") - endif() - - if (LIBCXX_TARGETING_MSVC) - if (LIBCXX_DEBUG_BUILD) - set(LIB_SUFFIX "d") - else() - set(LIB_SUFFIX "") - endif() - - target_link_libraries(${target} PRIVATE ucrt${LIB_SUFFIX}) # Universal C runtime - target_link_libraries(${target} PRIVATE vcruntime${LIB_SUFFIX}) # C++ runtime - target_link_libraries(${target} PRIVATE msvcrt${LIB_SUFFIX}) # C runtime startup files - target_link_libraries(${target} PRIVATE msvcprt${LIB_SUFFIX}) # C++ standard library. Required for exception_ptr internals. - # Required for standards-complaint wide character formatting functions - # (e.g. `printfw`/`scanfw`) - target_link_libraries(${target} PRIVATE iso_stdio_wide_specifiers) - endif() -endfunction() - if (LIBCXX_ENABLE_PARALLEL_ALGORITHMS AND NOT TARGET pstl::ParallelSTL) message(FATAL_ERROR "Could not find ParallelSTL") endif() @@ -219,7 +160,6 @@ if (LIBCXX_ENABLE_SHARED) if(COMMAND llvm_setup_rpath) llvm_setup_rpath(cxx_shared) endif() - cxx_link_system_libraries(cxx_shared) target_link_libraries(cxx_shared PRIVATE ${LIBCXX_LIBRARIES}) set_target_properties(cxx_shared PROPERTIES @@ -322,7 +262,6 @@ endif() # Build the static library. if (LIBCXX_ENABLE_STATIC) add_library(cxx_static STATIC ${exclude_from_all} ${LIBCXX_SOURCES} ${LIBCXX_HEADERS}) - cxx_link_system_libraries(cxx_static) target_link_libraries(cxx_static PRIVATE ${LIBCXX_LIBRARIES}) set(CMAKE_STATIC_LIBRARY_PREFIX "lib") set_target_properties(cxx_static @@ -385,9 +324,9 @@ if (LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY) ) add_library(cxx_experimental STATIC ${LIBCXX_EXPERIMENTAL_SOURCES}) if (LIBCXX_ENABLE_SHARED) - target_link_libraries(cxx_experimental cxx_shared) + target_link_libraries(cxx_experimental PRIVATE cxx_shared) else() - target_link_libraries(cxx_experimental cxx_static) + target_link_libraries(cxx_experimental PRIVATE cxx_static) endif() set_target_properties(cxx_experimental |