configure: improve checks for funcs not in stdlib
[m6w6/ext-psi] / m4 / psi / psi.m4
index dbe3defc8f4d89acb3139b18d98c9e8c899b026b..b0bbbf3056f3908fbfd07427b684192e4b5b1416 100644 (file)
@@ -11,13 +11,11 @@ PSI_DECLS=$PHP_PSI_SRCDIR/php_psi_decls.h
 PSI_VA_DECLS=$PHP_PSI_SRCDIR/php_psi_va_decls.h
 PSI_FN_DECLS=$PHP_PSI_SRCDIR/php_psi_fn_decls.h
 
-PSI_CONFIG_APPEND=
-
 dnl PSI_CONFIG_INIT()
 dnl Creates stubs of the headers with pre-defined types etc.
 dnl These headers are included by src/context.c.
 dnl This macro must be called prior any checks for a type, struct, decl etc.
-AC_DEFUN(PSI_CONFIG_INIT, [
+AC_DEFUN(PSI_CONFIG_INIT, [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])dnl
        for i in $PSI_STDTYPES $PSI_TYPES $PSI_STRUCTS $PSI_UNIONS $PSI_CONSTS $PSI_REDIRS $PSI_MACROS $PSI_DECLS $PSI_VA_DECLS $PSI_FN_DECLS; do
                cat >$i <<EOF
 /* generated by configure */
@@ -110,12 +108,6 @@ AC_DEFUN(PSI_CONFIG_DONE, [
 /* generated by configure */
 #ifndef _PSI_STDINC
 # define _PSI_STDINC
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-#ifndef _XOPEN_SOURCE
-# define _XOPEN_SOURCE
-#endif
 PSI_INCLUDES
 #endif
 EOF
@@ -186,9 +178,12 @@ dnl PSI_INCLUDES()
 dnl Expands to a complete list of include statements including
 dnl AC_INCLUDES_DEFAULT().
 AC_DEFUN(PSI_INCLUDES, [#define PSI_INCLUDES
-#define _GNU_SOURCE 1
-#define _POSIX_C_SOURCE 200809L
-#define _XOPEN_SOURCE 700
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+#ifndef _REENTRANT
+# define _REENTRANT
+#endif
 AC_INCLUDES_DEFAULT()
 #ifdef HAVE_ERRNO_H
 # include <errno.h>
@@ -214,7 +209,9 @@ AC_INCLUDES_DEFAULT()
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
 #endif
-#ifdef HAVE_NDBM_H
+#ifdef HAVE_RELIC_H
+# include <relic.h>
+#elif HAVE_NDBM_H
 # include <ndbm.h>
 #elif HAVE_GDBM_NDBM_H
 # include <gdbm-ndbm.h>