dnl AC_CHECK_SIZEOF_SYSTYPE is as the standard AC_CHECK_SIZEOF macro
dnl but also capable of checking the size of system defined types, not
dnl only compiler defined types.
+dnl
+dnl AC_CHECK_SYSTYPE is the same thing but replacing AC_CHECK_TYPE
+dnl However AC_CHECK_TYPE is not by far as limited as AC_CHECK_SIZEOF
+dnl (it at least makes use of <sys/types.h>, <stddef.h> and <stdlib.h>)
dnl AC_CHECK_SIZEOF_SYSTYPE(TYPE [, CROSS-SIZE])
AC_DEFUN(AC_CHECK_SIZEOF_SYSTYPE,
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[AC_TRY_RUN([#include <stdio.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
#if HAVE_INTTYPES_H
#include <inttypes.h>
#endif
undefine([AC_CV_NAME])dnl
])
+dnl AC_CHECK_SYSTYPE(TYPE, DEFAULT)
+AC_DEFUN(AC_CHECK_SYSTYPE,
+[AC_REQUIRE([AC_HEADER_STDC])dnl
+AC_MSG_CHECKING(for $1)
+AC_CACHE_VAL(ac_cv_type_$1,
+[AC_EGREP_CPP(dnl
+changequote(<<,>>)dnl
+<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
+changequote([,]), [#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#if HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
+AC_MSG_RESULT($ac_cv_type_$1)
+if test $ac_cv_type_$1 = no; then
+ AC_DEFINE($1, $2)
+fi
+])
+
dnl
dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
dnl
-dnl $Id: configure.in,v 1.266 2002/04/13 23:07:47 hno Exp $
+dnl $Id: configure.in,v 1.267 2002/04/20 10:50:49 hno Exp $
dnl
dnl
dnl
AC_CONFIG_AUX_DIR(cfgaux)
AM_INIT_AUTOMAKE(squid, 2.6-DEVEL)
AM_CONFIG_HEADER(include/autoconf.h)
-AC_REVISION($Revision: 1.266 $)dnl
+AC_REVISION($Revision: 1.267 $)dnl
AC_PREFIX_DEFAULT(/usr/local/squid)
AM_MAINTAINER_MODE
dnl int16_t
if test "x$ac_cv_sizeof_short" = "x2"; then
- AC_CHECK_TYPE(int16_t,short)
+ AC_CHECK_SYSTYPE(int16_t,short)
elif test "x$ac_cv_sizeof_int" = "x2"; then
- AC_CHECK_TYPE(int16_t,int)
+ AC_CHECK_SYSTYPE(int16_t,int)
fi
dnl u_int16t_t
if test "x$ac_cv_sizeof_uint16_t" = "x2"; then
- AC_CHECK_TYPE(u_int16_t,uint16_t)
+ AC_CHECK_SYSTYPE(u_int16_t,uint16_t)
elif test "x$ac_cv_sizeof_short" = "x2"; then
- AC_CHECK_TYPE(u_int16_t,unsigned short)
+ AC_CHECK_SYSTYPE(u_int16_t,unsigned short)
elif test "x$ac_cv_sizeof_int" = "x2"; then
- AC_CHECK_TYPE(u_int16_t,unsigned int)
+ AC_CHECK_SYSTYPE(u_int16_t,unsigned int)
fi
dnl int32_t
if test "x$ac_cv_sizeof_int" = "x4"; then
- AC_CHECK_TYPE(int32_t,int)
+ AC_CHECK_SYSTYPE(int32_t,int)
elif "x$ac_cv_sizeof_long" = "x4"; then
- AC_CHECK_TYPE(int32_t,long)
+ AC_CHECK_SYSTYPE(int32_t,long)
fi
dnl u_int32_t
if test "x$ac_cv_sizeof_uint32_t" = "x4"; then
- AC_CHECK_TYPE(u_int32_t,uint32_t)
+ AC_CHECK_SYSTYPE(u_int32_t,uint32_t)
elif test "x$ac_cv_sizeof_int" = "x4"; then
- AC_CHECK_TYPE(u_int32_t,unsigned int)
+ AC_CHECK_SYSTYPE(u_int32_t,unsigned int)
elif test "x$ac_cv_sizeof_long" = "x4"; then
- AC_CHECK_TYPE(u_int32_t,unsigned long)
+ AC_CHECK_SYSTYPE(u_int32_t,unsigned long)
fi
dnl int64_t
if test "x$ac_cv_sizeof_long" = "x8"; then
- AC_CHECK_TYPE(int64_t,long)
+ AC_CHECK_SYSTYPE(int64_t,long)
elif test "x$ac_cv_sizeof_long_long" = "x8"; then
- AC_CHECK_TYPE(int64_t,long long)
+ AC_CHECK_SYSTYPE(int64_t,long long)
elif test "x$ac_cv_sizeof___int64" = "x8"; then
- AC_CHECK_TYPE(int64_t,__int64)
+ AC_CHECK_SYSTYPE(int64_t,__int64)
fi
dnl u_int64_t
if test "x$ac_cv_sizeof_uint64_t" = "x8"; then
- AC_CHECK_TYPE(u_int64_t,uint64_t)
+ AC_CHECK_SYSTYPE(u_int64_t,uint64_t)
elif test "x$ac_cv_sizeof_long" = "x8"; then
- AC_CHECK_TYPE(u_int64_t,unsigned long)
+ AC_CHECK_SYSTYPE(u_int64_t,unsigned long)
elif test "x$ac_cv_sizeof_long_long" = "x8"; then
- AC_CHECK_TYPE(u_int64_t,unsigned long long)
+ AC_CHECK_SYSTYPE(u_int64_t,unsigned long long)
elif test "x$ac_cv_sizeof___int64" = "x8"; then
- AC_CHECK_TYPE(int64_t,unsigned __int64)
+ AC_CHECK_SYSTYPE(int64_t,unsigned __int64)
fi
AC_CHECK_TYPE(pid_t, int)