- Compile fix for systems without uint32_t typedef

This commit is contained in:
foobar 2005-01-22 20:28:17 +00:00
parent 1d5c13bdad
commit af1f60e601
3 changed files with 36 additions and 4 deletions

View File

@ -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

View File

@ -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

View File

@ -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