+ AC_CACHE_CHECK(for libffi, PSI_cv_LIBFFI_DIR, [
+ for PSI_cv_LIBFFI_DIR in $PHP_PSI_LIBFFI {/usr{,/local},/opt}{,/libffi}
+ do
+ if test -e $PSI_cv_LIBFFI_DIR/include/ffi/ffi.h
+ then
+ break
+ fi
+ PSI_cv_LIBFFI_DIR=
+ done])
+ if test -n "$PSI_cv_LIBFFI_DIR"
+ then
+ PHP_CHECK_LIBRARY(ffi, ffi_closure_alloc, [
+ AC_DEFINE(PSI_HAVE_FFI_CLOSURE_ALLOC, 1, [ ])
+ ], [
+ ], -L$PSI_cv_LIBFFI_DIR/$PHP_LIBDIR)
+ PHP_CHECK_LIBRARY(ffi, ffi_closure_free, [
+ AC_DEFINE(PSI_HAVE_FFI_CLOSURE_FREE, 1, [ ])
+ ], [
+ ], -L$PSI_cv_LIBFFI_DIR/$PHP_LIBDIR)
+ PHP_CHECK_LIBRARY(ffi, ffi_prep_closure, [
+ AC_DEFINE(PSI_HAVE_FFI_PREP_CLOSURE, 1, [ ])
+ ], [
+ ], -L$PSI_cv_LIBFFI_DIR/$PHP_LIBDIR)
+ PHP_ADD_INCLUDE($PSI_cv_LIBFFI_DIR/include/ffi)
+ PHP_ADD_LIBRARY_WITH_PATH(ffi, $PSI_cv_LIBFFI_DIR/$PHP_LIBDIR, PSI_SHARED_LIBADD)
+ else
+ AC_MSG_WARN([Could not find libffi, please provide the base install path])
+ fi