ffi 1.15.5 → 1.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +61 -0
  4. data/Gemfile +1 -1
  5. data/README.md +3 -2
  6. data/Rakefile +10 -7
  7. data/ext/ffi_c/AbstractMemory.c +56 -34
  8. data/ext/ffi_c/AbstractMemory.h +3 -2
  9. data/ext/ffi_c/ArrayType.c +49 -13
  10. data/ext/ffi_c/ArrayType.h +1 -0
  11. data/ext/ffi_c/Buffer.c +86 -29
  12. data/ext/ffi_c/Call.c +13 -5
  13. data/ext/ffi_c/DynamicLibrary.c +89 -26
  14. data/ext/ffi_c/Function.c +238 -98
  15. data/ext/ffi_c/Function.h +1 -0
  16. data/ext/ffi_c/FunctionInfo.c +78 -24
  17. data/ext/ffi_c/LastError.c +25 -7
  18. data/ext/ffi_c/MappedType.c +66 -23
  19. data/ext/ffi_c/MappedType.h +0 -2
  20. data/ext/ffi_c/MemoryPointer.c +34 -7
  21. data/ext/ffi_c/MethodHandle.c +3 -1
  22. data/ext/ffi_c/Pointer.c +68 -29
  23. data/ext/ffi_c/Pointer.h +1 -0
  24. data/ext/ffi_c/Struct.c +151 -80
  25. data/ext/ffi_c/Struct.h +7 -4
  26. data/ext/ffi_c/StructByValue.c +48 -16
  27. data/ext/ffi_c/StructLayout.c +117 -48
  28. data/ext/ffi_c/Type.c +104 -36
  29. data/ext/ffi_c/Type.h +3 -1
  30. data/ext/ffi_c/Types.c +1 -1
  31. data/ext/ffi_c/Variadic.c +65 -23
  32. data/ext/ffi_c/compat.h +22 -22
  33. data/ext/ffi_c/extconf.rb +19 -2
  34. data/ext/ffi_c/ffi.c +4 -0
  35. data/ext/ffi_c/libffi/.appveyor/site.exp +16 -0
  36. data/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +7 -0
  37. data/ext/ffi_c/libffi/.appveyor.yml +27 -9
  38. data/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +18 -0
  39. data/ext/ffi_c/libffi/{.travis → .ci}/build-in-container.sh +4 -6
  40. data/ext/ffi_c/libffi/.ci/build.sh +124 -0
  41. data/ext/ffi_c/libffi/{.travis → .ci}/install.sh +14 -7
  42. data/ext/ffi_c/libffi/.ci/msvs-detect +1103 -0
  43. data/ext/ffi_c/libffi/{.travis → .ci}/site.exp +5 -3
  44. data/ext/ffi_c/libffi/.circleci/config.yml +156 -0
  45. data/ext/ffi_c/libffi/.github/workflows/build.yml +460 -0
  46. data/ext/ffi_c/libffi/.github/workflows/emscripten.yml +171 -0
  47. data/ext/ffi_c/libffi/.gitignore +10 -2
  48. data/ext/ffi_c/libffi/LICENSE +1 -1
  49. data/ext/ffi_c/libffi/Makefile.am +12 -5
  50. data/ext/ffi_c/libffi/Makefile.in +118 -51
  51. data/ext/ffi_c/libffi/README.md +144 -104
  52. data/ext/ffi_c/libffi/acinclude.m4 +10 -112
  53. data/ext/ffi_c/libffi/compile +347 -0
  54. data/ext/ffi_c/libffi/config.guess +623 -556
  55. data/ext/ffi_c/libffi/config.sub +75 -34
  56. data/ext/ffi_c/libffi/configure +4571 -3830
  57. data/ext/ffi_c/libffi/configure.ac +64 -28
  58. data/ext/ffi_c/libffi/configure.host +25 -6
  59. data/ext/ffi_c/libffi/doc/Makefile.in +9 -6
  60. data/ext/ffi_c/libffi/doc/libffi.texi +82 -33
  61. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  62. data/ext/ffi_c/libffi/fficonfig.h.in +12 -47
  63. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +163 -52
  64. data/ext/ffi_c/libffi/include/Makefile.am +1 -1
  65. data/ext/ffi_c/libffi/include/Makefile.in +10 -9
  66. data/ext/ffi_c/libffi/include/ffi.h.in +54 -50
  67. data/ext/ffi_c/libffi/include/ffi_cfi.h +21 -0
  68. data/ext/ffi_c/libffi/include/ffi_common.h +29 -0
  69. data/ext/ffi_c/libffi/include/tramp.h +45 -0
  70. data/ext/ffi_c/libffi/install-sh +92 -69
  71. data/ext/ffi_c/libffi/libtool-version +2 -2
  72. data/ext/ffi_c/libffi/ltmain.sh +512 -315
  73. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +18 -14
  74. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +108 -72
  75. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +76 -45
  76. data/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +51 -0
  77. data/ext/ffi_c/libffi/man/Makefile.in +9 -6
  78. data/ext/ffi_c/libffi/missing +1 -1
  79. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +1 -1
  80. data/ext/ffi_c/libffi/msvcc.sh +1 -1
  81. data/ext/ffi_c/libffi/src/aarch64/ffi.c +146 -42
  82. data/ext/ffi_c/libffi/src/aarch64/internal.h +32 -0
  83. data/ext/ffi_c/libffi/src/aarch64/sysv.S +134 -42
  84. data/ext/ffi_c/libffi/src/arc/arcompact.S +169 -94
  85. data/ext/ffi_c/libffi/src/arc/ffi.c +325 -148
  86. data/ext/ffi_c/libffi/src/arc/ffitarget.h +14 -0
  87. data/ext/ffi_c/libffi/src/arm/ffi.c +62 -17
  88. data/ext/ffi_c/libffi/src/arm/ffitarget.h +3 -3
  89. data/ext/ffi_c/libffi/src/arm/internal.h +10 -0
  90. data/ext/ffi_c/libffi/src/arm/sysv.S +113 -42
  91. data/ext/ffi_c/libffi/src/closures.c +133 -47
  92. data/ext/ffi_c/libffi/src/dlmalloc.c +5 -0
  93. data/ext/ffi_c/libffi/src/ia64/ffi.c +12 -0
  94. data/ext/ffi_c/libffi/src/ia64/unix.S +20 -2
  95. data/ext/ffi_c/libffi/src/loongarch64/ffi.c +621 -0
  96. data/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +82 -0
  97. data/ext/ffi_c/libffi/src/loongarch64/sysv.S +327 -0
  98. data/ext/ffi_c/libffi/src/m32r/ffi.c +31 -14
  99. data/ext/ffi_c/libffi/src/mips/ffi.c +240 -65
  100. data/ext/ffi_c/libffi/src/mips/ffitarget.h +7 -0
  101. data/ext/ffi_c/libffi/src/mips/n32.S +137 -28
  102. data/ext/ffi_c/libffi/src/mips/o32.S +61 -4
  103. data/ext/ffi_c/libffi/src/moxie/ffi.c +47 -22
  104. data/ext/ffi_c/libffi/src/or1k/ffi.c +25 -12
  105. data/ext/ffi_c/libffi/src/pa/ffi.c +32 -33
  106. data/ext/ffi_c/libffi/src/pa/ffi64.c +614 -0
  107. data/ext/ffi_c/libffi/src/pa/ffitarget.h +22 -8
  108. data/ext/ffi_c/libffi/src/pa/hpux32.S +83 -36
  109. data/ext/ffi_c/libffi/src/pa/hpux64.S +681 -0
  110. data/ext/ffi_c/libffi/src/pa/linux.S +82 -35
  111. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +1 -1
  112. data/ext/ffi_c/libffi/src/powerpc/linux64.S +2 -0
  113. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +2 -0
  114. data/ext/ffi_c/libffi/src/powerpc/t-aix +5 -0
  115. data/ext/ffi_c/libffi/src/prep_cif.c +22 -2
  116. data/ext/ffi_c/libffi/src/riscv/ffi.c +37 -4
  117. data/ext/ffi_c/libffi/src/sparc/ffi64.c +16 -0
  118. data/ext/ffi_c/libffi/src/tramp.c +716 -0
  119. data/ext/ffi_c/libffi/src/wasm32/ffi.c +934 -0
  120. data/ext/ffi_c/libffi/src/wasm32/ffitarget.h +62 -0
  121. data/ext/ffi_c/libffi/src/x86/ffi.c +99 -37
  122. data/ext/ffi_c/libffi/src/x86/ffi64.c +67 -12
  123. data/ext/ffi_c/libffi/src/x86/ffitarget.h +9 -5
  124. data/ext/ffi_c/libffi/src/x86/ffiw64.c +43 -0
  125. data/ext/ffi_c/libffi/src/x86/internal.h +14 -0
  126. data/ext/ffi_c/libffi/src/x86/internal64.h +14 -0
  127. data/ext/ffi_c/libffi/src/x86/sysv.S +172 -38
  128. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +91 -88
  129. data/ext/ffi_c/libffi/src/x86/unix64.S +96 -6
  130. data/ext/ffi_c/libffi/src/x86/win64.S +20 -7
  131. data/ext/ffi_c/libffi/src/xtensa/ffi.c +16 -8
  132. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +4 -0
  133. data/ext/ffi_c/libffi/src/xtensa/sysv.S +26 -16
  134. data/ext/ffi_c/libffi/testsuite/Makefile.am +127 -114
  135. data/ext/ffi_c/libffi/testsuite/Makefile.in +137 -121
  136. data/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +54 -0
  137. data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +63 -0
  138. data/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +80 -0
  139. data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +48 -0
  140. data/ext/ffi_c/libffi/testsuite/emscripten/test.html +7 -0
  141. data/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +51 -0
  142. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +43 -21
  143. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +2 -2
  144. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1 -0
  145. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +5 -1
  146. data/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +41 -0
  147. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +28 -3
  148. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +3 -0
  149. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +5 -0
  150. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +4 -0
  151. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +4 -0
  152. data/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +60 -0
  153. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +8 -9
  154. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +2 -2
  155. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +2 -2
  156. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +2 -2
  157. data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +1 -1
  158. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +63 -0
  159. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +65 -0
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +65 -0
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +67 -0
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +67 -0
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +93 -0
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +61 -0
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +63 -0
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +90 -0
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -119
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +220 -0
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +154 -0
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +13 -0
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +11 -0
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +15 -0
  173. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +3 -2
  174. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +2 -0
  175. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +2 -0
  176. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +21 -1
  177. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +2 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +2 -0
  179. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +2 -0
  180. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c +7 -6
  181. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +6 -0
  182. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +18 -0
  183. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +22 -0
  184. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +24 -0
  185. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +29 -0
  186. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c +4 -0
  187. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +19 -1
  188. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +21 -1
  189. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +35 -3
  190. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +13 -0
  191. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c +19 -0
  192. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +13 -0
  193. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +13 -0
  194. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +18 -0
  195. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c +22 -0
  196. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +13 -0
  197. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c +29 -1
  198. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +19 -1
  199. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +24 -0
  200. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c +28 -1
  201. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +24 -2
  202. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c +39 -1
  203. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +25 -1
  204. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +14 -0
  205. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +14 -1
  206. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +14 -2
  207. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c +19 -1
  208. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c +19 -1
  209. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c +20 -1
  210. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c +40 -25
  211. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c +40 -3
  212. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c +19 -1
  213. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c +18 -1
  214. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c +18 -3
  215. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c +18 -1
  216. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c +18 -1
  217. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c +19 -1
  218. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c +19 -1
  219. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +3 -1
  220. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c +9 -1
  221. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +4 -0
  222. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +11 -1
  223. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c +22 -3
  224. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c +5 -1
  225. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c +6 -1
  226. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +9 -1
  227. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c +9 -1
  228. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c +6 -2
  229. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +9 -1
  230. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +5 -0
  231. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c +10 -0
  232. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +3 -0
  233. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +2 -0
  234. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +3 -0
  235. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +11 -0
  236. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +3 -0
  237. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +4 -0
  238. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +4 -0
  239. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +4 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +2 -0
  241. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +3 -0
  242. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +1 -138
  243. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +21 -21
  244. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +32 -9
  245. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +1 -1
  246. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +12 -0
  247. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +21 -5
  248. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +86 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +115 -0
  250. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +10 -1
  251. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +10 -1
  252. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +9 -0
  253. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +9 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +11 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +9 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +11 -0
  257. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +11 -0
  258. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +86 -0
  259. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +102 -0
  260. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +101 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +1 -1
  262. data/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +1 -1
  263. data/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +6 -1
  264. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +2 -1
  265. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +1 -0
  266. data/ext/ffi_c/libffi.bsd.mk +2 -2
  267. data/ext/ffi_c/libffi.gnu.mk +2 -2
  268. data/ext/ffi_c/rbffi.h +1 -1
  269. data/ffi.gemspec +3 -3
  270. data/lib/ffi/autopointer.rb +7 -22
  271. data/lib/ffi/compat.rb +43 -0
  272. data/lib/ffi/data_converter.rb +2 -2
  273. data/lib/ffi/dynamic_library.rb +89 -0
  274. data/lib/ffi/enum.rb +18 -11
  275. data/lib/ffi/ffi.rb +3 -0
  276. data/lib/ffi/function.rb +71 -0
  277. data/lib/ffi/library.rb +55 -71
  278. data/lib/ffi/library_path.rb +109 -0
  279. data/lib/ffi/managedstruct.rb +1 -1
  280. data/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  281. data/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  282. data/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  283. data/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  284. data/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  285. data/lib/ffi/platform.rb +15 -13
  286. data/lib/ffi/struct.rb +2 -1
  287. data/lib/ffi/struct_layout.rb +1 -1
  288. data/lib/ffi/struct_layout_builder.rb +1 -1
  289. data/lib/ffi/types.rb +30 -5
  290. data/lib/ffi/variadic.rb +19 -8
  291. data/lib/ffi/version.rb +1 -1
  292. data.tar.gz.sig +3 -0
  293. metadata +98 -25
  294. metadata.gz.sig +3 -0
  295. data/ext/ffi_c/libffi/.travis/build-cross-in-container.sh +0 -14
  296. data/ext/ffi_c/libffi/.travis/build.sh +0 -142
  297. data/ext/ffi_c/libffi/.travis.yml +0 -83
  298. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar_va.c +0 -44
  299. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort_va.c +0 -44
  300. /data/ext/ffi_c/libffi/{.travis → .ci}/ar-lib +0 -0
  301. /data/ext/ffi_c/libffi/{.travis → .ci}/bfin-sim.exp +0 -0
  302. /data/ext/ffi_c/libffi/{.travis → .ci}/compile +0 -0
  303. /data/ext/ffi_c/libffi/{.travis → .ci}/m32r-sim.exp +0 -0
  304. /data/ext/ffi_c/libffi/{.travis → .ci}/moxie-sim.exp +0 -0
  305. /data/ext/ffi_c/libffi/{.travis → .ci}/or1k-sim.exp +0 -0
  306. /data/ext/ffi_c/libffi/{.travis → .ci}/powerpc-eabisim.exp +0 -0
  307. /data/ext/ffi_c/libffi/{.travis → .ci}/wine-sim.exp +0 -0
  308. /data/ext/ffi_c/libffi/testsuite/libffi.call/{pyobjc-tc.c → pyobjc_tc.c} +0 -0
  309. /data/lib/ffi/platform/{sparc64-linux → sparcv9-linux}/types.conf +0 -0
