From ae6fc21f14bf921524974e655aee2b422de16621 Mon Sep 17 00:00:00 2001 From: Joe Watkins Date: Mon, 17 Oct 2016 14:42:35 +0100 Subject: [PATCH] Merge branch 'pull-request/2158' --- TSRM/threads.m4 | 54 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/TSRM/threads.m4 b/TSRM/threads.m4 index 38494ce7ca..7ef920231c 100644 --- a/TSRM/threads.m4 +++ b/TSRM/threads.m4 @@ -66,9 +66,10 @@ dnl dnl Check whether the current setup can use POSIX threads calls dnl AC_DEFUN([PTHREADS_CHECK_COMPILE], [ -AC_TRY_RUN( [ +AC_TRY_LINK( [ #include #include + ], [ void *thread_routine(void *data) { return data; @@ -81,17 +82,10 @@ int main() { pthread_mutexattr_init(&mattr); return pthread_create(&thd, NULL, thread_routine, &data); } ], [ - pthreads_working=yes - ], [ - pthreads_working=no + pthreads_checked=yes ], [ - dnl For cross compiling running this test is of no use. NetWare supports pthreads - pthreads_working=no - case $host_alias in - *netware*) - pthreads_working=yes - esac -] + pthreads_checked=no + ] ) ] )dnl dnl dnl PTHREADS_CHECK() @@ -129,30 +123,34 @@ else CFLAGS="$CFLAGS $flag" PTHREADS_CHECK_COMPILE CFLAGS=$ac_save - if test "$pthreads_working" = "yes"; then + if test "$pthreads_checked" = "yes"; then ac_cv_pthreads_cflags=$flag break fi done fi -fi -]) + ]) -AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[ -ac_cv_pthreads_lib= -if test "$pthreads_working" != "yes"; then - for lib in pthread pthreads c_r; do - ac_save=$LIBS - LIBS="$LIBS -l$lib" - PTHREADS_CHECK_COMPILE - LIBS=$ac_save - if test "$pthreads_working" = "yes"; then - ac_cv_pthreads_lib=$lib - break - fi - done + AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[ + ac_cv_pthreads_lib= + if test "$pthreads_working" != "yes"; then + for lib in pthread pthreads c_r; do + ac_save=$LIBS + LIBS="$LIBS -l$lib" + PTHREADS_CHECK_COMPILE + LIBS=$ac_save + if test "$pthreads_checked" = "yes"; then + ac_cv_pthreads_lib=$lib + break + fi + done + fi + ]) + + if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then + pthreads_working="yes" + fi fi -]) if test "$pthreads_working" = "yes"; then threads_result="POSIX-Threads found" -- 2.40.0