1PHP_ARG_WITH([ffi], 2 [for FFI support], 3 [AS_HELP_STRING([--with-ffi], 4 [Include FFI support])]) 5 6if test "$PHP_FFI" != "no"; then 7 PKG_CHECK_MODULES([FFI], [libffi >= 3.0.11]) 8 9 PHP_EVAL_INCLINE($FFI_CFLAGS) 10 PHP_EVAL_LIBLINE($FFI_LIBS, FFI_SHARED_LIBADD) 11 12 AC_DEFINE(HAVE_FFI, 1, [Have ffi support]) 13 14 AC_CHECK_TYPES(long double) 15 16 AC_DEFUN([PHP_FFI_CHECK_DECL], 17 [AC_CHECK_DECL([$1], 18 [AC_DEFINE(AS_TR_CPP([HAVE_$1]), [1], 19 [Whether libffi supports the '$1' calling convention.])],, 20 [#include <ffi.h>])]) 21 22 PHP_FFI_CHECK_DECL([FFI_FASTCALL]) 23 PHP_FFI_CHECK_DECL([FFI_THISCALL]) 24 PHP_FFI_CHECK_DECL([FFI_STDCALL]) 25 PHP_FFI_CHECK_DECL([FFI_PASCAL]) 26 PHP_FFI_CHECK_DECL([FFI_REGISTER]) 27 PHP_FFI_CHECK_DECL([FFI_MS_CDECL]) 28 PHP_FFI_CHECK_DECL([FFI_SYSV]) 29 30 PHP_NEW_EXTENSION(ffi, ffi.c ffi_parser.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) 31 PHP_SUBST(FFI_SHARED_LIBADD) 32fi 33