From 95f387f61a4a4ea92635da760b7de5b1e09bb84e Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 4 Mar 2020 18:41:47 +0900 Subject: [PATCH] [ruby/fiddle] ffi_closure_free is available in the bundled libffi --- ext/fiddle/extconf.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/fiddle/extconf.rb b/ext/fiddle/extconf.rb index 915afb986e..2d0e188c9c 100644 --- a/ext/fiddle/extconf.rb +++ b/ext/fiddle/extconf.rb @@ -135,7 +135,6 @@ elsif have_header "windows.h" end have_const('FFI_STDCALL', ffi_header) -have_func('ffi_closure_alloc', ffi_header) config = File.read(RbConfig.expand(File.join($arch_hdrdir, "ruby/config.h"))) types = {"SIZE_T"=>"SSIZE_T", "PTRDIFF_T"=>nil, "INTPTR_T"=>nil} @@ -154,6 +153,9 @@ end if libffi $LOCAL_LIBS.prepend("./#{libffi.a} ").strip! # to exts.mk $INCFLAGS.gsub!(/-I#{libffi.dir}/, '-I$(LIBFFI_DIR)') + $defs << "-DUSE_FFI_CLOSURE_ALLOC=1" +else + have_func('ffi_closure_alloc', ffi_header) end $INCFLAGS << " -I$(top_srcdir)" create_makefile 'fiddle' do |conf|