@@ -3,24 +3,20 @@
3
3
  /* Define if building universal (internal helper macro) */
4
4
  #undef AC_APPLE_UNIVERSAL_BUILD
5
5
 
6
- /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
7
- systems. This function is required for `alloca.c' support on those systems.
8
- */
9
- #undef CRAY_STACKSEG_END
10
-
11
- /* Define to 1 if using `alloca.c'. */
12
- #undef C_ALLOCA
13
-
14
6
  /* Define to the flags needed for the .section .eh_frame directive. */
15
7
  #undef EH_FRAME_FLAGS
16
8
 
17
9
  /* Define this if you want extra debugging. */
18
10
  #undef FFI_DEBUG
19
11
 
12
+ /* Define this if you want statically defined trampolines */
13
+ #undef FFI_EXEC_STATIC_TRAMP
14
+
20
15
  /* Cannot use PROT_EXEC on this target, so, we revert to alternative means */
21
16
  #undef FFI_EXEC_TRAMPOLINE_TABLE
22
17
 
23
- /* Define this if you want to enable pax emulated trampolines */
18
+ /* Define this if you want to enable pax emulated trampolines (experimental)
19
+ */
24
20
  #undef FFI_MMAP_EXEC_EMUTRAMP_PAX
25
21
 
26
22
  /* Cannot use malloc on this target, so, we revert to alternative means */
