jani            Wed Jul 25 21:19:43 2007 UTC

  Modified files:              
    /php-src    acinclude.m4 
  Log:
  - Allow using extra headers in PHP_CHECK_SIZEOF
  
http://cvs.php.net/viewvc.cgi/php-src/acinclude.m4?r1=1.379&r2=1.380&diff_format=u
Index: php-src/acinclude.m4
diff -u php-src/acinclude.m4:1.379 php-src/acinclude.m4:1.380
--- php-src/acinclude.m4:1.379  Thu Jul 19 12:35:56 2007
+++ php-src/acinclude.m4        Wed Jul 25 21:19:43 2007
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: acinclude.m4,v 1.379 2007/07/19 12:35:56 jani Exp $
+dnl $Id: acinclude.m4,v 1.380 2007/07/25 21:19:43 jani Exp $
 dnl
 dnl This file contains local autoconf functions.
 dnl
@@ -1026,21 +1026,17 @@
 dnl Checks for structures, typedefs, broken functions, etc.
 dnl -------------------------------------------------------------------------
 
+dnl Internal helper macro
+dnl _PHP_CHECK_SIZEOF(type, cross-value, extra-headers [, found-action [, 
not-found-action]])
 dnl
-dnl PHP_CHECK_SIZEOF(TYPE [, CROSS-SIZE])
-dnl Enhanced version of AC_CHECK_SIZEOF for checking more types 
-dnl than just those defined in stdio.h
-dnl
-AC_DEFUN(PHP_CHECK_SIZEOF,
-[changequote(<<, >>)dnl
-dnl The name to #define.
-define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
-dnl The cache variable name.
-define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
-changequote([, ])dnl
-AC_MSG_CHECKING(size of $1)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([#include <stdio.h>
+AC_DEFUN([_PHP_CHECK_SIZEOF], [
+  php_cache_value=php_cv_sizeof_[]$1
+  AC_CACHE_VAL(php_cv_sizeof_[]$1, [
+    old_LIBS=$LIBS
+    LIBS=
+    old_LDFLAGS=$LDFLAGS
+    LDFLAGS=
+    AC_TRY_RUN([#include <stdio.h>
 #if STDC_HEADERS
 #include <stdlib.h>
 #include <stddef.h>
@@ -1051,17 +1047,41 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
+$3
+
 int main()
 {
-       FILE *f=fopen("conftestval", "w");
-       if (!f) return(1);
-               fprintf(f, "%d\n", sizeof($1));
-               return(0);
-       }], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , 
AC_CV_NAME=$2))])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in a $1.])
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
+       FILE *fp = fopen("conftestval", "w");
+       if (!fp) return(1);
+       fprintf(fp, "%d\n", sizeof($1));
+       return(0);
+}
+  ], [
+    eval $php_cache_value=`cat conftestval`
+  ], [
+    eval $php_cache_value=0
+  ], [
+    ifelse([$2],,[eval $php_cache_value=0], [eval $php_cache_value=$2])
+])
+  LDFLAGS=$old_LDFLAGS
+  LIBS=$old_LIBS
+])
+  if eval test "\$$php_cache_value" != "0"; then
+ifelse([$4],[],:,[$4])
+ifelse([$5],[],,[else $5])
+  fi
+])
+
+dnl
+dnl PHP_CHECK_SIZEOF(type, cross-value, extra-headers)
+dnl
+AC_DEFUN(PHP_CHECK_SIZEOF, [
+  AC_MSG_CHECKING([size of $1])
+  _PHP_CHECK_SIZEOF($1, $2, $3, [
+    AC_DEFINE_UNQUOTED([SIZEOF_]translit($1,a-z,A-Z_), [$]php_cv_sizeof_[]$1, 
[Size of $1])
+    AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z,A-Z_), 1, [Whether $1 is 
available])
+  ])
+  AC_MSG_RESULT([[$][php_cv_sizeof_]translit($1, ,_)])
 ])
 
 dnl

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to