From: foobar Date: Mon, 20 Dec 2004 20:37:45 +0000 (+0000) Subject: Better fix for endian compile problems. X-Git-Tag: RELEASE_0_2~493 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4157e50c0097e089bdd1f2e5d428db7697037af9;p=php Better fix for endian compile problems. --- diff --git a/Zend/zend_strtod.c b/Zend/zend_strtod.c index d0b197335d..bba9ac7edb 100644 --- a/Zend/zend_strtod.c +++ b/Zend/zend_strtod.c @@ -91,22 +91,15 @@ #include -#if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: strtod.c,v 1.19 2004/02/03 16:52:11 drahn Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#if defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ - defined(__mips__) || defined(__mips) || defined(__ns32k__) || defined(__alpha__) || defined(__alpha) || \ - defined(__powerpc__) || defined(__ppc__) || defined(__m88k__) || defined(__hpux) || \ - defined(__hppa__) || defined(__x86_64__) || (defined(__arm__) && \ - defined(__VFP_FP__)) +#ifdef HAVE_SYS_TYPES_H #include -#if BYTE_ORDER == BIG_ENDIAN +#endif + +#ifdef WORDS_BIGENDIAN #define IEEE_BIG_ENDIAN #else #define IEEE_LITTLE_ENDIAN #endif -#endif #if defined(__arm__) && !defined(__VFP_FP__) /* diff --git a/acinclude.m4 b/acinclude.m4 index c95710b5fd..c86701e55a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1955,3 +1955,32 @@ AC_DEFUN(PHP_CHECK_64BIT,[ $2 fi ]) + +dnl +dnl PHP_C_BIGENDIAN +dnl Replacement macro for AC_C_BIGENDIAN +dnl +AC_DEFUN([PHP_C_BIGENDIAN], +[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian_php, + [ + ac_cv_c_bigendian_php=unknown + AC_TRY_RUN( + [ +int main(void) +{ + short one = 1; + char *cp = (char *)&one; + + if (*cp == 0) { + return(0); + } else { + return(1); + } +} + ], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown]) + if test $ac_cv_c_bigendian_php = yes; then + AC_DEFINE(WORDS_BIGENDIAN) + fi + ]) +]) + diff --git a/configure.in b/configure.in index 770a2a2715..0932529864 100644 --- a/configure.in +++ b/configure.in @@ -201,6 +201,10 @@ else AC_MSG_WARN(You will need flex 2.5.4 or later if you want to regenerate Zend/PHP lexical parsers.) fi +dnl Check whether byte ordering is bigendian +PHP_C_BIGENDIAN + + dnl Platform-specific compile settings. dnl -------------------------------------------------------------------------