PHP_ARG_ENABLE(psi, whether to enable PHP System Interface support,
[ --enable-psi Enable PHP System Interface support])
-PHP_ARG_ENABLE(psi-posix, whether to pre-define POSIX decls,
-[ --enable-psi-posix=... PSI: pre-define POSIX decls], [ ], [ ])
+if test "$PHP_PSI" != no; then
+ PHP_CONFIGURE_PART(Configuring PSI)
-PHP_ARG_WITH(psi-libjit, where to find libjit,
-[ --with-psi-libjit=DIR PSI: path to libjit], [ ], [ ])
+ PHP_ARG_ENABLE(psi-posix, whether to pre-define POSIX decls,
+ [ --enable-psi-posix=... PSI: pre-define POSIX decls], [ ], [ ])
-PHP_ARG_WITH(psi-libffi, where to find libffi,
-[ --with-psi-libffi=DIR PSI: path to libffi], [ ], [ ])
+ PHP_ARG_WITH(psi-libjit, where to find libjit,
+ [ --with-psi-libjit=DIR PSI: path to libjit], [ ], [ ])
+
+ PHP_ARG_WITH(psi-libffi, where to find libffi,
+ [ --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_not_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=
-if test "$PHP_PSI" != no; then
- PHP_CONFIGURE_PART(Configuring PSI)
-
PSI_LEMON
PSI_CHECK_LIBJIT
PSI_CHECK_LIBFFI
AC_PATH_PROG(NM, nm)
AC_FUNC_FNMATCH
-
+ AC_FUNC_MMAP
+
PSI_CONFIG_INIT
PSI_CHECK_STD_TYPES
PSI_CHECK_STDINT
PSI_CHECK_WCTYPE
PSI_CONFIG_DONE
+ psi_eval_LIBS=$LIBS
+ LIBS=$psi_save_LIBS
+ PHP_EVAL_LIBLINE($psi_eval_LIBS, PSI_SHARED_LIBADD)
PHP_SUBST(PSI_SHARED_LIBADD)
AC_DEFINE_UNQUOTED(PHP_PSI_SHLIB_SUFFIX, ["$SHLIB_SUFFIX_NAME"], DL suffix)
- AC_DEFINE_UNQUOTED([PSI_STDINC], [$PSI_STDINC], [Standard includes])
- AC_DEFINE_UNQUOTED([PSI_TYPES], [$PSI_TYPES], [Predefined types])
- AC_DEFINE_UNQUOTED([PSI_STRUCTS], [$PSI_STRUCTS], [Predefined structs])
- AC_DEFINE_UNQUOTED([PSI_UNIONS], [$PSI_UNIONS], [Predefined structs])
- AC_DEFINE_UNQUOTED([PSI_CONSTS], [$PSI_CONSTS], [Predefined constants])
- AC_DEFINE_UNQUOTED([PSI_MACROS], [$PSI_MACROS], [Redirected Macros])
- AC_DEFINE_UNQUOTED([PSI_REDIRS], [$PSI_REDIRS], [Redirected functions])
- AC_DEFINE_UNQUOTED([PSI_DECLS], [$PSI_DECLS], [Predefined functions])
- AC_DEFINE_UNQUOTED([PSI_VA_DECLS], [$PSI_VA_DECLS], [Predefined vararg functions])
+ AC_DEFINE_UNQUOTED([PSI_STDINC], ["$PSI_STDINC"], [Standard includes])
+ AC_DEFINE_UNQUOTED([PSI_TYPES], ["$PSI_TYPES"], [Predefined types])
+ AC_DEFINE_UNQUOTED([PSI_STRUCTS], ["$PSI_STRUCTS"], [Predefined structs])
+ AC_DEFINE_UNQUOTED([PSI_UNIONS], ["$PSI_UNIONS"], [Predefined structs])
+ AC_DEFINE_UNQUOTED([PSI_CONSTS], ["$PSI_CONSTS"], [Predefined constants])
+ AC_DEFINE_UNQUOTED([PSI_MACROS], ["$PSI_MACROS"], [Redirected Macros])
+ AC_DEFINE_UNQUOTED([PSI_REDIRS], ["$PSI_REDIRS"], [Redirected functions])
+ AC_DEFINE_UNQUOTED([PSI_DECLS], ["$PSI_DECLS"], [Predefined functions])
+ AC_DEFINE_UNQUOTED([PSI_VA_DECLS], ["$PSI_VA_DECLS"], [Predefined vararg functions])
PHP_ADD_INCLUDE($PHP_PSI_SRCDIR/src)
PHP_ADD_INCLUDE($PHP_PSI_SRCDIR/src/types)