[PATCH] D43168: Don't use -ldl on BSD

Dimitry Andric via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 11 11:02:43 PST 2018


dim updated this revision to Diff 133794.
dim added a comment.

Update to use a for loop for iterating over `CMAKE_DL_LIBS`, and while we are here, also use CMake's FindThreads module and `CMAKE_THREAD_LIBS_INIT` (this will contain `-lpthread`, if it is necessary for the target system).


Repository:
  rT test-suite

https://reviews.llvm.org/D43168

Files:
  Bitcode/Benchmarks/Halide/CMakeLists.txt
  Bitcode/Regression/fft/CMakeLists.txt
  Bitcode/Regression/vector_widen/CMakeLists.txt
  Bitcode/simd_ops/CMakeLists.txt


Index: Bitcode/simd_ops/CMakeLists.txt
===================================================================
--- Bitcode/simd_ops/CMakeLists.txt
+++ Bitcode/simd_ops/CMakeLists.txt
@@ -5,7 +5,11 @@
 SET_SOURCE_FILES_PROPERTIES(${scalar_sources} PROPERTIES LANGUAGE CXX)
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/${ARCH}_halide_runtime.bc PROPERTIES LANGUAGE CXX)
 
-list(APPEND LDFLAGS -lpthread -ldl)
+find_package(Threads)
+list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+foreach(lib ${CMAKE_DL_LIBS})
+  list(APPEND LDFLAGS -l${lib})
+endforeach()
 add_library(simd_ops STATIC simd_ops.cpp ${ARCH}_halide_runtime.bc)
 target_link_libraries(simd_ops)
 test_suite_add_build_dependencies(simd_ops)
Index: Bitcode/Regression/vector_widen/CMakeLists.txt
===================================================================
--- Bitcode/Regression/vector_widen/CMakeLists.txt
+++ Bitcode/Regression/vector_widen/CMakeLists.txt
@@ -1,7 +1,11 @@
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/halide_runtime.bc PROPERTIES LANGUAGE CXX)
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/vector_widen.bc PROPERTIES LANGUAGE CXX)
 
-list(APPEND LDFLAGS -lpthread -ldl)
+find_package(Threads)
+list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+foreach(lib ${CMAKE_DL_LIBS})
+  list(APPEND LDFLAGS -l${lib})
+endforeach()
 
 set(Source ${CMAKE_CURRENT_SOURCE_DIR}/driver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/halide_runtime.bc ${CMAKE_CURRENT_SOURCE_DIR}/vector_widen.bc)
 set(PROG widen_bug)
Index: Bitcode/Regression/fft/CMakeLists.txt
===================================================================
--- Bitcode/Regression/fft/CMakeLists.txt
+++ Bitcode/Regression/fft/CMakeLists.txt
@@ -3,7 +3,11 @@
 SET_SOURCE_FILES_PROPERTIES(${uosources} PROPERTIES LANGUAGE CXX)
 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/x86_17.06.19_halide_runtime.bc PROPERTIES LANGUAGE CXX)
 
-list(APPEND LDFLAGS -lpthread -ldl)
+find_package(Threads)
+list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+foreach(lib ${CMAKE_DL_LIBS})
+  list(APPEND LDFLAGS -l${lib})
+endforeach()
 
 set(Source ${CMAKE_CURRENT_SOURCE_DIR}/driver.cpp ${CMAKE_CURRENT_SOURCE_DIR}/x86_17.06.19_halide_runtime.bc ${uosources})
 set(PROG fft)
Index: Bitcode/Benchmarks/Halide/CMakeLists.txt
===================================================================
--- Bitcode/Benchmarks/Halide/CMakeLists.txt
+++ Bitcode/Benchmarks/Halide/CMakeLists.txt
@@ -1,5 +1,9 @@
 if(NOT WIN32)
-  list(APPEND LDFLAGS -lpthread -ldl)
+  find_package(Threads)
+  list(APPEND LDFLAGS ${CMAKE_THREAD_LIBS_INIT})
+  foreach(lib ${CMAKE_DL_LIBS})
+    list(APPEND LDFLAGS -l${lib})
+  endforeach()
 endif()
 if(NOT MSVC)
   list(APPEND CXXFLAGS "-std=c++11")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43168.133794.patch
Type: text/x-patch
Size: 2722 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180211/73ba3830/attachment.bin>


More information about the llvm-commits mailing list