ffi 1.16.0 → 1.16.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee7a1ffc0f567cd7ef2162af6e49488a4a5164aabb3baa24c652a22917e4eadc
4
- data.tar.gz: 59f023b4798897616ae96d407193138b428e172e934faa54450e6e66821f4769
3
+ metadata.gz: 97fcde7512ad059a96ca3aee2dacf4345a82414f9f281ae7799ccf9c4443f698
4
+ data.tar.gz: a82f60c548a3a308d34a16306c688909ef0d6823acd81ddf906714d056db5fd3
5
5
  SHA512:
6
- metadata.gz: bf3a43c4637d326b2adfa063132baf5d157311ef372087e4c1c74c80f9fe7e04090b01f58da2b8d6f5043d019d0ed84b55831a56fa3a1689bce9ec10b92a5c3e
7
- data.tar.gz: 7d3a0ec5e19c2e27faf0e99a95991c37b2db5cbdc2ebea84f2c983b988349baecaf50494f3e662883a1ecfad3c6e91b35a17ea0e49960a3a8db193525d5194ff
6
+ metadata.gz: 5db4d6882d47a67c547804a386bc42b3f19911e82440536f03b1c5150e75ff386eafb04f2cdb51d798eac3f7affb3d3b7f72d1d5f265daea3bd005a95274406f
7
+ data.tar.gz: 52947d05ae9f3dfecfb3f4fdd268daa3792498a8ce49d56539fa753556564447acb9119905d9b1534cff84a85fdf4af94493df6af4ee4298b669cc9295dcacc1
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ 1.16.1 / 2023-09-24
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix compiling the builtin libffi. #1049
6
+
7
+
1
8
  1.16.0 / 2023-09-23
2
9
  -------------------
3
10
 
