dnl Set some magic defines to achieve POSIX threads conformance
dnl
AC_DEFUN(PTHREADS_FLAGS,[
+ if test -z "$host_alias" && test -n "$host"; then
+ host_alias=$host
+ fi
if test -z "$host_alias"; then
AC_MSG_ERROR(host_alias is not set. Make sure to run config.guess)
fi
- case "$host_alias" in
+ case $host_alias in
*solaris*)
PTHREAD_FLAGS="-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT";;
*freebsd*)
PTHREAD_FLAGS="-D_REENTRANT -D_THREAD_SAFE";;
*linux*)
- PTHREAD_FLAGS="-D_REENTRANT";;
+ PTHREAD_FLAGS=-D_REENTRANT;;
*aix*)
- PTHREAD_FLAGS="-D_THREAD_SAFE";;
+ PTHREAD_FLAGS=-D_THREAD_SAFE;;
*irix*)
- PTHREAD_FLAGS="-D_POSIX_THREAD_SAFE_FUNCTIONS";;
+ PTHREAD_FLAGS=-D_POSIX_THREAD_SAFE_FUNCTIONS;;
*hpux*)
- PTHREAD_FLAGS="-D_REENTRANT";;
+ PTHREAD_FLAGS=-D_REENTRANT;;
*sco*)
- PTHREAD_FLAGS="-D_REENTRANT";;
+ PTHREAD_FLAGS=-D_REENTRANT;;
dnl Solves sigwait() problem, creates problems with u_long etc.
dnl PTHREAD_FLAGS="-D_REENTRANT -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE_EXTENDED=1";;
esac
int data = 1;
pthread_mutexattr_init(&mattr);
return pthread_create(&thd, NULL, thread_routine, &data);
-} ], [
- pthreads_working="yes"
+} ], [
+ pthreads_working=yes
], [
- pthreads_working="no"
- ], pthreads_working="no" ) ] )dnl
+ pthreads_working=no
+ ], pthreads_working=no ) ] )dnl
dnl
dnl PTHREADS_CHECK()
dnl
dnl
AC_DEFUN(PTHREADS_CHECK,[
-save_CFLAGS="$CFLAGS"
-save_LIBS="$LIBS"
+save_CFLAGS=$CFLAGS
+save_LIBS=$LIBS
PTHREADS_ASSIGN_VARS
PTHREADS_CHECK_COMPILE
-LIBS="$save_LIBS"
-CFLAGS="$save_CFLAGS"
+LIBS=$save_LIBS
+CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
-ac_cv_pthreads_cflags=""
+ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
- ac_save="$CFLAGS"
+ ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
- CFLAGS="$ac_save"
+ CFLAGS=$ac_save
if test "$pthreads_working" = "yes"; then
- ac_cv_pthreads_cflags="$flag"
+ ac_cv_pthreads_cflags=$flag
break
fi
done
])
AC_CACHE_CHECK(for pthreads_lib, ac_cv_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"
+ ac_save=$LIBS
LIBS="$LIBS -l$lib"
PTHREADS_CHECK_COMPILE
- LIBS="$ac_save"
+ LIBS=$ac_save
if test "$pthreads_working" = "yes"; then
- ac_cv_pthreads_lib="$lib"
+ ac_cv_pthreads_lib=$lib
break
fi
done
])
if test "$pthreads_working" = "yes"; then
- threads_result="POSIX Threads found"
+ threads_result="POSIX-Threads found"
else
- threads_result="POSIX Threads not found"
+ threads_result="POSIX-Threads not found"
fi
])dnl
dnl