ffi 1.15.1-x64-mingw32 → 1.15.5-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6a078b26a11c2e8838a8d39d594e98d760a1b4b7297965f2bc106e9eb012562
4
- data.tar.gz: da30565bbf64ecbf73797d355d8faa4a61fa3af2994a511a3158051aa7db634d
3
+ metadata.gz: d2d1d8c4b22198fb067d9e688737cffc49935decbf347b0d4f2c5a8e9cf36e1e
4
+ data.tar.gz: 890257bc99fb989730e3cf1fc0347e59f5987a63bc9acdcbc55c0066b6ca6bd9
5
5
  SHA512:
6
- metadata.gz: bc03921b2bc8582cf69b3c191e289e3c864e7992df83df6dd3885516fae3fa250bb1d4070f3ecb83fd016edada6632adde7d77e4a11e3c922c86aec7798babc5
7
- data.tar.gz: e92f4b64ba7ffc1a6e0a21ead5fa4cb0a9ae86352b842ed6b1d37f443b453505cbf2d72e17dd11f77407f0f7c43bd19fe1f3f6492dfa61021b6472eeb26f219b
6
+ metadata.gz: f44fa050bd8e3626a3607a64e17c432d8852cfb555328ced6c892a913cd81512a8be31b08d95aa6473f1eb22f066480e3fca783dc87119e2ad05a59a7dc0e8ab
7
+ data.tar.gz: d0d0685bbca657190050bf4d8d50e8461bef15b14b7af6429f88a3d32061d7279f3f9e922b02beab241faccfba869cb256e2a6b6635c796afd7c76af8045d041
data/CHANGELOG.md CHANGED
@@ -1,3 +1,46 @@
1
+ 1.15.5 / 2022-01-10
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix long double argument or return values on 32bit i686. #849
6
+ * FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929
7
+
8
+ Added:
9
+ * Add Windows fat binary gem for Ruby-3.1
10
+
11
+ Removed:
12
+ * Remove Windows fat binary gem for Ruby < 2.4
13
+
14
+
15
+ 1.15.4 / 2021-09-01
16
+ -------------------
17
+
18
+ Fixed:
19
+ * Fix build for uClibc. #913
20
+ * Correct module lookup when including `ffi-module` gem. #912
21
+
22
+ Changed:
23
+ * Use ruby code of the ffi gem in JRuby-9.2.20+. #915
24
+
25
+
26
+ 1.15.3 / 2021-06-16
27
+ -------------------
28
+
29
+ Fixed:
30
+ * Fix temporary packaging issue with libffi. #904
31
+
32
+
33
+ 1.15.2 / 2021-06-16
34
+ -------------------
35
+
36
+ Added:
37
+ * Add support for Windows MINGW-UCRT build. #903
38
+ * Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882
39
+
40
+ Changed:
41
+ * Regenerate `types.conf` for FreeBSD12 aarch64. #902
42
+
43
+
1
44
  1.15.1 / 2021-05-22
2
45
  -------------------
3
46
 
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ RSpec::Core::RakeTask.new(:spec => :compile) do |config|
18
18
  end
19
19
 
20
20
  desc "Build all packages"
21
- task :package => %w[ gem:java gem:windows ]
21
+ task :package => %w[ gem:java gem:native ]
22
22
 
23
23
  CLOBBER.include 'lib/ffi/types.conf'
24
24
  CLOBBER.include 'pkg'
@@ -86,7 +86,7 @@ task 'gem:java' => 'java:gem'
86
86
 
87
87
  FfiGemHelper.install_tasks
88
88
  # Register windows gems to be pushed to rubygems.org
89
- Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw32]
89
+ Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw-ucrt x64-mingw32]
90
90
 
91
91
  if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
92
92
  require 'rake/extensiontask'
@@ -108,11 +108,25 @@ else
108
108
  end
109
109
 
110
110
 
