Force the use of -pthread in FindThreads.cmake module. It was looking

for -lpthread first.
No fallouts in a bulk build done by jasper@, thanks!
ok jasper@
This commit is contained in:
landry 2009-09-10 13:54:47 +00:00
parent e3cb46026e
commit 2dc0befd53
2 changed files with 70 additions and 2 deletions

View File

@ -1,10 +1,10 @@
# $OpenBSD: Makefile,v 1.16 2009/03/14 18:59:36 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.17 2009/09/10 13:54:47 landry Exp $
HOMEPAGE= http://www.cmake.org/
CATEGORIES= devel
COMMENT= portable build system
DISTNAME= cmake-2.4.8
PKGNAME= ${DISTNAME}p1
PKGNAME= ${DISTNAME}p2
MASTER_SITES= ${HOMEPAGE}files/v2.4/
MAINTAINER= Marc Espie <espie@openbsd.org>

View File

@ -0,0 +1,68 @@
$OpenBSD: patch-Modules_FindThreads_cmake,v 1.1 2009/09/10 13:54:47 landry Exp $
don't test for -lpthread, so it fallbacks to -pthread
--- Modules/FindThreads.cmake.orig Mon Jan 21 19:59:51 2008
+++ Modules/FindThreads.cmake Fri Sep 4 10:30:59 2009
@@ -24,60 +24,9 @@ ELSE(CMAKE_HAVE_SPROC_H)
IF(CMAKE_HAVE_PTHREAD_H)
# We have pthread.h
# Let's check for the library now.
- SET(CMAKE_HAVE_THREADS_LIBRARY)
- IF(NOT THREADS_HAVE_PTHREAD_ARG)
- # Do we have -lpthreads
- CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
- IF(CMAKE_HAVE_PTHREADS_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- ENDIF(CMAKE_HAVE_PTHREADS_CREATE)
- # Ok, how about -lpthread
- CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE)
- IF(CMAKE_HAVE_PTHREAD_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "-lpthread")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- ENDIF(CMAKE_HAVE_PTHREAD_CREATE)
- IF(CMAKE_SYSTEM MATCHES "SunOS.*")
- # On sun also check for -lthread
- CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE)
- IF(CMAKE_HAVE_THR_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "-lthread")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- ENDIF(CMAKE_HAVE_THR_CREATE)
- ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
- ENDIF(NOT THREADS_HAVE_PTHREAD_ARG)
-
- IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
- # If we did not found -lpthread, -lpthread, or -lthread, look for -pthread
- IF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
- MESSAGE(STATUS "Check if compiler accepts -pthread")
- TRY_RUN(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
- ${CMAKE_BINARY_DIR}
- ${CMAKE_ROOT}/Modules/CheckForPthreads.c
- CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
- OUTPUT_VARIABLE OUTPUT)
- IF(THREADS_HAVE_PTHREAD_ARG)
- IF(THREADS_PTHREAD_ARG MATCHES "^2$")
- MESSAGE(STATUS "Check if compiler accepts -pthread - yes")
- ELSE(THREADS_PTHREAD_ARG MATCHES "^2$")
- MESSAGE(STATUS "Check if compiler accepts -pthread - no")
- FILE(APPEND
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n")
- ENDIF(THREADS_PTHREAD_ARG MATCHES "^2$")
- ELSE(THREADS_HAVE_PTHREAD_ARG)
- MESSAGE(STATUS "Check if compiler accepts -pthread - no")
- FILE(APPEND
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
- ENDIF(THREADS_HAVE_PTHREAD_ARG)
- ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
- IF(THREADS_HAVE_PTHREAD_ARG)
- SET(CMAKE_THREAD_LIBS_INIT "-pthread")
- ELSE(THREADS_HAVE_PTHREAD_ARG)
- ENDIF(THREADS_HAVE_PTHREAD_ARG)
- ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
+ SET(CMAKE_HAVE_PTHREAD_CREATE 1)
+ SET(CMAKE_HAVE_THREADS_LIBRARY 1)
+ SET(CMAKE_THREAD_LIBS_INIT "-pthread")
ENDIF(CMAKE_HAVE_PTHREAD_H)
ENDIF(CMAKE_HAVE_SPROC_H)