diff options
author | foobar <sniper@php.net> | 2005-01-22 20:28:17 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2005-01-22 20:28:17 +0000 |
commit | af1f60e601398343bc8e94c430d0833de936c373 (patch) | |
tree | 4619c06d1d5ee0c547a5b7667761220b33a520e5 /Zend | |
parent | 1d5c13bdad8416d96f22ce1e0da9b3dfba7c8fe5 (diff) | |
download | php-git-af1f60e601398343bc8e94c430d0833de936c373.tar.gz |
- Compile fix for systems without uint32_t typedef
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/Zend.m4 | 23 | ||||
-rw-r--r-- | Zend/configure.in | 3 | ||||
-rw-r--r-- | Zend/zend_strtod.c | 14 |
3 files changed, 36 insertions, 4 deletions
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index eb24b3aca9..21fcaa01e7 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -42,6 +42,8 @@ if test "$ac_cv_prog_gcc" = "yes" -a "`uname -s`" = "Rhapsody"; then fi AC_CHECK_HEADERS( +inttypes.h \ +stdint.h \ limits.h \ malloc.h \ string.h \ @@ -82,6 +84,27 @@ dnl This is required for QNX and may be some BSD derived systems AC_CHECK_TYPE( uint, unsigned int ) AC_CHECK_TYPE( ulong, unsigned long ) +dnl Check if uint32_t is defined +AC_MSG_CHECKING(for uint32_t) +AC_TRY_COMPILE([ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_INTTYPES_H +#include <inttypes.h> +#elif HAVE_STDINT_H +#include <stdint.h> +#endif], +[if ((uint32_t *) 0) + return 0; +if (sizeof (uint32_t)) + return 0; +],[ + AC_DEFINE(HAVE_UINT32_T,1,[Define if uint32_t type is present. ]) + AC_MSG_RESULT(yes) +], AC_MSG_RESULT(no) +)dnl + dnl Checks for library functions. AC_FUNC_VPRINTF AC_FUNC_MEMCMP diff --git a/Zend/configure.in b/Zend/configure.in index 67d3598663..9cbd1e11ce 100644 --- a/Zend/configure.in +++ b/Zend/configure.in @@ -15,6 +15,9 @@ AC_ZEND_C_BIGENDIAN dnl We want this one before the checks, so the checks can modify CFLAGS. test -z "$CFLAGS" && auto_cflags=1 +AC_CHECK_SIZEOF(long, 8) +AC_CHECK_SIZEOF(int, 4) + sinclude(Zend.m4) LIBZEND_BASIC_CHECKS diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c index 52103bb355..4891c33666 100644 --- a/Zend/zend_strtod.c +++ b/Zend/zend_strtod.c @@ -89,18 +89,24 @@ * directly -- and assumed always to succeed. */ -/* $Id$ */ - #include <zend_strtod.h> +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif + #if defined(HAVE_INTTYPES_H) #include <inttypes.h> #elif defined(HAVE_STDINT_H) #include <stdint.h> #endif -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> +#ifndef HAVE_UINT32_T +# if SIZEOF_INT == 4 +typedef unsigned int uint32_t; +# elif SIZEOF_LONG == 4 +typedef unsigned long int uint32_t; +# endif #endif #ifdef WORDS_BIGENDIAN |