111
- desc "build a windows gem without all the ceremony"
112
- task "gem:windows" do
113
- require "rake_compiler_dock"
114
- sh "bundle package"
115
- RakeCompilerDock.sh "sudo apt-get update && sudo apt-get install -y libltdl-dev && bundle --local && rake cross native gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.2.2/}"
111
+ namespace "gem" do
112
+ task 'prepare' do
113
+ require 'rake_compiler_dock'
114
+ sh "bundle package --all"
115
+ end
116
+
117
+ Bundler::GemHelper.instance.cross_platforms.each do |plat|
118
+ desc "Build all native binary gems in parallel"
119
+ multitask 'native' => plat
120
+
121
+ desc "Build the native gem for #{plat}"
122
+ task plat => ['prepare', 'build'] do
123
+ RakeCompilerDock.sh <<-EOT, platform: plat
124
+ sudo apt-get update &&
125
+ sudo apt-get install -y libltdl-dev && bundle --local &&
126
+ rake cross native gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.2.2/}
127
+ EOT
128
+ end
129
+ end
116
130
  end
117
131
 
118
132
  directory "ext/ffi_c/libffi"
data/ffi.gemspec CHANGED
@@ -39,5 +39,4 @@ Gem::Specification.new do |s|
39
39
  s.add_development_dependency 'rake-compiler', '~> 1.0'
40
40
  s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
41
41
  s.add_development_dependency 'rspec', '~> 2.14.1'
42
- s.add_development_dependency 'rubygems-tasks', "~> 0.2.4"
43
42
  end
data/lib/2.4/ffi_c.so CHANGED
Binary file
data/lib/2.5/ffi_c.so CHANGED
Binary file
data/lib/2.6/ffi_c.so CHANGED
Binary file
data/lib/2.7/ffi_c.so CHANGED
Binary file
data/lib/3.0/ffi_c.so CHANGED
Binary file
data/lib/ffi/library.rb CHANGED
@@ -84,7 +84,7 @@ module FFI
84
84
  # @raise {RuntimeError} if +mod+ is not a Module
85
85
  # Test if extended object is a Module. If not, raise RuntimeError.
86
86
  def self.extended(mod)
87
- raise RuntimeError.new("must only be extended by module") unless mod.kind_of?(Module)
87
+ raise RuntimeError.new("must only be extended by module") unless mod.kind_of?(::Module)
88
88
  end
89
89
 
90
90
 
@@ -126,7 +126,7 @@ module FFI
126
126
  else
127
127
  # TODO better library lookup logic
128
128
  unless libname.start_with?("/") || FFI::Platform.windows?
129
- path = ['/usr/lib/','/usr/local/lib/','/opt/local/lib/'].find do |pth|
129
+ path = ['/usr/lib/','/usr/local/lib/','/opt/local/lib/', '/opt/homebrew/lib/'].find do |pth|
130
130
  File.exist?(pth + libname)
131
131
  end
132
132
  if path
@@ -39,9 +39,9 @@ rbx.platform.typedef.__segsz_t = int
39
39
  rbx.platform.typedef.__size_t = ulong
40
40
  rbx.platform.typedef.__socklen_t = uint
41
41
  rbx.platform.typedef.__ssize_t = long
42
- rbx.platform.typedef.__suseconds_t = int
42
+ rbx.platform.typedef.__suseconds_t = long
43
43
  rbx.platform.typedef.__swblk_t = int
44
- rbx.platform.typedef.__time_t = int
44
+ rbx.platform.typedef.__time_t = long
45
45
  rbx.platform.typedef.__timer_t = int
46
46
  rbx.platform.typedef.__uid_t = uint
47
47
  rbx.platform.typedef.__uint16_t = ushort
@@ -1,128 +1,181 @@
1
+ rbx.platform.typedef.*) = pointer
2
+ rbx.platform.typedef.___wchar_t = uint
3
+ rbx.platform.typedef.__accmode_t = int
4
+ rbx.platform.typedef.__blkcnt_t = long
5
+ rbx.platform.typedef.__blksize_t = int
6
+ rbx.platform.typedef.__char16_t = ushort
7
+ rbx.platform.typedef.__char32_t = uint
1
8
  rbx.platform.typedef.__clock_t = int
