diff options
author | Louis Dionne <ldionne@apple.com> | 2019-05-02 17:43:48 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2019-05-02 17:43:48 +0000 |
commit | 223ed705d0d3c3b07f00202a04447df836c05df8 (patch) | |
tree | 958a1b7908697c4d11b2297b5b06061408d3c41b /libcxx | |
parent | 291a0b89fa3f5929371eb0cf83e01b2573941948 (diff) | |
download | bcm5719-llvm-223ed705d0d3c3b07f00202a04447df836c05df8.tar.gz bcm5719-llvm-223ed705d0d3c3b07f00202a04447df836c05df8.zip |
[libc++][CMake] Link against libSystem on Apple platforms
Instead of manually linking against libm/librt/libpthread, we should be
linking against libSystem on Apple platforms, and only that. libm and
libpthread are symlinks to libSystem anyway.
llvm-svn: 359808
Diffstat (limited to 'libcxx')
-rw-r--r-- | libcxx/cmake/config-ix.cmake | 7 | ||||
-rw-r--r-- | libcxx/src/CMakeLists.txt | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/libcxx/cmake/config-ix.cmake b/libcxx/cmake/config-ix.cmake index 730ee7e164a..23ae71025e5 100644 --- a/libcxx/cmake/config-ix.cmake +++ b/libcxx/cmake/config-ix.cmake @@ -80,8 +80,15 @@ if(WIN32 AND NOT MINGW) set(LIBCXX_HAS_PTHREAD_LIB NO) set(LIBCXX_HAS_M_LIB NO) set(LIBCXX_HAS_RT_LIB NO) + set(LIBCXX_HAS_SYSTEM_LIB NO) +elseif(APPLE) + check_library_exists(System write "" LIBCXX_HAS_SYSTEM_LIB) + set(LIBCXX_HAS_PTHREAD_LIB NO) + set(LIBCXX_HAS_M_LIB NO) + set(LIBCXX_HAS_RT_LIB NO) else() check_library_exists(pthread pthread_create "" LIBCXX_HAS_PTHREAD_LIB) check_library_exists(m ccos "" LIBCXX_HAS_M_LIB) check_library_exists(rt clock_gettime "" LIBCXX_HAS_RT_LIB) + set(LIBCXX_HAS_SYSTEM_LIB NO) endif() diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt index 3c31548c2c4..5d9cc01d165 100644 --- a/libcxx/src/CMakeLists.txt +++ b/libcxx/src/CMakeLists.txt @@ -140,6 +140,10 @@ function(cxx_link_system_libraries target) 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} PUBLIC System) + endif() + if (LIBCXX_HAS_PTHREAD_LIB) target_link_libraries(${target} PUBLIC pthread) endif() |