|
@@ -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"
|