Raw API calls are not supported, since they are disabled in the Makefile
for a fix to bug 22535919 which requires API calls to be disabled.
Removes the raw API functions if RAW API is not allowed.
Will attempt to send upstream.
--- libffi-3.2.1/libffi.pc.in_orig 2016-11-30 13:27:54.465013600 +0000
+++ libffi-3.2.1/libffi.pc.in 2016-11-30 13:28:43.661349542 +0000
@@ -8,4 +8,4 @@
Description: Library supporting Foreign Function Interfaces
Version: @PACKAGE_VERSION@
Libs: -L${toolexeclibdir} -lffi
-Cflags: -I${includedir}
+Cflags: -I${includedir} -DFFI_NO_RAW_API
--- libffi-3.2.1/include/ffi.h.in.~1~ 2014-11-08 04:47:24.000000000 +0000
+++ libffi-3.2.1/include/ffi.h.in 2016-11-30 17:29:52.630907951 +0000
@@ -282,14 +282,16 @@
#endif
-void ffi_raw_call (ffi_cif *cif,
+#if !FFI_NO_RAW_API
+ void ffi_raw_call (ffi_cif *cif,
void (*fn)(void),
void *rvalue,
ffi_raw *avalue);
-void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
-void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
-size_t ffi_raw_size (ffi_cif *cif);
+ void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw);
+ void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args);
+ size_t ffi_raw_size (ffi_cif *cif);
+#endif
/* This is analogous to the raw API, except it uses Java parameter */
/* packing, even on 64-bit machines. I.e. on 64-bit machines */