ffi 1.13.1 → 1.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +73 -0
- data/Gemfile +1 -4
- data/README.md +14 -2
- data/Rakefile +23 -23
- data/ext/ffi_c/AbstractMemory.c +24 -25
- data/ext/ffi_c/Buffer.c +2 -7
- data/ext/ffi_c/Call.c +2 -8
- data/ext/ffi_c/ClosurePool.c +64 -11
- data/ext/ffi_c/ClosurePool.h +3 -1
- data/ext/ffi_c/DynamicLibrary.c +1 -6
- data/ext/ffi_c/Function.c +31 -16
- data/ext/ffi_c/Function.h +0 -4
- data/ext/ffi_c/FunctionInfo.c +2 -6
- data/ext/ffi_c/LastError.c +2 -6
- data/ext/ffi_c/MemoryPointer.c +2 -7
- data/ext/ffi_c/MemoryPointer.h +0 -4
- data/ext/ffi_c/MethodHandle.c +4 -8
- data/ext/ffi_c/Platform.c +2 -7
- data/ext/ffi_c/Pointer.c +24 -25
- data/ext/ffi_c/Pointer.h +0 -4
- data/ext/ffi_c/Struct.c +3 -6
- data/ext/ffi_c/StructByValue.c +2 -7
- data/ext/ffi_c/StructLayout.c +2 -6
- data/ext/ffi_c/Thread.c +0 -5
- data/ext/ffi_c/Thread.h +1 -6
- data/ext/ffi_c/Type.c +1 -1
- data/ext/ffi_c/Types.c +6 -7
- data/ext/ffi_c/Types.h +3 -4
- data/ext/ffi_c/Variadic.c +14 -9
- data/ext/ffi_c/extconf.rb +20 -4
- data/ext/ffi_c/libffi/.travis/bfin-sim.exp +1 -1
- data/ext/ffi_c/libffi/.travis/m32r-sim.exp +1 -1
- data/ext/ffi_c/libffi/.travis/moxie-sim.exp +1 -1
- data/ext/ffi_c/libffi/.travis/or1k-sim.exp +1 -1
- data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +1 -1
- data/ext/ffi_c/libffi/.travis/wine-sim.exp +1 -1
- data/ext/ffi_c/libffi/Makefile.am +48 -58
- data/ext/ffi_c/libffi/README.md +4 -0
- data/ext/ffi_c/libffi/config.guess +552 -331
- data/ext/ffi_c/libffi/config.sub +1321 -1306
- data/ext/ffi_c/libffi/configure.ac +6 -1
- data/ext/ffi_c/libffi/configure.host +32 -20
- data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
- data/ext/ffi_c/libffi/doc/libffi.texi +997 -0
- data/ext/ffi_c/libffi/doc/version.texi +4 -0
- data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -1
- data/ext/ffi_c/libffi/msvcc.sh +11 -11
- data/ext/ffi_c/libffi/src/aarch64/ffi.c +45 -35
- data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +10 -5
- data/ext/ffi_c/libffi/src/aarch64/internal.h +1 -0
- data/ext/ffi_c/libffi/src/aarch64/sysv.S +1 -1
- data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +1 -1
- data/ext/ffi_c/libffi/src/arm/ffi.c +22 -0
- data/ext/ffi_c/libffi/src/arm/sysv.S +4 -4
- data/ext/ffi_c/libffi/src/closures.c +23 -6
- data/ext/ffi_c/libffi/src/csky/ffi.c +395 -0
- data/ext/ffi_c/libffi/src/csky/ffitarget.h +63 -0
- data/ext/ffi_c/libffi/src/csky/sysv.S +371 -0
- data/ext/ffi_c/libffi/src/dlmalloc.c +1 -1
- data/ext/ffi_c/libffi/src/kvx/asm.h +5 -0
- data/ext/ffi_c/libffi/src/kvx/ffi.c +273 -0
- data/ext/ffi_c/libffi/src/kvx/ffitarget.h +75 -0
- data/ext/ffi_c/libffi/src/kvx/sysv.S +127 -0
- data/ext/ffi_c/libffi/src/mips/ffi.c +5 -1
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +1 -1
- data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +13 -1
- data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +1 -1
- data/ext/ffi_c/libffi/src/powerpc/linux64.S +8 -0
- data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +13 -1
- data/ext/ffi_c/libffi/src/prep_cif.c +1 -1
- data/ext/ffi_c/libffi/src/x86/ffi.c +8 -2
- data/ext/ffi_c/libffi/src/x86/ffi64.c +7 -0
- data/ext/ffi_c/libffi/src/x86/ffiw64.c +5 -0
- data/ext/ffi_c/libffi/src/x86/sysv.S +2 -2
- data/ext/ffi_c/libffi/src/x86/unix64.S +1 -2
- data/ext/ffi_c/libffi/src/x86/win64.S +3 -2
- data/ext/ffi_c/libffi/src/x86/win64_intel.S +3 -2
- data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +22 -2
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +4 -4
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +2 -0
- data/ffi.gemspec +1 -1
- data/lib/ffi.rb +3 -4
- data/lib/ffi/abstract_memory.rb +44 -0
- data/lib/ffi/autopointer.rb +1 -1
- data/lib/ffi/ffi.rb +1 -0
- data/lib/ffi/io.rb +3 -3
- data/lib/ffi/library.rb +1 -1
- data/lib/ffi/managedstruct.rb +2 -2
- data/lib/ffi/platform.rb +15 -6
- data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
- data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
- data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
- data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
- data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
- data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
- data/lib/ffi/pointer.rb +2 -2
- data/lib/ffi/tools/const_generator.rb +2 -1
- data/lib/ffi/tools/struct_generator.rb +2 -1
- data/lib/ffi/variadic.rb +1 -10
- data/lib/ffi/version.rb +1 -1
- data/rakelib/ffi_gem_helper.rb +65 -0
- metadata +18 -11
- data/.appveyor.yml +0 -30
- data/.github/workflows/ci.yml +0 -64
- data/.gitignore +0 -25
- data/.gitmodules +0 -4
- data/.travis.yml +0 -58
- data/.yardopts +0 -5
- data/ext/ffi_c/win32/stdbool.h +0 -8
- data/ext/ffi_c/win32/stdint.h +0 -201
data/ext/ffi_c/Pointer.h
CHANGED
data/ext/ffi_c/Struct.c
CHANGED
@@ -31,12 +31,9 @@
|
|
31
31
|
#include <sys/types.h>
|
32
32
|
#ifndef _MSC_VER
|
33
33
|
# include <sys/param.h>
|
34
|
-
# include <stdint.h>
|
35
|
-
# include <stdbool.h>
|
36
|
-
#else
|
37
|
-
# include "win32/stdbool.h"
|
38
|
-
# include "win32/stdint.h"
|
39
34
|
#endif
|
35
|
+
#include <stdint.h>
|
36
|
+
#include <stdbool.h>
|
40
37
|
#include <ruby.h>
|
41
38
|
#include "rbffi.h"
|
42
39
|
#include "compat.h"
|
@@ -290,7 +287,7 @@ struct_field(Struct* s, VALUE fieldName)
|
|
290
287
|
VALUE rbField = rb_hash_aref(layout->rbFieldMap, fieldName);
|
291
288
|
if (unlikely(NIL_P(rbField))) {
|
292
289
|
VALUE str = rb_funcall2(fieldName, id_to_s, 0, NULL);
|
293
|
-
rb_raise(rb_eArgError, "No such field '%s'",
|
290
|
+
rb_raise(rb_eArgError, "No such field '%s'", StringValueCStr(str));
|
294
291
|
}
|
295
292
|
/* Write the retrieved coder to the cache */
|
296
293
|
p_ce->fieldName = fieldName;
|
data/ext/ffi_c/StructByValue.c
CHANGED
@@ -32,13 +32,8 @@
|
|
32
32
|
#endif
|
33
33
|
#include <sys/types.h>
|
34
34
|
#include <stdio.h>
|
35
|
-
#
|
36
|
-
#
|
37
|
-
# include <stdbool.h>
|
38
|
-
#else
|
39
|
-
# include "win32/stdbool.h"
|
40
|
-
# include "win32/stdint.h"
|
41
|
-
#endif
|
35
|
+
#include <stdint.h>
|
36
|
+
#include <stdbool.h>
|
42
37
|
#include <errno.h>
|
43
38
|
#include <ruby.h>
|
44
39
|
|
data/ext/ffi_c/StructLayout.c
CHANGED
@@ -32,12 +32,9 @@
|
|
32
32
|
|
33
33
|
#ifndef _MSC_VER
|
34
34
|
# include <sys/param.h>
|
35
|
-
# include <stdint.h>
|
36
|
-
# include <stdbool.h>
|
37
|
-
#else
|
38
|
-
# include "win32/stdbool.h"
|
39
|
-
# include "win32/stdint.h"
|
40
35
|
#endif
|
36
|
+
#include <stdint.h>
|
37
|
+
#include <stdbool.h>
|
41
38
|
#include <ruby.h>
|
42
39
|
#include "rbffi.h"
|
43
40
|
#include "compat.h"
|
@@ -126,7 +123,6 @@ struct_field_initialize(int argc, VALUE* argv, VALUE self)
|
|
126
123
|
|
127
124
|
switch (field->type->nativeType == NATIVE_MAPPED ? ((MappedType *) field->type)->type->nativeType : field->type->nativeType) {
|
128
125
|
case NATIVE_FUNCTION:
|
129
|
-
case NATIVE_CALLBACK:
|
130
126
|
case NATIVE_POINTER:
|
131
127
|
field->referenceRequired = true;
|
132
128
|
break;
|
data/ext/ffi_c/Thread.c
CHANGED
data/ext/ffi_c/Thread.h
CHANGED
@@ -30,12 +30,7 @@
|
|
30
30
|
#ifndef RBFFI_THREAD_H
|
31
31
|
#define RBFFI_THREAD_H
|
32
32
|
|
33
|
-
#
|
34
|
-
# include <stdbool.h>
|
35
|
-
#else
|
36
|
-
# include "win32/stdbool.h"
|
37
|
-
# include "win32/stdint.h"
|
38
|
-
#endif
|
33
|
+
#include <stdbool.h>
|
39
34
|
#include <ruby.h>
|
40
35
|
#include "extconf.h"
|
41
36
|
|
data/ext/ffi_c/Type.c
CHANGED
data/ext/ffi_c/Types.c
CHANGED
@@ -85,10 +85,9 @@ rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr)
|
|
85
85
|
return rbffi_Pointer_NewInstance(*(void **) ptr);
|
86
86
|
case NATIVE_BOOL:
|
87
87
|
return ((unsigned char) *(ffi_arg *) ptr) ? Qtrue : Qfalse;
|
88
|
-
|
89
|
-
case NATIVE_FUNCTION:
|
90
|
-
|
91
|
-
return *(void **) ptr != NULL
|
88
|
+
|
89
|
+
case NATIVE_FUNCTION: {
|
90
|
+
return *(void **) ptr != NULL
|
92
91
|
? rbffi_Function_NewInstance(rbType, rbffi_Pointer_NewInstance(*(void **) ptr))
|
93
92
|
: Qnil;
|
94
93
|
}
|
@@ -116,15 +115,15 @@ rbffi_NativeValue_ToRuby(Type* type, VALUE rbType, const void* ptr)
|
|
116
115
|
|
117
116
|
values[0] = rbffi_NativeValue_ToRuby(m->type, m->rbType, ptr);
|
118
117
|
values[1] = Qnil;
|
119
|
-
|
118
|
+
|
120
119
|
|
121
120
|
rbReturnValue = rb_funcall2(m->rbConverter, id_from_native, 2, values);
|
122
121
|
RB_GC_GUARD(values[0]);
|
123
122
|
RB_GC_GUARD(rbType);
|
124
|
-
|
123
|
+
|
125
124
|
return rbReturnValue;
|
126
125
|
}
|
127
|
-
|
126
|
+
|
128
127
|
default:
|
129
128
|
rb_raise(rb_eRuntimeError, "Unknown type: %d", type->nativeType);
|
130
129
|
return Qnil;
|
data/ext/ffi_c/Types.h
CHANGED
@@ -51,20 +51,19 @@ typedef enum {
|
|
51
51
|
NATIVE_FLOAT64,
|
52
52
|
NATIVE_LONGDOUBLE,
|
53
53
|
NATIVE_POINTER,
|
54
|
-
NATIVE_CALLBACK,
|
55
54
|
NATIVE_FUNCTION,
|
56
55
|
NATIVE_BUFFER_IN,
|
57
56
|
NATIVE_BUFFER_OUT,
|
58
57
|
NATIVE_BUFFER_INOUT,
|
59
58
|
NATIVE_CHAR_ARRAY,
|
60
59
|
NATIVE_BOOL,
|
61
|
-
|
60
|
+
|
62
61
|
/** An immutable string. Nul terminated, but only copies in to the native function */
|
63
62
|
NATIVE_STRING,
|
64
|
-
|
63
|
+
|
65
64
|
/** The function takes a variable number of arguments */
|
66
65
|
NATIVE_VARARGS,
|
67
|
-
|
66
|
+
|
68
67
|
/** Struct-by-value param or result */
|
69
68
|
NATIVE_STRUCT,
|
70
69
|
|
data/ext/ffi_c/Variadic.c
CHANGED
@@ -33,13 +33,8 @@
|
|
33
33
|
#include <sys/types.h>
|
34
34
|
|
35
35
|
#include <stdio.h>
|
36
|
-
#
|
37
|
-
#
|
38
|
-
# include <stdbool.h>
|
39
|
-
#else
|
40
|
-
# include "win32/stdbool.h"
|
41
|
-
# include "win32/stdint.h"
|
42
|
-
#endif
|
36
|
+
#include <stdint.h>
|
37
|
+
#include <stdbool.h>
|
43
38
|
#include <ruby.h>
|
44
39
|
|
45
40
|
#include <ffi.h>
|
@@ -173,7 +168,8 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues)
|
|
173
168
|
ffi_type* ffiReturnType;
|
174
169
|
Type** paramTypes;
|
175
170
|
VALUE* argv;
|
176
|
-
|
171
|
+
VALUE* callbackParameters;
|
172
|
+
int paramCount = 0, fixedCount = 0, callbackCount = 0, i;
|
177
173
|
ffi_status ffiStatus;
|
178
174
|
rbffi_frame_t frame = { 0 };
|
179
175
|
|
@@ -187,6 +183,7 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues)
|
|
187
183
|
params = ALLOCA_N(FFIStorage, paramCount);
|
188
184
|
ffiValues = ALLOCA_N(void*, paramCount);
|
189
185
|
argv = ALLOCA_N(VALUE, paramCount);
|
186
|
+
callbackParameters = ALLOCA_N(VALUE, paramCount);
|
190
187
|
retval = alloca(MAX(invoker->returnType->ffiType->size, FFI_SIZEOF_ARG));
|
191
188
|
|
192
189
|
for (i = 0; i < paramCount; ++i) {
|
@@ -216,6 +213,14 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues)
|
|
216
213
|
Data_Get_Struct(rbType, Type, paramTypes[i]);
|
217
214
|
break;
|
218
215
|
|
216
|
+
case NATIVE_FUNCTION:
|
217
|
+
if (!rb_obj_is_kind_of(rbType, rbffi_FunctionTypeClass)) {
|
218
|
+
VALUE typeName = rb_funcall2(rbType, rb_intern("inspect"), 0, NULL);
|
219
|
+
rb_raise(rb_eTypeError, "Incorrect parameter type (%s)", RSTRING_PTR(typeName));
|
220
|
+
}
|
221
|
+
callbackParameters[callbackCount++] = rbType;
|
222
|
+
break;
|
223
|
+
|
219
224
|
default:
|
220
225
|
break;
|
221
226
|
}
|
@@ -253,7 +258,7 @@ variadic_invoke(VALUE self, VALUE parameterTypes, VALUE parameterValues)
|
|
253
258
|
}
|
254
259
|
|
255
260
|
rbffi_SetupCallParams(paramCount, argv, -1, paramTypes, params,
|
256
|
-
ffiValues,
|
261
|
+
ffiValues, callbackParameters, callbackCount, invoker->rbEnums);
|
257
262
|
|
258
263
|
rbffi_frame_push(&frame);
|
259
264
|
|
data/ext/ffi_c/extconf.rb
CHANGED
@@ -50,6 +50,19 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
|
|
50
50
|
else
|
51
51
|
$defs << "-DHAVE_FFI_PREP_CIF_VAR"
|
52
52
|
$defs << "-DUSE_INTERNAL_LIBFFI"
|
53
|
+
|
54
|
+
# Ensure libffi symbols aren't exported when using static libffi.
|
55
|
+
# This is to avoid interference with other gems like fiddle.
|
56
|
+
# See https://github.com/ffi/ffi/issues/835
|
57
|
+
append_ldflags "-Wl,--exclude-libs,ALL"
|
58
|
+
end
|
59
|
+
|
60
|
+
# Some linux archs need explicit linking to pthread, see https://github.com/ffi/ffi/issues/893
|
61
|
+
append_ldflags "-pthread"
|
62
|
+
|
63
|
+
ffi_alloc_default = RbConfig::CONFIG['host_os'] =~ /darwin/i && RbConfig::CONFIG['host'] =~ /arm|aarch64/i
|
64
|
+
if enable_config('libffi-alloc', ffi_alloc_default)
|
65
|
+
$defs << "-DUSE_FFI_ALLOC"
|
53
66
|
end
|
54
67
|
|
55
68
|
$defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works
|
@@ -60,13 +73,16 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
|
|
60
73
|
unless system_libffi
|
61
74
|
File.open("Makefile", "a") do |mf|
|
62
75
|
mf.puts "LIBFFI_HOST=--host=#{RbConfig::CONFIG['host_alias']}" if RbConfig::CONFIG.has_key?("host_alias")
|
63
|
-
if RbConfig::CONFIG['host_os']
|
76
|
+
if RbConfig::CONFIG['host_os'] =~ /darwin/i
|
77
|
+
if RbConfig::CONFIG['host'] =~ /arm|aarch64/i
|
78
|
+
mf.puts "LIBFFI_HOST=--host=aarch64-apple-#{RbConfig::CONFIG['host_os']}"
|
79
|
+
end
|
64
80
|
mf.puts "include ${srcdir}/libffi.darwin.mk"
|
65
|
-
elsif RbConfig::CONFIG['host_os']
|
81
|
+
elsif RbConfig::CONFIG['host_os'] =~ /bsd/i
|
66
82
|
mf.puts '.include "${srcdir}/libffi.bsd.mk"'
|
67
|
-
elsif RbConfig::CONFIG['host_os']
|
83
|
+
elsif RbConfig::CONFIG['host_os'] =~ /mswin64/i
|
68
84
|
mf.puts '!include $(srcdir)/libffi.vc64.mk'
|
69
|
-
elsif RbConfig::CONFIG['host_os']
|
85
|
+
elsif RbConfig::CONFIG['host_os'] =~ /mswin32/i
|
70
86
|
mf.puts '!include $(srcdir)/libffi.vc.mk'
|
71
87
|
else
|
72
88
|
mf.puts "include ${srcdir}/libffi.mk"
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {bfin-elf}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {m32r-elf}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {moxie-elf}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {or1k-elf}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {powerpc-eabisim}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
#
|
15
15
|
# You should have received a copy of the GNU General Public License
|
16
16
|
# along with DejaGnu; if not, write to the Free Software Foundation,
|
17
|
-
# Inc.,
|
17
|
+
# Inc., 51 Franklin Street, Fifth Floor, MA 02110, USA.
|
18
18
|
|
19
19
|
# This is a list of toolchains that are supported on this board.
|
20
20
|
set_board_info target_install {i686-w64-mingw32}
|
@@ -44,65 +44,55 @@ if FFI_DEBUG
|
|
44
44
|
libffi_la_SOURCES += src/debug.c
|
45
45
|
endif
|
46
46
|
|
47
|
-
noinst_HEADERS = \
|
48
|
-
src/aarch64/ffitarget.h src/aarch64/internal.h \
|
47
|
+
noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \
|
49
48
|
src/alpha/ffitarget.h src/alpha/internal.h \
|
50
|
-
src/arc/ffitarget.h
|
51
|
-
src/
|
52
|
-
src/
|
53
|
-
src/bfin/ffitarget.h \
|
54
|
-
src/cris/ffitarget.h \
|
55
|
-
src/frv/ffitarget.h \
|
49
|
+
src/arc/ffitarget.h src/arm/ffitarget.h src/arm/internal.h \
|
50
|
+
src/avr32/ffitarget.h src/bfin/ffitarget.h \
|
51
|
+
src/cris/ffitarget.h src/csky/ffitarget.h src/frv/ffitarget.h \
|
56
52
|
src/ia64/ffitarget.h src/ia64/ia64_flags.h \
|
57
|
-
src/m32r/ffitarget.h
|
58
|
-
src/
|
59
|
-
src/
|
60
|
-
src/
|
61
|
-
src/
|
62
|
-
src/
|
63
|
-
src/
|
64
|
-
src/
|
65
|
-
src/
|
66
|
-
src/
|
67
|
-
src/
|
68
|
-
src/
|
69
|
-
src/
|
70
|
-
|
71
|
-
|
72
|
-
src/
|
73
|
-
src/
|
74
|
-
src/
|
75
|
-
src/
|
76
|
-
src/
|
77
|
-
src/
|
78
|
-
|
79
|
-
|
80
|
-
src/
|
81
|
-
src/
|
82
|
-
src/
|
83
|
-
src/
|
84
|
-
src/
|
85
|
-
src/
|
86
|
-
src/
|
87
|
-
src/
|
88
|
-
src/
|
89
|
-
src/
|
90
|
-
src/
|
91
|
-
src/
|
92
|
-
src/
|
93
|
-
src/
|
94
|
-
src/
|
95
|
-
src/
|
96
|
-
src/
|
97
|
-
src/
|
98
|
-
src/
|
99
|
-
src/
|
100
|
-
src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \
|
101
|
-
src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \
|
102
|
-
src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \
|
103
|
-
src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \
|
104
|
-
src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \
|
105
|
-
src/xtensa/ffi.c src/xtensa/sysv.S
|
53
|
+
src/m32r/ffitarget.h src/m68k/ffitarget.h \
|
54
|
+
src/m88k/ffitarget.h src/metag/ffitarget.h \
|
55
|
+
src/microblaze/ffitarget.h src/mips/ffitarget.h \
|
56
|
+
src/moxie/ffitarget.h src/nios2/ffitarget.h \
|
57
|
+
src/or1k/ffitarget.h src/pa/ffitarget.h \
|
58
|
+
src/powerpc/ffitarget.h src/powerpc/asm.h \
|
59
|
+
src/powerpc/ffi_powerpc.h src/riscv/ffitarget.h \
|
60
|
+
src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \
|
61
|
+
src/sh64/ffitarget.h src/sparc/ffitarget.h \
|
62
|
+
src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \
|
63
|
+
src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h \
|
64
|
+
src/x86/asmnames.h src/xtensa/ffitarget.h src/dlmalloc.c \
|
65
|
+
src/kvx/ffitarget.h
|
66
|
+
|
67
|
+
EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
|
68
|
+
src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \
|
69
|
+
src/arc/ffi.c src/arc/arcompact.S src/arm/ffi.c \
|
70
|
+
src/arm/sysv.S src/arm/ffi.c src/arm/sysv_msvc_arm32.S \
|
71
|
+
src/avr32/ffi.c src/avr32/sysv.S src/bfin/ffi.c \
|
72
|
+
src/bfin/sysv.S src/cris/ffi.c src/cris/sysv.S src/frv/ffi.c \
|
73
|
+
src/csky/ffi.c src/csky/sysv.S src/frv/eabi.S src/ia64/ffi.c \
|
74
|
+
src/ia64/unix.S src/m32r/ffi.c src/m32r/sysv.S src/m68k/ffi.c \
|
75
|
+
src/m68k/sysv.S src/m88k/ffi.c src/m88k/obsd.S \
|
76
|
+
src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \
|
77
|
+
src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \
|
78
|
+
src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \
|
79
|
+
src/nios2/ffi.c src/nios2/sysv.S src/or1k/ffi.c \
|
80
|
+
src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
|
81
|
+
src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
|
82
|
+
src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
|
83
|
+
src/powerpc/linux64.S src/powerpc/linux64_closure.S \
|
84
|
+
src/powerpc/ppc_closure.S src/powerpc/aix.S \
|
85
|
+
src/powerpc/darwin.S src/powerpc/aix_closure.S \
|
86
|
+
src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
|
87
|
+
src/riscv/ffi.c src/riscv/sysv.S src/s390/ffi.c \
|
88
|
+
src/s390/sysv.S src/sh/ffi.c src/sh/sysv.S src/sh64/ffi.c \
|
89
|
+
src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \
|
90
|
+
src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \
|
91
|
+
src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \
|
92
|
+
src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \
|
93
|
+
src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \
|
94
|
+
src/xtensa/ffi.c src/xtensa/sysv.S src/kvx/ffi.c \
|
95
|
+
src/kvx/sysv.S
|
106
96
|
|
107
97
|
TARGET_OBJ = @TARGET_OBJ@
|
108
98
|
libffi_la_LIBADD = $(TARGET_OBJ)
|
@@ -145,7 +135,7 @@ libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
|
145
135
|
|
146
136
|
libffi.map: $(top_srcdir)/libffi.map.in
|
147
137
|
$(COMPILE) -D$(TARGET) -DGENERATE_LIBFFI_MAP \
|
148
|
-
-E -x assembler-with-cpp -o $@
|
138
|
+
-E -x assembler-with-cpp -o $@ $(top_srcdir)/libffi.map.in
|
149
139
|
|
150
140
|
libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
|
151
141
|
libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
|