summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Meissner <wmeissner@gmail.com>2010-01-26 06:12:50 +1000
committerWayne Meissner <wmeissner@gmail.com>2010-01-26 06:12:50 +1000
commit95c68c1015de6fab4bf3778dbf731678449936d5 (patch)
tree8725bca3e19d7685a7ed65060d38cdc61a662615
parent2292e1d8b79b44f7860eb5e8cfc7b736ce1ec743 (diff)
downloadffi-95c68c1015de6fab4bf3778dbf731678449936d5.tar.gz
Re-enable the raw libffi api if using the bundled version of libffi
-rw-r--r--ext/ffi_c/Call.h4
-rw-r--r--ext/ffi_c/extconf.rb1
2 files changed, 4 insertions, 1 deletions
diff --git a/ext/ffi_c/Call.h b/ext/ffi_c/Call.h
index 5f473ed..6b8f6db 100644
--- a/ext/ffi_c/Call.h
+++ b/ext/ffi_c/Call.h
@@ -35,7 +35,9 @@
extern "C" {
#endif
-#if defined(__i386__) && defined(HAVE_RAW_API) && !defined(_WIN32) && !defined(__WIN32__)
+#if defined(__i386__) && \
+ (defined(HAVE_RAW_API) || defined(USE_INTERNAL_LIBFFI)) && \
+ !defined(_WIN32) && !defined(__WIN32__)
# define USE_RAW
#endif
diff --git a/ext/ffi_c/extconf.rb b/ext/ffi_c/extconf.rb
index 766d5a5..e86f2a8 100644
--- a/ext/ffi_c/extconf.rb
+++ b/ext/ffi_c/extconf.rb
@@ -17,6 +17,7 @@ end
have_func('rb_thread_blocking_region')
$defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works
+$defs << "-DUSE_INTERNAL_LIBFFI" unless libffi_ok
create_header