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], [ ], [ ])
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], [
+ #ifndef _GNU_SOURCE
+ gnu_source_not_defined
+ #endif
+ ], [
+ AC_MSG_RESULT([needs define])
+ AC_DEFINE([_GNU_SOURCE], [], [ ])
+ ], [
+ AC_MSG_RESULT([already defined])
+ ])
+
psi_save_LIBS=$LIBS
LIBS=
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_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])dnl
+AC_DEFUN(PSI_CONFIG_INIT, [
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 */
-function psi\opterr() : int {
- return to_int(opterr);
+function psi\opterr(int $value) : void {
+ let _v = intval($value);
+ return void(opterr_set);
}
function psi\optind() : int {
return to_int(optind);