summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in16
1 files changed, 14 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index 8fef6b2..f7f7ef7 100644
--- a/configure.in
+++ b/configure.in
@@ -952,15 +952,27 @@ else
LIBS="-lpth $LIBS"
LIBOBJS="$LIBOBJS thread.o"],[
AC_MSG_RESULT(no)
- AC_CHECK_LIB(pthread, pthread_create, [AC_DEFINE(WITH_THREAD)
+
+ # Just looking for pthread_create in libpthread is not enough:
+ # on HP/UX, pthread.h renames pthread_create to a different symbol name.
+ # So we really have to include pthread.h, and then link.
+ _libs=$LIBS
+ LIBS="$LIBS -lpthread"
+ AC_MSG_CHECKING([for pthread_create in -lpthread])
+ AC_TRY_LINK([#include <pthread.h>
+
+void * start_routine (void *arg) { exit (0); }], [
+pthread_create (NULL, NULL, start_routine, NULL)], [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(WITH_THREAD)
case $ac_sys_system in
Darwin*) ;;
*) AC_DEFINE(_POSIX_THREADS)
posix_threads=yes
;;
esac
- LIBS="-lpthread $LIBS"
LIBOBJS="$LIBOBJS thread.o"],[
+ LIBS=$_libs
AC_CHECK_FUNC(pthread_detach, [AC_DEFINE(WITH_THREAD)
case $ac_sys_system in
Darwin*) ;;