@@ -32,11 +28,7 @@
32
28
  /* Define this if you do not want support for aggregate types. */
33
29
  #undef FFI_NO_STRUCTS
34
30
 
35
- /* Define to 1 if you have `alloca', as a function or macro. */
36
- #undef HAVE_ALLOCA
37
-
38
- /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
39
- */
31
+ /* Define to 1 if you have the <alloca.h> header file. */
40
32
  #undef HAVE_ALLOCA_H
41
33
 
42
34
  /* Define if your assembler supports .cfi_* directives. */
@@ -79,24 +71,6 @@
79
71
  /* Define to 1 if you have the `memfd_create' function. */
80
72
  #undef HAVE_MEMFD_CREATE
81
73
 
82
- /* Define to 1 if you have the <memory.h> header file. */
83
- #undef HAVE_MEMORY_H
84
-
85
- /* Define to 1 if you have the `mkostemp' function. */
86
- #undef HAVE_MKOSTEMP
87
-
88
- /* Define to 1 if you have the `mmap' function. */
89
- #undef HAVE_MMAP
90
-
91
- /* Define if mmap with MAP_ANON(YMOUS) works. */
92
- #undef HAVE_MMAP_ANON
93
-
94
- /* Define if mmap of /dev/zero works. */
95
- #undef HAVE_MMAP_DEV_ZERO
96
-
97
- /* Define if read-only mmap of a plain file works. */
98
- #undef HAVE_MMAP_FILE
99
-
100
74
  /* Define if your compiler supports pointer authentication. */
