[llvm] r217666 - Add CMake check for libatomic.
İsmail Dönmez
ismail at donmez.ws
Sun Sep 14 07:33:29 PDT 2014
Hi,
On Fri, Sep 12, 2014 at 2:09 PM, Evgeniy Stepanov
<eugeni.stepanov at gmail.com> wrote:
> Author: eugenis
> Date: Fri Sep 12 06:08:59 2014
> New Revision: 217666
>
> URL: http://llvm.org/viewvc/llvm-project?rev=217666&view=rev
> Log:
> Add CMake check for libatomic.
>
>
> Modified:
> llvm/trunk/cmake/modules/CheckAtomic.cmake
> llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
> llvm/trunk/lib/Support/CMakeLists.txt
>
> Modified: llvm/trunk/cmake/modules/CheckAtomic.cmake
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/CheckAtomic.cmake?rev=217666&r1=217665&r2=217666&view=diff
> ==============================================================================
> --- llvm/trunk/cmake/modules/CheckAtomic.cmake (original)
> +++ llvm/trunk/cmake/modules/CheckAtomic.cmake Fri Sep 12 06:08:59 2014
> @@ -2,6 +2,11 @@
>
> INCLUDE(CheckCXXSourceCompiles)
>
> +check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
> +if (HAVE_LIBATOMIC)
> + list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
> +endif()
> +
> CHECK_CXX_SOURCE_COMPILES("
> #ifdef _MSC_VER
> #include <windows.h>
>
> Modified: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/HandleLLVMOptions.cmake?rev=217666&r1=217665&r2=217666&view=diff
> ==============================================================================
> --- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake (original)
> +++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake Fri Sep 12 06:08:59 2014
> @@ -25,9 +25,6 @@ if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN)
> set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
> set(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
> set(CMAKE_REQUIRED_FLAGS "-std=c++0x")
> - if (ANDROID)
> - set(CMAKE_REQUIRED_LIBRARIES "atomic")
> - endif()
> check_cxx_source_compiles("
> #include <atomic>
> std::atomic<float> x(0.0f);
This used to be an Android only link library.
> Modified: llvm/trunk/lib/Support/CMakeLists.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/CMakeLists.txt?rev=217666&r1=217665&r2=217666&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/CMakeLists.txt (original)
> +++ llvm/trunk/lib/Support/CMakeLists.txt Fri Sep 12 06:08:59 2014
> @@ -132,6 +132,9 @@ if( NOT MSVC )
> set(system_libs ${system_libs} ${TERMINFO_LIBS})
> endif()
> endif()
> + if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
> + set(system_libs ${system_libs} atomic)
> + endif()
> if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD )
> set(system_libs ${system_libs} pthread)
> endif()
Now everyone links to it if available, that looks wrong.
More information about the llvm-commits
mailing list