summaryrefslogtreecommitdiff
path: root/Zend/Zend.m4
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2002-07-25 23:55:06 +0000
committerfoobar <sniper@php.net>2002-07-25 23:55:06 +0000
commitc4789feffa602993c772897e59a08797a637a76d (patch)
tree073dab3e478a4c6f5db6cce169c6cc3a856b110b /Zend/Zend.m4
parent272913f3d4656fad9c31faf940e0635799f5ad3a (diff)
downloadphp-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.m452
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)