101
75
  #undef HAVE_PTRAUTH
102
76
 
@@ -106,6 +80,9 @@
106
80
  /* Define to 1 if you have the <stdint.h> header file. */
107
81
  #undef HAVE_STDINT_H
108
82
 
83
+ /* Define to 1 if you have the <stdio.h> header file. */
84
+ #undef HAVE_STDIO_H
85
+
109
86
  /* Define to 1 if you have the <stdlib.h> header file. */
110
87
  #undef HAVE_STDLIB_H
111
88
 
@@ -118,9 +95,6 @@
118
95
  /* Define to 1 if you have the <sys/memfd.h> header file. */
119
96
  #undef HAVE_SYS_MEMFD_H
120
97
 
121
- /* Define to 1 if you have the <sys/mman.h> header file. */
122
- #undef HAVE_SYS_MMAN_H
123
-
124
98
  /* Define to 1 if you have the <sys/stat.h> header file. */
125
99
  #undef HAVE_SYS_STAT_H
126
100
 
@@ -166,15 +140,9 @@
166
140
  /* The size of `size_t', as computed by sizeof. */
167
141
  #undef SIZEOF_SIZE_T
168
142
 
169
- /* If using the C implementation of alloca, define if you know the
170
- direction of stack growth for your system; otherwise it will be
171
- automatically deduced at runtime.
172
- STACK_DIRECTION > 0 => grows toward higher addresses
173
- STACK_DIRECTION < 0 => grows toward lower addresses
174
- STACK_DIRECTION = 0 => direction of growth unknown */
175
- #undef STACK_DIRECTION
176
-
177
- /* Define to 1 if you have the ANSI C header files. */
143
+ /* Define to 1 if all of the C90 standard headers exist (not just the ones
144
+ required in a freestanding environment). This macro is provided for
145
+ backward compatibility; new code need not use it. */
178
146
  #undef STDC_HEADERS
