summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2005-01-22 20:28:17 +0000
committerfoobar <sniper@php.net>2005-01-22 20:28:17 +0000
commitaf1f60e601398343bc8e94c430d0833de936c373 (patch)
tree4619c06d1d5ee0c547a5b7667761220b33a520e5 /Zend
parent1d5c13bdad8416d96f22ce1e0da9b3dfba7c8fe5 (diff)
downloadphp-git-af1f60e601398343bc8e94c430d0833de936c373.tar.gz
- Compile fix for systems without uint32_t typedef
Diffstat (limited to 'Zend')
-rw-r--r--Zend/Zend.m423
-rw-r--r--Zend/configure.in3
-rw-r--r--Zend/zend_strtod.c14
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