2
9
  rbx.platform.typedef.__clockid_t = int
3
- rbx.platform.typedef.__cpuid_t = ulong
4
- rbx.platform.typedef.__dev_t = ulong_long
5
- rbx.platform.typedef.__fd_mask = int
10
+ rbx.platform.typedef.__cpulevel_t = int
11
+ rbx.platform.typedef.__cpusetid_t = int
12
+ rbx.platform.typedef.__cpuwhich_t = int
13
+ rbx.platform.typedef.__critical_t = long
14
+ rbx.platform.typedef.__ct_rune_t = int
15
+ rbx.platform.typedef.__daddr_t = long
16
+ rbx.platform.typedef.__dev_t = ulong
17
+ rbx.platform.typedef.__fd_mask = ulong
18
+ rbx.platform.typedef.__fflags_t = uint
6
19
  rbx.platform.typedef.__fixpt_t = uint
20
+ rbx.platform.typedef.__fsblkcnt_t = ulong
21
+ rbx.platform.typedef.__fsfilcnt_t = ulong
7
22
  rbx.platform.typedef.__gid_t = uint
8
- rbx.platform.typedef.__id_t = uint
9
- rbx.platform.typedef.__in_addr_t = uint
10
- rbx.platform.typedef.__in_port_t = ushort
11
- rbx.platform.typedef.__ino_t = ulong_long
23
+ rbx.platform.typedef.__id_t = long
24
+ rbx.platform.typedef.__ino_t = ulong
12
25
  rbx.platform.typedef.__int16_t = short
13
26
  rbx.platform.typedef.__int32_t = int
14
- rbx.platform.typedef.__int64_t = long_long
27
+ rbx.platform.typedef.__int64_t = long
15
28
  rbx.platform.typedef.__int8_t = char
16
29
  rbx.platform.typedef.__int_fast16_t = int
17
30
  rbx.platform.typedef.__int_fast32_t = int
18
- rbx.platform.typedef.__int_fast64_t = long_long
31
+ rbx.platform.typedef.__int_fast64_t = long
19
32
  rbx.platform.typedef.__int_fast8_t = int
20
33
  rbx.platform.typedef.__int_least16_t = short
21
34
  rbx.platform.typedef.__int_least32_t = int
22
- rbx.platform.typedef.__int_least64_t = long_long
35
+ rbx.platform.typedef.__int_least64_t = long
23
36
  rbx.platform.typedef.__int_least8_t = char
24
- rbx.platform.typedef.__intmax_t = long_long
37
+ rbx.platform.typedef.__intfptr_t = long
38
+ rbx.platform.typedef.__intmax_t = long
25
39
  rbx.platform.typedef.__intptr_t = long
26
40
  rbx.platform.typedef.__key_t = long
27
- rbx.platform.typedef.__mode_t = uint
28
- rbx.platform.typedef.__nlink_t = ulong_long
29
- rbx.platform.typedef.__off_t = long_long
30
- rbx.platform.typedef.__paddr_t = ulong
41
+ rbx.platform.typedef.__lwpid_t = int
42
+ rbx.platform.typedef.__mode_t = ushort
43
+ rbx.platform.typedef.__nl_item = int
44
+ rbx.platform.typedef.__nlink_t = ulong
45
+ rbx.platform.typedef.__off64_t = long
46
+ rbx.platform.typedef.__off_t = long
31
47
  rbx.platform.typedef.__pid_t = int
32
- rbx.platform.typedef.__psize_t = ulong
33
48
  rbx.platform.typedef.__ptrdiff_t = long
34
- rbx.platform.typedef.__register_t = long_long
35
- rbx.platform.typedef.__rlim_t = ulong_long
49
+ rbx.platform.typedef.__register_t = long
50
+ rbx.platform.typedef.__rlim_t = long
51
+ rbx.platform.typedef.__rman_res_t = ulong
36
52
  rbx.platform.typedef.__rune_t = int