179
147
 
180
148
  /* Define if symbols are underscored. */
@@ -199,9 +167,6 @@
199
167
  # endif
200
168
  #endif
201
169
 
202
- /* Define to `unsigned int' if <sys/types.h> does not define. */
203
- #undef size_t
204
-
205
170
 
206
171
  #ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
207
172
  #ifdef LIBFFI_ASM
@@ -6,15 +6,13 @@ import collections
6
6
  import glob
7
7
  import argparse
8
8
 
9
+
9
10
  class Platform(object):
10
11
  pass
11
12
 
12
- class simulator_platform(Platform):
13
- directory = 'darwin_ios'
14
- sdk = 'iphonesimulator'
13
+
14
+ class i386_platform(Platform):
15
15
  arch = 'i386'
16
- triple = 'i386-apple-darwin11'
17
- version_min = '-miphoneos-version-min=7.0'
18
16
 
19
17
  prefix = "#ifdef __i386__\n\n"
20
18
  suffix = "\n\n#endif"
@@ -22,12 +20,8 @@ class simulator_platform(Platform):
22
20
  src_files = ['sysv.S', 'ffi.c', 'internal.h']
23
21
 
24
22
 
25
- class simulator64_platform(Platform):
26
- directory = 'darwin_ios'
27
- sdk = 'iphonesimulator'
23
+ class x86_64_platform(Platform):
28
24
  arch = 'x86_64'
29
- triple = 'x86_64-apple-darwin13'
30
- version_min = '-miphoneos-version-min=7.0'
31
25
 
32
26
  prefix = "#ifdef __x86_64__\n\n"
33
27
  suffix = "\n\n#endif"
@@ -35,12 +29,17 @@ class simulator64_platform(Platform):
35
29
  src_files = ['unix64.S', 'ffi64.c', 'ffiw64.c', 'win64.S', 'internal64.h', 'asmnames.h']
36
30
 
37
31
 
38
- class device_platform(Platform):
39
- directory = 'darwin_ios'
40
- sdk = 'iphoneos'
32
+ class arm64_platform(Platform):
33
+ arch = 'arm64'
34
+
35
+ prefix = "#ifdef __arm64__\n\n"
36
+ suffix = "\n\n#endif"
37
+ src_dir = 'aarch64'
38
+ src_files = ['sysv.S', 'ffi.c', 'internal.h']
39
+
40
+
41
+ class armv7_platform(Platform):
41
42
  arch = 'armv7'
42
- triple = 'arm-apple-darwin11'
43
- version_min = '-miphoneos-version-min=7.0'
44
43
 
45
44
  prefix = "#ifdef __arm__\n\n"
46
45
  suffix = "\n\n#endif"
@@ -48,43 +47,111 @@ class device_platform(Platform):
48
47
  src_files = ['sysv.S', 'ffi.c', 'internal.h']
49
48
 
50
49
 
51
- class device64_platform(Platform):
50
+ class ios_simulator_i386_platform(i386_platform):
51
+ target = 'i386-apple-ios-simulator'
52
+ directory = 'darwin_ios'
53
+ sdk = 'iphonesimulator'
54
+ version_min = '-miphoneos-version-min=7.0'
55
+
56
+
57
+ class ios_simulator_x86_64_platform(x86_64_platform):
58
+ target = 'x86_64-apple-ios-simulator'
59
+ directory = 'darwin_ios'
60
+ sdk = 'iphonesimulator'
61
+ version_min = '-miphoneos-version-min=7.0'
62
+
63
+
64
+ class ios_simulator_arm64_platform(arm64_platform):
65
+ target = 'arm64-apple-ios-simulator'
66
+ directory = 'darwin_ios'
67
+ sdk = 'iphonesimulator'
68
+ version_min = '-miphoneos-version-min=7.0'
69
+
70
+
71
+ class ios_device_armv7_platform(armv7_platform):
72
+ target = 'armv7-apple-ios'
52
73
  directory = 'darwin_ios'
53
74
  sdk = 'iphoneos'
54
- arch = 'arm64'
55
- triple = 'aarch64-apple-darwin13'
56
75
  version_min = '-miphoneos-version-min=7.0'
57
76
 
58
- prefix = "#ifdef __arm64__\n\n"
59
- suffix = "\n\n#endif"
60
- src_dir = 'aarch64'
61
- src_files = ['sysv.S', 'ffi.c', 'internal.h']
62
77
 
78
+ class ios_device_arm64_platform(arm64_platform):
79
+ target = 'arm64-apple-ios'
80
+ directory = 'darwin_ios'
81
+ sdk = 'iphoneos'
82
+ version_min = '-miphoneos-version-min=7.0'
63
83
 
64
- class desktop32_platform(Platform):
84
+
85
+ class desktop_x86_64_platform(x86_64_platform):
86
+ target = 'x86_64-apple-macos'
65
87
  directory = 'darwin_osx'
