ffi 1.13.0 → 1.15.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +127 -0
  3. data/Gemfile +1 -4
  4. data/README.md +14 -2
  5. data/Rakefile +43 -29
  6. data/ext/ffi_c/AbstractMemory.c +24 -25
  7. data/ext/ffi_c/Buffer.c +2 -7
  8. data/ext/ffi_c/Call.c +3 -9
  9. data/ext/ffi_c/ClosurePool.c +64 -11
  10. data/ext/ffi_c/ClosurePool.h +3 -1
  11. data/ext/ffi_c/DynamicLibrary.c +1 -6
  12. data/ext/ffi_c/Function.c +31 -16
  13. data/ext/ffi_c/Function.h +0 -4
  14. data/ext/ffi_c/FunctionInfo.c +2 -6
  15. data/ext/ffi_c/LastError.c +2 -6
  16. data/ext/ffi_c/MemoryPointer.c +2 -7
  17. data/ext/ffi_c/MemoryPointer.h +0 -4
  18. data/ext/ffi_c/MethodHandle.c +4 -8
  19. data/ext/ffi_c/Platform.c +4 -9
  20. data/ext/ffi_c/Pointer.c +24 -25
  21. data/ext/ffi_c/Pointer.h +0 -4
  22. data/ext/ffi_c/Struct.c +3 -6
  23. data/ext/ffi_c/StructByValue.c +2 -7
  24. data/ext/ffi_c/StructLayout.c +2 -6
  25. data/ext/ffi_c/Thread.c +0 -5
  26. data/ext/ffi_c/Thread.h +1 -6
  27. data/ext/ffi_c/Type.c +1 -1
  28. data/ext/ffi_c/Types.c +6 -7
  29. data/ext/ffi_c/Types.h +3 -4
  30. data/ext/ffi_c/Variadic.c +14 -9
  31. data/ext/ffi_c/extconf.rb +25 -10
  32. data/ext/ffi_c/libffi/.travis/bfin-sim.exp +1 -1
  33. data/ext/ffi_c/libffi/.travis/m32r-sim.exp +1 -1
  34. data/ext/ffi_c/libffi/.travis/moxie-sim.exp +1 -1
  35. data/ext/ffi_c/libffi/.travis/or1k-sim.exp +1 -1
  36. data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +1 -1
  37. data/ext/ffi_c/libffi/.travis/wine-sim.exp +1 -1
  38. data/ext/ffi_c/libffi/Makefile.am +48 -58
  39. data/ext/ffi_c/libffi/Makefile.in +420 -156
  40. data/ext/ffi_c/libffi/README.md +4 -0
  41. data/ext/ffi_c/libffi/config.guess +552 -331
  42. data/ext/ffi_c/libffi/config.sub +1321 -1306
  43. data/ext/ffi_c/libffi/configure +158 -96
  44. data/ext/ffi_c/libffi/configure.ac +6 -1
  45. data/ext/ffi_c/libffi/configure.host +32 -20
  46. data/ext/ffi_c/libffi/doc/Makefile.in +8 -5
  47. data/ext/ffi_c/libffi/fficonfig.h.in +6 -0
  48. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -1
  49. data/ext/ffi_c/libffi/include/Makefile.in +8 -5
  50. data/ext/ffi_c/libffi/install-sh +23 -13
  51. data/ext/ffi_c/libffi/ltmain.sh +156 -61
  52. data/ext/ffi_c/libffi/man/Makefile.in +8 -5
  53. data/ext/ffi_c/libffi/missing +8 -8
  54. data/ext/ffi_c/libffi/msvcc.sh +11 -11
  55. data/ext/ffi_c/libffi/src/aarch64/ffi.c +45 -35
  56. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +10 -5
  57. data/ext/ffi_c/libffi/src/aarch64/internal.h +1 -0
  58. data/ext/ffi_c/libffi/src/aarch64/sysv.S +1 -1
  59. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +1 -1
  60. data/ext/ffi_c/libffi/src/arm/ffi.c +22 -0
  61. data/ext/ffi_c/libffi/src/arm/sysv.S +4 -4
  62. data/ext/ffi_c/libffi/src/closures.c +23 -6
  63. data/ext/ffi_c/libffi/src/csky/ffi.c +395 -0
  64. data/ext/ffi_c/libffi/src/csky/ffitarget.h +63 -0
  65. data/ext/ffi_c/libffi/src/csky/sysv.S +371 -0
  66. data/ext/ffi_c/libffi/src/dlmalloc.c +1 -1
  67. data/ext/ffi_c/libffi/src/kvx/asm.h +5 -0
  68. data/ext/ffi_c/libffi/src/kvx/ffi.c +273 -0
  69. data/ext/ffi_c/libffi/src/kvx/ffitarget.h +75 -0
  70. data/ext/ffi_c/libffi/src/kvx/sysv.S +127 -0
  71. data/ext/ffi_c/libffi/src/mips/ffi.c +5 -1
  72. data/ext/ffi_c/libffi/src/mips/ffitarget.h +1 -1
  73. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +13 -1
  74. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +1 -1
  75. data/ext/ffi_c/libffi/src/powerpc/linux64.S +8 -0
  76. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +13 -1
  77. data/ext/ffi_c/libffi/src/prep_cif.c +1 -1
  78. data/ext/ffi_c/libffi/src/x86/ffi.c +8 -2
  79. data/ext/ffi_c/libffi/src/x86/ffi64.c +7 -0
  80. data/ext/ffi_c/libffi/src/x86/ffiw64.c +5 -0
  81. data/ext/ffi_c/libffi/src/x86/sysv.S +2 -2
  82. data/ext/ffi_c/libffi/src/x86/unix64.S +1 -2
  83. data/ext/ffi_c/libffi/src/x86/win64.S +3 -2
  84. data/ext/ffi_c/libffi/src/x86/win64_intel.S +3 -2
  85. data/ext/ffi_c/libffi/testsuite/Makefile.in +9 -6
  86. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +22 -2
  87. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +4 -4
  88. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2 -2
  89. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +2 -0
  90. data/ffi.gemspec +1 -2
  91. data/lib/ffi/abstract_memory.rb +44 -0
  92. data/lib/ffi/autopointer.rb +1 -1
  93. data/lib/ffi/ffi.rb +1 -0
  94. data/lib/ffi/io.rb +3 -3
  95. data/lib/ffi/library.rb +3 -3
  96. data/lib/ffi/managedstruct.rb +2 -2
  97. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  98. data/lib/ffi/platform/aarch64-freebsd/types.conf +2 -2
  99. data/lib/ffi/platform/aarch64-freebsd12/types.conf +113 -60
  100. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  101. data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  102. data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  103. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +4 -22
  104. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  105. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  106. data/lib/ffi/platform.rb +17 -7
  107. data/lib/ffi/pointer.rb +2 -2
  108. data/lib/ffi/tools/const_generator.rb +6 -4
  109. data/lib/ffi/tools/struct_generator.rb +2 -1
  110. data/lib/ffi/variadic.rb +1 -10
  111. data/lib/ffi/version.rb +1 -1
  112. data/lib/ffi.rb +3 -4
  113. data/rakelib/ffi_gem_helper.rb +65 -0
  114. metadata +21 -28
  115. data/.appveyor.yml +0 -30
  116. data/.github/workflows/ci.yml +0 -64
  117. data/.gitignore +0 -25
  118. data/.gitmodules +0 -4
  119. data/.travis.yml +0 -58
  120. data/.yardopts +0 -5
  121. data/ext/ffi_c/win32/stdbool.h +0 -8
  122. data/ext/ffi_c/win32/stdint.h +0 -201