37
53
  rbx.platform.typedef.__sa_family_t = uchar
38
- rbx.platform.typedef.__segsz_t = int
54
+ rbx.platform.typedef.__segsz_t = long
39
55
  rbx.platform.typedef.__size_t = ulong
40
56
  rbx.platform.typedef.__socklen_t = uint
41
57
  rbx.platform.typedef.__ssize_t = long
42
- rbx.platform.typedef.__suseconds_t = int
43
- rbx.platform.typedef.__swblk_t = int
44
- rbx.platform.typedef.__time_t = int
45
- rbx.platform.typedef.__timer_t = int
58
+ rbx.platform.typedef.__suseconds_t = long
59
+ rbx.platform.typedef.__time_t = long
60
+ rbx.platform.typedef.__u_register_t = ulong
46
61
  rbx.platform.typedef.__uid_t = uint
47
62
  rbx.platform.typedef.__uint16_t = ushort
48
63
  rbx.platform.typedef.__uint32_t = uint
49
- rbx.platform.typedef.__uint64_t = ulong_long
64
+ rbx.platform.typedef.__uint64_t = ulong
50
65
  rbx.platform.typedef.__uint8_t = uchar
51
66
  rbx.platform.typedef.__uint_fast16_t = uint
52
67
  rbx.platform.typedef.__uint_fast32_t = uint
53
- rbx.platform.typedef.__uint_fast64_t = ulong_long
68
+ rbx.platform.typedef.__uint_fast64_t = ulong
54
69
  rbx.platform.typedef.__uint_fast8_t = uint
55
70
  rbx.platform.typedef.__uint_least16_t = ushort
56
71
  rbx.platform.typedef.__uint_least32_t = uint
57
- rbx.platform.typedef.__uint_least64_t = ulong_long
72
+ rbx.platform.typedef.__uint_least64_t = ulong
58
73
  rbx.platform.typedef.__uint_least8_t = uchar
59
- rbx.platform.typedef.__uintmax_t = ulong_long
74
+ rbx.platform.typedef.__uintfptr_t = ulong
75
+ rbx.platform.typedef.__uintmax_t = ulong
60
76
  rbx.platform.typedef.__uintptr_t = ulong
61
77
  rbx.platform.typedef.__useconds_t = uint
62
- rbx.platform.typedef.__vaddr_t = ulong
63
- rbx.platform.typedef.__vsize_t = ulong
64
- rbx.platform.typedef.__wchar_t = int
65
- rbx.platform.typedef.__wctrans_t = pointer
66
- rbx.platform.typedef.__wctype_t = pointer
78
+ rbx.platform.typedef.__vm_offset_t = ulong
79
+ rbx.platform.typedef.__vm_paddr_t = ulong
80
+ rbx.platform.typedef.__vm_size_t = ulong
67
81
  rbx.platform.typedef.__wint_t = int
82
+ rbx.platform.typedef.accmode_t = int
83
+ rbx.platform.typedef.blkcnt_t = long
84
+ rbx.platform.typedef.blksize_t = int
85
+ rbx.platform.typedef.c_caddr_t = pointer
68
86
  rbx.platform.typedef.caddr_t = string
87
+ rbx.platform.typedef.cap_ioctl_t = ulong
69
88
  rbx.platform.typedef.clock_t = int
70
89
  rbx.platform.typedef.clockid_t = int
71
- rbx.platform.typedef.cpuid_t = ulong
72
- rbx.platform.typedef.daddr32_t = int
73
- rbx.platform.typedef.daddr64_t = long_long
74
- rbx.platform.typedef.daddr_t = int
75
- rbx.platform.typedef.dev_t = ulong_long
90
+ rbx.platform.typedef.cpulevel_t = int
91
+ rbx.platform.typedef.cpusetid_t = int
92
+ rbx.platform.typedef.cpuwhich_t = int
93
+ rbx.platform.typedef.critical_t = long
94
+ rbx.platform.typedef.daddr_t = long
95
+ rbx.platform.typedef.dev_t = ulong
96
+ rbx.platform.typedef.fd_mask = ulong
97
+ rbx.platform.typedef.fflags_t = uint
76
98
  rbx.platform.typedef.fixpt_t = uint
