ffi 1.1.2 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (706) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +456 -0
  4. data/COPYING +49 -0
  5. data/Gemfile +21 -0
  6. data/LICENSE +21 -11
  7. data/LICENSE.SPECS +22 -0
  8. data/README.md +137 -0
  9. data/Rakefile +166 -156
  10. data/ext/ffi_c/AbstractMemory.c +240 -140
  11. data/ext/ffi_c/AbstractMemory.h +25 -15
  12. data/ext/ffi_c/ArrayType.c +78 -29
  13. data/ext/ffi_c/ArrayType.h +22 -12
  14. data/ext/ffi_c/Buffer.c +121 -60
  15. data/ext/ffi_c/Call.c +184 -137
  16. data/ext/ffi_c/Call.h +46 -22
  17. data/ext/ffi_c/ClosurePool.c +101 -43
  18. data/ext/ffi_c/ClosurePool.h +24 -13
  19. data/ext/ffi_c/DynamicLibrary.c +139 -57
  20. data/ext/ffi_c/DynamicLibrary.h +70 -12
  21. data/ext/ffi_c/Function.c +372 -273
  22. data/ext/ffi_c/Function.h +25 -20
  23. data/ext/ffi_c/FunctionInfo.c +135 -49
  24. data/ext/ffi_c/LastError.c +97 -30
  25. data/ext/ffi_c/LastError.h +21 -12
  26. data/ext/ffi_c/LongDouble.c +15 -9
  27. data/ext/ffi_c/LongDouble.h +21 -16
  28. data/ext/ffi_c/MappedType.c +88 -38
  29. data/ext/ffi_c/MappedType.h +21 -14
  30. data/ext/ffi_c/MemoryPointer.c +91 -38
  31. data/ext/ffi_c/MemoryPointer.h +22 -19
  32. data/ext/ffi_c/MethodHandle.c +52 -51
  33. data/ext/ffi_c/MethodHandle.h +24 -14
  34. data/ext/ffi_c/Platform.c +28 -62
  35. data/ext/ffi_c/Platform.h +21 -12
  36. data/ext/ffi_c/Pointer.c +145 -86
  37. data/ext/ffi_c/Pointer.h +23 -19
  38. data/ext/ffi_c/Struct.c +363 -163
  39. data/ext/ffi_c/Struct.h +39 -21
  40. data/ext/ffi_c/StructByValue.c +72 -37
  41. data/ext/ffi_c/StructByValue.h +21 -12
  42. data/ext/ffi_c/StructLayout.c +308 -94
  43. data/ext/ffi_c/Thread.c +73 -270
  44. data/ext/ffi_c/Thread.h +32 -35
  45. data/ext/ffi_c/Type.c +147 -84
  46. data/ext/ffi_c/Type.h +27 -11
  47. data/ext/ffi_c/Types.c +40 -24
  48. data/ext/ffi_c/Types.h +24 -21
  49. data/ext/ffi_c/Variadic.c +148 -64
  50. data/ext/ffi_c/compat.h +45 -37
  51. data/ext/ffi_c/extconf.rb +86 -32
  52. data/ext/ffi_c/ffi.c +32 -21
  53. data/ext/ffi_c/libffi/.allow-ai-service +0 -0
  54. data/ext/ffi_c/libffi/.appveyor/site.exp +16 -0
  55. data/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +7 -0
  56. data/ext/ffi_c/libffi/.appveyor.yml +84 -0
  57. data/ext/ffi_c/libffi/.ci/ar-lib +270 -0
  58. data/ext/ffi_c/libffi/.ci/bfin-sim.exp +58 -0
  59. data/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +18 -0
  60. data/ext/ffi_c/libffi/.ci/build-in-container.sh +10 -0
  61. data/ext/ffi_c/libffi/.ci/build.sh +124 -0
  62. data/ext/ffi_c/libffi/.ci/compile +351 -0
  63. data/ext/ffi_c/libffi/.ci/install.sh +78 -0
  64. data/ext/ffi_c/libffi/.ci/m32r-sim.exp +58 -0
  65. data/ext/ffi_c/libffi/.ci/moxie-sim.exp +60 -0
  66. data/ext/ffi_c/libffi/.ci/msvs-detect +1103 -0
  67. data/ext/ffi_c/libffi/.ci/or1k-sim.exp +58 -0
  68. data/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp +58 -0
  69. data/ext/ffi_c/libffi/.ci/site.exp +29 -0
  70. data/ext/ffi_c/libffi/.ci/wine-sim.exp +55 -0
  71. data/ext/ffi_c/libffi/.circleci/config.yml +156 -0
  72. data/ext/ffi_c/libffi/.gitattributes +4 -0
  73. data/ext/ffi_c/libffi/.github/issue_template.md +10 -0
  74. data/ext/ffi_c/libffi/.github/workflows/build.yml +479 -0
  75. data/ext/ffi_c/libffi/.github/workflows/emscripten.yml +172 -0
  76. data/ext/ffi_c/libffi/.gitignore +46 -0
  77. data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.old} +6366 -3559
  78. data/ext/ffi_c/libffi/LICENSE +1 -1
  79. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +353 -0
  80. data/ext/ffi_c/libffi/Makefile.am +131 -170
  81. data/ext/ffi_c/libffi/Makefile.in +1317 -1010
  82. data/ext/ffi_c/libffi/README.md +531 -0
  83. data/ext/ffi_c/libffi/acinclude.m4 +289 -4
  84. data/ext/ffi_c/libffi/autogen.sh +2 -0
  85. data/ext/ffi_c/libffi/compile +222 -17
  86. data/ext/ffi_c/libffi/config.guess +1033 -780
  87. data/ext/ffi_c/libffi/config.sub +1393 -1206
  88. data/ext/ffi_c/libffi/configure +16340 -10740
  89. data/ext/ffi_c/libffi/configure.ac +226 -271
  90. data/ext/ffi_c/libffi/configure.host +330 -4
  91. data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
  92. data/ext/ffi_c/libffi/doc/Makefile.in +818 -0
  93. data/ext/ffi_c/libffi/doc/libffi.texi +525 -79
  94. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  95. data/ext/ffi_c/libffi/fficonfig.h.in +41 -52
  96. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +312 -0
  97. data/ext/ffi_c/libffi/include/Makefile.am +3 -3
  98. data/ext/ffi_c/libffi/include/Makefile.in +201 -79
  99. data/ext/ffi_c/libffi/include/ffi.h.in +190 -99
  100. data/ext/ffi_c/libffi/include/ffi_cfi.h +76 -0
  101. data/ext/ffi_c/libffi/include/ffi_common.h +72 -14
  102. data/ext/ffi_c/libffi/include/tramp.h +45 -0
  103. data/ext/ffi_c/libffi/install-sh +231 -210
  104. data/ext/ffi_c/libffi/libffi.map.in +81 -0
  105. data/ext/ffi_c/libffi/libffi.pc.in +3 -2
  106. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +997 -0
  107. data/ext/ffi_c/libffi/libtool-ldflags +106 -0
  108. data/ext/ffi_c/libffi/libtool-version +2 -2
  109. data/ext/ffi_c/libffi/ltmain.sh +3868 -2068
  110. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  111. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +50 -0
  112. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +47 -25
  113. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +110 -147
  114. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +53 -0
  115. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +75 -19
  116. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +8 -29
  117. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +11 -9
  118. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +104 -52
  119. data/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +18 -8
  120. data/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +51 -0
  121. data/ext/ffi_c/libffi/m4/ax_require_defined.m4 +37 -0
  122. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  123. data/ext/ffi_c/libffi/man/Makefile.am +2 -2
  124. data/ext/ffi_c/libffi/man/Makefile.in +156 -57
  125. data/ext/ffi_c/libffi/man/ffi.3 +10 -0
  126. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
  127. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  128. data/ext/ffi_c/libffi/missing +153 -314
  129. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  130. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  131. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  132. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  133. data/ext/ffi_c/libffi/{include/ffi.h.vc64 → msvc_build/aarch64/aarch64_include/ffi.h} +151 -67
  134. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +219 -0
  135. data/ext/ffi_c/libffi/msvcc.sh +176 -20
  136. data/ext/ffi_c/libffi/src/aarch64/ffi.c +1142 -0
  137. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +97 -0
  138. data/ext/ffi_c/libffi/src/aarch64/internal.h +100 -0
  139. data/ext/ffi_c/libffi/src/aarch64/sysv.S +695 -0
  140. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  141. data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
  142. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
  143. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  144. data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
  145. data/ext/ffi_c/libffi/src/arc/arcompact.S +210 -0
  146. data/ext/ffi_c/libffi/src/arc/ffi.c +443 -0
  147. data/ext/ffi_c/libffi/src/arc/ffitarget.h +67 -0
  148. data/ext/ffi_c/libffi/src/arm/ffi.c +706 -513
  149. data/ext/ffi_c/libffi/src/arm/ffitarget.h +32 -8
  150. data/ext/ffi_c/libffi/src/arm/internal.h +17 -0
  151. data/ext/ffi_c/libffi/src/arm/sysv.S +372 -413
  152. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  153. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
  154. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  155. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  156. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  157. data/ext/ffi_c/libffi/src/closures.c +565 -73
  158. data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
  159. data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
  160. data/ext/ffi_c/libffi/src/csky/ffi.c +395 -0
  161. data/ext/ffi_c/libffi/src/csky/ffitarget.h +63 -0
  162. data/ext/ffi_c/libffi/src/csky/sysv.S +371 -0
  163. data/ext/ffi_c/libffi/src/debug.c +8 -3
  164. data/ext/ffi_c/libffi/src/dlmalloc.c +23 -13
  165. data/ext/ffi_c/libffi/src/frv/ffi.c +2 -2
  166. data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
  167. data/ext/ffi_c/libffi/src/ia64/ffi.c +47 -13
  168. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +8 -2
  169. data/ext/ffi_c/libffi/src/ia64/unix.S +28 -3
  170. data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
  171. data/ext/ffi_c/libffi/src/kvx/asm.h +5 -0
  172. data/ext/ffi_c/libffi/src/kvx/ffi.c +273 -0
  173. data/ext/ffi_c/libffi/src/kvx/ffitarget.h +75 -0
  174. data/ext/ffi_c/libffi/src/kvx/sysv.S +127 -0
  175. data/ext/ffi_c/libffi/src/loongarch64/ffi.c +624 -0
  176. data/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +82 -0
  177. data/ext/ffi_c/libffi/src/loongarch64/sysv.S +327 -0
  178. data/ext/ffi_c/libffi/src/m32r/ffi.c +32 -15
  179. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
  180. data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
  181. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
  182. data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
  183. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  184. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  185. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  186. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  187. data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
  188. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  189. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  190. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  191. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  192. data/ext/ffi_c/libffi/src/mips/ffi.c +382 -101
  193. data/ext/ffi_c/libffi/src/mips/ffitarget.h +23 -14
  194. data/ext/ffi_c/libffi/src/mips/n32.S +321 -89
  195. data/ext/ffi_c/libffi/src/mips/o32.S +211 -31
  196. data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
  197. data/ext/ffi_c/libffi/src/moxie/ffi.c +100 -66
  198. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  199. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  200. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  201. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  202. data/ext/ffi_c/libffi/src/or1k/ffi.c +341 -0
  203. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  204. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  205. data/ext/ffi_c/libffi/src/pa/ffi.c +62 -108
  206. data/ext/ffi_c/libffi/src/pa/ffi64.c +614 -0
  207. data/ext/ffi_c/libffi/src/pa/ffitarget.h +28 -12
  208. data/ext/ffi_c/libffi/src/pa/hpux32.S +87 -38
  209. data/ext/ffi_c/libffi/src/pa/hpux64.S +681 -0
  210. data/ext/ffi_c/libffi/src/pa/linux.S +109 -39
  211. data/ext/ffi_c/libffi/src/powerpc/aix.S +245 -7
  212. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +253 -4
  213. data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
  214. data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
  215. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
  216. data/ext/ffi_c/libffi/src/powerpc/ffi.c +105 -1378
  217. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +157 -52
  218. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +1153 -0
  219. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +105 -0
  220. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  221. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +110 -45
  222. data/ext/ffi_c/libffi/src/powerpc/linux64.S +191 -85
  223. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +438 -108
  224. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
  225. data/ext/ffi_c/libffi/src/powerpc/sysv.S +73 -119
  226. data/ext/ffi_c/libffi/src/powerpc/t-aix +5 -0
  227. data/ext/ffi_c/libffi/src/prep_cif.c +131 -25
  228. data/ext/ffi_c/libffi/src/raw_api.c +18 -5
  229. data/ext/ffi_c/libffi/src/riscv/ffi.c +514 -0
  230. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +69 -0
  231. data/ext/ffi_c/libffi/src/riscv/sysv.S +293 -0
  232. data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
  233. data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
  234. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  235. data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
  236. data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
  237. data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
  238. data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
  239. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
  240. data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
  241. data/ext/ffi_c/libffi/src/sparc/ffi64.c +630 -0
  242. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
  243. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  244. data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
  245. data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
  246. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  247. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  248. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  249. data/ext/ffi_c/libffi/src/tramp.c +716 -0
  250. data/ext/ffi_c/libffi/src/types.c +48 -19
  251. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  252. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  253. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  254. data/ext/ffi_c/libffi/src/wasm32/ffi.c +947 -0
  255. data/ext/ffi_c/libffi/src/wasm32/ffitarget.h +62 -0
  256. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  257. data/ext/ffi_c/libffi/src/x86/ffi.c +686 -498
  258. data/ext/ffi_c/libffi/src/x86/ffi64.c +444 -129
  259. data/ext/ffi_c/libffi/src/x86/ffitarget.h +79 -36
  260. data/ext/ffi_c/libffi/src/x86/ffiw64.c +361 -0
  261. data/ext/ffi_c/libffi/src/x86/internal.h +43 -0
  262. data/ext/ffi_c/libffi/src/x86/internal64.h +36 -0
  263. data/ext/ffi_c/libffi/src/x86/sysv.S +1198 -394
  264. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +998 -0
  265. data/ext/ffi_c/libffi/src/x86/unix64.S +585 -300
  266. data/ext/ffi_c/libffi/src/x86/win64.S +244 -458
  267. data/ext/ffi_c/libffi/src/x86/win64_intel.S +238 -0
  268. data/ext/ffi_c/libffi/src/xtensa/ffi.c +306 -0
  269. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +57 -0
  270. data/ext/ffi_c/libffi/src/xtensa/sysv.S +268 -0
  271. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  272. data/ext/ffi_c/libffi/testsuite/Makefile.am +80 -73
  273. data/ext/ffi_c/libffi/testsuite/Makefile.in +233 -117
  274. data/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +54 -0
  275. data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +63 -0
  276. data/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +86 -0
  277. data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +48 -0
  278. data/ext/ffi_c/libffi/testsuite/emscripten/test.html +7 -0
  279. data/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +51 -0
  280. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +360 -28
  281. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +22 -2
  282. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +78 -0
  284. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +50 -0
  285. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +63 -0
  286. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1746 -0
  287. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2885 -0
  288. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +747 -0
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +46 -0
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +41 -0
  292. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +28 -6
  293. data/ext/ffi_c/libffi/testsuite/libffi.call/callback.c +99 -0
  294. data/ext/ffi_c/libffi/testsuite/libffi.call/callback2.c +108 -0
  295. data/ext/ffi_c/libffi/testsuite/libffi.call/callback3.c +114 -0
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/callback4.c +119 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
  298. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +52 -42
  299. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
  300. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +15 -12
  301. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
  302. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +110 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
  304. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
  308. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  312. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +5 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
  314. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +4 -0
  315. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
  316. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +4 -0
  317. data/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +60 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +9 -10
  319. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
  323. data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +57 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
  325. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
  326. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
  327. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
  328. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
  329. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
  330. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
  331. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
  332. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +63 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +65 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +65 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +67 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +67 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +93 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +61 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +63 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +90 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +78 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +220 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +154 -0
  345. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +134 -0
  346. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +134 -0
  347. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +140 -0
  348. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +67 -0
  349. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn0.c +3 -2
  350. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn1.c +2 -0
  351. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn2.c +2 -0
  352. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn3.c +21 -1
  353. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn4.c +2 -0
  354. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn5.c +2 -0
  355. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn6.c +2 -0
  356. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_loc_fn0.c +7 -6
  357. data/ext/ffi_c/libffi/testsuite/{libffi.call/closure_stdcall.c → libffi.closures/closure_simple.c} +13 -16
  358. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_12byte.c +22 -4
  359. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_16byte.c +26 -4
  360. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_18byte.c +28 -4
  361. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_19byte.c +33 -4
  362. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_1_1byte.c +8 -4
  363. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte.c +23 -5
  364. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte1.c +25 -5
  365. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_24byte.c +40 -8
  366. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_2byte.c +17 -4
  367. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3_1byte.c +23 -4
  368. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte1.c +17 -4
  369. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte2.c +17 -4
  370. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +113 -0
  371. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4_1byte.c +26 -4
  372. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4byte.c +17 -4
  373. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5_1_byte.c +33 -5
  374. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5byte.c +23 -5
  375. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_64byte.c +29 -5
  376. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6_1_byte.c +32 -5
  377. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6byte.c +28 -6
  378. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7_1_byte.c +43 -5
  379. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7byte.c +29 -5
  380. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_8byte.c +18 -4
  381. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte1.c +18 -5
  382. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte2.c +18 -6
  383. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_double.c +23 -5
  384. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_float.c +23 -5
  385. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble.c +24 -5
  386. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split.c +44 -31
  387. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split2.c +44 -9
  388. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_pointer.c +23 -5
  389. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint16.c +22 -5
  390. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint32.c +22 -7
  391. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint64.c +22 -5
  392. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint16.c +22 -5
  393. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint32.c +23 -5
  394. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint64.c +23 -5
  395. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_dbls_struct.c +7 -5
  396. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double_va.c +19 -10
  397. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_float.c +4 -0
  398. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble.c +14 -4
  399. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble_va.c +32 -12
  400. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c +70 -0
  401. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c +55 -0
  402. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_schar.c +5 -1
  403. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshort.c +6 -1
  404. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshortchar.c +9 -1
  405. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_uchar.c +9 -1
  406. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushort.c +6 -2
  407. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushortchar.c +9 -1
  408. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer.c +6 -1
  409. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer_stack.c +21 -9
  410. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_schar.c +3 -0
  411. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sint.c +2 -0
  412. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sshort.c +3 -0
  413. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +125 -0
  414. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar.c +3 -0
  415. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint.c +4 -0
  416. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +49 -0
  417. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +49 -0
  418. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulonglong.c +7 -5
  419. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort.c +3 -0
  420. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +1 -0
  421. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/huge_struct.c +41 -40
  422. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct.c +38 -15
  423. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct1.c +9 -9
  424. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct10.c +19 -6
  425. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +137 -0
  426. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +86 -0
  427. data/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +115 -0
  428. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct2.c +15 -6
  429. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct3.c +15 -6
  430. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct4.c +14 -5
  431. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct5.c +14 -5
  432. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct6.c +17 -6
  433. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct7.c +14 -5
  434. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct8.c +17 -6
  435. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct9.c +17 -6
  436. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +86 -0
  437. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +102 -0
  438. data/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +101 -0
  439. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large.c +7 -7
  440. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large2.c +7 -7
  441. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium.c +6 -6
  442. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium2.c +6 -6
  443. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/testclosure.c +8 -3
  444. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.closures}/unwindtest.cc +4 -10
  445. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.closures}/unwindtest_ffi_call.cc +4 -2
  446. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  447. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  448. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  449. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  450. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  451. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  452. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  453. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  454. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  455. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  456. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  457. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  458. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  459. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  460. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  461. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  462. data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
  463. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  464. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  465. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  466. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  467. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  468. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  469. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  470. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  471. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  472. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  473. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  474. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  475. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  476. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  477. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  478. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  479. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  480. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  481. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  482. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  483. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  484. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  485. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  486. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  487. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  488. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  489. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  490. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  491. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  492. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  493. data/ext/ffi_c/libffi.bsd.mk +13 -7
  494. data/ext/ffi_c/libffi.darwin.mk +25 -13
  495. data/ext/ffi_c/libffi.gnu.mk +4 -3
  496. data/ext/ffi_c/libffi.mk +11 -6
  497. data/ext/ffi_c/libffi.vc.mk +1 -1
  498. data/ext/ffi_c/libffi.vc64.mk +1 -1
  499. data/ext/ffi_c/rbffi.h +23 -15
  500. data/ext/ffi_c/rbffi_endian.h +11 -2
  501. data/ffi.gemspec +42 -0
  502. data/lib/ffi/abstract_memory.rb +44 -0
  503. data/lib/ffi/autopointer.rb +65 -68
  504. data/lib/ffi/compat.rb +43 -0
  505. data/lib/ffi/data_converter.rb +67 -0
  506. data/lib/ffi/dynamic_library.rb +118 -0
  507. data/lib/ffi/enum.rb +166 -25
  508. data/lib/ffi/errno.rb +21 -11
  509. data/lib/ffi/ffi.rb +28 -11
  510. data/lib/ffi/function.rb +71 -0
  511. data/lib/ffi/io.rb +25 -15
  512. data/lib/ffi/library.rb +227 -136
  513. data/lib/ffi/library_path.rb +109 -0
  514. data/lib/ffi/managedstruct.rb +64 -35
  515. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  516. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  517. data/lib/ffi/platform/aarch64-freebsd12/types.conf +181 -0
  518. data/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  519. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  520. data/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  521. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  522. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  523. data/lib/ffi/platform/arm-linux/types.conf +110 -82
  524. data/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  525. data/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  526. data/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  527. data/lib/ffi/platform/i386-darwin/types.conf +63 -63
  528. data/lib/ffi/platform/i386-freebsd/types.conf +89 -89
  529. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  530. data/lib/ffi/platform/i386-linux/types.conf +77 -77
  531. data/lib/ffi/platform/i386-netbsd/types.conf +87 -87
  532. data/lib/ffi/platform/i386-openbsd/types.conf +89 -87
  533. data/lib/ffi/platform/i386-solaris/types.conf +96 -96
  534. data/lib/ffi/platform/i386-windows/types.conf +43 -96
  535. data/lib/ffi/platform/ia64-linux/types.conf +79 -79
  536. data/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  537. data/lib/ffi/platform/mips-linux/types.conf +79 -79
  538. data/lib/ffi/platform/mips64-linux/types.conf +104 -0
  539. data/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  540. data/lib/ffi/platform/mipsel-linux/types.conf +79 -79
  541. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  542. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  543. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  544. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  545. data/lib/ffi/platform/powerpc-aix/types.conf +155 -155
  546. data/lib/ffi/platform/powerpc-darwin/types.conf +63 -63
  547. data/lib/ffi/platform/powerpc-linux/types.conf +108 -78
  548. data/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  549. data/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  550. data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  551. data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  552. data/lib/ffi/platform/s390-linux/types.conf +79 -79
  553. data/lib/ffi/platform/s390x-linux/types.conf +79 -79
  554. data/lib/ffi/platform/sparc-linux/types.conf +79 -79
  555. data/lib/ffi/platform/sparc-solaris/types.conf +103 -103
  556. data/lib/ffi/platform/sparcv9-linux/types.conf +102 -0
  557. data/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  558. data/lib/ffi/platform/sparcv9-solaris/types.conf +103 -103
  559. data/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  560. data/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  561. data/lib/ffi/platform/x86_64-darwin/types.conf +93 -63
  562. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  563. data/lib/ffi/platform/x86_64-freebsd/types.conf +90 -88
  564. data/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  565. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  566. data/lib/ffi/platform/x86_64-linux/types.conf +107 -77
  567. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  568. data/lib/ffi/platform/x86_64-netbsd/types.conf +89 -87
  569. data/lib/ffi/platform/x86_64-openbsd/types.conf +100 -92
  570. data/lib/ffi/platform/x86_64-solaris/types.conf +96 -96
  571. data/lib/ffi/platform/x86_64-windows/types.conf +52 -0
  572. data/lib/ffi/platform.rb +91 -34
  573. data/lib/ffi/pointer.rb +78 -33
  574. data/lib/ffi/struct.rb +100 -66
  575. data/lib/ffi/struct_by_reference.rb +72 -0
  576. data/lib/ffi/struct_layout.rb +96 -0
  577. data/lib/ffi/struct_layout_builder.rb +84 -19
  578. data/lib/ffi/tools/const_generator.rb +11 -8
  579. data/lib/ffi/tools/generator.rb +48 -1
  580. data/lib/ffi/tools/generator_task.rb +13 -16
  581. data/lib/ffi/tools/struct_generator.rb +6 -5
  582. data/lib/ffi/tools/types_generator.rb +14 -10
  583. data/lib/ffi/types.rb +96 -51
  584. data/lib/ffi/union.rb +23 -12
  585. data/lib/ffi/variadic.rb +44 -29
  586. data/lib/ffi/version.rb +3 -0
  587. data/lib/ffi.rb +20 -8
  588. data/rakelib/ffi_gem_helper.rb +65 -0
  589. data/samples/getlogin.rb +8 -0
  590. data/samples/getpid.rb +8 -0
  591. data/samples/gettimeofday.rb +18 -0
  592. data/samples/hello.rb +8 -0
  593. data/samples/hello_ractor.rb +11 -0
  594. data/samples/inotify.rb +60 -0
  595. data/samples/pty.rb +75 -0
  596. data/samples/qsort.rb +20 -0
  597. data/samples/qsort_ractor.rb +28 -0
  598. data/sig/ffi/abstract_memory.rbs +165 -0
  599. data/sig/ffi/auto_pointer.rbs +27 -0
  600. data/sig/ffi/buffer.rbs +18 -0
  601. data/sig/ffi/data_converter.rbs +10 -0
  602. data/sig/ffi/dynamic_library.rbs +9 -0
  603. data/sig/ffi/enum.rbs +38 -0
  604. data/sig/ffi/function.rbs +39 -0
  605. data/sig/ffi/library.rbs +42 -0
  606. data/sig/ffi/native_type.rbs +86 -0
  607. data/sig/ffi/pointer.rbs +42 -0
  608. data/sig/ffi/struct.rbs +76 -0
  609. data/sig/ffi/struct_by_reference.rbs +11 -0
  610. data/sig/ffi/struct_by_value.rbs +7 -0
  611. data/sig/ffi/struct_layout.rbs +9 -0
  612. data/sig/ffi/struct_layout_builder.rbs +5 -0
  613. data/sig/ffi/type.rbs +39 -0
  614. data/sig/ffi.rbs +26 -0
  615. data.tar.gz.sig +0 -0
  616. metadata +508 -268
  617. metadata.gz.sig +1 -0
  618. data/History.txt +0 -1
  619. data/README.rdoc +0 -102
  620. data/ext/ffi_c/DataConverter.c +0 -91
  621. data/ext/ffi_c/Ffi_c.iml +0 -12
  622. data/ext/ffi_c/StructByReference.c +0 -158
  623. data/ext/ffi_c/StructByReference.h +0 -50
  624. data/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  625. data/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  626. data/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  627. data/ext/ffi_c/libffi/Makefile.vc +0 -141
  628. data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
  629. data/ext/ffi_c/libffi/README +0 -342
  630. data/ext/ffi_c/libffi/aclocal.m4 +0 -1873
  631. data/ext/ffi_c/libffi/build-ios.sh +0 -67
  632. data/ext/ffi_c/libffi/depcomp +0 -630
  633. data/ext/ffi_c/libffi/doc/libffi.info +0 -593
  634. data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
  635. data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
  636. data/ext/ffi_c/libffi/m4/ax_check_compiler_flags.m4 +0 -76
  637. data/ext/ffi_c/libffi/m4/libtool.m4 +0 -7831
  638. data/ext/ffi_c/libffi/m4/ltoptions.m4 +0 -369
  639. data/ext/ffi_c/libffi/m4/ltsugar.m4 +0 -123
  640. data/ext/ffi_c/libffi/m4/ltversion.m4 +0 -23
  641. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +0 -98
  642. data/ext/ffi_c/libffi/mdate-sh +0 -201
  643. data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
  644. data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
  645. data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
  646. data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
  647. data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
  648. data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
  649. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
  650. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
  651. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
  652. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
  653. data/ext/ffi_c/libffi/texinfo.tex +0 -7210
  654. data/ext/ffi_c/win32/stdint.h +0 -199
  655. data/gen/Rakefile +0 -30
  656. data/lib/Lib.iml +0 -13
  657. data/spec/ffi/Ffi.iml +0 -12
  658. data/spec/ffi/async_callback_spec.rb +0 -46
  659. data/spec/ffi/bool_spec.rb +0 -40
  660. data/spec/ffi/buffer_spec.rb +0 -215
  661. data/spec/ffi/callback_spec.rb +0 -668
  662. data/spec/ffi/custom_param_type.rb +0 -47
  663. data/spec/ffi/custom_type_spec.rb +0 -85
  664. data/spec/ffi/dup_spec.rb +0 -65
  665. data/spec/ffi/enum_spec.rb +0 -227
  666. data/spec/ffi/errno_spec.rb +0 -29
  667. data/spec/ffi/ffi_spec.rb +0 -40
  668. data/spec/ffi/function_spec.rb +0 -87
  669. data/spec/ffi/library_spec.rb +0 -208
  670. data/spec/ffi/long_double.rb +0 -41
  671. data/spec/ffi/managed_struct_spec.rb +0 -72
  672. data/spec/ffi/number_spec.rb +0 -247
  673. data/spec/ffi/pointer_spec.rb +0 -214
  674. data/spec/ffi/rbx/attach_function_spec.rb +0 -28
  675. data/spec/ffi/rbx/memory_pointer_spec.rb +0 -111
  676. data/spec/ffi/rbx/spec_helper.rb +0 -1
  677. data/spec/ffi/rbx/struct_spec.rb +0 -13
  678. data/spec/ffi/spec_helper.rb +0 -35
  679. data/spec/ffi/string_spec.rb +0 -119
  680. data/spec/ffi/strptr_spec.rb +0 -61
  681. data/spec/ffi/struct_callback_spec.rb +0 -80
  682. data/spec/ffi/struct_initialize_spec.rb +0 -46
  683. data/spec/ffi/struct_packed_spec.rb +0 -62
  684. data/spec/ffi/struct_spec.rb +0 -719
  685. data/spec/ffi/typedef_spec.rb +0 -89
  686. data/spec/ffi/union_spec.rb +0 -76
  687. data/spec/ffi/variadic_spec.rb +0 -103
  688. data/spec/spec.opts +0 -4
  689. data/tasks/ann.rake +0 -80
  690. data/tasks/extension.rake +0 -32
  691. data/tasks/gem.rake +0 -199
  692. data/tasks/git.rake +0 -41
  693. data/tasks/notes.rake +0 -27
  694. data/tasks/post_load.rake +0 -34
  695. data/tasks/rdoc.rake +0 -50
  696. data/tasks/rubyforge.rake +0 -55
  697. data/tasks/setup.rb +0 -301
  698. data/tasks/spec.rake +0 -54
  699. data/tasks/svn.rake +0 -47
  700. data/tasks/test.rake +0 -40
  701. data/tasks/yard.rake +0 -11
  702. data/ext/ffi_c/libffi/testsuite/libffi.call/{pyobjc-tc.c → pyobjc_tc.c} +0 -0
  703. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double.c +0 -0
  704. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/err_bad_abi.c +0 -0
  705. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/problem1.c +0 -0
  706. data/lib/ffi/platform/{i486-gnu → i386-gnu}/types.conf +84 -84
