diff options
author | foobar <sniper@php.net> | 2002-07-25 23:55:06 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2002-07-25 23:55:06 +0000 |
commit | c4789feffa602993c772897e59a08797a637a76d (patch) | |
tree | 073dab3e478a4c6f5db6cce169c6cc3a856b110b /Zend/Zend.m4 | |
parent | 272913f3d4656fad9c31faf940e0635799f5ad3a (diff) | |
download | php-git-c4789feffa602993c772897e59a08797a637a76d.tar.gz |
Fixed 3 major failures in this test:
1. Tests work better when they are actually run..
2. When file is opened, it should be closed sometime too.
3. AC_TRY_RUN cleans after itself (rm -f conftest.*), so it's
good idea to read the values while the file still exists.
#
# James, TEST BEFORE YOU COMMIT!!!!!!!
#
# Andi, I get these results (in Linux/i386):
#
# ZEND_MM_ALIGNMENT 4
# ZEND_MM_ALIGNMENT_LOG2 2
#
# Weren't these supposed to be 8 and 3 ?
#
Diffstat (limited to 'Zend/Zend.m4')
-rw-r--r-- | Zend/Zend.m4 | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index dae379c830..2f49e45c09 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -177,18 +177,13 @@ AC_C_INLINE AC_SUBST(INLINE_CFLAGS) -]) - -AC_DEFUN(LIBZEND_CPLUSPLUS_CHECKS,[ - -]) dnl test and set the alignment define for ZEND_MM dnl this also does the logarithmic test for ZEND_MM. - AC_MSG_CHECKING(for MM alignment and log values) -AC_TRY_RUN([#include <stdio.h> +AC_TRY_RUN([ +#include <stdio.h> typedef union _mm_align_test { void *ptr; @@ -196,35 +191,42 @@ typedef union _mm_align_test { long lng; } mm_align_test; -int main() { - #if (defined (__GNUC__) && __GNUC__ >= 2) #define ZEND_MM_ALIGNMENT (__alignof__ (mm_align_test)) #else #define ZEND_MM_ALIGNMENT (sizeof(mm_align_test)) #endif -int i = ZEND_MM_ALIGNMENT; -int zeros = 0; -FILE *f = fopen("conftest.zend", "w"); +int main() +{ + int i = ZEND_MM_ALIGNMENT; + int zeros = 0; + FILE *fp; + + while (i & ~0x1) { + zeros++; + i = i >> 1; + } -while (i & ~0x1) { - zeros++; - i = i >> 1; + fp = fopen("conftest.zend", "w"); + fprintf(fp, "%d %d", ZEND_MM_ALIGNMENT, zeros); + fclose(fp); + + exit(0); } +], [ + LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1` + LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2` + AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ]) + AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ]) +]) -fprintf(f, "%d %d", ZEND_MM_ALIGNMENT, zeros); +AC_MSG_RESULT(done) - exit(0); -}],zend_mm_test=true,zend_mm_test=false,zend_mm_test=false) +]) -if test $zend_mm_test = true; then - LIBZEND_MM_ALIGN=`cat ./conftest.zend | cut -d ' ' -f 1` - LIBZEND_MM_ALIGN_LOG2=`cat ./conftest.zend | cut -d ' ' -f 2` +AC_DEFUN(LIBZEND_CPLUSPLUS_CHECKS,[ - AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ]) - AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ]) -fi; +]) -AC_MSG_RESULT(done) |