99
+ rbx.platform.typedef.fsblkcnt_t = ulong
100
+ rbx.platform.typedef.fsfilcnt_t = ulong
77
101
  rbx.platform.typedef.gid_t = uint
78
- rbx.platform.typedef.id_t = uint
102
+ rbx.platform.typedef.id_t = long
79
103
  rbx.platform.typedef.in_addr_t = uint
80
104
  rbx.platform.typedef.in_port_t = ushort
81
- rbx.platform.typedef.ino_t = ulong_long
105
+ rbx.platform.typedef.ino_t = ulong
82
106
  rbx.platform.typedef.int16_t = short
83
107
  rbx.platform.typedef.int32_t = int
84
- rbx.platform.typedef.int64_t = long_long
108
+ rbx.platform.typedef.int64_t = long
85
109
  rbx.platform.typedef.int8_t = char
110
+ rbx.platform.typedef.int_fast16_t = int
111
+ rbx.platform.typedef.int_fast32_t = int
112
+ rbx.platform.typedef.int_fast64_t = long
113
+ rbx.platform.typedef.int_fast8_t = int
114
+ rbx.platform.typedef.int_least16_t = short
115
+ rbx.platform.typedef.int_least32_t = int
116
+ rbx.platform.typedef.int_least64_t = long
117
+ rbx.platform.typedef.int_least8_t = char
118
+ rbx.platform.typedef.intmax_t = long
86
119
  rbx.platform.typedef.intptr_t = long
87
120
  rbx.platform.typedef.key_t = long
88
- rbx.platform.typedef.mode_t = uint
89
- rbx.platform.typedef.nlink_t = ulong_long
90
- rbx.platform.typedef.off_t = long_long
91
- rbx.platform.typedef.paddr_t = ulong
121
+ rbx.platform.typedef.kpaddr_t = ulong
122
+ rbx.platform.typedef.ksize_t = ulong
123
+ rbx.platform.typedef.kssize_t = long
124
+ rbx.platform.typedef.kvaddr_t = ulong
125
+ rbx.platform.typedef.lwpid_t = int
126
+ rbx.platform.typedef.mode_t = ushort
127
+ rbx.platform.typedef.nlink_t = ulong
128
+ rbx.platform.typedef.off64_t = long
129
+ rbx.platform.typedef.off_t = long
92
130
  rbx.platform.typedef.pid_t = int
93
- rbx.platform.typedef.psize_t = ulong
131
+ rbx.platform.typedef.pthread_key_t = int
132
+ rbx.platform.typedef.ptrdiff_t = long
94
133
  rbx.platform.typedef.qaddr_t = pointer
95
- rbx.platform.typedef.quad_t = long_long
96
- rbx.platform.typedef.register_t = long_long
97
- rbx.platform.typedef.rlim_t = ulong_long
134
+ rbx.platform.typedef.quad_t = long
135
+ rbx.platform.typedef.register_t = long
136
+ rbx.platform.typedef.rlim_t = long
137
+ rbx.platform.typedef.rman_res_t = ulong
138
+ rbx.platform.typedef.rsize_t = ulong
139
+ rbx.platform.typedef.rune_t = int
98
140
  rbx.platform.typedef.sa_family_t = uchar
99
- rbx.platform.typedef.segsz_t = int
141
+ rbx.platform.typedef.sbintime_t = long
142
+ rbx.platform.typedef.segsz_t = long
100
143
  rbx.platform.typedef.size_t = ulong
101
144
  rbx.platform.typedef.socklen_t = uint
102
145
  rbx.platform.typedef.ssize_t = long
