1 2dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND) 3AC_DEFUN([TSRM_CHECK_GCC_ARG],[ 4 gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_) 5 AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [ 6 echo 'void somefunc() { };' > conftest.c 7 cmd='$CC $1 -c conftest.c' 8 if eval $cmd 2>&1 | egrep -e $1 >/dev/null ; then 9 ac_result=no 10 else 11 ac_result=yes 12 fi 13 eval $gcc_arg_name=$ac_result 14 rm -f conftest.* 15 ]) 16 if eval test "\$$gcc_arg_name" = "yes"; then 17 $2 18 else 19 : 20 $3 21 fi 22]) 23 24AC_DEFUN([TSRM_BASIC_CHECKS],[ 25 26AC_REQUIRE([AC_PROG_CC])dnl 27dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl 28AC_REQUIRE([AC_PROG_CC_C_O])dnl 29AC_REQUIRE([AC_PROG_RANLIB])dnl 30 31AC_CHECK_HEADERS(stdarg.h) 32 33AC_CHECK_FUNCS(sigprocmask) 34 35]) 36 37 38AC_DEFUN([TSRM_CHECK_PTH],[ 39 40AC_MSG_CHECKING(for GNU Pth) 41PTH_PREFIX="`$1 --prefix`" 42if test -z "$PTH_PREFIX"; then 43 AC_MSG_RESULT(Please check your Pth installation) 44fi 45 46CPPFLAGS="$CPPFLAGS `$1 --cflags`" 47LDFLAGS="$LDFLAGS `$1 --ldflags`" 48LIBS="$LIBS `$1 --libs`" 49 50AC_DEFINE(GNUPTH, 1, [Whether you use GNU Pth]) 51AC_MSG_RESULT(yes - installed in $PTH_PREFIX) 52 53]) 54 55AC_DEFUN([TSRM_CHECK_ST],[ 56 if test -r "$1/include/st.h"; then 57 CPPFLAGS="$CPPFLAGS -I$1/include" 58 LDFLAGS="$LDFLAGS -L$1/lib" 59 elif test -r "$1/st.h"; then 60 CPPFLAGS="$CPPFLAGS -I$1" 61 LDFLAGS="$LDFLAGS -L$1" 62 fi 63 AC_CHECK_HEADERS(st.h,[],[ 64 AC_MSG_ERROR([Sorry[,] I was unable to locate the State Threads header file. Please specify the prefix using --with-tsrm-st=/prefix]) 65 ]) 66 LIBS="$LIBS -lst" 67 AC_MSG_CHECKING(for SGI's State Threads) 68 AC_MSG_RESULT(yes) 69 AC_DEFINE(TSRM_ST, 1, [ ]) 70]) 71 72sinclude(threads.m4) 73 74AC_DEFUN([TSRM_CHECK_PTHREADS],[ 75 76PTHREADS_CHECK 77 78if test "$beos_threads" = "1"; then 79 AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads) 80else 81 if test "$pthreads_working" != "yes"; then 82 AC_MSG_ERROR(Your system seems to lack POSIX threads.) 83 fi 84 85 AC_DEFINE(PTHREADS, 1, Whether to use Pthreads) 86 87 AC_MSG_CHECKING(for POSIX threads) 88 AC_MSG_RESULT(yes) 89fi 90]) 91 92 93AC_DEFUN([TSRM_THREADS_CHECKS],[ 94 95dnl For the thread implementations, we always use --with-* 96dnl to maintain consistency 97 98AC_ARG_WITH(tsrm-pth, 99[ --with-tsrm-pth[=pth-config] 100 Use GNU Pth],[ 101 TSRM_PTH=$withval 102],[ 103 TSRM_PTH=no 104]) 105 106AC_ARG_WITH(tsrm-st, 107[ --with-tsrm-st Use SGI's State Threads],[ 108 TSRM_ST=$withval 109],[ 110 TSRM_ST=no 111]) 112 113AC_ARG_WITH(tsrm-pthreads, 114[ --with-tsrm-pthreads Use POSIX threads (default)],[ 115 TSRM_PTHREADS=$withval 116],[ 117 TSRM_PTHREADS=yes 118]) 119 120test "$TSRM_PTH" = "yes" && TSRM_PTH=pth-config 121 122if test "$TSRM_PTH" != "no"; then 123 TSRM_CHECK_PTH($TSRM_PTH) 124elif test "$TSRM_ST" != "no"; then 125 TSRM_CHECK_ST($TSRM_ST) 126elif test "$TSRM_PTHREADS" != "no"; then 127 TSRM_CHECK_PTHREADS 128fi 129 130]) 131