psi_save_LIBS=$LIBS
LIBS=
+ ac_includes_default="AC_INCLUDES_DEFAULT"
+
+ AC_PROG_AWK
+ AC_PATH_PROG(NM, nm)
+ AC_CACHE_CHECK(for libc start main symbol, psi_cv_libc_main, [
+ psi_libc_main=
+ AC_TRY_LINK(PSI_INCLUDES, [(void)0;], [
+ psi_libc_main=`nm -g conftest$ac_exeext | $AWK -F ' *|@' '/^@<:@@<:@:space:@:>@@:>@+U / {print$[]3; exit}'`
+ ])
+ psi_cv_libc_main=$psi_libc_main
+ ])
+
if test "$PHP_PSI_MAINTAINER_MODE" = "yes"; then
PSI_FAST_CONFIG=true
PSI_DEPS=true
PHP_SUBST(PSI_DEPS)
PSI_CONFIG_TMP=$(mktemp -d)
- PSI_FUNC_LIBC_MAIN
else
PSI_FAST_CONFIG=false
PSI_DEPS=false
_AC_CACHE_DUMP >>conf.env
dnl restore STDOUT,STDERR
- exec >&$PSI_MESSAGE_FD 2>&$PSI_ERROR_FD
+ exec AS_MESSAGE_FD>&$PSI_MESSAGE_FD 2>&$PSI_ERROR_FD
dnl done
AS_ECHO_N(["$1 "])
dnl PSI_INCLUDES()
dnl Expands to a complete list of include statements including
-dnl AC_INCLUDES_DEFAULT().
-AC_DEFUN(PSI_INCLUDES, [dnl
-#define PSI_INCLUDES
+dnl autoconf's defaults.
+AC_DEFUN(PSI_INCLUDES, [
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#ifndef _REENTRANT
# define _REENTRANT
#endif
-AC_INCLUDES_DEFAULT()
+$ac_includes_default
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#else
#ifdef HAVE_ARPA_NAMESER_H
# include <arpa/nameser.h>
#endif
+#ifdef HAVE_ARPA_INET_H
+# include <arpa/inet.h>
+#endif
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
#endif
[offset of $2 in $1],
[AS_TR_SH([ac_cv_offsetof_$1_$2])],
[(long int) (offsetof ($1, $2))],
- [PSI_INCLUDES],
+ PSI_INCLUDES,
[AC_MSG_FAILURE([cannot compute offsetof ($1, $2)])]
)
AC_DEFINE_UNQUOTED(
AC_MSG_WARN([Could not find libffi, please provide the base install path])
fi
fi
+
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $INCLUDES"
+ AC_CHECK_DECL(FFI_STDCALL,[AC_DEFINE([HAVE_FFI_STDCALL],[1],[ ])],,[#include "ffi.h"])
+ AC_CHECK_DECL(FFI_FASTCALL,[AC_DEFINE([HAVE_FFI_FASTCALL],[1],[ ])],,[#include "ffi.h"])
+ CFLAGS=$save_CFLAGS
+
PHP_CHECK_LIBRARY(ffi, ffi_closure_alloc, [
PHP_CHECK_LIBRARY(ffi, ffi_prep_closure_loc, [
AC_DEFINE(PSI_HAVE_FFI_PREP_CLOSURE_LOC, 1, [ ])