103
- rbx.platform.typedef.suseconds_t = int
104
- rbx.platform.typedef.swblk_t = int
105
- rbx.platform.typedef.time_t = int
106
- rbx.platform.typedef.timer_t = int
146
+ rbx.platform.typedef.suseconds_t = long
147
+ rbx.platform.typedef.time_t = long
107
148
  rbx.platform.typedef.u_char = uchar
108
149
  rbx.platform.typedef.u_int = uint
109
150
  rbx.platform.typedef.u_int16_t = ushort
110
151
  rbx.platform.typedef.u_int32_t = uint
111
- rbx.platform.typedef.u_int64_t = ulong_long
152
+ rbx.platform.typedef.u_int64_t = ulong
112
153
  rbx.platform.typedef.u_int8_t = uchar
113
154
  rbx.platform.typedef.u_long = ulong
114
- rbx.platform.typedef.u_quad_t = ulong_long
155
+ rbx.platform.typedef.u_quad_t = ulong
156
+ rbx.platform.typedef.u_register_t = ulong
115
157
  rbx.platform.typedef.u_short = ushort
116
158
  rbx.platform.typedef.uid_t = uint
117
159
  rbx.platform.typedef.uint = uint
118
160
  rbx.platform.typedef.uint16_t = ushort
119
161
  rbx.platform.typedef.uint32_t = uint
120
- rbx.platform.typedef.uint64_t = ulong_long
162
+ rbx.platform.typedef.uint64_t = ulong
121
163
  rbx.platform.typedef.uint8_t = uchar
164
+ rbx.platform.typedef.uint_fast16_t = uint
165
+ rbx.platform.typedef.uint_fast32_t = uint
166
+ rbx.platform.typedef.uint_fast64_t = ulong
167
+ rbx.platform.typedef.uint_fast8_t = uint
168
+ rbx.platform.typedef.uint_least16_t = ushort
169
+ rbx.platform.typedef.uint_least32_t = uint
170
+ rbx.platform.typedef.uint_least64_t = ulong
171
+ rbx.platform.typedef.uint_least8_t = uchar
172
+ rbx.platform.typedef.uintmax_t = ulong
122
173
  rbx.platform.typedef.uintptr_t = ulong
123
- rbx.platform.typedef.ulong = ulong
124
- rbx.platform.typedef.unchar = uchar
125
174
  rbx.platform.typedef.useconds_t = uint
126
175
  rbx.platform.typedef.ushort = ushort
127
- rbx.platform.typedef.vaddr_t = ulong
128
- rbx.platform.typedef.vsize_t = ulong
176
+ rbx.platform.typedef.vm_offset_t = ulong
177
+ rbx.platform.typedef.vm_ooffset_t = ulong
178
+ rbx.platform.typedef.vm_paddr_t = ulong
179
+ rbx.platform.typedef.vm_pindex_t = ulong
180
+ rbx.platform.typedef.vm_size_t = ulong
181
+ rbx.platform.typedef.wchar_t = uint
data/lib/ffi/platform.rb CHANGED
@@ -132,11 +132,8 @@ module FFI
132
132
  end
133
133
 
134
134
  LIBC = if IS_WINDOWS
135
- if RbConfig::CONFIG['host_os'] =~ /mingw/i
136
- RbConfig::CONFIG['RUBY_SO_NAME'].split('-')[-2] + '.dll'
137
- else
138
- "ucrtbase.dll"
139
- end
135
+ crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
136
+ "#{crtname}.dll"
140
137
  elsif IS_GNU
141
138
  GNU_LIBC
142
139
  elsif OS == 'cygwin'
@@ -105,9 +105,10 @@ module FFI
105
105
  # @return [nil]
106
106
  # @raise if a constant is missing and +:required+ was set to +true+ (see {#initialize})
107
107
  def calculate(options = {})
108
- binary = File.join Dir.tmpdir, "rb_const_gen_bin_#{Process.pid}"
108
+ binary_path = nil
109
109
 
110
110
  Tempfile.open("#{@prefix}.const_generator") do |f|
