summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-03-04 23:13:45 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-03-04 23:19:35 +0900
commit528a3a17977aa1843a26630c96635c3cb161e729 (patch)
tree1cc59113541dba0ead3380524e8585f7f4221df5
parent5bb80b76b093130be14161bb0c8d05f6fea749f3 (diff)
[ruby/fiddle] use ffi_closure_alloc only with 3.2 or later
-rw-r--r--ext/fiddle/extconf.rb6
1 files 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|