abi: support for most basic calling conventions
[m6w6/ext-psi] / m4 / psi / psi.m4
index b137ec6484f23201d1ab4e7e5ea60013deb78ad2..9bb1a4bb57408f7b573420199c3d9fb4575bd705 100644 (file)
@@ -166,7 +166,7 @@ EOF
                
                _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 "])
@@ -237,6 +237,9 @@ typedef bool _Bool;
 #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
@@ -467,6 +470,13 @@ AC_DEFUN(PSI_CHECK_LIBFFI, [
                        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, [ ])