66
88
  sdk = 'macosx'
67
- arch = 'i386'
68
- triple = 'i386-apple-darwin10'
69
89
  version_min = '-mmacosx-version-min=10.6'
70
- src_dir = 'x86'
71
- src_files = ['sysv.S', 'ffi.c', 'internal.h']
72
-
73
- prefix = "#ifdef __i386__\n\n"
74
- suffix = "\n\n#endif"
75
90
 
76
91
 
77
- class desktop64_platform(Platform):
92
+ class desktop_arm64_platform(arm64_platform):
93
+ target = 'arm64-apple-macos'
78
94
  directory = 'darwin_osx'
79
95
  sdk = 'macosx'
80
- arch = 'x86_64'
81
- triple = 'x86_64-apple-darwin10'
82
- version_min = '-mmacosx-version-min=10.6'
96
+ version_min = '-mmacosx-version-min=11.0'
83
97
 
84
- prefix = "#ifdef __x86_64__\n\n"
85
- suffix = "\n\n#endif"
86
- src_dir = 'x86'
87
- src_files = ['unix64.S', 'ffi64.c', 'ffiw64.c', 'win64.S', 'internal64.h', 'asmnames.h']
98
+
99
+ class tvos_simulator_x86_64_platform(x86_64_platform):
100
+ target = 'x86_64-apple-tvos-simulator'
101
+ directory = 'darwin_tvos'
102
+ sdk = 'appletvsimulator'
103
+ version_min = '-mtvos-version-min=9.0'
104
+
105
+
106
+ class tvos_simulator_arm64_platform(arm64_platform):
107
+ target = 'arm64-apple-tvos-simulator'
108
+ directory = 'darwin_tvos'
109
+ sdk = 'appletvsimulator'
110
+ version_min = '-mtvos-version-min=9.0'
111
+
112
+
113
+ class tvos_device_arm64_platform(arm64_platform):
114
+ target = 'arm64-apple-tvos'
115
+ directory = 'darwin_tvos'
116
+ sdk = 'appletvos'
117
+ version_min = '-mtvos-version-min=9.0'
118
+
119
+
120
+ class watchos_simulator_i386_platform(i386_platform):
121
+ target = 'i386-apple-watchos-simulator'
122
+ directory = 'darwin_watchos'
123
+ sdk = 'watchsimulator'
124
+ version_min = '-mwatchos-version-min=4.0'
125
+
126
+
127
+ class watchos_simulator_x86_64_platform(x86_64_platform):
128
+ target = 'x86_64-apple-watchos-simulator'
129
+ directory = 'darwin_watchos'
130
+ sdk = 'watchsimulator'
131
+ version_min = '-mwatchos-version-min=4.0'
132
+
133
+
134
+ class watchos_simulator_arm64_platform(arm64_platform):
135
+ target = 'arm64-apple-watchos-simulator'
136
+ directory = 'darwin_watchos'
137
+ sdk = 'watchsimulator'
138
+ version_min = '-mwatchos-version-min=4.0'
139
+
140
+
141
+ class watchos_device_armv7k_platform(armv7_platform):
142
+ target = 'armv7k-apple-watchos'
143
+ directory = 'darwin_watchos'
144
+ sdk = 'watchos'
145
+ arch = 'armv7k'
146
+ version_min = '-mwatchos-version-min=4.0'
147
+
148
+
149
+ class watchos_device_arm64_32_platform(arm64_platform):
150
+ target = 'arm64_32-apple-watchos'
151
+ directory = 'darwin_watchos'
152
+ sdk = 'watchos'
153
+ arch = 'arm64_32'
154
+ version_min = '-mwatchos-version-min=4.0'
88
155
 
89
156
 
90
157
  def mkdir_p(path):
@@ -136,7 +203,7 @@ def copy_src_platform_files(platform):
136
203
 
137
204
  def build_target(platform, platform_headers):
138
205
  def xcrun_cmd(cmd):
139
- return 'xcrun -sdk %s %s -arch %s' % (platform.sdk, cmd, platform.arch)
206
+ return 'xcrun -sdk %s %s -target %s' % (platform.sdk, cmd, platform.target)
140
207
 
141
208
  tag='%s-%s' % (platform.sdk, platform.arch)
142
209
  build_dir = 'build_%s' % tag
@@ -147,7 +214,15 @@ def build_target(platform, platform_headers):
147
214
  working_dir = os.getcwd()
148
215
  try:
149
216
  os.chdir(build_dir)
150
- subprocess.check_call(['../configure', '-host', platform.triple], env=env)
217
+ subprocess.check_call(
218
+ [
219
+ "../configure",
220
+ f"--host={platform.target}",
221
+ ] + (
222
+ [] if platform.sdk == "macosx" else [f"--build={os.uname().machine}-apple-darwin"]
223
+ ),
224
+ env=env
225
+ )
151
226
  finally:
152
227
  os.chdir(working_dir)
153
228
 
@@ -163,27 +238,56 @@ def build_target(platform, platform_headers):
163
238
  platform_headers[filename].add((platform.prefix, platform.arch, platform.suffix))
