Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

- Compile fix for systems without uint32_t typedef

  • Loading branch information...
commit af1f60e601398343bc8e94c430d0833de936c373 1 parent 1d5c13b
foobar authored
Showing with 36 additions and 4 deletions.
  1. +23 −0 Zend/Zend.m4
  2. +3 −0  Zend/configure.in
  3. +10 −4 Zend/zend_strtod.c
23 Zend/Zend.m4
View
@@ -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
3  Zend/configure.in
View
@@ -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
14 Zend/zend_strtod.c
View
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.