From 9666f63a62b903975f0c71c11dc4126548453cb4 Mon Sep 17 00:00:00 2001 From: Dick Porter Date: Tue, 13 Nov 2001 09:04:31 +0000 Subject: 2001-11-13 Dick Porter * configure.in: Some more tests for pthread features (specifically, glibc 2.1 doesnt define pthread_mutex_timedlock but still needs _GNU_SOURCE for PTHREAD_MUTEX_RECURSIVE) svn path=/trunk/mono/; revision=1339 --- configure.in | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 2d12e7eb7d6..9e596e77c38 100644 --- a/configure.in +++ b/configure.in @@ -161,6 +161,41 @@ if test x$platform_win32 = xno; then ]) CPPFLAGS=$orig_CPPFLAGS CFLAGS="$CFLAGS $pthread_CFLAGS" + + # Need PTHREAD_MUTEX_RECURSIVE + pthread_CFLAGS="" + orig_CPPFLAGS=$CPPFLAGS + # This is a gcc-specific error, but we already set + # gcc-specific options in CFLAGS + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + AC_MSG_CHECKING(for PTHREAD_MUTEX_RECURSIVE) + AC_TRY_COMPILE([ #include ], [ + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + ], [ + # Works! + AC_MSG_RESULT(ok) + ], [ + AC_MSG_RESULT(no) + + # glibc requires -D_GNU_SOURCE before it will declare + # this macro + AC_MSG_CHECKING(whether _GNU_SOURCE is needed for PTHREAD_MUTEX_RECURSIVE) + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" + AC_TRY_COMPILE([ #include ], [ + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + ], [ + AC_MSG_RESULT(ok) + pthread_CFLAGS="-D_GNU_SOURCE" + ], [ + AC_MSG_RESULT(no) + dnl Add other variants here + AC_MSG_ERROR([PTHREAD_MUTEX_RECURSIVE not found]) + ]) + ]) + CPPFLAGS=$orig_CPPFLAGS + CFLAGS="$CFLAGS $pthread_CFLAGS" ], [ AC_MSG_ERROR([libpthread is required on non-win32 hosts]) ]) -- cgit v1.2.3