data/ext/ffi_c/extconf.rb CHANGED
@@ -13,18 +13,17 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
13
13
  "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ffi") ||
14
14
  (find_header("ffi.h", `xcrun --sdk macosx --show-sdk-path`.strip + "/usr/include/ffi") rescue false)
15
15
 
16
- # Ensure we can link to ffi_call
17
- libffi_ok &&= have_library("ffi", "ffi_call", [ "ffi.h" ]) ||
18
- have_library("libffi", "ffi_call", [ "ffi.h" ]) ||
19
- have_library("libffi-8", "ffi_call", [ "ffi.h" ])
16
+ # Ensure we can link to ffi_prep_closure_loc
17
+ libffi_ok &&= have_library("ffi", "ffi_prep_closure_loc", [ "ffi.h" ]) ||
18
+ have_library("libffi", "ffi_prep_closure_loc", [ "ffi.h" ]) ||
19
+ have_library("libffi-8", "ffi_prep_closure_loc", [ "ffi.h" ])
20
20
 
21
21
  if RbConfig::CONFIG['host_os'] =~ /mswin/
22
22
  have_library('libffi_convenience')
23
23
  have_library('shlwapi')
24
24
  end
25
25
 
26
- # And we need a libffi version recent enough to provide ffi_closure_alloc
27
- libffi_ok &&= have_func("ffi_closure_alloc")
26
+ libffi_ok
28
27
  end
