From 528a3a17977aa1843a26630c96635c3cb161e729 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 4 Mar 2020 23:13:45 +0900 Subject: [PATCH] [ruby/fiddle] use ffi_closure_alloc only with 3.2 or later --- ext/fiddle/extconf.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/fiddle/extconf.rb b/ext/fiddle/extconf.rb index 2d0e188c9c..fae22e8d7d 100644 --- a/ext/fiddle/extconf.rb +++ b/ext/fiddle/extconf.rb @@ -114,8 +114,9 @@ end if ver ver = ver.gsub(/-rc\d+/, '') # If ver contains rc version, just ignored. - ver = (ver.split('.') + [0,0])[0,3] + ver = (ver.split('.').map(&:to_i) + [0,0])[0,3] $defs.push(%{-DRUBY_LIBFFI_MODVERSION=#{ '%d%03d%03d' % ver }}) + $defs << "-DUSE_FFI_CLOSURE_ALLOC=1" if (ver <=> [3, 2]) >= 0 end have_header 'sys/mman.h' @@ -153,9 +154,6 @@ 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|