AC_DEFUN([CMU_CHECK_TYPE_EXISTS], [
changequote(<<, >>)
define(<<CMU_TYPE_NAME>>, translit(CMU_HAVE_$1, [a-z *], [A-Z_P]))
define(<<CMU_CV_NAME>>, translit(cmu_cv_type_$1, [ *], [_p]))
changequote([, ])
AC_REQUIRE([AC_HEADER_STDC])
AC_MSG_CHECKING(for $1)
AC_CACHE_VAL(CMU_CV_NAME, [
AC_EGREP_CPP([$1[[^a-zA-Z_0-9]]], [
], CMU_CV_NAME=yes, CMU_CV_NAME=no)])
AC_MSG_RESULT($CMU_CV_NAME)
if test $CMU_CV_NAME = yes; then
AC_DEFINE(CMU_TYPE_NAME)
fi
])
AC_DEFUN([CMU_UTIL], [
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AM_PROG_CC_STDC])
AC_REQUIRE([AC_PROG_RANLIB])
AC_REQUIRE([CMU_NANA])
AC_REQUIRE([CMU_COMERR])
AC_REQUIRE([AC_HEADER_STDC])
AC_REQUIRE([AC_TYPE_MODE_T])
AC_REQUIRE([AC_C_CONST])
AC_CHECK_HEADERS(sys/sysmacros.h)
AC_CHECK_HEADER(inttypes.h, AC_DEFINE(HAVE_INTTYPES_H),
CMU_CHECK_TYPE_EXISTS(int8_t)
CMU_CHECK_TYPE_EXISTS(uint8_t)
CMU_CHECK_TYPE_EXISTS(u_int8_t)
CMU_CHECK_TYPE_EXISTS(int16_t)
CMU_CHECK_TYPE_EXISTS(uint16_t)
CMU_CHECK_TYPE_EXISTS(u_int16_t)
CMU_CHECK_TYPE_EXISTS(int32_t)
CMU_CHECK_TYPE_EXISTS(uint32_t)
CMU_CHECK_TYPE_EXISTS(u_int32_t)
)
if test "$ac_cv_header_inttypes_h" = no; then
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
fi
AC_CHECK_TYPE(ssize_t, signed)
THREADED_UTIL_OBJECTS=""
AC_SUBST(THREADED_UTIL_OBJECTS)
])
AC_DEFUN([CMU_THREAD_UTIL], [
AC_REQUIRE([CMU_UTIL])
THREADED_UTIL_OBJECTS="refcache.o rselock.o"
])