29
28
 
30
29
  dir_config("ffi_c")
@@ -51,6 +50,19 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
51
50
  else
52
51
  $defs << "-DHAVE_FFI_PREP_CIF_VAR"
53
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"
54
66
  end
55
67
 
56
68
  $defs << "-DHAVE_EXTCONF_H" if $defs.empty? # needed so create_header works
@@ -61,13 +73,16 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
61
73
  unless system_libffi
62
74
  File.open("Makefile", "a") do |mf|
63
75
  mf.puts "LIBFFI_HOST=--host=#{RbConfig::CONFIG['host_alias']}" if RbConfig::CONFIG.has_key?("host_alias")
64
- if RbConfig::CONFIG['host_os'].downcase =~ /darwin/
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
65
80
  mf.puts "include ${srcdir}/libffi.darwin.mk"
66
- elsif RbConfig::CONFIG['host_os'].downcase =~ /bsd/
81
+ elsif RbConfig::CONFIG['host_os'] =~ /bsd/i
67
82
  mf.puts '.include "${srcdir}/libffi.bsd.mk"'
68
- elsif RbConfig::CONFIG['host_os'].downcase =~ /mswin64/
83
+ elsif RbConfig::CONFIG['host_os'] =~ /mswin64/i
69
84
  mf.puts '!include $(srcdir)/libffi.vc64.mk'
70
- elsif RbConfig::CONFIG['host_os'].downcase =~ /mswin32/
85
+ elsif RbConfig::CONFIG['host_os'] =~ /mswin32/i
71
86
  mf.puts '!include $(srcdir)/libffi.vc.mk'
72
87
  else
73
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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/arm/ffitarget.h src/arm/internal.h \
52
- src/avr32/ffitarget.h \
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/m68k/ffitarget.h \
59
- src/m88k/ffitarget.h \
60
- src/metag/ffitarget.h \
61
- src/microblaze/ffitarget.h \
62
- src/mips/ffitarget.h \
63
- src/moxie/ffitarget.h \
64
- src/nios2/ffitarget.h \
65
- src/or1k/ffitarget.h \
66
- src/pa/ffitarget.h \
67
- src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \
68
- src/riscv/ffitarget.h \
69
- src/s390/ffitarget.h src/s390/internal.h \
70
- src/sh/ffitarget.h \
71
- src/sh64/ffitarget.h \
72
- src/sparc/ffitarget.h src/sparc/internal.h \
73
- src/tile/ffitarget.h \
74
- src/vax/ffitarget.h \
75
- src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h src/x86/asmnames.h \
76
- src/xtensa/ffitarget.h \
77
- src/dlmalloc.c
78
-
79
- EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
80
- src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \
81
- src/arc/ffi.c src/arc/arcompact.S src/arm/ffi.c \
82
- src/arm/sysv.S src/arm/ffi.c src/arm/sysv_msvc_arm32.S \
83
- src/avr32/ffi.c src/avr32/sysv.S src/bfin/ffi.c \
84
- src/bfin/sysv.S src/cris/ffi.c src/cris/sysv.S src/frv/ffi.c \
85
- src/frv/eabi.S src/ia64/ffi.c src/ia64/unix.S src/m32r/ffi.c \
86
- src/m32r/sysv.S src/m68k/ffi.c src/m68k/sysv.S src/m88k/ffi.c \
87
- src/m88k/obsd.S src/metag/ffi.c src/metag/sysv.S \
88
- src/microblaze/ffi.c src/microblaze/sysv.S src/mips/ffi.c \
89
- src/mips/o32.S src/mips/n32.S src/moxie/ffi.c \
90
- src/moxie/eabi.S src/nios2/ffi.c src/nios2/sysv.S \
91
- src/or1k/ffi.c src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S \
92
- src/pa/hpux32.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
93
- src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
94
- src/powerpc/linux64.S src/powerpc/linux64_closure.S \
95
- src/powerpc/ppc_closure.S src/powerpc/aix.S \
96
- src/powerpc/darwin.S src/powerpc/aix_closure.S \
97
- src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \
98
- src/riscv/ffi.c src/riscv/sysv.S src/s390/ffi.c \
99
- src/s390/sysv.S src/sh/ffi.c src/sh/sysv.S src/sh64/ffi.c \
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)