@@ -0,0 +1,997 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; };
11
+ 43B5D3FA1D3547CE00D1E1FD /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */; };
12
+ 43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; };
13
+ DBFA714A187F1D8600A76262 /* ffi.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
14
+ DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713F187F1D8600A76262 /* ffi_common.h */; };
15
+ DBFA714C187F1D8600A76262 /* fficonfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7140187F1D8600A76262 /* fficonfig.h */; };
16
+ DBFA714D187F1D8600A76262 /* ffitarget.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
17
+ DBFA714E187F1D8600A76262 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; };
18
+ DBFA714F187F1D8600A76262 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; };
19
+ DBFA7156187F1D8600A76262 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
20
+ DBFA7157187F1D8600A76262 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
21
+ DBFA7158187F1D8600A76262 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
22
+ DBFA7159187F1D8600A76262 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
23
+ DBFA715A187F1D8600A76262 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
24
+ DBFA715B187F1D8600A76262 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
25
+ DBFA7177187F1D9B00A76262 /* ffi_arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716C187F1D9B00A76262 /* ffi_arm64.c */; };
26
+ DBFA7178187F1D9B00A76262 /* sysv_arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716D187F1D9B00A76262 /* sysv_arm64.S */; };
27
+ DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; };
28
+ DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; };
29
+ DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; };
30
+ DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7183187F1DA100A76262 /* ffi_x86_64.h */; };
31
+ DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */; };
32
+ DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */; };
33
+ DBFA7194187F1DA100A76262 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718A187F1DA100A76262 /* unix64_x86_64.S */; };
34
+ DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; };
35
+ FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; };
36
+ FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; };
37
+ FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; };
38
+ FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; };
39
+ FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; };
40
+ FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; };
41
+ FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
42
+ FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
43
+ FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716D187F1D9B00A76262 /* sysv_arm64.S */; };
44
+ FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
45
+ FDB52FBF1F6144FA00AA92E6 /* ffi_arm64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716C187F1D9B00A76262 /* ffi_arm64.c */; };
46
+ FDB52FC01F6144FA00AA92E6 /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */; };
47
+ FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
48
+ FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; };
49
+ FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715F187F1D9B00A76262 /* ffi_armv7.h */; };
50
+ FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */; };
51
+ FDB52FD51F614AE200AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
52
+ FDB52FD61F614AEA00AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; };
53
+ FDB52FD71F614AED00AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */; };
54
+ FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
55
+ FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; };
56
+ FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */; };
57
+ FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */; };
58
+ FDB52FDE1F6155E300AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
59
+ FDB52FDF1F6155EA00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; };
60
+ FDB52FE01F6155EF00AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */; };
61
+ FDB52FE21F6156FA00AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
62
+ FDB52FE31F61571A00AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7183187F1DA100A76262 /* ffi_x86_64.h */; };
63
+ FDB52FE41F61571D00AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
64
+ FDB52FE61F61573100AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */; };
65
+ FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; };
66
+ FDDB2F461F5D691E00EF414E /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F441F5D68C900EF414E /* win64_x86_64.S */; };
67
+ FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; };
68
+ FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
69
+ FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; };
70
+ FDDB2F4F1F5D846400EF414E /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
71
+ FDDB2F501F5D846400EF414E /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
72
+ FDDB2F511F5D846400EF414E /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; };
73
+ FDDB2F521F5D846400EF414E /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718A187F1DA100A76262 /* unix64_x86_64.S */; };
74
+ FDDB2F531F5D846400EF414E /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F441F5D68C900EF414E /* win64_x86_64.S */; };
75
+ /* End PBXBuildFile section */
76
+
77
+ /* Begin PBXCopyFilesBuildPhase section */
78
+ DB13B1641849DF1E0010F42D /* CopyFiles */ = {
79
+ isa = PBXCopyFilesBuildPhase;
80
+ buildActionMask = 12;
81
+ dstPath = "include/$(PRODUCT_NAME)";
82
+ dstSubfolderSpec = 16;
83
+ files = (
84
+ FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */,
85
+ FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */,
86
+ FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */,
87
+ FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */,
88
+ FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */,
89
+ FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */,
90
+ FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */,
91
+ FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */,
92
+ );
93
+ runOnlyForDeploymentPostprocessing = 0;
94
+ };
95
+ FDB52FC11F6144FA00AA92E6 /* CopyFiles */ = {
96
+ isa = PBXCopyFilesBuildPhase;
97
+ buildActionMask = 12;
98
+ dstPath = "include/$(PRODUCT_NAME)";
99
+ dstSubfolderSpec = 16;
100
+ files = (
101
+ FDB52FD51F614AE200AA92E6 /* ffi.h in CopyFiles */,
102
+ FDB52FD61F614AEA00AA92E6 /* ffi_arm64.h in CopyFiles */,
103
+ FDB52FD71F614AED00AA92E6 /* ffi_x86_64.h in CopyFiles */,
104
+ FDB52FDE1F6155E300AA92E6 /* ffitarget.h in CopyFiles */,
105
+ FDB52FDF1F6155EA00AA92E6 /* ffitarget_arm64.h in CopyFiles */,
106
+ FDB52FE01F6155EF00AA92E6 /* ffitarget_x86_64.h in CopyFiles */,
107
+ );
108
+ runOnlyForDeploymentPostprocessing = 0;
109
+ };
110
+ FDB52FE11F6156E000AA92E6 /* CopyFiles */ = {
111
+ isa = PBXCopyFilesBuildPhase;
112
+ buildActionMask = 2147483647;
113
+ dstPath = "include/$(PRODUCT_NAME)";
114
+ dstSubfolderSpec = 16;
115
+ files = (
116
+ FDB52FE21F6156FA00AA92E6 /* ffi.h in CopyFiles */,
117
+ FDB52FE31F61571A00AA92E6 /* ffi_x86_64.h in CopyFiles */,
118
+ FDB52FE41F61571D00AA92E6 /* ffitarget.h in CopyFiles */,
119
+ FDB52FE61F61573100AA92E6 /* ffitarget_x86_64.h in CopyFiles */,
120
+ );
121
+ runOnlyForDeploymentPostprocessing = 0;
122
+ };
123
+ /* End PBXCopyFilesBuildPhase section */
124
+
125
+ /* Begin PBXFileReference section */
126
+ 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = "<group>"; };
127
+ 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = win64_x86_64.S; sourceTree = "<group>"; };
128
+ 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = "<group>"; };
129
+ 43E9A5DA1D35373600926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
130
+ 43E9A5DB1D35374400926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
131
+ 43E9A5DC1D35375400926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
132
+ 43E9A5DD1D35375400926A8F /* internal64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal64.h; sourceTree = "<group>"; };
133
+ DB13B1661849DF1E0010F42D /* libffi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; };
134
+ DB13B1911849DF510010F42D /* ffi.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = ffi.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
135
+ DBFA713E187F1D8600A76262 /* ffi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi.h; sourceTree = "<group>"; };
136
+ DBFA713F187F1D8600A76262 /* ffi_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_common.h; sourceTree = "<group>"; };
137
+ DBFA7140187F1D8600A76262 /* fficonfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig.h; sourceTree = "<group>"; };
138
+ DBFA7141187F1D8600A76262 /* ffitarget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget.h; sourceTree = "<group>"; };
139
+ DBFA7143187F1D8600A76262 /* closures.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = closures.c; sourceTree = "<group>"; };
140
+ DBFA7145187F1D8600A76262 /* dlmalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dlmalloc.c; sourceTree = "<group>"; };
141
+ DBFA7147187F1D8600A76262 /* prep_cif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prep_cif.c; sourceTree = "<group>"; };
142
+ DBFA7148187F1D8600A76262 /* raw_api.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = raw_api.c; sourceTree = "<group>"; };
143
+ DBFA7149187F1D8600A76262 /* types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = types.c; sourceTree = "<group>"; };
144
+ DBFA715E187F1D9B00A76262 /* ffi_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_arm64.h; sourceTree = "<group>"; };
145
+ DBFA715F187F1D9B00A76262 /* ffi_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_armv7.h; sourceTree = "<group>"; };
146
+ DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = "<group>"; };
147
+ DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_arm64.h; sourceTree = "<group>"; };
148
+ DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_armv7.h; sourceTree = "<group>"; };
149
+ DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = "<group>"; };
150
+ DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_arm64.h; sourceTree = "<group>"; };
151
+ DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_armv7.h; sourceTree = "<group>"; };
152
+ DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = "<group>"; };
153
+ DBFA716C187F1D9B00A76262 /* ffi_arm64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_arm64.c; sourceTree = "<group>"; };
154
+ DBFA716D187F1D9B00A76262 /* sysv_arm64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_arm64.S; sourceTree = "<group>"; };
155
+ DBFA716F187F1D9B00A76262 /* ffi_armv7.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_armv7.c; sourceTree = "<group>"; };
156
+ DBFA7170187F1D9B00A76262 /* sysv_armv7.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_armv7.S; sourceTree = "<group>"; };
157
+ DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = "<group>"; };
158
+ DBFA7183187F1DA100A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = "<group>"; };
159
+ DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = "<group>"; };
160
+ DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = "<group>"; };
161
+ DBFA718A187F1DA100A76262 /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = "<group>"; };
162
+ DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = "<group>"; };
163
+ FDB52FC51F6144FA00AA92E6 /* libffi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; };
164
+ FDDB2F3E1F5D61BC00EF414E /* asmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asmnames.h; sourceTree = "<group>"; };
165
+ FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = "<group>"; };
166
+ FDDB2F421F5D68C900EF414E /* internal64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal64.h; sourceTree = "<group>"; };
167
+ FDDB2F431F5D68C900EF414E /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
168
+ FDDB2F441F5D68C900EF414E /* win64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = win64_x86_64.S; sourceTree = "<group>"; };
169
+ FDDB2F621F5D846400EF414E /* libffi.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; };
170
+ /* End PBXFileReference section */
171
+
172
+ /* Begin PBXGroup section */
173
+ DB13B15B1849DEB70010F42D = {
174
+ isa = PBXGroup;
175
+ children = (
176
+ DBFA713C187F1D8600A76262 /* darwin_common */,
177
+ DBFA715C187F1D9B00A76262 /* darwin_ios */,
178
+ DBFA7180187F1DA100A76262 /* darwin_osx */,
179
+ DB13B1671849DF1E0010F42D /* Products */,
180
+ );
181
+ sourceTree = "<group>";
182
+ };
183
+ DB13B1671849DF1E0010F42D /* Products */ = {
184
+ isa = PBXGroup;
185
+ children = (
186
+ DB13B1661849DF1E0010F42D /* libffi.a */,
187
+ DB13B1911849DF510010F42D /* ffi.dylib */,
188
+ FDDB2F621F5D846400EF414E /* libffi.a */,
189
+ FDB52FC51F6144FA00AA92E6 /* libffi.a */,
190
+ );
191
+ name = Products;
192
+ sourceTree = "<group>";
193
+ };
194
+ DBFA713C187F1D8600A76262 /* darwin_common */ = {
195
+ isa = PBXGroup;
196
+ children = (
197
+ DBFA713D187F1D8600A76262 /* include */,
198
+ DBFA7142187F1D8600A76262 /* src */,
199
+ );
200
+ path = darwin_common;
201
+ sourceTree = "<group>";
202
+ };
203
+ DBFA713D187F1D8600A76262 /* include */ = {
204
+ isa = PBXGroup;
205
+ children = (
206
+ DBFA713E187F1D8600A76262 /* ffi.h */,
207
+ DBFA713F187F1D8600A76262 /* ffi_common.h */,
208
+ DBFA7140187F1D8600A76262 /* fficonfig.h */,
209
+ DBFA7141187F1D8600A76262 /* ffitarget.h */,
210
+ );
211
+ path = include;
212
+ sourceTree = "<group>";
213
+ };
214
+ DBFA7142187F1D8600A76262 /* src */ = {
215
+ isa = PBXGroup;
216
+ children = (
217
+ DBFA7143187F1D8600A76262 /* closures.c */,
218
+ DBFA7145187F1D8600A76262 /* dlmalloc.c */,
219
+ DBFA7147187F1D8600A76262 /* prep_cif.c */,
220
+ DBFA7148187F1D8600A76262 /* raw_api.c */,
221
+ DBFA7149187F1D8600A76262 /* types.c */,
222
+ );
223
+ path = src;
224
+ sourceTree = "<group>";
225
+ };
226
+ DBFA715C187F1D9B00A76262 /* darwin_ios */ = {
227
+ isa = PBXGroup;
228
+ children = (
229
+ DBFA715D187F1D9B00A76262 /* include */,
230
+ DBFA716A187F1D9B00A76262 /* src */,
231
+ );
232
+ path = darwin_ios;
233
+ sourceTree = "<group>";
234
+ };
235
+ DBFA715D187F1D9B00A76262 /* include */ = {
236
+ isa = PBXGroup;
237
+ children = (
238
+ DBFA715E187F1D9B00A76262 /* ffi_arm64.h */,
239
+ DBFA715F187F1D9B00A76262 /* ffi_armv7.h */,
240
+ DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */,
241
+ DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */,
242
+ DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */,
243
+ DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */,
244
+ DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */,
245
+ DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */,
246
+ DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */,
247
+ );
248
+ path = include;
249
+ sourceTree = "<group>";
250
+ };
251
+ DBFA716A187F1D9B00A76262 /* src */ = {
252
+ isa = PBXGroup;
253
+ children = (
254
+ DBFA716B187F1D9B00A76262 /* aarch64 */,
255
+ DBFA716E187F1D9B00A76262 /* arm */,
256
+ DBFA7172187F1D9B00A76262 /* x86 */,
257
+ );
258
+ path = src;
259
+ sourceTree = "<group>";
260
+ };
261
+ DBFA716B187F1D9B00A76262 /* aarch64 */ = {
262
+ isa = PBXGroup;
263
+ children = (
264
+ 43E9A5DA1D35373600926A8F /* internal.h */,
265
+ DBFA716C187F1D9B00A76262 /* ffi_arm64.c */,
266
+ DBFA716D187F1D9B00A76262 /* sysv_arm64.S */,
267
+ );
268
+ path = aarch64;
269
+ sourceTree = "<group>";
270
+ };
271
+ DBFA716E187F1D9B00A76262 /* arm */ = {
272
+ isa = PBXGroup;
273
+ children = (
274
+ 43E9A5DB1D35374400926A8F /* internal.h */,
275
+ DBFA716F187F1D9B00A76262 /* ffi_armv7.c */,
276
+ DBFA7170187F1D9B00A76262 /* sysv_armv7.S */,
277
+ );
278
+ path = arm;
279
+ sourceTree = "<group>";
280
+ };
281
+ DBFA7172187F1D9B00A76262 /* x86 */ = {
282
+ isa = PBXGroup;
283
+ children = (
284
+ 43E9A5DC1D35375400926A8F /* internal.h */,
285
+ 43E9A5DD1D35375400926A8F /* internal64.h */,
286
+ DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */,
287
+ 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */,
288
+ 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */,
289
+ 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */,
290
+ );
291
+ path = x86;
292
+ sourceTree = "<group>";
293
+ };
294
+ DBFA7180187F1DA100A76262 /* darwin_osx */ = {
295
+ isa = PBXGroup;
296
+ children = (
297
+ DBFA7181187F1DA100A76262 /* include */,
298
+ DBFA7188187F1DA100A76262 /* src */,
299
+ );
300
+ path = darwin_osx;
301
+ sourceTree = "<group>";
302
+ };
303
+ DBFA7181187F1DA100A76262 /* include */ = {
304
+ isa = PBXGroup;
305
+ children = (
306
+ DBFA7183187F1DA100A76262 /* ffi_x86_64.h */,
307
+ DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */,
308
+ DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */,
309
+ );
310
+ path = include;
311
+ sourceTree = "<group>";
312
+ };
313
+ DBFA7188187F1DA100A76262 /* src */ = {
314
+ isa = PBXGroup;
315
+ children = (
316
+ DBFA7189187F1DA100A76262 /* x86 */,
317
+ );
318
+ path = src;
319
+ sourceTree = "<group>";
320
+ };
321
+ DBFA7189187F1DA100A76262 /* x86 */ = {
322
+ isa = PBXGroup;
323
+ children = (
324
+ FDDB2F431F5D68C900EF414E /* internal.h */,
325
+ FDDB2F421F5D68C900EF414E /* internal64.h */,
326
+ FDDB2F3E1F5D61BC00EF414E /* asmnames.h */,
327
+ DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */,
328
+ FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */,
329
+ DBFA718A187F1DA100A76262 /* unix64_x86_64.S */,
330
+ FDDB2F441F5D68C900EF414E /* win64_x86_64.S */,
331
+ );
332
+ path = x86;
333
+ sourceTree = "<group>";
334
+ };
335
+ /* End PBXGroup section */
336
+
337
+ /* Begin PBXHeadersBuildPhase section */
338
+ DB13B18F1849DF510010F42D /* Headers */ = {
339
+ isa = PBXHeadersBuildPhase;
340
+ buildActionMask = 2147483647;
341
+ files = (
342
+ DBFA714C187F1D8600A76262 /* fficonfig.h in Headers */,
343
+ DBFA714D187F1D8600A76262 /* ffitarget.h in Headers */,
344
+ DBFA714A187F1D8600A76262 /* ffi.h in Headers */,
345
+ DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */,
346
+ DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */,
347
+ DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */,
348
+ DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */,
349
+ );
350
+ runOnlyForDeploymentPostprocessing = 0;
351
+ };
352
+ /* End PBXHeadersBuildPhase section */
353
+
354
+ /* Begin PBXNativeTarget section */
355
+ DB13B1651849DF1E0010F42D /* libffi-iOS */ = {
356
+ isa = PBXNativeTarget;
357
+ buildConfigurationList = DB13B18B1849DF1E0010F42D /* Build configuration list for PBXNativeTarget "libffi-iOS" */;
358
+ buildPhases = (
359
+ 43B5D3FB1D35480D00D1E1FD /* Run Script */,
360
+ DB13B1621849DF1E0010F42D /* Sources */,
361
+ DB13B1641849DF1E0010F42D /* CopyFiles */,
362
+ );
363
+ buildRules = (
364
+ );
365
+ dependencies = (
366
+ );
367
+ name = "libffi-iOS";
368
+ productName = ffi;
369
+ productReference = DB13B1661849DF1E0010F42D /* libffi.a */;
370
+ productType = "com.apple.product-type.library.static";
371
+ };
372
+ DB13B1901849DF510010F42D /* libffi-Mac */ = {
373
+ isa = PBXNativeTarget;
374
+ buildConfigurationList = DB13B1B01849DF520010F42D /* Build configuration list for PBXNativeTarget "libffi-Mac" */;
375
+ buildPhases = (
376
+ DB13B3061849E0490010F42D /* ShellScript */,
377
+ DB13B18D1849DF510010F42D /* Sources */,
378
+ DB13B18F1849DF510010F42D /* Headers */,
379
+ );
380
+ buildRules = (
381
+ );
382
+ dependencies = (
383
+ );
384
+ name = "libffi-Mac";
385
+ productName = ffi;
386
+ productReference = DB13B1911849DF510010F42D /* ffi.dylib */;
387
+ productType = "com.apple.product-type.library.dynamic";
388
+ };
389
+ FDB52FB01F6144FA00AA92E6 /* libffi-tvOS */ = {
390
+ isa = PBXNativeTarget;
391
+ buildConfigurationList = FDB52FC21F6144FA00AA92E6 /* Build configuration list for PBXNativeTarget "libffi-tvOS" */;
392
+ buildPhases = (
393
+ FDB52FB11F6144FA00AA92E6 /* Run Script */,
394
+ FDB52FB21F6144FA00AA92E6 /* Sources */,
395
+ FDB52FC11F6144FA00AA92E6 /* CopyFiles */,
396
+ );
397
+ buildRules = (
398
+ );
399
+ dependencies = (
400
+ );
401
+ name = "libffi-tvOS";
402
+ productName = ffi;
403
+ productReference = FDB52FC51F6144FA00AA92E6 /* libffi.a */;
404
+ productType = "com.apple.product-type.library.static";
405
+ };
406
+ FDDB2F471F5D846400EF414E /* libffi-static-Mac */ = {
407
+ isa = PBXNativeTarget;
408
+ buildConfigurationList = FDDB2F5F1F5D846400EF414E /* Build configuration list for PBXNativeTarget "libffi-static-Mac" */;
409
+ buildPhases = (
410
+ FDDB2F481F5D846400EF414E /* ShellScript */,
411
+ FDDB2F491F5D846400EF414E /* Sources */,
412
+ FDB52FE11F6156E000AA92E6 /* CopyFiles */,
413
+ );
414
+ buildRules = (
415
+ );
416
+ dependencies = (
417
+ );
418
+ name = "libffi-static-Mac";
419
+ productName = ffi;
420
+ productReference = FDDB2F621F5D846400EF414E /* libffi.a */;
421
+ productType = "com.apple.product-type.library.dynamic";
422
+ };
423
+ /* End PBXNativeTarget section */
424
+
425
+ /* Begin PBXProject section */
426
+ DB13B15C1849DEB70010F42D /* Project object */ = {
427
+ isa = PBXProject;
428
+ attributes = {
429
+ LastUpgradeCheck = 0830;
430
+ };
431
+ buildConfigurationList = DB13B15F1849DEB70010F42D /* Build configuration list for PBXProject "libffi" */;
432
+ compatibilityVersion = "Xcode 3.2";
433
+ developmentRegion = English;
434
+ hasScannedForEncodings = 0;
435
+ knownRegions = (
436
+ en,
437
+ );
438
+ mainGroup = DB13B15B1849DEB70010F42D;
439
+ productRefGroup = DB13B1671849DF1E0010F42D /* Products */;
440
+ projectDirPath = "";
441
+ projectRoot = "";
442
+ targets = (
443
+ DB13B1651849DF1E0010F42D /* libffi-iOS */,
444
+ FDB52FB01F6144FA00AA92E6 /* libffi-tvOS */,
445
+ DB13B1901849DF510010F42D /* libffi-Mac */,
446
+ FDDB2F471F5D846400EF414E /* libffi-static-Mac */,
447
+ );
448
+ };
449
+ /* End PBXProject section */
450
+
451
+ /* Begin PBXShellScriptBuildPhase section */
452
+ 43B5D3FB1D35480D00D1E1FD /* Run Script */ = {
453
+ isa = PBXShellScriptBuildPhase;
454
+ buildActionMask = 2147483647;
455
+ files = (
456
+ );
457
+ inputPaths = (
458
+ );
459
+ name = "Run Script";
460
+ outputPaths = (
461
+ );
462
+ runOnlyForDeploymentPostprocessing = 0;
463
+ shellPath = /bin/sh;
464
+ shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-ios\nfi";
465
+ };
466
+ DB13B3061849E0490010F42D /* ShellScript */ = {
467
+ isa = PBXShellScriptBuildPhase;
468
+ buildActionMask = 2147483647;
469
+ files = (
470
+ );
471
+ inputPaths = (
472
+ );
473
+ outputPaths = (
474
+ );
475
+ runOnlyForDeploymentPostprocessing = 0;
476
+ shellPath = /bin/sh;
477
+ shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-osx\nfi";
478
+ };
479
+ FDB52FB11F6144FA00AA92E6 /* Run Script */ = {
480
+ isa = PBXShellScriptBuildPhase;
481
+ buildActionMask = 2147483647;
482
+ files = (
483
+ );
484
+ inputPaths = (
485
+ );
486
+ name = "Run Script";
487
+ outputPaths = (
488
+ );
489
+ runOnlyForDeploymentPostprocessing = 0;
490
+ shellPath = /bin/sh;
491
+ shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-ios\nfi";
492
+ };
493
+ FDDB2F481F5D846400EF414E /* ShellScript */ = {
494
+ isa = PBXShellScriptBuildPhase;
495
+ buildActionMask = 2147483647;
496
+ files = (
497
+ );
498
+ inputPaths = (
499
+ );
500
+ outputPaths = (
501
+ );
502
+ runOnlyForDeploymentPostprocessing = 0;
503
+ shellPath = /bin/sh;
504
+ shellScript = "if [ ! -f \"./compile\" ]\nthen\nautoreconf -i -f -v\nif [ -f \"../ltmain.sh\" ]\nthen\necho \"fixing ltmain.sh for some reason\"\nmv ../ltmain.sh ./\nautoreconf -i -f -v\nfi\n/usr/bin/python generate-darwin-source-and-headers.py --only-osx\nfi";
505
+ };
506
+ /* End PBXShellScriptBuildPhase section */
507
+
508
+ /* Begin PBXSourcesBuildPhase section */
509
+ DB13B1621849DF1E0010F42D /* Sources */ = {
510
+ isa = PBXSourcesBuildPhase;
511
+ buildActionMask = 2147483647;
512
+ files = (
513
+ 43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */,
514
+ DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */,
515
+ DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */,
516
+ DBFA714E187F1D8600A76262 /* closures.c in Sources */,
517
+ DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */,
518
+ 43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */,
519
+ DBFA7156187F1D8600A76262 /* prep_cif.c in Sources */,
520
+ DBFA7158187F1D8600A76262 /* raw_api.c in Sources */,
521
+ DBFA7178187F1D9B00A76262 /* sysv_arm64.S in Sources */,
522
+ DBFA715A187F1D8600A76262 /* types.c in Sources */,
523
+ DBFA7177187F1D9B00A76262 /* ffi_arm64.c in Sources */,
524
+ 43B5D3FA1D3547CE00D1E1FD /* win64_x86_64.S in Sources */,
525
+ );
526
+ runOnlyForDeploymentPostprocessing = 0;
527
+ };
528
+ DB13B18D1849DF510010F42D /* Sources */ = {
529
+ isa = PBXSourcesBuildPhase;
530
+ buildActionMask = 2147483647;
531
+ files = (
532
+ DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */,
533
+ DBFA7157187F1D8600A76262 /* prep_cif.c in Sources */,
534
+ FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */,
535
+ DBFA715B187F1D8600A76262 /* types.c in Sources */,
536
+ DBFA7159187F1D8600A76262 /* raw_api.c in Sources */,
537
+ DBFA714F187F1D8600A76262 /* closures.c in Sources */,
538
+ DBFA7194187F1DA100A76262 /* unix64_x86_64.S in Sources */,
539
+ FDDB2F461F5D691E00EF414E /* win64_x86_64.S in Sources */,
540
+ );
541
+ runOnlyForDeploymentPostprocessing = 0;
542
+ };
543
+ FDB52FB21F6144FA00AA92E6 /* Sources */ = {
544
+ isa = PBXSourcesBuildPhase;
545
+ buildActionMask = 2147483647;
546
+ files = (
547
+ FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */,
548
+ FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */,
549
+ FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */,
550
+ FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */,
551
+ FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */,
552
+ FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */,
553
+ FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */,
554
+ FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */,
555
+ FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */,
556
+ FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */,
557
+ FDB52FBF1F6144FA00AA92E6 /* ffi_arm64.c in Sources */,
558
+ FDB52FC01F6144FA00AA92E6 /* win64_x86_64.S in Sources */,
559
+ );
560
+ runOnlyForDeploymentPostprocessing = 0;
561
+ };
562
+ FDDB2F491F5D846400EF414E /* Sources */ = {
563
+ isa = PBXSourcesBuildPhase;
564
+ buildActionMask = 2147483647;
565
+ files = (
566
+ FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */,
567
+ FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */,
568
+ FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */,
569
+ FDDB2F4F1F5D846400EF414E /* types.c in Sources */,
570
+ FDDB2F501F5D846400EF414E /* raw_api.c in Sources */,
571
+ FDDB2F511F5D846400EF414E /* closures.c in Sources */,
572
+ FDDB2F521F5D846400EF414E /* unix64_x86_64.S in Sources */,
573
+ FDDB2F531F5D846400EF414E /* win64_x86_64.S in Sources */,
574
+ );
575
+ runOnlyForDeploymentPostprocessing = 0;
576
+ };
577
+ /* End PBXSourcesBuildPhase section */
578
+
579
+ /* Begin XCBuildConfiguration section */
580
+ DB13B1601849DEB70010F42D /* Debug */ = {
581
+ isa = XCBuildConfiguration;
582
+ buildSettings = {
583
+ CLANG_WARN_BOOL_CONVERSION = YES;
584
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
585
+ CLANG_WARN_EMPTY_BODY = YES;
586
+ CLANG_WARN_ENUM_CONVERSION = YES;
587
+ CLANG_WARN_INFINITE_RECURSION = YES;
588
+ CLANG_WARN_INT_CONVERSION = YES;
589
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
590
+ CLANG_WARN_UNREACHABLE_CODE = YES;
591
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
592
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
593
+ ENABLE_TESTABILITY = YES;
594
+ GCC_NO_COMMON_BLOCKS = YES;
595
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
596
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
597
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
598
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
599
+ GCC_WARN_UNUSED_FUNCTION = YES;
600
+ GCC_WARN_UNUSED_VARIABLE = YES;
601
+ HEADER_SEARCH_PATHS = (
602
+ "$(inherited)",
603
+ darwin_common/include,
604
+ );
605
+ ONLY_ACTIVE_ARCH = YES;
606
+ };
607
+ name = Debug;
608
+ };
609
+ DB13B1611849DEB70010F42D /* Release */ = {
610
+ isa = XCBuildConfiguration;
611
+ buildSettings = {
612
+ CLANG_WARN_BOOL_CONVERSION = YES;
613
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
614
+ CLANG_WARN_EMPTY_BODY = YES;
615
+ CLANG_WARN_ENUM_CONVERSION = YES;
616
+ CLANG_WARN_INFINITE_RECURSION = YES;
617
+ CLANG_WARN_INT_CONVERSION = YES;
618
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
619
+ CLANG_WARN_UNREACHABLE_CODE = YES;
620
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
621
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
622
+ GCC_NO_COMMON_BLOCKS = YES;
623
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
624
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
625
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
626
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
627
+ GCC_WARN_UNUSED_FUNCTION = YES;
628
+ GCC_WARN_UNUSED_VARIABLE = YES;
629
+ HEADER_SEARCH_PATHS = (
630
+ "$(inherited)",
631
+ darwin_common/include,
632
+ );
633
+ };
634
+ name = Release;
635
+ };
636
+ DB13B1871849DF1E0010F42D /* Debug */ = {
637
+ isa = XCBuildConfiguration;
638
+ buildSettings = {
639
+ ALWAYS_SEARCH_USER_PATHS = NO;
640
+ CLANG_WARN_BOOL_CONVERSION = YES;
641
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
642
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
643
+ CLANG_WARN_EMPTY_BODY = YES;
644
+ CLANG_WARN_ENUM_CONVERSION = YES;
645
+ CLANG_WARN_INT_CONVERSION = YES;
646
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
647
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
648
+ COPY_PHASE_STRIP = NO;
649
+ DSTROOT = /tmp/ffi.dst;
650
+ GCC_OPTIMIZATION_LEVEL = 0;
651
+ GCC_PREPROCESSOR_DEFINITIONS = (
652
+ "DEBUG=1",
653
+ "$(inherited)",
654
+ );
655
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
656
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
657
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
658
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
659
+ GCC_WARN_UNUSED_FUNCTION = YES;
660
+ GCC_WARN_UNUSED_VARIABLE = YES;
661
+ HEADER_SEARCH_PATHS = (
662
+ "$(inherited)",
663
+ darwin_ios/include,
664
+ );
665
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
666
+ PRODUCT_NAME = ffi;
667
+ SDKROOT = iphoneos;
668
+ SKIP_INSTALL = YES;
669
+ VALID_ARCHS = "arm64 armv7 armv7s x86_64";
670
+ };
671
+ name = Debug;
672
+ };
673
+ DB13B1881849DF1E0010F42D /* Release */ = {
674
+ isa = XCBuildConfiguration;
675
+ buildSettings = {
676
+ ALWAYS_SEARCH_USER_PATHS = NO;
677
+ CLANG_WARN_BOOL_CONVERSION = YES;
678
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
679
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
680
+ CLANG_WARN_EMPTY_BODY = YES;
681
+ CLANG_WARN_ENUM_CONVERSION = YES;
682
+ CLANG_WARN_INT_CONVERSION = YES;
683
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
684
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
685
+ COPY_PHASE_STRIP = YES;
686
+ DSTROOT = /tmp/ffi.dst;
687
+ ENABLE_NS_ASSERTIONS = NO;
688
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
689
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
690
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
691
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
692
+ GCC_WARN_UNUSED_FUNCTION = YES;
693
+ GCC_WARN_UNUSED_VARIABLE = YES;
694
+ HEADER_SEARCH_PATHS = (
695
+ "$(inherited)",
696
+ darwin_ios/include,
697
+ );
698
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
699
+ PRODUCT_NAME = ffi;
700
+ SDKROOT = iphoneos;
701
+ SKIP_INSTALL = YES;
702
+ VALIDATE_PRODUCT = YES;
703
+ VALID_ARCHS = "arm64 armv7 armv7s x86_64";
704
+ };
705
+ name = Release;
706
+ };
707
+ DB13B1B11849DF520010F42D /* Debug */ = {
708
+ isa = XCBuildConfiguration;
709
+ buildSettings = {
710
+ ALWAYS_SEARCH_USER_PATHS = NO;
711
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
712
+ CLANG_CXX_LIBRARY = "libc++";
713
+ CLANG_ENABLE_OBJC_ARC = YES;
714
+ CLANG_WARN_BOOL_CONVERSION = YES;
715
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
716
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
717
+ CLANG_WARN_EMPTY_BODY = YES;
718
+ CLANG_WARN_ENUM_CONVERSION = YES;
719
+ CLANG_WARN_INT_CONVERSION = YES;
720
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
721
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
722
+ COMBINE_HIDPI_IMAGES = YES;
723
+ COPY_PHASE_STRIP = NO;
724
+ DYLIB_COMPATIBILITY_VERSION = 1;
725
+ DYLIB_CURRENT_VERSION = 1;
726
+ GCC_C_LANGUAGE_STANDARD = gnu99;
727
+ GCC_DYNAMIC_NO_PIC = NO;
728
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
729
+ GCC_OPTIMIZATION_LEVEL = 0;
730
+ GCC_PREPROCESSOR_DEFINITIONS = (
731
+ "DEBUG=1",
732
+ "$(inherited)",
733
+ );
734
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
735
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
736
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
737
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
738
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
739
+ GCC_WARN_UNUSED_FUNCTION = YES;
740
+ GCC_WARN_UNUSED_VARIABLE = YES;
741
+ HEADER_SEARCH_PATHS = (
742
+ "$(inherited)",
743
+ darwin_osx/include,
744
+ );
745
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
746
+ ONLY_ACTIVE_ARCH = YES;
747
+ OTHER_LDFLAGS = "-Wl,-no_compact_unwind";
748
+ PRODUCT_NAME = ffi;
749
+ SDKROOT = macosx;
750
+ };
751
+ name = Debug;
752
+ };
753
+ DB13B1B21849DF520010F42D /* Release */ = {
754
+ isa = XCBuildConfiguration;
755
+ buildSettings = {
756
+ ALWAYS_SEARCH_USER_PATHS = NO;
757
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
758
+ CLANG_CXX_LIBRARY = "libc++";
759
+ CLANG_ENABLE_OBJC_ARC = YES;
760
+ CLANG_WARN_BOOL_CONVERSION = YES;
761
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
762
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
763
+ CLANG_WARN_EMPTY_BODY = YES;
764
+ CLANG_WARN_ENUM_CONVERSION = YES;
765
+ CLANG_WARN_INT_CONVERSION = YES;
766
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
767
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
768
+ COMBINE_HIDPI_IMAGES = YES;
769
+ COPY_PHASE_STRIP = YES;
770
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
771
+ DYLIB_COMPATIBILITY_VERSION = 1;
772
+ DYLIB_CURRENT_VERSION = 1;
773
+ ENABLE_NS_ASSERTIONS = NO;
774
+ GCC_C_LANGUAGE_STANDARD = gnu99;
775
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
776
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
777
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
778
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
779
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
780
+ GCC_WARN_UNUSED_FUNCTION = YES;
781
+ GCC_WARN_UNUSED_VARIABLE = YES;
782
+ HEADER_SEARCH_PATHS = (
783
+ "$(inherited)",
784
+ darwin_osx/include,
785
+ );
786
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
787
+ OTHER_LDFLAGS = "-Wl,-no_compact_unwind";
788
+ PRODUCT_NAME = ffi;
789
+ SDKROOT = macosx;
790
+ };
791
+ name = Release;
792
+ };
793
+ FDB52FC31F6144FA00AA92E6 /* Debug */ = {
794
+ isa = XCBuildConfiguration;
795
+ buildSettings = {
796
+ ALWAYS_SEARCH_USER_PATHS = NO;
797
+ CLANG_WARN_BOOL_CONVERSION = YES;
798
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
799
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
800
+ CLANG_WARN_EMPTY_BODY = YES;
801
+ CLANG_WARN_ENUM_CONVERSION = YES;
802
+ CLANG_WARN_INT_CONVERSION = YES;
803
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
804
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
805
+ COPY_PHASE_STRIP = NO;
806
+ GCC_OPTIMIZATION_LEVEL = 0;
807
+ GCC_PREPROCESSOR_DEFINITIONS = (
808
+ "DEBUG=1",
809
+ "$(inherited)",
810
+ );
811
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
812
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
813
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
814
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
815
+ GCC_WARN_UNUSED_FUNCTION = YES;
816
+ GCC_WARN_UNUSED_VARIABLE = YES;
817
+ HEADER_SEARCH_PATHS = (
818
+ "$(inherited)",
819
+ darwin_ios/include,
820
+ );
821
+ PRODUCT_NAME = ffi;
822
+ SDKROOT = appletvos;
823
+ SKIP_INSTALL = YES;
824
+ TVOS_DEPLOYMENT_TARGET = 9.0;
825
+ };
826
+ name = Debug;
827
+ };
828
+ FDB52FC41F6144FA00AA92E6 /* Release */ = {
829
+ isa = XCBuildConfiguration;
830
+ buildSettings = {
831
+ ALWAYS_SEARCH_USER_PATHS = NO;
832
+ CLANG_WARN_BOOL_CONVERSION = YES;
833
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
834
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
835
+ CLANG_WARN_EMPTY_BODY = YES;
836
+ CLANG_WARN_ENUM_CONVERSION = YES;
837
+ CLANG_WARN_INT_CONVERSION = YES;
838
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
839
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
840
+ COPY_PHASE_STRIP = YES;
841
+ ENABLE_NS_ASSERTIONS = NO;
842
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
843
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
844
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
845
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
846
+ GCC_WARN_UNUSED_FUNCTION = YES;
847
+ GCC_WARN_UNUSED_VARIABLE = YES;
848
+ HEADER_SEARCH_PATHS = (
849
+ "$(inherited)",
850
+ darwin_ios/include,
851
+ );
852
+ PRODUCT_NAME = ffi;
853
+ SDKROOT = appletvos;
854
+ SKIP_INSTALL = YES;
855
+ TVOS_DEPLOYMENT_TARGET = 9.0;
856
+ VALIDATE_PRODUCT = YES;
857
+ };
858
+ name = Release;
859
+ };
860
+ FDDB2F601F5D846400EF414E /* Debug */ = {
861
+ isa = XCBuildConfiguration;
862
+ buildSettings = {
863
+ ALWAYS_SEARCH_USER_PATHS = NO;
864
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
865
+ CLANG_CXX_LIBRARY = "libc++";
866
+ CLANG_ENABLE_OBJC_ARC = YES;
867
+ CLANG_WARN_BOOL_CONVERSION = YES;
868
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
869
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
870
+ CLANG_WARN_EMPTY_BODY = YES;
871
+ CLANG_WARN_ENUM_CONVERSION = YES;
872
+ CLANG_WARN_INT_CONVERSION = YES;
873
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
874
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
875
+ COMBINE_HIDPI_IMAGES = YES;
876
+ COPY_PHASE_STRIP = NO;
877
+ EXECUTABLE_EXTENSION = a;
878
+ EXECUTABLE_PREFIX = lib;
879
+ GCC_C_LANGUAGE_STANDARD = gnu99;
880
+ GCC_DYNAMIC_NO_PIC = NO;
881
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
882
+ GCC_OPTIMIZATION_LEVEL = 0;
883
+ GCC_PREPROCESSOR_DEFINITIONS = (
884
+ "DEBUG=1",
885
+ "$(inherited)",
886
+ );
887
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
888
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
889
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
890
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
891
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
892
+ GCC_WARN_UNUSED_FUNCTION = YES;
893
+ GCC_WARN_UNUSED_VARIABLE = YES;
894
+ HEADER_SEARCH_PATHS = (
895
+ "$(inherited)",
896
+ darwin_osx/include,
897
+ );
898
+ MACH_O_TYPE = staticlib;
899
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
900
+ ONLY_ACTIVE_ARCH = YES;
901
+ PRODUCT_NAME = ffi;
902
+ SDKROOT = macosx;
903
+ };
904
+ name = Debug;
905
+ };
906
+ FDDB2F611F5D846400EF414E /* Release */ = {
907
+ isa = XCBuildConfiguration;
908
+ buildSettings = {
909
+ ALWAYS_SEARCH_USER_PATHS = NO;
910
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
911
+ CLANG_CXX_LIBRARY = "libc++";
912
+ CLANG_ENABLE_OBJC_ARC = YES;
913
+ CLANG_WARN_BOOL_CONVERSION = YES;
914
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
915
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
916
+ CLANG_WARN_EMPTY_BODY = YES;
917
+ CLANG_WARN_ENUM_CONVERSION = YES;
918
+ CLANG_WARN_INT_CONVERSION = YES;
919
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
920
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
921
+ COMBINE_HIDPI_IMAGES = YES;
922
+ COPY_PHASE_STRIP = YES;
923
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
924
+ ENABLE_NS_ASSERTIONS = NO;
925
+ EXECUTABLE_EXTENSION = a;
926
+ EXECUTABLE_PREFIX = lib;
927
+ GCC_C_LANGUAGE_STANDARD = gnu99;
928
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
929
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
930
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
931
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
932
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
933
+ GCC_WARN_UNUSED_FUNCTION = YES;
934
+ GCC_WARN_UNUSED_VARIABLE = YES;
935
+ HEADER_SEARCH_PATHS = (
936
+ "$(inherited)",
937
+ darwin_osx/include,
938
+ );
939
+ MACH_O_TYPE = staticlib;
940
+ MACOSX_DEPLOYMENT_TARGET = 10.6;
941
+ PRODUCT_NAME = ffi;
942
+ SDKROOT = macosx;
943
+ };
944
+ name = Release;
945
+ };
946
+ /* End XCBuildConfiguration section */
947
+
948
+ /* Begin XCConfigurationList section */
949
+ DB13B15F1849DEB70010F42D /* Build configuration list for PBXProject "libffi" */ = {
950
+ isa = XCConfigurationList;
951
+ buildConfigurations = (
952
+ DB13B1601849DEB70010F42D /* Debug */,
953
+ DB13B1611849DEB70010F42D /* Release */,
954
+ );
955
+ defaultConfigurationIsVisible = 0;
956
+ defaultConfigurationName = Release;
957
+ };
958
+ DB13B18B1849DF1E0010F42D /* Build configuration list for PBXNativeTarget "libffi-iOS" */ = {
959
+ isa = XCConfigurationList;
960
+ buildConfigurations = (
961
+ DB13B1871849DF1E0010F42D /* Debug */,
962
+ DB13B1881849DF1E0010F42D /* Release */,
963
+ );
964
+ defaultConfigurationIsVisible = 0;
965
+ defaultConfigurationName = Release;
966
+ };
967
+ DB13B1B01849DF520010F42D /* Build configuration list for PBXNativeTarget "libffi-Mac" */ = {
968
+ isa = XCConfigurationList;
969
+ buildConfigurations = (
970
+ DB13B1B11849DF520010F42D /* Debug */,
971
+ DB13B1B21849DF520010F42D /* Release */,
972
+ );
973
+ defaultConfigurationIsVisible = 0;
974
+ defaultConfigurationName = Release;
975
+ };
976
+ FDB52FC21F6144FA00AA92E6 /* Build configuration list for PBXNativeTarget "libffi-tvOS" */ = {
977
+ isa = XCConfigurationList;
978
+ buildConfigurations = (
979
+ FDB52FC31F6144FA00AA92E6 /* Debug */,
980
+ FDB52FC41F6144FA00AA92E6 /* Release */,
981
+ );
982
+ defaultConfigurationIsVisible = 0;
983
+ defaultConfigurationName = Release;
984
+ };
985
+ FDDB2F5F1F5D846400EF414E /* Build configuration list for PBXNativeTarget "libffi-static-Mac" */ = {
986
+ isa = XCConfigurationList;
987
+ buildConfigurations = (
988
+ FDDB2F601F5D846400EF414E /* Debug */,
989
+ FDDB2F611F5D846400EF414E /* Release */,
990
+ );
991
+ defaultConfigurationIsVisible = 0;
992
+ defaultConfigurationName = Release;
993
+ };
994
+ /* End XCConfigurationList section */
995
+ };
996
+ rootObject = DB13B15C1849DEB70010F42D /* Project object */;
997
+ }