])dnl
dnl
dnl ====================================================================
+dnl
+AC_DEFUN(AC_COMPILE_CHECK_SIZEOF,
+[changequote(<<, >>)dnl
+dnl The name to #define.
+define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
+dnl The cache variable name.
+define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
+changequote([, ])dnl
+AC_MSG_CHECKING(size of $1)
+AC_CACHE_VAL(AC_CV_NAME,
+[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence.
+ AC_TRY_COMPILE([#include "confdefs.h"
+#include <sys/types.h>
+$2
+], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
+ if test x$AC_CV_NAME != x ; then break; fi
+done
+])
+if test x$AC_CV_NAME = x ; then
+ AC_MSG_ERROR([cannot determine a size for $1])
+fi
+AC_MSG_RESULT($AC_CV_NAME)
+AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
+undefine([AC_TYPE_NAME])dnl
+undefine([AC_CV_NAME])dnl
+])
+dnl ====================================================================
dnl check if hard links are supported.
dnl
AC_DEFUN([OL_PROG_LN_H], [# test for ln hardlink support
/* pthread test function */
pthread_t t;
int status;
+#if HAVE_PTHREADS_FINAL && defined(PTHREAD_CREATE_UNDETACHED)
+ /* This system (e.g. AIX) defaults detached; must override */
+ pthread_attr_t attr;
- /* make sure pthread_create() isn't just a stub */
+ status = pthread_attr_init(&attr);
+ if( status ) exit( status );
+
+ status = pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_UNDETACHED);
+ if( status ) exit( status );
+
+#define ATTR &attr
+#else
#if HAVE_PTHREADS_D4
- status = pthread_create(&t, pthread_attr_default, task, NULL);
+#define ATTR pthread_attr_default
#else
- status = pthread_create(&t, NULL, task, NULL);
+#define ATTR NULL
#endif
-
+#endif
+ /* make sure pthread_create() isn't just a stub */
+ status = pthread_create(&t, ATTR, task, NULL);
if( status ) exit( status );
/* make sure pthread_detach() isn't just a stub */
])
])dnl
dnl ====================================================================
+dnl Check for NT Threads
+AC_DEFUN([OL_NT_THREADS], [
+ AC_CACHE_CHECK([for NT Threads], [ol_cv_nt_threads], [
+ AC_CHECK_FUNC(_beginthread,
+ [ol_cv_nt_threads=yes],
+ [ol_cv_nt_threads=no])
+ ])
+
+ if test $ol_cv_nt_threads = yes ; then
+ AC_DEFINE(HAVE_NT_THREADS,1,[if you have NT Threads])
+ fi
+])
+dnl ====================================================================
dnl Check LinuxThreads Header
dnl
dnl defines ol_cv_header linux_threads to 'yes' or 'no'