164
239
 
165
240
 
166
- def generate_source_and_headers(generate_osx=True, generate_ios=True):
241
+ def generate_source_and_headers(
242
+ generate_osx=True,
243
+ generate_ios=True,
244
+ generate_tvos=True,
245
+ generate_watchos=True,
246
+ ):
167
247
  copy_files('src', 'darwin_common/src', pattern='*.c')
168
248
  copy_files('include', 'darwin_common/include', pattern='*.h')
169
249
 
170
250
  if generate_ios:
171
- copy_src_platform_files(simulator_platform)
172
- copy_src_platform_files(simulator64_platform)
173
- copy_src_platform_files(device_platform)
174
- copy_src_platform_files(device64_platform)
251
+ copy_src_platform_files(ios_simulator_i386_platform)
252
+ copy_src_platform_files(ios_simulator_x86_64_platform)
253
+ copy_src_platform_files(ios_simulator_arm64_platform)
254
+ copy_src_platform_files(ios_device_armv7_platform)
255
+ copy_src_platform_files(ios_device_arm64_platform)
175
256
  if generate_osx:
176
- copy_src_platform_files(desktop64_platform)
257
+ copy_src_platform_files(desktop_x86_64_platform)
258
+ copy_src_platform_files(desktop_arm64_platform)
259
+ if generate_tvos:
260
+ copy_src_platform_files(tvos_simulator_x86_64_platform)
261
+ copy_src_platform_files(tvos_simulator_arm64_platform)
262
+ copy_src_platform_files(tvos_device_arm64_platform)
263
+ if generate_watchos:
264
+ copy_src_platform_files(watchos_simulator_i386_platform)
265
+ copy_src_platform_files(watchos_simulator_x86_64_platform)
266
+ copy_src_platform_files(watchos_simulator_arm64_platform)
267
+ copy_src_platform_files(watchos_device_armv7k_platform)
268
+ copy_src_platform_files(watchos_device_arm64_32_platform)
177
269
 
178
270
  platform_headers = collections.defaultdict(set)
179
271
 
180
272
  if generate_ios:
181
- build_target(simulator_platform, platform_headers)
182
- build_target(simulator64_platform, platform_headers)
183
- build_target(device_platform, platform_headers)
184
- build_target(device64_platform, platform_headers)
273
+ build_target(ios_simulator_i386_platform, platform_headers)
274
+ build_target(ios_simulator_x86_64_platform, platform_headers)
275
+ build_target(ios_simulator_arm64_platform, platform_headers)
276
+ build_target(ios_device_armv7_platform, platform_headers)
277
+ build_target(ios_device_arm64_platform, platform_headers)
185
278
  if generate_osx:
186
- build_target(desktop64_platform, platform_headers)
279
+ build_target(desktop_x86_64_platform, platform_headers)
280
+ build_target(desktop_arm64_platform, platform_headers)
281
+ if generate_tvos:
282
+ build_target(tvos_simulator_x86_64_platform, platform_headers)
283
+ build_target(tvos_simulator_arm64_platform, platform_headers)
284
+ build_target(tvos_device_arm64_platform, platform_headers)
285
+ if generate_watchos:
286
+ build_target(watchos_simulator_i386_platform, platform_headers)
287
+ build_target(watchos_simulator_x86_64_platform, platform_headers)
288
+ build_target(watchos_simulator_arm64_platform, platform_headers)
289
+ build_target(watchos_device_armv7k_platform, platform_headers)
290
+ build_target(watchos_device_arm64_32_platform, platform_headers)
187
291
 
188
292
  mkdir_p('darwin_common/include')
189
293
  for header_name, tag_tuples in platform_headers.items():
@@ -196,6 +300,13 @@ if __name__ == '__main__':
196
300
  parser = argparse.ArgumentParser()
197
301
  parser.add_argument('--only-ios', action='store_true', default=False)
198
302
  parser.add_argument('--only-osx', action='store_true', default=False)
303
+ parser.add_argument('--only-tvos', action='store_true', default=False)
304
+ parser.add_argument('--only-watchos', action='store_true', default=False)
199
305
  args = parser.parse_args()
200
306
 
201
- generate_source_and_headers(generate_osx=not args.only_ios, generate_ios=not args.only_osx)
307
+ generate_source_and_headers(
308
+ generate_osx=not args.only_ios and not args.only_tvos and not args.only_watchos,
309
+ generate_ios=not args.only_osx and not args.only_tvos and not args.only_watchos,
310
+ generate_tvos=not args.only_ios and not args.only_osx and not args.only_watchos,
311
+ generate_watchos=not args.only_ios and not args.only_osx and not args.only_tvos,
312
+ )
@@ -3,7 +3,7 @@
3
3
  AUTOMAKE_OPTIONS=foreign
4
4
 
5
5
  DISTCLEANFILES=ffitarget.h
6
- noinst_HEADERS=ffi_common.h ffi_cfi.h
6
+ noinst_HEADERS=ffi_common.h ffi_cfi.h tramp.h
7
7
  EXTRA_DIST=ffi.h.in