@@ -0,0 +1,347 @@
1
+ #! /bin/sh
2
+ # Wrapper for compilers which do not understand '-c -o'.
3
+
4
+ scriptversion=2012-10-14.11; # UTC
5
+
6
+ # Copyright (C) 1999-2014 Free Software Foundation, Inc.
7
+ # Written by Tom Tromey <tromey@cygnus.com>.
8
+ #
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation; either version 2, or (at your option)
12
+ # any later version.
13
+ #
14
+ # This program is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+
22
+ # As a special exception to the GNU General Public License, if you
23
+ # distribute this file as part of a program that contains a
24
+ # configuration script generated by Autoconf, you may include it under
25
+ # the same distribution terms that you use for the rest of that program.
26
+
27
+ # This file is maintained in Automake, please report
28
+ # bugs to <bug-automake@gnu.org> or send patches to
29
+ # <automake-patches@gnu.org>.
30
+
31
+ nl='
32
+ '
33
+
34
+ # We need space, tab and new line, in precisely that order. Quoting is
35
+ # there to prevent tools from complaining about whitespace usage.
36
+ IFS=" "" $nl"
37
+
38
+ file_conv=
39
+
40
+ # func_file_conv build_file lazy
41
+ # Convert a $build file to $host form and store it in $file
42
+ # Currently only supports Windows hosts. If the determined conversion
43
+ # type is listed in (the comma separated) LAZY, no conversion will
44
+ # take place.
45
+ func_file_conv ()
46
+ {
47
+ file=$1
48
+ case $file in
49
+ / | /[!/]*) # absolute file, and not a UNC file
50
+ if test -z "$file_conv"; then
51
+ # lazily determine how to convert abs files
52
+ case `uname -s` in
53
+ MINGW*)
54
+ file_conv=mingw
55
+ ;;
56
+ CYGWIN*)
57
+ file_conv=cygwin
58
+ ;;
59
+ *)
60
+ file_conv=wine
61
+ ;;
62
+ esac
63
+ fi
64
+ case $file_conv/,$2, in
65
+ *,$file_conv,*)
66
+ ;;
67
+ mingw/*)
68
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
69
+ ;;
70
+ cygwin/*)
71
+ file=`cygpath -m "$file" || echo "$file"`
72
+ ;;
73
+ wine/*)
74
+ file=`winepath -w "$file" || echo "$file"`
75
+ ;;
76
+ esac
77
+ ;;
78
+ esac
79
+ }
80
+
81
+ # func_cl_dashL linkdir
82
+ # Make cl look for libraries in LINKDIR
83
+ func_cl_dashL ()
84
+ {
85
+ func_file_conv "$1"
86
+ if test -z "$lib_path"; then
87
+ lib_path=$file
88
+ else
89
+ lib_path="$lib_path;$file"
90
+ fi
91
+ linker_opts="$linker_opts -LIBPATH:$file"
92
+ }
93
+
94
+ # func_cl_dashl library
95
+ # Do a library search-path lookup for cl
96
+ func_cl_dashl ()
97
+ {
98
+ lib=$1
99
+ found=no
100
+ save_IFS=$IFS
101
+ IFS=';'
102
+ for dir in $lib_path $LIB
103
+ do
104
+ IFS=$save_IFS
105
+ if $shared && test -f "$dir/$lib.dll.lib"; then
106
+ found=yes
107
+ lib=$dir/$lib.dll.lib
108
+ break
109
+ fi
110
+ if test -f "$dir/$lib.lib"; then
111
+ found=yes
112
+ lib=$dir/$lib.lib
113
+ break
114
+ fi
115
+ if test -f "$dir/lib$lib.a"; then
116
+ found=yes
117
+ lib=$dir/lib$lib.a
118
+ break
119
+ fi
120
+ done
121
+ IFS=$save_IFS
122
+
123
+ if test "$found" != yes; then
124
+ lib=$lib.lib
125
+ fi
126
+ }
127
+
128
+ # func_cl_wrapper cl arg...
129
+ # Adjust compile command to suit cl
130
+ func_cl_wrapper ()
131
+ {
132
+ # Assume a capable shell
133
+ lib_path=
134
+ shared=:
135
+ linker_opts=
136
+ for arg
137
+ do
138
+ if test -n "$eat"; then
139
+ eat=
140
+ else
141
+ case $1 in
142
+ -o)
143
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
144
+ eat=1
145
+ case $2 in
146
+ *.o | *.[oO][bB][jJ])
147
+ func_file_conv "$2"
148
+ set x "$@" -Fo"$file"
149
+ shift
150
+ ;;
151
+ *)
152
+ func_file_conv "$2"
153
+ set x "$@" -Fe"$file"
154
+ shift
155
+ ;;
156
+ esac
157
+ ;;
158
+ -I)
159
+ eat=1
160
+ func_file_conv "$2" mingw
161
+ set x "$@" -I"$file"
162
+ shift
163
+ ;;
164
+ -I*)
165
+ func_file_conv "${1#-I}" mingw
166
+ set x "$@" -I"$file"
167
+ shift
168
+ ;;
169
+ -l)
170
+ eat=1
171
+ func_cl_dashl "$2"
172
+ set x "$@" "$lib"
173
+ shift
174
+ ;;
175
+ -l*)
176
+ func_cl_dashl "${1#-l}"
177
+ set x "$@" "$lib"
178
+ shift
179
+ ;;
180
+ -L)
181
+ eat=1
182
+ func_cl_dashL "$2"
183
+ ;;
184
+ -L*)
185
+ func_cl_dashL "${1#-L}"
186
+ ;;
187
+ -static)
188
+ shared=false
189
+ ;;
190
+ -Wl,*)
191
+ arg=${1#-Wl,}
192
+ save_ifs="$IFS"; IFS=','
193
+ for flag in $arg; do
194
+ IFS="$save_ifs"
195
+ linker_opts="$linker_opts $flag"
196
+ done
197
+ IFS="$save_ifs"
198
+ ;;
199
+ -Xlinker)
200
+ eat=1
201
+ linker_opts="$linker_opts $2"
202
+ ;;
203
+ -*)
204
+ set x "$@" "$1"
205
+ shift
206
+ ;;
207
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
208
+ func_file_conv "$1"
209
+ set x "$@" -Tp"$file"
210
+ shift
211
+ ;;
212
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
213
+ func_file_conv "$1" mingw
214
+ set x "$@" "$file"
215
+ shift
216
+ ;;
217
+ *)
218
+ set x "$@" "$1"
219
+ shift
220
+ ;;
221
+ esac
222
+ fi
223
+ shift
224
+ done
225
+ if test -n "$linker_opts"; then
226
+ linker_opts="-link$linker_opts"
227
+ fi
228
+ exec "$@" $linker_opts
229
+ exit 1
230
+ }
231
+
232
+ eat=
233
+
234
+ case $1 in
235
+ '')
236
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
237
+ exit 1;
238
+ ;;
239
+ -h | --h*)
240
+ cat <<\EOF
241
+ Usage: compile [--help] [--version] PROGRAM [ARGS]
242
+
243
+ Wrapper for compilers which do not understand '-c -o'.
244
+ Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
245
+ arguments, and rename the output as expected.
246
+
247
+ If you are trying to build a whole package this is not the
248
+ right script to run: please start by reading the file 'INSTALL'.
249
+
250
+ Report bugs to <bug-automake@gnu.org>.
251
+ EOF
252
+ exit $?
253
+ ;;
254
+ -v | --v*)
255
+ echo "compile $scriptversion"
256
+ exit $?
257
+ ;;
258
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
259
+ func_cl_wrapper "$@" # Doesn't return...
260
+ ;;
261
+ esac
262
+
263
+ ofile=
264
+ cfile=
265
+
266
+ for arg
267
+ do
268
+ if test -n "$eat"; then
269
+ eat=
270
+ else
271
+ case $1 in
272
+ -o)
273
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
274
+ # So we strip '-o arg' only if arg is an object.
275
+ eat=1
276
+ case $2 in
277
+ *.o | *.obj)
278
+ ofile=$2
279
+ ;;
280
+ *)
281
+ set x "$@" -o "$2"
282
+ shift
283
+ ;;
284
+ esac
285
+ ;;
286
+ *.c)
287
+ cfile=$1
288
+ set x "$@" "$1"
289
+ shift
290
+ ;;
291
+ *)
292
+ set x "$@" "$1"
293
+ shift
294
+ ;;
295
+ esac
296
+ fi
297
+ shift
298
+ done
299
+
300
+ if test -z "$ofile" || test -z "$cfile"; then
301
+ # If no '-o' option was seen then we might have been invoked from a
302
+ # pattern rule where we don't need one. That is ok -- this is a
303
+ # normal compilation that the losing compiler can handle. If no
304
+ # '.c' file was seen then we are probably linking. That is also
305
+ # ok.
306
+ exec "$@"
307
+ fi
308
+
309
+ # Name of file we expect compiler to create.
310
+ cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
311
+
312
+ # Create the lock directory.
313
+ # Note: use '[/\\:.-]' here to ensure that we don't use the same name
314
+ # that we are using for the .o file. Also, base the name on the expected
315
+ # object file name, since that is what matters with a parallel build.
316
+ lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
317
+ while true; do
318
+ if mkdir "$lockdir" >/dev/null 2>&1; then
319
+ break
320
+ fi
321
+ sleep 1
322
+ done
323
+ # FIXME: race condition here if user kills between mkdir and trap.
324
+ trap "rmdir '$lockdir'; exit 1" 1 2 15
325
+
326
+ # Run the compile.
327
+ "$@"
328
+ ret=$?
329
+
330
+ if test -f "$cofile"; then
331
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
332
+ elif test -f "${cofile}bj"; then
333
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
334
+ fi
335
+
336
+ rmdir "$lockdir"
337
+ exit $ret
338
+
339
+ # Local Variables:
340
+ # mode: shell-script
341
+ # sh-indentation: 2
342
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
343
+ # time-stamp-start: "scriptversion="
344
+ # time-stamp-format: "%:y-%02m-%02d.%02H"
345
+ # time-stamp-time-zone: "UTC"
346
+ # time-stamp-end: "; # UTC"
347
+ # End:
data/ffi.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
  # Add libffi git files
24
24
  lfs = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0")
25
25
  # Add autoconf generated files of libffi
26
- lfs += %w[ configure config.guess config.sub install-sh ltmain.sh missing fficonfig.h.in ]
26
+ lfs += %w[ compile configure config.guess config.sub install-sh ltmain.sh missing fficonfig.h.in ]
27
27
  # Add automake generated files of libffi
28
28
  lfs += `git --git-dir ext/ffi_c/libffi/.git ls-files -z *.am */*.am`.gsub(".am\0", ".in\0").split("\x0")
29
29
  s.files += lfs.map do |f|
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.16.0'
2
+ VERSION = '1.16.1'
3
3
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne Meissner
@@ -33,7 +33,7 @@ cert_chain:
33
33
  Dzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd
34
34
  NUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx
35
35
  -----END CERTIFICATE-----
36
- date: 2023-09-23 00:00:00.000000000 Z
36
+ date: 2023-09-24 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rake
@@ -185,6 +185,7 @@ files:
185
185
  - ext/ffi_c/libffi/README.md
186
186
  - ext/ffi_c/libffi/acinclude.m4
187
187
  - ext/ffi_c/libffi/autogen.sh
188
+ - ext/ffi_c/libffi/compile
188
189
  - ext/ffi_c/libffi/config.guess
189
190
  - ext/ffi_c/libffi/config.sub
190
191
  - ext/ffi_c/libffi/configure
metadata.gz.sig CHANGED
@@ -1 +1,3 @@
1
- ��AVM��ƺ�̩tG'ҍW0�˗)�zI2��xI ���fs崅\p|��9T�E��{1F�{O�V�?��eOM�4E^]ڰ�#B�b�؀��n{�ez�� ���-d��by�&�U����f D�u�s�����I�X�>����������c�n�u���a�ߎ�q:i+x�����Ú�Wـ��V;黢�À�kbqK6�l@9K5YIt\��7�r0��L4�l�d��mxE9���f�CB��`��7"X���fJQ����a
1
+ ���xp�����SEF��� ��'v����-�~��p��/՘�Gw�^���l��2���wY�˻{����aNi |��Ce.�-H
2
+ ��i�s�;�sʤ.}�(�������͆ğ�%�e`��s�U��п{�+rY(�eWmbHo��y����~Ơ�kOu6����U��0+yk���ێ@WE�q�*��|Օ���y/a������xƺQ��B'�� �E�P.<��D��1����L�n�X�˵�J�� �2� �K�J���C�
3
+ �Z����%W n��_M�@�}�M��^�,6U�߿�yp�/���2��j+w -��[���|)���V�h=�٘�u�^���ERm3�h|���6a�:*����GC