Fix corner case in acx_pthread.m4 to work with -nostdlib, patch from Kacper Kowalik.
This commit is contained in:
parent
57014ffa52
commit
d4a57f1557
@ -340,6 +340,40 @@ if test "x$acx_pthread_ok" = xyes; then
|
||||
acx_pthread_ok=no
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([whether what we have so far is sufficient with -nostdlib])
|
||||
CFLAGS="-nostdlib $CFLAGS"
|
||||
# we need c with nostdlib
|
||||
LIBS="$LIBS -lc"
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[pthread_t th; pthread_join(th, 0);
|
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
||||
[done=yes],[done=no])
|
||||
|
||||
if test "x$done" = xyes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
|
||||
if test x"$done" = xno; then
|
||||
AC_MSG_CHECKING([whether -lpthread saves the day])
|
||||
LIBS="-lpthread $LIBS"
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[pthread_t th; pthread_join(th, 0);
|
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
||||
[done=yes],[done=no])
|
||||
|
||||
if test "x$done" = xyes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
PTHREAD_LIBS="$PTHREAD_LIBS -lpthread"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([Impossible to determine how to use pthreads with shared libraries and -nostdlib])
|
||||
fi
|
||||
fi
|
||||
|
||||
CFLAGS="$save_CFLAGS"
|
||||
LIBS="$save_LIBS"
|
||||
CC="$save_CC"
|
||||
|
Loading…
Reference in New Issue
Block a user