X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=m4%2Fpsi.m4;h=4ea5590a4e4af6985818b80b07cba106a75e7f21;hp=ea8d7fbd37699e65c2fbcf951c63cf4e7e851029;hb=81b71a515e2024cee739deb6e207eb3b0e7c5d64;hpb=b4508f6b917660970f887894a6aaed6c220a2c72 diff --git a/m4/psi.m4 b/m4/psi.m4 index ea8d7fb..4ea5590 100644 --- a/m4/psi.m4 +++ b/m4/psi.m4 @@ -1,9 +1,72 @@ -PSI_TYPES= -PSI_STRUCTS= -PSI_CONSTS= -PSI_REDIRS= -PSI_MACROS= -PSI_DECLS= +PSI_STDINC=$PHP_PSI_SRCDIR/php_psi_stdinc.h +PSI_TYPES=$PHP_PSI_SRCDIR/php_psi_types.h +PSI_STRUCTS=$PHP_PSI_SRCDIR/php_psi_structs.h +PSI_CONSTS=$PHP_PSI_SRCDIR/php_psi_consts.h +PSI_REDIRS=$PHP_PSI_SRCDIR/php_psi_redirs.h +PSI_MACROS=$PHP_PSI_SRCDIR/php_psi_macros.h +PSI_DECLS=$PHP_PSI_SRCDIR/php_psi_decls.h +PSI_VA_DECLS=$PHP_PSI_SRCDIR/php_psi_va_decls.h + +AC_DEFUN(PSI_CONFIG_INIT, [ + cat >$PSI_TYPES <@ = { +EOF + cat >$PSI_STRUCTS <@ = { +EOF + cat >$PSI_CONSTS <@ = { +EOF + cat >$PSI_REDIRS <@ = { +EOF + cat >$PSI_MACROS $PSI_DECLS <@ = { +EOF + cat >$PSI_VA_DECLS <@ = { +EOF +]) + +AC_DEFUN(PSI_CONFIG_DONE, [ + cat >$PSI_STDINC <>$i < +#endif +#ifdef HAVE_GLOB_H +# include +#endif +#ifdef HAVE_LOCALE_H +# include +#endif +#ifdef HAVE_XLOCALE_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include +#endif +#ifdef HAVE_NETDB_H +# include +#endif +#ifdef HAVE_RESOLV_H +# include +#endif +#ifdef HAVE_SYS_SELECT_H +# include +#endif +#ifdef HAVE_SYS_SOCKET_H +# include +#endif +#ifdef HAVE_SYS_TIME_H +# include +#endif +#ifdef HAVE_SYS_TIMES_H +# include +#endif +#ifdef HAVE_SYS_UIO_H +# include +#endif +#ifdef HAVE_SYS_UTSNAME_H +# include +#endif +#ifdef HAVE_TIME_H +# include +#endif +#ifdef HAVE_SYSLOG_H +# include +#endif +#ifdef HAVE_WCHAR_H +# include +#endif +#ifdef HAVE_WCTYPE_H +# include +#endif +]) AC_DEFUN(PSI_LEMON, [ AC_ARG_VAR(LEMON, The lemon parser generator of the SQLite project) @@ -32,6 +149,13 @@ AC_DEFUN([PSI_PKG_CONFIG], [ export PKG_CONFIG_PATH="$PHP_PSI_LIBFFI/lib/pkgconfig:$PHP_PSI_LIBJIT/lib/pkgconfig:$PKG_CONFIG_PATH" ]) +AC_DEFUN(PSI_CHECK_SIZEOF, [ + AC_CHECK_SIZEOF($1, [], $2) + if test "$AS_TR_SH([ac_cv_sizeof_]$1)"; then + add_int_const "AS_TR_CPP([SIZEOF_]$1)" "$AS_TR_SH([ac_cv_sizeof_]$1)" + fi +]) + AC_DEFUN(PSI_CHECK_OFFSETOF, [ _AC_CACHE_CHECK_INT( [offset of $2 in $1], @@ -70,10 +194,10 @@ AC_DEFUN(PSI_CHECK_LIBJIT, [ fi ]) +PHP_ARG_WITH(psi-libffi, where to find libffi, +[ --with-psi-libffi=DIR PSI: path to libffi], [ ], [ ]) AC_DEFUN(PSI_CHECK_LIBFFI, [ AC_REQUIRE([PSI_PKG_CONFIG])dnl - PHP_ARG_WITH(psi-libffi, where to find libffi, - [ --with-psi-libffi=DIR PSI: path to libffi], [ ], [ ]) AC_CACHE_CHECK(for libffi through pkg-config, psi_cv_libffi, [ if $PKG_CONFIG --exists libffi @@ -122,6 +246,10 @@ AC_DEFUN(PSI_CHECK_LIBFFI, [ ], [ ], -L$psi_cv_libffi_dir/$PHP_LIBDIR) ], -L$psi_cv_libffi_dir/$PHP_LIBDIR) + PHP_CHECK_LIBRARY(ffi, ffi_prep_cif_var, [ + AC_DEFINE(PSI_HAVE_FFI_PREP_CIF_VAR, 1, [ ]) + ], [ + ], -L$psi_cv_libffi_dir/$PHP_LIBDIR) ]) dnl PSI_COMPUTE_STR(variable, string or expression)