[llvm] r217666 - Add CMake check for libatomic.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Fri Sep 12 04:09:00 PDT 2014


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);

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()





More information about the llvm-commits mailing list