diff --git a/ChangeLog b/ChangeLog index a8fc47a2d4..2f884147e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Jun 21 12:50:32 2014 Nobuyoshi Nakada + + * ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION + with 3-digit. libffi 3.1 returns just 2-digit. + [ruby-core:62920] [Bug #9897] + Sat Jun 21 07:06:13 2014 Nobuyoshi Nakada * encoding.c (enc_find): [DOC] never accepted a symbol. diff --git a/ext/fiddle/extconf.rb b/ext/fiddle/extconf.rb index 2190aa907f..466d77e6dd 100644 --- a/ext/fiddle/extconf.rb +++ b/ext/fiddle/extconf.rb @@ -7,7 +7,8 @@ dir_config 'libffi' pkg_config("libffi") if ver = pkg_config("libffi", "modversion") ver = ver.gsub(/-rc\d+/, '') # If ver contains rc version, just ignored. - $defs.push(%{-DRUBY_LIBFFI_MODVERSION=#{ '%d%03d%03d' % ver.split('.') }}) + ver = (ver.split('.') + [0,0])[0,3] + $defs.push(%{-DRUBY_LIBFFI_MODVERSION=#{ '%d%03d%03d' % ver }}) end unless have_header('ffi.h')