fix ptrdiff_t and _GNU_SOURCE detection
authorMichael Wallner <mike@php.net>
Wed, 23 Nov 2016 14:45:53 +0000 (14:45 +0000)
committerMichael Wallner <mike@php.net>
Wed, 23 Nov 2016 14:45:53 +0000 (14:45 +0000)
config.m4
m4/posix/stddef.m4
m4/psi/psi.m4

index 98c0648..56635fa 100644 (file)
--- a/config.m4
+++ b/config.m4
@@ -48,7 +48,7 @@ PHP_ARG_ENABLE(psi, whether to enable PHP System Interface support,
 
 if test "$PHP_PSI" != no; then
        PHP_CONFIGURE_PART(Configuring PSI)
-       
+
        PHP_ARG_ENABLE(psi-posix, whether to pre-define POSIX decls,
        [  --enable-psi-posix=...  PSI: pre-define POSIX decls], [ ], [ ])
 
@@ -59,11 +59,11 @@ if test "$PHP_PSI" != no; then
        [  --with-psi-libffi=DIR   PSI: path to libffi], [ ], [ ])
 
        AC_HEADER_ASSERT dnl # adds --disable-assert to define NDEBUG
-       
+
        dnl we cannot use AC_USE_SYSTEM_EXTENSIONS here, because we're way too late
        dnl in the game, and we're currently only targeting _GNU_SOURCE for now
        AC_MSG_CHECKING([for _GNU_SOURCE])
-       AC_EGREP_CPP([gnu_source_defined], [
+       AC_EGREP_CPP([gnu_source_not_defined], [
                #ifndef _GNU_SOURCE
                gnu_source_not_defined
                #endif
index fd52d2a..2c9abf2 100644 (file)
@@ -1,5 +1,11 @@
 PSI_CHECK_STDDEF() {
+    dnl Though, autoconf manual says "This macro is obsolescent, as current systems
+    dnl have conforming header files. New programs need not use this macro.", in fact
+    dnl AC_INCLUDES_DEFAULT still relies on STDC_HEADERS
+    AC_HEADER_STDC
+
     AC_CHECK_HEADERS(stddef.h)
+
     PSI_TYPE(ptrdiff_t, int)
     PSI_CONST(PTRDIFF_MIN, int)
     PSI_CONST(PTRDIFF_MAX, int)
index 96c648e..4012ec1 100644 (file)
@@ -191,7 +191,8 @@ AC_DEFUN(PSI_PTHREAD, [
 dnl PSI_INCLUDES()
 dnl Expands to a complete list of include statements including
 dnl AC_INCLUDES_DEFAULT().
-AC_DEFUN(PSI_INCLUDES, [#define PSI_INCLUDES
+AC_DEFUN(PSI_INCLUDES, [dnl
+#define PSI_INCLUDES
 #ifndef _GNU_SOURCE
 # define _GNU_SOURCE
 #endif