diff --git a/configure.in b/configure.in index 0ecab905ef..d411c90707 100644 --- a/configure.in +++ b/configure.in @@ -149,13 +149,14 @@ AC_CHECK_HEADERS(zlib.h, , AC_MSG_ERROR(Zlib header (zlib.h) not found. Tor requ dnl These headers are not essential -AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h pthread.h stddef.h) +AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h pthread.h stddef.h inttypes.h) AC_CHECK_FUNCS(gettimeofday ftime socketpair uname inet_aton strptime getrlimit setrlimit strlcat strlcpy strtoull getpwnam ftello pthread_create gethostbyname_r getaddrinfo) AC_FUNC_FSEEKO AC_CHECK_MEMBERS([struct timeval.tv_sec]) + dnl In case we aren't given a working stdint.h, we'll need to grow our own. dnl Watch out. @@ -180,6 +181,10 @@ AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(__int64) AC_CHECK_SIZEOF(void *) +# We want to make sure that we _don't_ have a cell_t defined, like IRIX does. + +AC_CHECK_SIZEOF(cell_t) + # Now, let's see about alignment requirements. On some platforms, we override # the default. case $host in diff --git a/src/common/torint.h b/src/common/torint.h index 7bebb1009d..75e45239c8 100644 --- a/src/common/torint.h +++ b/src/common/torint.h @@ -33,6 +33,9 @@ #include #endif #endif +#ifdef HAVE_INTTYPES_H +#include +#endif #if (SIZEOF_INT8_T != 0) #define HAVE_INT8_T diff --git a/src/or/or.h b/src/or/or.h index 840ca4a6bb..059adefa57 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -128,6 +128,12 @@ #include "../common/util.h" #include "../common/torgzip.h" +#if (SIZEOF_CELL_T != 0) +/* On Irix, stdlib.h defines a cell_t type, so we need to make sure + * that our stuff always calls cell_t something different. */ +#define cell_t tor_cell_t +#endif + /** Define this if you want Tor to crash when any problem comes up, * so you can get a coredump and track things down. */ #undef TOR_FRAGILE