111
+ binary_path = f.path + ".bin"
111
112
  @includes.each do |inc|
112
113
  f.puts "#include <#{inc}>"
113
114
  end
@@ -125,7 +126,7 @@ module FFI
125
126
  f.flush
126
127
 
127
128
  cc = ENV['CC'] || 'gcc'
128
- output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
129
+ output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary_path} 2>&1`
129
130
 
130
131
  unless $?.success? then
131
132
  output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
@@ -133,8 +134,8 @@ module FFI
133
134
  end
134
135
  end
135
136
 
136
- output = `#{binary}`
137
- File.unlink(binary + (FFI::Platform.windows? ? ".exe" : ""))
137
+ output = `#{binary_path}`
138
+ File.unlink(binary_path + (FFI::Platform.windows? ? ".exe" : ""))
138
139
  output.each_line do |line|
139
140
  line =~ /^(\S+)\s(.*)$/
140
141
  const = @constants[$1]
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.15.1'
2
+ VERSION = '1.15.5'
3
3
  end
data/lib/ffi.rb CHANGED
@@ -7,7 +7,7 @@ if RUBY_ENGINE == 'ruby'
7
7
 
8
8
  require 'ffi/ffi'
9
9
 
10
- elsif RUBY_ENGINE == 'jruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [9, 3]) >= 0
10
+ elsif RUBY_ENGINE == 'jruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [9, 2, 20]) >= 0
11
11
  JRuby::Util.load_ext("org.jruby.ext.ffi.FFIService")
12
12
  require 'ffi/ffi'
13
13
 
@@ -13,7 +13,7 @@ class FfiGemHelper < Bundler::GemHelper
13
13
  update_history
14
14
  end
15
15
 
16
- task "release:rubygem_push" => ["gem:windows", "gem:java"]
16
+ task "release:rubygem_push" => ["gem:native", "gem:java"]
17
17
  end
18
18
 
19
19
  def hfile
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.1
4
+ version: 1.15.5
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-22 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.14.1
69
- - !ruby/object:Gem::Dependency
70
- name: rubygems-tasks
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 0.2.4
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 0.2.4
83
69
  description: Ruby FFI library
84
70
  email: wmeissner@gmail.com
85
71
  executables: []
@@ -94,7 +80,6 @@ files:
94
80
  - README.md
95
81
  - Rakefile
96
82
  - ffi.gemspec
97
- - lib/2.3/ffi_c.so
98
83
  - lib/2.4/ffi_c.so
99
84
  - lib/2.5/ffi_c.so
100
85
  - lib/2.6/ffi_c.so
@@ -199,7 +184,7 @@ metadata:
199
184
  wiki_uri: https://github.com/ffi/ffi/wiki
200
185
  source_code_uri: https://github.com/ffi/ffi/
201
186
  mailing_list_uri: http://groups.google.com/group/ruby-ffi
202
- post_install_message:
187
+ post_install_message:
203
188
  rdoc_options:
204
189
  - "--exclude=ext/ffi_c/.*\\.o$"
205
190
  - "--exclude=ffi_c\\.(bundle|so)$"
@@ -209,18 +194,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
194
  requirements:
210
195
  - - ">="
211
196
  - !ruby/object:Gem::Version
212
- version: '2.3'
197
+ version: '2.4'
213
198
  - - "<"
214
199
  - !ruby/object:Gem::Version
215
- version: 3.1.dev
200
+ version: 3.2.dev
216
201
  required_rubygems_version: !ruby/object:Gem::Requirement
217
202
  requirements:
218
203
  - - ">="
219
204
  - !ruby/object:Gem::Version
220
205
  version: '0'
221
206
  requirements: []
222
- rubygems_version: 3.2.3
223
- signing_key:
207
+ rubygems_version: 3.3.4
208
+ signing_key:
224
209
  specification_version: 4
225
210
  summary: Ruby FFI
226
211
  test_files: []
data/lib/2.3/ffi_c.so DELETED
Binary file