8
8
 
9
9
  nodist_include_HEADERS = ffi.h ffitarget.h
@@ -1,7 +1,7 @@
1
- # Makefile.in generated by automake 1.16.1 from Makefile.am.
1
+ # Makefile.in generated by automake 1.16.5 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
- # Copyright (C) 1994-2018 Free Software Foundation, Inc.
4
+ # Copyright (C) 1994-2021 Free Software Foundation, Inc.
5
5
 
6
6
  # This Makefile.in is free software; the Free Software Foundation
7
7
  # gives unlimited permission to copy and/or distribute it,
@@ -92,7 +92,6 @@ target_triplet = @target@
92
92
  subdir = include
93
93
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
94
94
  am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
95
- $(top_srcdir)/m4/ax_append_flag.m4 \
96
95
  $(top_srcdir)/m4/ax_cc_maxopt.m4 \
97
96
  $(top_srcdir)/m4/ax_cflags_warn_all.m4 \
98
97
  $(top_srcdir)/m4/ax_check_compile_flag.m4 \
@@ -101,6 +100,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/asmcfi.m4 \
101
100
  $(top_srcdir)/m4/ax_enable_builddir.m4 \
102
101
  $(top_srcdir)/m4/ax_gcc_archflag.m4 \
103
102
  $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
103
+ $(top_srcdir)/m4/ax_prepend_flag.m4 \
104
104
  $(top_srcdir)/m4/ax_require_defined.m4 \
105
105
  $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
106
106
  $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
@@ -179,12 +179,9 @@ am__define_uniq_tagged_files = \
179
179
  unique=`for i in $$list; do \
180
180
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
181
181
  done | $(am__uniquify_input)`
182
- ETAGS = etags
183
- CTAGS = ctags
184
182
  am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/ffi.h.in
185
183
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
186
184
  ACLOCAL = @ACLOCAL@
187
- ALLOCA = @ALLOCA@
188
185
  AMTAR = @AMTAR@
189
186
  AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
190
187
  AM_LTLDFLAGS = @AM_LTLDFLAGS@
@@ -200,8 +197,9 @@ CCASDEPMODE = @CCASDEPMODE@
200
197
  CCASFLAGS = @CCASFLAGS@
201
198
  CCDEPMODE = @CCDEPMODE@
202
199
  CFLAGS = @CFLAGS@
203
- CPP = @CPP@
204
200
  CPPFLAGS = @CPPFLAGS@
201
+ CSCOPE = @CSCOPE@
202
+ CTAGS = @CTAGS@
205
203
  CXX = @CXX@
206
204
  CXXCPP = @CXXCPP@
207
205
  CXXDEPMODE = @CXXDEPMODE@
@@ -216,9 +214,11 @@ ECHO_C = @ECHO_C@
216
214
  ECHO_N = @ECHO_N@
217
215
  ECHO_T = @ECHO_T@
218
216
  EGREP = @EGREP@
217
+ ETAGS = @ETAGS@
219
218
  EXEEXT = @EXEEXT@
220
219
  FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
221
220
  FGREP = @FGREP@
221
+ FILECMD = @FILECMD@
222
222
  GREP = @GREP@
223
223
  HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
224
224
  HAVE_LONG_DOUBLE_VARIANT = @HAVE_LONG_DOUBLE_VARIANT@
@@ -257,6 +257,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
257
257
  PATH_SEPARATOR = @PATH_SEPARATOR@
258
258
  PRTDIAG = @PRTDIAG@
259
259
  RANLIB = @RANLIB@
260
+ READELF = @READELF@
260
261
  SECTION_LDFLAGS = @SECTION_LDFLAGS@
261
262
  SED = @SED@
262
263
  SET_MAKE = @SET_MAKE@
@@ -323,6 +324,7 @@ target_alias = @target_alias@
323
324
  target_cpu = @target_cpu@
324
325
  target_os = @target_os@
325
326
  target_vendor = @target_vendor@
327
+ tmake_file = @tmake_file@
326
328
  toolexecdir = @toolexecdir@
327
329
  toolexeclibdir = @toolexeclibdir@
328
330
  top_build_prefix = @top_build_prefix@
@@ -330,7 +332,7 @@ top_builddir = @top_builddir@
330
332
  top_srcdir = @top_srcdir@
331
333
  AUTOMAKE_OPTIONS = foreign
332
334
  DISTCLEANFILES = ffitarget.h
333
- noinst_HEADERS = ffi_common.h ffi_cfi.h
335
+ noinst_HEADERS = ffi_common.h ffi_cfi.h tramp.h
334
336
  EXTRA_DIST = ffi.h.in
335
337
  nodist_include_HEADERS = ffi.h ffitarget.h
336
338
  all: all-am
@@ -446,7 +448,6 @@ cscopelist-am: $(am__tagged_files)
446
448
 
447
449
  distclean-tags:
448
450
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
449
-
450
451
  distdir: $(BUILT_SOURCES)
451
452
  $(MAKE) $(AM_MAKEFLAGS) distdir-am
452
453