summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2002-12-16 09:25:48 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2002-12-16 09:25:48 +0000
commit09841c77838b6263c666036f1e81c82cbe8e152e (patch)
tree3673c471fe35e625901a5b6f9b7ac991a8a99e14
parent876235959dd986c1b20f7c73047e7d88fa75efdf (diff)
downloadguile-09841c77838b6263c666036f1e81c82cbe8e152e.tar.gz
* configure.in: Test if pthread.h declares
pthread_mutexattr_settype ().
-rw-r--r--ChangeLog10
-rw-r--r--configure.in50
2 files changed, 56 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 632e1d4ce..a1c686e78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2002-12-16 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * configure.in: Test if pthread.h declares
+ pthread_mutexattr_settype ().
+
+2002-12-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
+
+ * configure.in (SCM_MUTEX_FAST, SCM_MUTEX_RECURSIVE): Test for
+ ways to get fast and recursive mutexes.
+
2002-12-10 Mikael Djurfeldt <mdj@kvast.blakulla.net>
* configure.in (_THREAD_SAFE): Define when pthreads are enabled in
diff --git a/configure.in b/configure.in
index ef66cab80..4225eaae7 100644
--- a/configure.in
+++ b/configure.in
@@ -649,10 +649,52 @@ case "$with_threads" in
[Define if using pthread multithreading.])
with_threads="pthreads",
with_threads="null")
- if test $GCC = yes; then
- AC_DEFINE(_THREAD_SAFE, 1,
- [Use thread safe versions of GNU Libc functions.])
- fi
+
+ if test $GCC = yes; then
+ AC_DEFINE(_THREAD_SAFE, 1,
+ [Use thread safe versions of GNU Libc functions.])
+ fi
+
+ AC_MSG_CHECKING(if pthread_mutexattr_settype is declared)
+ AC_CACHE_VAL(guile_cv_mutexattr_settype_declared,
+ [AC_TRY_COMPILE([#include <pthread.h>],
+ [int pthread_mutexattr_settype (int, int);],
+ guile_cv_mutexattr_settype_declared=no,
+ guile_cv_mutexattr_settype_declared=yes)])
+ AC_MSG_RESULT($guile_cv_mutexattr_settype_declared)
+ if test $guile_cv_mutexattr_settype_declared = yes; then
+ AC_DEFINE(SCM_MUTEXATTR_SETTYPE_DECLARED, 1,
+ [Define if pthread.h declares pthread_mutexattr_settype.])
+ fi
+
+ AC_MSG_CHECKING(how to get a fast mutex)
+ AC_CACHE_VAL(guile_cv_have_mutex_fast,
+ [AC_TRY_COMPILE([#include <pthread.h>],
+ [int a = PTHREAD_MUTEX_ADAPTIVE_NP;],
+ guile_cv_have_mutex_fast=PTHREAD_MUTEX_ADAPTIVE_NP,
+ guile_cv_have_mutex_fast=none)])
+ AC_MSG_RESULT($guile_cv_have_mutex_fast)
+ if test ! $guile_cv_have_mutex_fast = none; then
+ AC_DEFINE_UNQUOTED(SCM_MUTEX_FAST, $guile_cv_have_mutex_fast,
+ [The mutex kind enum for fast mutexes.])
+ fi
+
+ AC_MSG_CHECKING(how to get a recursive mutex)
+ AC_CACHE_VAL(guile_cv_have_mutex_recursive,
+ [AC_TRY_COMPILE([#include <pthread.h>],
+ [int a = PTHREAD_MUTEX_RECURSIVE_NP;],
+ guile_cv_have_mutex_recursive=PTHREAD_MUTEX_RECURSIVE_NP)
+ if test -z "$guile_cv_have_mutex_recursive"; then
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [int a = PTHREAD_MUTEX_RECURSIVE;],
+ guile_cv_have_mutex_recursive=PTHREAD_MUTEX_RECURSIVE,
+ guile_cv_have_mutex_recursive=none)
+ fi])
+ AC_MSG_RESULT($guile_cv_have_mutex_recursive)
+ if test ! $guile_cv_have_mutex_recursive = none; then
+ AC_DEFINE_UNQUOTED(SCM_MUTEX_RECURSIVE, $guile_cv_have_mutex_recursive,
+ [The mutex kind enum for recursive mutexes.])
+ fi
;;
esac