ffi 1.15.1-x86-mingw32 → 1.15.5-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/Rakefile +21 -7
- data/ffi.gemspec +0 -1
- data/lib/2.4/ffi_c.so +0 -0
- data/lib/2.5/ffi_c.so +0 -0
- data/lib/2.6/ffi_c.so +0 -0
- data/lib/2.7/ffi_c.so +0 -0
- data/lib/3.0/ffi_c.so +0 -0
- data/lib/3.1/ffi_c.so +0 -0
- data/lib/ffi/library.rb +2 -2
- data/lib/ffi/platform/aarch64-freebsd/types.conf +2 -2
- data/lib/ffi/platform/aarch64-freebsd12/types.conf +113 -60
- data/lib/ffi/platform.rb +2 -5
- data/lib/ffi/tools/const_generator.rb +5 -4
- data/lib/ffi/version.rb +1 -1
- data/lib/ffi.rb +1 -1
- data/rakelib/ffi_gem_helper.rb +1 -1
- metadata +9 -23
- data/lib/2.3/ffi_c.so +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15635c7892b958aa4ff3cfcd91aad942d6a8df1d5f7fdaa0705694d600f40722
|
4
|
+
data.tar.gz: cc8ea4cc2ef76a3612fb5367b13e79b41efd19e3969c45c3938047c016813be5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13e01c5bbf7c462bd92c002d773b2c9ada7c7c5d289177a0f6bf5c9957070fd47935c98d872710f645a5049e85ecf3e8877998c33d046dc8a5951aa9f110ec68
|
7
|
+
data.tar.gz: 4ed42b3fc8876d3e35fb9979c025b5e1db54c656bf4125ef935a09277827be397e0672a558c52de74872db693f6d94179957ad99725d7efcffba9a39cfddc352
|
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:
|
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
|
-
|
112
|
-
task
|
113
|
-
|
114
|
-
|
115
|
-
|
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/3.1/ffi_c.so
ADDED
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 =
|
42
|
+
rbx.platform.typedef.__suseconds_t = long
|
43
43
|
rbx.platform.typedef.__swblk_t = int
|
44
|
-
rbx.platform.typedef.__time_t =
|
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.
|
4
|
-
rbx.platform.typedef.
|
5
|
-
rbx.platform.typedef.
|
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 =
|
9
|
-
rbx.platform.typedef.
|
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 =
|
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 =
|
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 =
|
35
|
+
rbx.platform.typedef.__int_least64_t = long
|
23
36
|
rbx.platform.typedef.__int_least8_t = char
|
24
|
-
rbx.platform.typedef.
|
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.
|
28
|
-
rbx.platform.typedef.
|
29
|
-
rbx.platform.typedef.
|
30
|
-
rbx.platform.typedef.
|
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 =
|
35
|
-
rbx.platform.typedef.__rlim_t =
|
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 =
|
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 =
|
43
|
-
rbx.platform.typedef.
|
44
|
-
rbx.platform.typedef.
|
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 =
|
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 =
|
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 =
|
72
|
+
rbx.platform.typedef.__uint_least64_t = ulong
|
58
73
|
rbx.platform.typedef.__uint_least8_t = uchar
|
59
|
-
rbx.platform.typedef.
|
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.
|
63
|
-
rbx.platform.typedef.
|
64
|
-
rbx.platform.typedef.
|
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.
|
72
|
-
rbx.platform.typedef.
|
73
|
-
rbx.platform.typedef.
|
74
|
-
rbx.platform.typedef.
|
75
|
-
rbx.platform.typedef.
|
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 =
|
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 =
|
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 =
|
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.
|
89
|
-
rbx.platform.typedef.
|
90
|
-
rbx.platform.typedef.
|
91
|
-
rbx.platform.typedef.
|
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.
|
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 =
|
96
|
-
rbx.platform.typedef.register_t =
|
97
|
-
rbx.platform.typedef.rlim_t =
|
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.
|
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 =
|
104
|
-
rbx.platform.typedef.
|
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 =
|
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 =
|
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 =
|
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.
|
128
|
-
rbx.platform.typedef.
|
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
|
-
|
136
|
-
|
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
|
-
|
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 #{
|
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 = `#{
|
137
|
-
File.unlink(
|
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
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,
|
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
|
|
data/rakelib/ffi_gem_helper.rb
CHANGED
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.
|
4
|
+
version: 1.15.5
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Wayne Meissner
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
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,12 +80,12 @@ 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
|
101
86
|
- lib/2.7/ffi_c.so
|
102
87
|
- lib/3.0/ffi_c.so
|
88
|
+
- lib/3.1/ffi_c.so
|
103
89
|
- lib/ffi.rb
|
104
90
|
- lib/ffi/abstract_memory.rb
|
105
91
|
- lib/ffi/autopointer.rb
|
@@ -199,7 +185,7 @@ metadata:
|
|
199
185
|
wiki_uri: https://github.com/ffi/ffi/wiki
|
200
186
|
source_code_uri: https://github.com/ffi/ffi/
|
201
187
|
mailing_list_uri: http://groups.google.com/group/ruby-ffi
|
202
|
-
post_install_message:
|
188
|
+
post_install_message:
|
203
189
|
rdoc_options:
|
204
190
|
- "--exclude=ext/ffi_c/.*\\.o$"
|
205
191
|
- "--exclude=ffi_c\\.(bundle|so)$"
|
@@ -209,18 +195,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
209
195
|
requirements:
|
210
196
|
- - ">="
|
211
197
|
- !ruby/object:Gem::Version
|
212
|
-
version: '2.
|
198
|
+
version: '2.4'
|
213
199
|
- - "<"
|
214
200
|
- !ruby/object:Gem::Version
|
215
|
-
version: 3.
|
201
|
+
version: 3.2.dev
|
216
202
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
203
|
requirements:
|
218
204
|
- - ">="
|
219
205
|
- !ruby/object:Gem::Version
|
220
206
|
version: '0'
|
221
207
|
requirements: []
|
222
|
-
rubygems_version: 3.
|
223
|
-
signing_key:
|
208
|
+
rubygems_version: 3.3.4
|
209
|
+
signing_key:
|
224
210
|
specification_version: 4
|
225
211
|
summary: Ruby FFI
|
226
212
|
test_files: []
|
data/lib/2.3/ffi_c.so
DELETED
Binary file
|