ffi 1.10.0 → 1.15.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +240 -0
  3. data/Gemfile +3 -4
  4. data/README.md +42 -18
  5. data/Rakefile +68 -145
  6. data/ext/ffi_c/AbstractMemory.c +29 -34
  7. data/ext/ffi_c/Buffer.c +4 -9
  8. data/ext/ffi_c/Call.c +17 -50
  9. data/ext/ffi_c/Call.h +4 -7
  10. data/ext/ffi_c/ClosurePool.c +75 -25
  11. data/ext/ffi_c/ClosurePool.h +3 -1
  12. data/ext/ffi_c/DynamicLibrary.c +2 -7
  13. data/ext/ffi_c/Function.c +47 -131
  14. data/ext/ffi_c/Function.h +0 -4
  15. data/ext/ffi_c/FunctionInfo.c +3 -8
  16. data/ext/ffi_c/LastError.c +2 -6
  17. data/ext/ffi_c/LongDouble.c +12 -10
  18. data/ext/ffi_c/LongDouble.h +0 -4
  19. data/ext/ffi_c/MemoryPointer.c +3 -8
  20. data/ext/ffi_c/MemoryPointer.h +0 -4
  21. data/ext/ffi_c/MethodHandle.c +21 -31
  22. data/ext/ffi_c/MethodHandle.h +3 -2
  23. data/ext/ffi_c/Platform.c +5 -56
  24. data/ext/ffi_c/Pointer.c +25 -26
  25. data/ext/ffi_c/Pointer.h +0 -4
  26. data/ext/ffi_c/Struct.c +49 -56
  27. data/ext/ffi_c/Struct.h +12 -6
  28. data/ext/ffi_c/StructByValue.c +2 -7
  29. data/ext/ffi_c/StructLayout.c +22 -20
  30. data/ext/ffi_c/Thread.c +4 -228
  31. data/ext/ffi_c/Thread.h +1 -20
  32. data/ext/ffi_c/Type.c +1 -19
  33. data/ext/ffi_c/Type.h +0 -1
  34. data/ext/ffi_c/Types.c +7 -8
  35. data/ext/ffi_c/Types.h +3 -4
  36. data/ext/ffi_c/Variadic.c +23 -24
  37. data/ext/ffi_c/compat.h +4 -0
  38. data/ext/ffi_c/extconf.rb +56 -30
  39. data/ext/ffi_c/ffi.c +3 -8
  40. data/ext/ffi_c/libffi/.appveyor.yml +29 -13
  41. data/ext/ffi_c/libffi/.gitattributes +4 -0
  42. data/ext/ffi_c/libffi/.travis/bfin-sim.exp +58 -0
  43. data/ext/ffi_c/libffi/.travis/build-cross-in-container.sh +14 -0
  44. data/ext/ffi_c/libffi/.travis/build-in-container.sh +12 -0
  45. data/ext/ffi_c/libffi/.travis/build.sh +116 -8
  46. data/ext/ffi_c/libffi/.travis/install.sh +65 -16
  47. data/ext/ffi_c/libffi/.travis/m32r-sim.exp +58 -0
  48. data/ext/ffi_c/libffi/.travis/moxie-sim.exp +1 -1
  49. data/ext/ffi_c/libffi/.travis/or1k-sim.exp +58 -0
  50. data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +58 -0
  51. data/ext/ffi_c/libffi/.travis/site.exp +10 -1
  52. data/ext/ffi_c/libffi/.travis/wine-sim.exp +55 -0
  53. data/ext/ffi_c/libffi/.travis.yml +51 -2
  54. data/ext/ffi_c/libffi/{ChangeLog.libffi-3.1 → ChangeLog.old} +1407 -0
  55. data/ext/ffi_c/libffi/LICENSE +1 -1
  56. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +5 -4
  57. data/ext/ffi_c/libffi/Makefile.am +56 -72
  58. data/ext/ffi_c/libffi/Makefile.in +458 -207
  59. data/ext/ffi_c/libffi/README.md +33 -8
  60. data/ext/ffi_c/libffi/config.guess +552 -331
  61. data/ext/ffi_c/libffi/config.sub +1321 -1306
  62. data/ext/ffi_c/libffi/configure +414 -342
  63. data/ext/ffi_c/libffi/configure.ac +37 -12
  64. data/ext/ffi_c/libffi/configure.host +56 -27
  65. data/ext/ffi_c/libffi/doc/Makefile.in +9 -5
  66. data/ext/ffi_c/libffi/doc/libffi.texi +26 -14
  67. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  68. data/ext/ffi_c/libffi/fficonfig.h.in +13 -0
  69. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +2 -4
  70. data/ext/ffi_c/libffi/include/Makefile.in +10 -6
  71. data/ext/ffi_c/libffi/include/ffi.h.in +19 -7
  72. data/ext/ffi_c/libffi/include/ffi_common.h +5 -1
  73. data/ext/ffi_c/libffi/install-sh +23 -13
  74. data/ext/ffi_c/libffi/libffi.map.in +8 -12
  75. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +2 -48
  76. data/ext/ffi_c/libffi/libtool-version +1 -1
  77. data/ext/ffi_c/libffi/ltmain.sh +156 -61
  78. data/ext/ffi_c/libffi/m4/asmcfi.m4 +1 -1
  79. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +5 -26
  80. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +5 -26
  81. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +2 -1
  82. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +5 -26
  83. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +7 -3
  84. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  85. data/ext/ffi_c/libffi/man/Makefile.in +9 -5
  86. data/ext/ffi_c/libffi/missing +8 -8
  87. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  88. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  89. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  90. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  91. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +511 -0
  92. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +219 -0
  93. data/ext/ffi_c/libffi/msvcc.sh +38 -13
  94. data/ext/ffi_c/libffi/src/aarch64/ffi.c +153 -69
  95. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +19 -3
  96. data/ext/ffi_c/libffi/src/aarch64/internal.h +1 -0
  97. data/ext/ffi_c/libffi/src/aarch64/sysv.S +22 -9
  98. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  99. data/ext/ffi_c/libffi/src/arm/ffi.c +62 -5
  100. data/ext/ffi_c/libffi/src/arm/ffitarget.h +8 -1
  101. data/ext/ffi_c/libffi/src/arm/sysv.S +6 -4
  102. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  103. data/ext/ffi_c/libffi/src/closures.c +69 -14
  104. data/ext/ffi_c/libffi/src/csky/ffi.c +395 -0
  105. data/ext/ffi_c/libffi/src/csky/ffitarget.h +63 -0
  106. data/ext/ffi_c/libffi/src/csky/sysv.S +371 -0
  107. data/ext/ffi_c/libffi/src/dlmalloc.c +1 -1
  108. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  109. data/ext/ffi_c/libffi/src/kvx/asm.h +5 -0
  110. data/ext/ffi_c/libffi/src/kvx/ffi.c +273 -0
  111. data/ext/ffi_c/libffi/src/kvx/ffitarget.h +75 -0
  112. data/ext/ffi_c/libffi/src/kvx/sysv.S +127 -0
  113. data/ext/ffi_c/libffi/src/metag/ffi.c +1 -1
  114. data/ext/ffi_c/libffi/src/mips/ffi.c +5 -1
  115. data/ext/ffi_c/libffi/src/mips/ffitarget.h +1 -1
  116. data/ext/ffi_c/libffi/src/mips/o32.S +2 -0
  117. data/ext/ffi_c/libffi/src/moxie/ffi.c +1 -1
  118. data/ext/ffi_c/libffi/src/pa/ffi.c +46 -91
  119. data/ext/ffi_c/libffi/src/pa/ffitarget.h +1 -6
  120. data/ext/ffi_c/libffi/src/pa/hpux32.S +4 -2
  121. data/ext/ffi_c/libffi/src/pa/linux.S +27 -4
  122. data/ext/ffi_c/libffi/src/powerpc/ffi.c +6 -4
  123. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +13 -1
  124. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +211 -32
  125. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +18 -7
  126. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +10 -4
  127. data/ext/ffi_c/libffi/src/powerpc/linux64.S +91 -28
  128. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +81 -5
  129. data/ext/ffi_c/libffi/src/powerpc/sysv.S +5 -7
  130. data/ext/ffi_c/libffi/src/prep_cif.c +4 -2
  131. data/ext/ffi_c/libffi/src/riscv/ffi.c +42 -6
  132. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +1 -0
  133. data/ext/ffi_c/libffi/src/riscv/sysv.S +86 -7
  134. data/ext/ffi_c/libffi/src/x86/ffi.c +29 -12
  135. data/ext/ffi_c/libffi/src/x86/ffi64.c +22 -11
  136. data/ext/ffi_c/libffi/src/x86/ffitarget.h +15 -2
  137. data/ext/ffi_c/libffi/src/x86/ffiw64.c +20 -10
  138. data/ext/ffi_c/libffi/src/x86/sysv.S +105 -10
  139. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +995 -0
  140. data/ext/ffi_c/libffi/src/x86/unix64.S +100 -4
  141. data/ext/ffi_c/libffi/src/x86/win64.S +12 -3
  142. data/ext/ffi_c/libffi/src/x86/win64_intel.S +3 -2
  143. data/ext/ffi_c/libffi/testsuite/Makefile.am +114 -109
  144. data/ext/ffi_c/libffi/testsuite/Makefile.in +124 -84
  145. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +32 -8
  146. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +7 -2
  147. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +4 -4
  148. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2 -2
  149. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +12 -1
  150. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +9 -8
  151. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -1
  152. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +67 -0
  153. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +138 -0
  154. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/huge_struct.c +3 -1
  155. data/ext/ffi_c/libffi.darwin.mk +1 -1
  156. data/ext/ffi_c/rbffi.h +0 -2
  157. data/ffi.gemspec +13 -7
  158. data/lib/ffi/abstract_memory.rb +44 -0
  159. data/lib/ffi/autopointer.rb +1 -1
  160. data/lib/ffi/data_converter.rb +67 -0
  161. data/lib/ffi/ffi.rb +3 -0
  162. data/lib/ffi/io.rb +3 -3
  163. data/lib/ffi/library.rb +13 -9
  164. data/lib/ffi/managedstruct.rb +2 -2
  165. data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  166. data/lib/ffi/platform/aarch64-freebsd/types.conf +89 -89
  167. data/lib/ffi/platform/aarch64-freebsd12/types.conf +162 -109
  168. data/lib/ffi/platform/aarch64-linux/types.conf +81 -81
  169. data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  170. data/lib/ffi/platform/arm-freebsd/types.conf +87 -87
  171. data/lib/ffi/platform/arm-freebsd12/types.conf +87 -87
  172. data/lib/ffi/platform/arm-linux/types.conf +110 -82
  173. data/lib/ffi/platform/i386-cygwin/types.conf +1 -1
  174. data/lib/ffi/platform/i386-darwin/types.conf +63 -63
  175. data/lib/ffi/platform/i386-freebsd/types.conf +87 -87
  176. data/lib/ffi/platform/i386-freebsd12/types.conf +87 -87
  177. data/lib/ffi/platform/i386-gnu/types.conf +84 -84
  178. data/lib/ffi/platform/i386-linux/types.conf +77 -77
  179. data/lib/ffi/platform/i386-netbsd/types.conf +87 -87
  180. data/lib/ffi/platform/i386-openbsd/types.conf +89 -89
  181. data/lib/ffi/platform/i386-solaris/types.conf +96 -96
  182. data/lib/ffi/platform/i386-windows/types.conf +43 -96
  183. data/lib/ffi/platform/ia64-linux/types.conf +79 -79
  184. data/lib/ffi/platform/mips-linux/types.conf +79 -79
  185. data/lib/ffi/platform/mips64-linux/types.conf +81 -81
  186. data/lib/ffi/platform/mips64el-linux/types.conf +81 -81
  187. data/lib/ffi/platform/mipsel-linux/types.conf +79 -79
  188. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +79 -79
  189. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +79 -79
  190. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +81 -81
  191. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +81 -81
  192. data/lib/ffi/platform/powerpc-aix/types.conf +155 -155
  193. data/lib/ffi/platform/powerpc-darwin/types.conf +63 -63
  194. data/lib/ffi/platform/powerpc-linux/types.conf +108 -78
  195. data/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  196. data/lib/ffi/platform/powerpc64-linux/types.conf +81 -81
  197. data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  198. data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  199. data/lib/ffi/platform/s390-linux/types.conf +79 -79
  200. data/lib/ffi/platform/s390x-linux/types.conf +79 -79
  201. data/lib/ffi/platform/sparc-linux/types.conf +79 -79
  202. data/lib/ffi/platform/sparc-solaris/types.conf +103 -103
  203. data/lib/ffi/platform/sparc64-linux/types.conf +79 -79
  204. data/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  205. data/lib/ffi/platform/sparcv9-solaris/types.conf +103 -103
  206. data/lib/ffi/platform/x86_64-cygwin/types.conf +1 -1
  207. data/lib/ffi/platform/x86_64-darwin/types.conf +88 -84
  208. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  209. data/lib/ffi/platform/x86_64-freebsd/types.conf +89 -89
  210. data/lib/ffi/platform/x86_64-freebsd12/types.conf +139 -109
  211. data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  212. data/lib/ffi/platform/x86_64-linux/types.conf +107 -77
  213. data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  214. data/lib/ffi/platform/x86_64-netbsd/types.conf +89 -89
  215. data/lib/ffi/platform/x86_64-openbsd/types.conf +86 -86
  216. data/lib/ffi/platform/x86_64-solaris/types.conf +96 -96
  217. data/lib/ffi/platform/x86_64-windows/types.conf +42 -110
  218. data/lib/ffi/platform.rb +24 -9
  219. data/lib/ffi/pointer.rb +22 -15
  220. data/lib/ffi/struct.rb +13 -68
  221. data/lib/ffi/struct_by_reference.rb +72 -0
  222. data/lib/ffi/struct_layout.rb +96 -0
  223. data/lib/ffi/tools/const_generator.rb +11 -8
  224. data/lib/ffi/tools/generator.rb +47 -2
  225. data/lib/ffi/tools/generator_task.rb +13 -17
  226. data/lib/ffi/tools/struct_generator.rb +6 -5
  227. data/lib/ffi/tools/types_generator.rb +7 -4
  228. data/lib/ffi/types.rb +1 -1
  229. data/lib/ffi/variadic.rb +1 -10
  230. data/lib/ffi/version.rb +1 -1
  231. data/lib/ffi.rb +10 -3
  232. data/rakelib/ffi_gem_helper.rb +65 -0
  233. data/samples/getlogin.rb +1 -1
  234. data/samples/getpid.rb +1 -1
  235. data/samples/gettimeofday.rb +8 -8
  236. data/samples/hello.rb +2 -1
  237. data/samples/inotify.rb +1 -1
  238. data/samples/pty.rb +1 -2
  239. data/samples/qsort.rb +0 -1
  240. metadata +157 -139
  241. data/.gitignore +0 -22
  242. data/.gitmodules +0 -3
  243. data/.travis.yml +0 -43
  244. data/.yardopts +0 -5
  245. data/appveyor.yml +0 -22
  246. data/ext/ffi_c/DataConverter.c +0 -91
  247. data/ext/ffi_c/StructByReference.c +0 -190
  248. data/ext/ffi_c/StructByReference.h +0 -50
  249. data/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  250. data/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  251. data/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  252. data/ext/ffi_c/win32/stdbool.h +0 -8
  253. data/ext/ffi_c/win32/stdint.h +0 -201
  254. data/samples/sample_helper.rb +0 -6
  255. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn0.c +0 -0
  256. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn1.c +0 -0
  257. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn2.c +0 -0
  258. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn3.c +0 -0
  259. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn4.c +0 -0
  260. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn5.c +0 -0
  261. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn6.c +0 -0
  262. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_loc_fn0.c +0 -0
  263. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_simple.c +0 -0
  264. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_12byte.c +0 -0
  265. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_16byte.c +0 -0
  266. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_18byte.c +0 -0
  267. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_19byte.c +0 -0
  268. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_1_1byte.c +0 -0
  269. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte.c +0 -0
  270. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte1.c +0 -0
  271. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_24byte.c +0 -0
  272. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_2byte.c +0 -0
  273. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3_1byte.c +0 -0
  274. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte1.c +0 -0
  275. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte2.c +0 -0
  276. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3float.c +0 -0
  277. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4_1byte.c +0 -0
  278. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4byte.c +0 -0
  279. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5_1_byte.c +0 -0
  280. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5byte.c +0 -0
  281. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_64byte.c +0 -0
  282. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6_1_byte.c +0 -0
  283. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6byte.c +0 -0
  284. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7_1_byte.c +0 -0
  285. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7byte.c +0 -0
  286. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_8byte.c +0 -0
  287. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte1.c +0 -0
  288. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte2.c +0 -0
  289. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_double.c +0 -0
  290. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_float.c +0 -0
  291. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble.c +0 -0
  292. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split.c +0 -0
  293. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split2.c +0 -0
  294. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_pointer.c +0 -0
  295. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint16.c +0 -0
  296. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint32.c +0 -0
  297. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint64.c +0 -0
  298. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint16.c +0 -0
  299. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint32.c +0 -0
  300. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint64.c +0 -0
  301. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_dbls_struct.c +0 -0
  302. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double.c +0 -0
  303. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double_va.c +0 -0
  304. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_float.c +0 -0
  305. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble.c +0 -0
  306. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble_va.c +0 -0
  307. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_args.c +0 -0
  308. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_float_double.c +0 -0
  309. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_schar.c +0 -0
  310. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshort.c +0 -0
  311. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshortchar.c +0 -0
  312. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_uchar.c +0 -0
  313. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushort.c +0 -0
  314. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushortchar.c +0 -0
  315. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer.c +0 -0
  316. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer_stack.c +0 -0
  317. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_schar.c +0 -0
  318. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sint.c +0 -0
  319. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sshort.c +0 -0
  320. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_struct_va1.c +0 -0
  321. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar.c +0 -0
  322. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar_va.c +0 -0
  323. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint.c +0 -0
  324. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint_va.c +0 -0
  325. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulong_va.c +0 -0
  326. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulonglong.c +0 -0
  327. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort.c +0 -0
  328. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort_va.c +0 -0
  329. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/err_bad_abi.c +0 -0
  330. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct.c +0 -0
  331. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct1.c +0 -0
  332. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct10.c +0 -0
  333. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct11.c +0 -0
  334. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct2.c +0 -0
  335. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct3.c +0 -0
  336. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct4.c +0 -0
  337. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct5.c +0 -0
  338. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct6.c +0 -0
  339. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct7.c +0 -0
  340. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct8.c +0 -0
  341. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct9.c +0 -0
  342. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/problem1.c +0 -0
  343. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large.c +0 -0
  344. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large2.c +0 -0
  345. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium.c +0 -0
  346. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium2.c +0 -0
  347. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/testclosure.c +0 -0
  348. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/unwindtest.cc +0 -0
  349. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/unwindtest_ffi_call.cc +0 -0
@@ -1,6 +1,6 @@
1
1
  #! /bin/sh
2
2
  # Guess values for system-dependent variables and create Makefiles.
3
- # Generated by GNU Autoconf 2.69 for libffi 3.99999.
3
+ # Generated by GNU Autoconf 2.69 for libffi 3.3.
4
4
  #
5
5
  # Report bugs to <http://github.com/libffi/libffi/issues>.
6
6
  #
@@ -590,8 +590,8 @@ MAKEFLAGS=
590
590
  # Identity of this package.
591
591
  PACKAGE_NAME='libffi'
592
592
  PACKAGE_TARNAME='libffi'
593
- PACKAGE_VERSION='3.99999'
594
- PACKAGE_STRING='libffi 3.99999'
593
+ PACKAGE_VERSION='3.3'
594
+ PACKAGE_STRING='libffi 3.3'
595
595
  PACKAGE_BUGREPORT='http://github.com/libffi/libffi/issues'
596
596
  PACKAGE_URL=''
597
597
 
@@ -709,7 +709,6 @@ am__nodep
709
709
  AMDEPBACKSLASH
710
710
  AMDEP_FALSE
711
711
  AMDEP_TRUE
712
- am__quote
713
712
  am__include
714
713
  DEPDIR
715
714
  OBJEXT
@@ -797,7 +796,8 @@ PACKAGE_VERSION
797
796
  PACKAGE_TARNAME
798
797
  PACKAGE_NAME
799
798
  PATH_SEPARATOR
800
- SHELL'
799
+ SHELL
800
+ am__quote'
801
801
  ac_subst_files=''
802
802
  ac_user_opts='
803
803
  enable_option_checking
@@ -1383,7 +1383,7 @@ if test "$ac_init_help" = "long"; then
1383
1383
  # Omit some internal or obsolete options to make the list less imposing.
1384
1384
  # This message is too long to be a string in the A/UX 3.1 sh.
1385
1385
  cat <<_ACEOF
1386
- \`configure' configures libffi 3.99999 to adapt to many kinds of systems.
1386
+ \`configure' configures libffi 3.3 to adapt to many kinds of systems.
1387
1387
 
1388
1388
  Usage: $0 [OPTION]... [VAR=VALUE]...
1389
1389
 
@@ -1455,7 +1455,7 @@ fi
1455
1455
 
1456
1456
  if test -n "$ac_init_help"; then
1457
1457
  case $ac_init_help in
1458
- short | recursive ) echo "Configuration of libffi 3.99999:";;
1458
+ short | recursive ) echo "Configuration of libffi 3.3:";;
1459
1459
  esac
1460
1460
  cat <<\_ACEOF
1461
1461
 
@@ -1590,7 +1590,7 @@ fi
1590
1590
  test -n "$ac_init_help" && exit $ac_status
1591
1591
  if $ac_init_version; then
1592
1592
  cat <<\_ACEOF
1593
- libffi configure 3.99999
1593
+ libffi configure 3.3
1594
1594
  generated by GNU Autoconf 2.69
1595
1595
 
1596
1596
  Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2317,7 +2317,7 @@ cat >config.log <<_ACEOF
2317
2317
  This file contains any messages produced by compilers while
2318
2318
  running configure, to aid debugging if configure makes a mistake.
2319
2319
 
2320
- It was created by libffi $as_me 3.99999, which was
2320
+ It was created by libffi $as_me 3.3, which was
2321
2321
  generated by GNU Autoconf 2.69. Invocation command line was
2322
2322
 
2323
2323
  $ $0 $@
@@ -2817,7 +2817,7 @@ case "${host}" in
2817
2817
  esac
2818
2818
 
2819
2819
 
2820
- # [$]@ is unsable in 2.60+ but earlier autoconf had no ac_configure_args
2820
+ # [$]@ is unusable in 2.60+ but earlier autoconf had no ac_configure_args
2821
2821
  if test "${ac_configure_args+set}" != "set" ; then
2822
2822
  ac_configure_args=
2823
2823
  for ac_arg in ${1+"$@"}; do
@@ -2868,7 +2868,7 @@ $as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6;
2868
2868
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
2869
2869
  $as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
2870
2870
  case "$0" in # restart
2871
- [\\/]* | ?:[\\/]*) # Asbolute name
2871
+ [\\/]* | ?:[\\/]*) # Absolute name
2872
2872
  eval $SHELL "'$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
2873
2873
  *) eval $SHELL "'$srcdir/$0'" "'--srcdir=$srcdir'" "'--enable-builddir=$ax_enable_builddir'" $ac_configure_args ;;
2874
2874
  esac ; exit $?
@@ -2921,7 +2921,7 @@ ax_enable_builddir_auxdir="$am_aux_dir"
2921
2921
  ac_config_commands="$ac_config_commands buildir"
2922
2922
 
2923
2923
 
2924
- am__api_version='1.15'
2924
+ am__api_version='1.16'
2925
2925
 
2926
2926
  # Find a good install program. We prefer a C program (faster),
2927
2927
  # so one script is as good as another. But avoid the broken or
@@ -3404,7 +3404,7 @@ fi
3404
3404
 
3405
3405
  # Define the identity of the package.
3406
3406
  PACKAGE='libffi'
3407
- VERSION='3.99999'
3407
+ VERSION='3.3'
3408
3408
 
3409
3409
 
3410
3410
  cat >>confdefs.h <<_ACEOF
@@ -3434,8 +3434,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
3434
3434
 
3435
3435
  # For better backward compatibility. To be removed once Automake 1.9.x
3436
3436
  # dies out for good. For more background, see:
3437
- # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
3438
- # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
3437
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
3438
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
3439
3439
  mkdir_p='$(MKDIR_P)'
3440
3440
 
3441
3441
  # We need awk for the "check" target (and possibly the TAP driver). The
@@ -3486,7 +3486,7 @@ END
3486
3486
  Aborting the configuration process, to ensure you take notice of the issue.
3487
3487
 
3488
3488
  You can download and install GNU coreutils to get an 'rm' implementation
3489
- that behaves properly: <http://www.gnu.org/software/coreutils/>.
3489
+ that behaves properly: <https://www.gnu.org/software/coreutils/>.
3490
3490
 
3491
3491
  If you want to complete the configuration process using your problematic
3492
3492
  'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
@@ -4359,45 +4359,45 @@ DEPDIR="${am__leading_dot}deps"
4359
4359
 
4360
4360
  ac_config_commands="$ac_config_commands depfiles"
4361
4361
 
4362
-
4363
- am_make=${MAKE-make}
4364
- cat > confinc << 'END'
4362
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
4363
+ $as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
4364
+ cat > confinc.mk << 'END'
4365
4365
  am__doit:
4366
- @echo this is the am__doit target
4366
+ @echo this is the am__doit target >confinc.out
4367
4367
  .PHONY: am__doit
4368
4368
  END
4369
- # If we don't find an include directive, just comment out the code.
4370
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
4371
- $as_echo_n "checking for style of include used by $am_make... " >&6; }
4372
4369
  am__include="#"
4373
4370
  am__quote=
4374
- _am_result=none
4375
- # First try GNU make style include.
4376
- echo "include confinc" > confmf
4377
- # Ignore all kinds of additional output from 'make'.
4378
- case `$am_make -s -f confmf 2> /dev/null` in #(
4379
- *the\ am__doit\ target*)
4380
- am__include=include
4381
- am__quote=
4382
- _am_result=GNU
4383
- ;;
4384
- esac
4385
- # Now try BSD make style include.
4386
- if test "$am__include" = "#"; then
4387
- echo '.include "confinc"' > confmf
4388
- case `$am_make -s -f confmf 2> /dev/null` in #(
4389
- *the\ am__doit\ target*)
4390
- am__include=.include
4391
- am__quote="\""
4392
- _am_result=BSD
4371
+ # BSD make does it like this.
4372
+ echo '.include "confinc.mk" # ignored' > confmf.BSD
4373
+ # Other make implementations (GNU, Solaris 10, AIX) do it like this.
4374
+ echo 'include confinc.mk # ignored' > confmf.GNU
4375
+ _am_result=no
4376
+ for s in GNU BSD; do
4377
+ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
4378
+ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
4379
+ ac_status=$?
4380
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
4381
+ (exit $ac_status); }
4382
+ case $?:`cat confinc.out 2>/dev/null` in #(
4383
+ '0:this is the am__doit target') :
4384
+ case $s in #(
4385
+ BSD) :
4386
+ am__include='.include' am__quote='"' ;; #(
4387
+ *) :
4388
+ am__include='include' am__quote='' ;;
4389
+ esac ;; #(
4390
+ *) :
4393
4391
  ;;
4394
- esac
4395
- fi
4396
-
4397
-
4398
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
4399
- $as_echo "$_am_result" >&6; }
4400
- rm -f confinc confmf
4392
+ esac
4393
+ if test "$am__include" != "#"; then
4394
+ _am_result="yes ($s style)"
4395
+ break
4396
+ fi
4397
+ done
4398
+ rm -f confinc.* confmf.*
4399
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
4400
+ $as_echo "${_am_result}" >&6; }
4401
4401
 
4402
4402
  # Check whether --enable-dependency-tracking was given.
4403
4403
  if test "${enable_dependency_tracking+set}" = set; then :
@@ -16458,18 +16458,20 @@ $as_echo_n "checking for C compiler vendor... " >&6; }
16458
16458
  if ${ax_cv_c_compiler_vendor+:} false; then :
16459
16459
  $as_echo_n "(cached) " >&6
16460
16460
  else
16461
- # note: don't check for gcc first since some other compilers define __GNUC__
16461
+ # note: don't check for gcc first since some other compilers define __GNUC__
16462
16462
  vendors="intel: __ICC,__ECC,__INTEL_COMPILER
16463
16463
  ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
16464
16464
  pathscale: __PATHCC__,__PATHSCALE__
16465
16465
  clang: __clang__
16466
+ cray: _CRAYC
16467
+ fujitsu: __FUJITSU
16468
+ sdcc: SDCC, __SDCC
16466
16469
  gnu: __GNUC__
16467
16470
  sun: __SUNPRO_C,__SUNPRO_CC
16468
16471
  hp: __HP_cc,__HP_aCC
16469
16472
  dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
16470
- borland: __BORLANDC__,__TURBOC__
16473
+ borland: __BORLANDC__,__CODEGEARC__,__TURBOC__
16471
16474
  comeau: __COMO__
16472
- cray: _CRAYC
16473
16475
  kai: __KCC
16474
16476
  lcc: __LCC__
16475
16477
  sgi: __sgi,sgi
@@ -16477,6 +16479,7 @@ else
16477
16479
  metrowerks: __MWERKS__
16478
16480
  watcom: __WATCOMC__
16479
16481
  portland: __PGI
16482
+ tcc: __TINYC__
16480
16483
  unknown: UNKNOWN"
16481
16484
  for ventest in $vendors; do
16482
16485
  case $ventest in
@@ -16577,7 +16580,7 @@ fi
16577
16580
  eval ac_res=\$$as_CACHEVAR
16578
16581
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16579
16582
  $as_echo "$ac_res" >&6; }
16580
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
16583
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
16581
16584
  CFLAGS="-O3 -qansialias -w $xlc_opt"
16582
16585
  else
16583
16586
  CFLAGS="-O3 -qansialias -w"
@@ -16624,11 +16627,14 @@ int
16624
16627
  main ()
16625
16628
  {
16626
16629
 
16627
- int op = 0, eax, ebx, ecx, edx;
16630
+ int op = 0, level = 0, eax, ebx, ecx, edx;
16628
16631
  FILE *f;
16629
- __asm__("cpuid"
16630
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16631
- : "a" (op));
16632
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16633
+ "cpuid\n"
16634
+ "xchg %%ebx, %1\n"
16635
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16636
+ : "a" (op), "2" (level));
16637
+
16632
16638
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16633
16639
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16634
16640
  fclose(f);
@@ -16658,6 +16664,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
16658
16664
 
16659
16665
 
16660
16666
 
16667
+
16661
16668
  ac_ext=c
16662
16669
  ac_cpp='$CPP $CPPFLAGS'
16663
16670
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -16679,11 +16686,14 @@ int
16679
16686
  main ()
16680
16687
  {
16681
16688
 
16682
- int op = 1, eax, ebx, ecx, edx;
16689
+ int op = 1, level = 0, eax, ebx, ecx, edx;
16683
16690
  FILE *f;
16684
- __asm__("cpuid"
16685
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16686
- : "a" (op));
16691
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16692
+ "cpuid\n"
16693
+ "xchg %%ebx, %1\n"
16694
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16695
+ : "a" (op), "2" (level));
16696
+
16687
16697
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16688
16698
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16689
16699
  fclose(f);
@@ -16712,12 +16722,21 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
16712
16722
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
16713
16723
 
16714
16724
 
16725
+
16715
16726
  case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
16716
- *:756e6547:*:*) # Intel
16727
+ *:756e6547:6c65746e:49656e69) # Intel
16717
16728
  case $ax_cv_gcc_x86_cpuid_1 in
16718
- *6a?:*[234]:*:*|*6[789b]?:*:*:*) icc_flags="-xK";;
16719
- *f3[347]:*:*:*|*f41347:*:*:*) icc_flags="-xP -xN -xW -xK";;
16720
- *f??:*:*:*) icc_flags="-xN -xW -xK";;
16729
+ *0?6[78ab]?:*:*:*|?6[78ab]?:*:*:*|6[78ab]?:*:*:*) icc_flags="-xK" ;;
16730
+ *0?6[9d]?:*:*:*|?6[9d]?:*:*:*|6[9d]?:*:*:*|*1?65?:*:*:*) icc_flags="-xSSE2 -xB -xK" ;;
16731
+ *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) icc_flags="-xSSE3 -xP -xO -xB -xK" ;;
16732
+ *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) icc_flags="-xSSSE3 -xT -xB -xK" ;;
16733
+ *1?6[7d]?:*:*:*) icc_flags="-xSSE4.1 -xS -xT -xB -xK" ;;
16734
+ *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) icc_flags="-xSSE4.2 -xS -xT -xB -xK" ;;
16735
+ *2?6[ad]?:*:*:*) icc_flags="-xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16736
+ *3?6[ae]?:*:*:*) icc_flags="-xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16737
+ *3?6[cf]?:*:*:*|*4?6[56]?:*:*:*) icc_flags="-xCORE-AVX2 -xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16738
+ *000?f[346]?:*:*:*|?f[346]?:*:*:*|f[346]?:*:*:*) icc_flags="-xSSE3 -xP -xO -xN -xW -xK" ;;
16739
+ *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) icc_flags="-xSSE2 -xN -xW -xK" ;;
16721
16740
  esac ;;
16722
16741
  esac ;;
16723
16742
  esac
@@ -16754,7 +16773,7 @@ fi
16754
16773
  eval ac_res=\$$as_CACHEVAR
16755
16774
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16756
16775
  $as_echo "$ac_res" >&6; }
16757
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
16776
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
16758
16777
  icc_archflag=$flag; break
16759
16778
  else
16760
16779
  :
@@ -16777,7 +16796,7 @@ $as_echo "$icc_archflag" >&6; }
16777
16796
  CFLAGS="-O3 -fomit-frame-pointer"
16778
16797
 
16779
16798
  # -malign-double for x86 systems
16780
- # LIBFFI -- DON'T DO THIS - CHANGES ABI
16799
+ # libffi local change -- don't align double, as it changes the ABI
16781
16800
  # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
16782
16801
 
16783
16802
  # -fstrict-aliasing for gcc-2.95+
@@ -16810,7 +16829,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16810
16829
  fi
16811
16830
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
16812
16831
  $as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
16813
- if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
16832
+ if test "x$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
16814
16833
  CFLAGS="$CFLAGS -fstrict-aliasing"
16815
16834
  else
16816
16835
  :
@@ -16847,7 +16866,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16847
16866
  fi
16848
16867
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
16849
16868
  $as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
16850
- if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
16869
+ if test "x$ax_cv_check_cflags___ffast_math" = xyes; then :
16851
16870
  CFLAGS="$CFLAGS -ffast-math"
16852
16871
  else
16853
16872
  :
@@ -16858,6 +16877,8 @@ fi
16858
16877
 
16859
16878
 
16860
16879
 
16880
+
16881
+
16861
16882
  # Check whether --with-gcc-arch was given.
16862
16883
  if test "${with_gcc_arch+set}" = set; then :
16863
16884
  withval=$with_gcc_arch; ax_gcc_arch=$withval
@@ -16882,7 +16903,7 @@ if test "x$ax_gcc_arch" = xyes; then
16882
16903
  ax_gcc_arch=""
16883
16904
  if test "$cross_compiling" = no; then
16884
16905
  case $host_cpu in
16885
- i[3456]86*|x86_64*) # use cpuid codes
16906
+ i[3456]86*|x86_64*|amd64*) # use cpuid codes
16886
16907
 
16887
16908
  ac_ext=c
16888
16909
  ac_cpp='$CPP $CPPFLAGS'
@@ -16905,11 +16926,14 @@ int
16905
16926
  main ()
16906
16927
  {
16907
16928
 
16908
- int op = 0, eax, ebx, ecx, edx;
16929
+ int op = 0, level = 0, eax, ebx, ecx, edx;
16909
16930
  FILE *f;
16910
- __asm__("cpuid"
16911
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16912
- : "a" (op));
16931
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16932
+ "cpuid\n"
16933
+ "xchg %%ebx, %1\n"
16934
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16935
+ : "a" (op), "2" (level));
16936
+
16913
16937
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16914
16938
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16915
16939
  fclose(f);
@@ -16939,6 +16963,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
16939
16963
 
16940
16964
 
16941
16965
 
16966
+
16942
16967
  ac_ext=c
16943
16968
  ac_cpp='$CPP $CPPFLAGS'
16944
16969
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -16960,11 +16985,14 @@ int
16960
16985
  main ()
16961
16986
  {
16962
16987
 
16963
- int op = 1, eax, ebx, ecx, edx;
16988
+ int op = 1, level = 0, eax, ebx, ecx, edx;
16964
16989
  FILE *f;
16965
- __asm__("cpuid"
16966
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16967
- : "a" (op));
16990
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16991
+ "cpuid\n"
16992
+ "xchg %%ebx, %1\n"
16993
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16994
+ : "a" (op), "2" (level));
16995
+
16968
16996
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16969
16997
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16970
16998
  fclose(f);
@@ -16993,114 +17021,68 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
16993
17021
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
16994
17022
 
16995
17023
 
17024
+
16996
17025
  case $ax_cv_gcc_x86_cpuid_0 in
16997
- *:756e6547:*:*) # Intel
17026
+ *:756e6547:6c65746e:49656e69) # Intel
16998
17027
  case $ax_cv_gcc_x86_cpuid_1 in
16999
- *5[48]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
17000
- *5??:*:*:*) ax_gcc_arch=pentium ;;
17001
- *0?6[3456]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
17002
- *0?6a?:*[01]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
17003
- *0?6a?:*[234]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
17004
- *0?6[9de]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
17005
- *0?6[78b]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
17006
- *0?6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
17028
+ *5[4578]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
17029
+ *5[123]?:*:*:*) ax_gcc_arch=pentium ;;
17030
+ *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;;
17031
+ *0?6[356]?:*:*:*|?6[356]?:*:*:*|6[356]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
17032
+ *0?6[78ab]?:*:*:*|?6[78ab]?:*:*:*|6[78ab]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
17033
+ *0?6[9d]?:*:*:*|?6[9d]?:*:*:*|6[9d]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
17034
+ *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;;
17035
+ *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
17007
17036
  *1?6[7d]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
17008
- *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
17009
- *1?6c?:*:*:*|*[23]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
17010
- *2?6[ad]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17011
- *0?6??:*:*:*) ax_gcc_arch=pentiumpro ;;
17012
- *6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
17013
- ?000?f3[347]:*:*:*|?000?f41347:*:*:*|?000?f6?:*:*:*)
17014
- case $host_cpu in
17015
- x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
17016
- *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
17017
- esac ;;
17018
- ?000?f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
17037
+ *1?6[aef]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;;
17038
+ *2?6[5cf]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;;
17039
+ *2?6[ad]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17040
+ *3?6[ae]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17041
+ *3?6[cf]?:*:*:*|*4?6[56]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17042
+ *3?6d?:*:*:*|*4?6[7f]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17043
+ *1?6c?:*:*:*|*2?6[67]?:*:*:*|*3?6[56]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;;
17044
+ *3?67?:*:*:*|*[45]?6[ad]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;;
17045
+ *000?f[012]?:*:*:*|?f[012]?:*:*:*|f[012]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
17046
+ *000?f[346]?:*:*:*|?f[346]?:*:*:*|f[346]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;;
17047
+ # fallback
17048
+ *5??:*:*:*) ax_gcc_arch=pentium ;;
17049
+ *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
17050
+ *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
17051
+ *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
17019
17052
  esac ;;
17020
- *:68747541:*:*) # AMD
17053
+ *:68747541:444d4163:69746e65) # AMD
17021
17054
  case $ax_cv_gcc_x86_cpuid_1 in
17022
17055
  *5[67]?:*:*:*) ax_gcc_arch=k6 ;;
17023
- *5[8d]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
17024
- *5[9]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
17025
- *60?:*:*:*) ax_gcc_arch=k7 ;;
17056
+ *5[8]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
17057
+ *5[9d]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
17026
17058
  *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
17027
17059
  *6[34]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
17028
- *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
17029
- *6[68a]?:*:*:*)
17030
-
17031
- ac_ext=c
17032
- ac_cpp='$CPP $CPPFLAGS'
17033
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
17034
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
17035
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
17036
-
17037
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for x86 cpuid 0x80000006 output" >&5
17038
- $as_echo_n "checking for x86 cpuid 0x80000006 output... " >&6; }
17039
- if ${ax_cv_gcc_x86_cpuid_0x80000006+:} false; then :
17040
- $as_echo_n "(cached) " >&6
17041
- else
17042
- if test "$cross_compiling" = yes; then :
17043
- ax_cv_gcc_x86_cpuid_0x80000006=unknown
17044
- else
17045
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17046
- /* end confdefs.h. */
17047
- #include <stdio.h>
17048
- int
17049
- main ()
17050
- {
17051
-
17052
- int op = 0x80000006, eax, ebx, ecx, edx;
17053
- FILE *f;
17054
- __asm__("cpuid"
17055
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
17056
- : "a" (op));
17057
- f = fopen("conftest_cpuid", "w"); if (!f) return 1;
17058
- fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
17059
- fclose(f);
17060
- return 0;
17061
-
17062
- ;
17063
- return 0;
17064
- }
17065
- _ACEOF
17066
- if ac_fn_c_try_run "$LINENO"; then :
17067
- ax_cv_gcc_x86_cpuid_0x80000006=`cat conftest_cpuid`; rm -f conftest_cpuid
17068
- else
17069
- ax_cv_gcc_x86_cpuid_0x80000006=unknown; rm -f conftest_cpuid
17070
- fi
17071
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
17072
- conftest.$ac_objext conftest.beam conftest.$ac_ext
17073
- fi
17074
-
17075
- fi
17076
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_gcc_x86_cpuid_0x80000006" >&5
17077
- $as_echo "$ax_cv_gcc_x86_cpuid_0x80000006" >&6; }
17078
- ac_ext=c
17079
- ac_cpp='$CPP $CPPFLAGS'
17080
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
17081
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
17082
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
17083
-
17084
- # L2 cache size
17085
- case $ax_cv_gcc_x86_cpuid_0x80000006 in
17086
- *:*:*[1-9a-f]??????:*) # (L2 = ecx >> 16) >= 256
17087
- ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
17088
- *) ax_gcc_arch="athlon-4 athlon k7" ;;
17089
- esac ;;
17090
- ?00??f[4cef8b]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
17091
- ?00??f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
17092
- ?00??f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
17093
- ?00??f??:*:*:*) ax_gcc_arch="k8" ;;
17094
- ?05??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
17095
- ?06??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
17096
- *f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
17060
+ *6[678a]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
17061
+ *000?f[4578bcef]?:*:*:*|?f[4578bcef]?:*:*:*|f[4578bcef]?:*:*:*|*001?f[4578bcf]?:*:*:*|1?f[4578bcf]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
17062
+ *002?f[13457bcf]?:*:*:*|2?f[13457bcf]?:*:*:*|*004?f[138bcf]?:*:*:*|4?f[138bcf]?:*:*:*|*005?f[df]?:*:*:*|5?f[df]?:*:*:*|*006?f[8bcf]?:*:*:*|6?f[8bcf]?:*:*:*|*007?f[cf]?:*:*:*|7?f[cf]?:*:*:*|*00c?f1?:*:*:*|c?f1?:*:*:*|*020?f3?:*:*:*|20?f3?:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;;
17063
+ *010?f[245689a]?:*:*:*|10?f[245689a]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
17064
+ *050?f[12]?:*:*:*|50?f[12]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
17065
+ *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
17066
+ *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[03]?:*:*:*|61?f[03]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
17067
+ *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
17068
+ *07[03]?f0?:*:*:*|7[03]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
17069
+ # fallback
17070
+ *0[13]??f??:*:*:*|[13]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
17071
+ *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;;
17072
+ *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
17073
+ *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
17074
+ *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
17075
+ *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
17076
+ *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
17077
+ *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
17097
17078
  esac ;;
17098
- *:746e6543:*:*) # IDT
17079
+ *:746e6543:736c7561:48727561) # IDT / VIA (Centaur)
17099
17080
  case $ax_cv_gcc_x86_cpuid_1 in
17100
17081
  *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
17101
- *58?:*:*:*) ax_gcc_arch=winchip2 ;;
17082
+ *5[89]?:*:*:*) ax_gcc_arch=winchip2 ;;
17083
+ *66?:*:*:*) ax_gcc_arch=winchip2 ;;
17102
17084
  *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
17103
- *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
17085
+ *6[9adf]?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
17104
17086
  esac ;;
17105
17087
  esac
17106
17088
  if test x"$ax_gcc_arch" = x; then # fallback
@@ -17155,7 +17137,7 @@ fi
17155
17137
 
17156
17138
 
17157
17139
  cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
17158
- cputype=`echo "$cputype" | tr -d ' -' | sed 's/SPARCIIi/SPARCII/' | tr $as_cr_LETTERS $as_cr_letters`
17140
+ cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters`
17159
17141
  case $cputype in
17160
17142
  *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
17161
17143
  *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
@@ -17177,8 +17159,8 @@ fi
17177
17159
  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
17178
17160
 
17179
17161
  powerpc*)
17180
- cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
17181
- cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
17162
+ cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | $SED 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
17163
+ cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'`
17182
17164
  case $cputype in
17183
17165
  *750*) ax_gcc_arch="750 G3" ;;
17184
17166
  *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
@@ -17188,25 +17170,53 @@ fi
17188
17170
  *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
17189
17171
  *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
17190
17172
  603ev|8240) ax_gcc_arch="$cputype 603e 603";;
17173
+ *POWER7*) ax_gcc_arch="power7";;
17174
+ *POWER8*) ax_gcc_arch="power8";;
17175
+ *POWER9*) ax_gcc_arch="power9";;
17176
+ *POWER10*) ax_gcc_arch="power10";;
17191
17177
  *) ax_gcc_arch=$cputype ;;
17192
17178
  esac
17193
17179
  ax_gcc_arch="$ax_gcc_arch powerpc"
17194
17180
  ;;
17181
+ aarch64)
17182
+ cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17183
+ cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17184
+ cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17185
+ case $cpuimpl in
17186
+ 0x42) case $cpuarch in
17187
+ 8) case $cpuvar in
17188
+ 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;;
17189
+ esac
17190
+ ;;
17191
+ esac
17192
+ ;;
17193
+ 0x43) case $cpuarch in
17194
+ 8) case $cpuvar in
17195
+ 0x0) ax_gcc_arch="thunderx armv8-a native" ;;
17196
+ 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;;
17197
+ esac
17198
+ ;;
17199
+ esac
17200
+ ;;
17201
+ esac
17202
+ ;;
17195
17203
  esac
17196
17204
  fi # not cross-compiling
17197
17205
  fi # guess arch
17198
17206
 
17199
17207
  if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
17200
- for arch in $ax_gcc_arch; do
17201
- if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
17202
- flags="-mtune=$arch"
17203
- # -mcpu=$arch and m$arch generate nonportable code on every arch except
17204
- # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
17205
- case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
17206
- else
17207
- flags="-march=$arch -mcpu=$arch -m$arch"
17208
- fi
17209
- for flag in $flags; do
17208
+ if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
17209
+ flag_prefixes="-mtune="
17210
+ if test "x$ax_cv_c_compiler_vendor" = xclang; then flag_prefixes="-march="; fi
17211
+ # -mcpu=$arch and m$arch generate nonportable code on every arch except
17212
+ # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
17213
+ case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac
17214
+ else
17215
+ flag_prefixes="-march= -mcpu= -m"
17216
+ fi
17217
+ for flag_prefix in $flag_prefixes; do
17218
+ for arch in $ax_gcc_arch; do
17219
+ flag="$flag_prefix$arch"
17210
17220
  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
17211
17221
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
17212
17222
  $as_echo_n "checking whether C compiler accepts $flag... " >&6; }
@@ -17238,8 +17248,12 @@ fi
17238
17248
  eval ac_res=\$$as_CACHEVAR
17239
17249
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
17240
17250
  $as_echo "$ac_res" >&6; }
17241
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
17242
- ax_cv_gcc_archflag=$flag; break
17251
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
17252
+ if test "x$ax_cv_c_compiler_vendor" = xclang; then
17253
+ if test "x$acx_maxopt_portable" = xyes; then
17254
+ if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi
17255
+ fi
17256
+ fi; ax_cv_gcc_archflag=$flag; break
17243
17257
  else
17244
17258
  :
17245
17259
  fi
@@ -17264,6 +17278,11 @@ else
17264
17278
  fi
17265
17279
 
17266
17280
  ;;
17281
+
17282
+ microsoft)
17283
+ # default optimization flags for MSVC opt builds
17284
+ CFLAGS="-O2"
17285
+ ;;
17267
17286
  esac
17268
17287
 
17269
17288
  if test -z "$CFLAGS"; then
@@ -17308,7 +17327,7 @@ fi
17308
17327
  eval ac_res=\$$as_CACHEVAR
17309
17328
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
17310
17329
  $as_echo "$ac_res" >&6; }
17311
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
17330
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
17312
17331
  :
17313
17332
  else
17314
17333
 
@@ -17329,29 +17348,7 @@ fi
17329
17348
  # The AX_CFLAGS_WARN_ALL macro doesn't currently work for sunpro
17330
17349
  # compiler.
17331
17350
  if test "$ax_cv_c_compiler_vendor" != "sun"; then
17332
- if ${CFLAGS+:} false; then :
17333
- case " $CFLAGS " in
17334
- *" "*)
17335
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains "; } >&5
17336
- (: CFLAGS already contains ) 2>&5
17337
- ac_status=$?
17338
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17339
- test $ac_status = 0; }
17340
- ;;
17341
- *)
17342
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \""; } >&5
17343
- (: CFLAGS="$CFLAGS ") 2>&5
17344
- ac_status=$?
17345
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17346
- test $ac_status = 0; }
17347
- CFLAGS="$CFLAGS "
17348
- ;;
17349
- esac
17350
- else
17351
- CFLAGS=""
17352
- fi
17353
-
17354
- ac_ext=c
17351
+ ac_ext=c
17355
17352
  ac_cpp='$CPP $CPPFLAGS'
17356
17353
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
17357
17354
  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -17388,29 +17385,40 @@ fi
17388
17385
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
17389
17386
  $as_echo "$ac_cv_cflags_warn_all" >&6; }
17390
17387
 
17388
+
17391
17389
  case ".$ac_cv_cflags_warn_all" in
17392
17390
  .ok|.ok,*) ;;
17393
17391
  .|.no|.no,*) ;;
17394
- *) if ${CFLAGS+:} false; then :
17395
- case " $CFLAGS " in
17396
- *" $ac_cv_cflags_warn_all "*)
17397
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
17392
+ *)
17393
+ if ${CFLAGS+:} false; then :
17394
+
17395
+ case " $CFLAGS " in #(
17396
+ *" $ac_cv_cflags_warn_all "*) :
17397
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
17398
17398
  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
17399
17399
  ac_status=$?
17400
17400
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17401
- test $ac_status = 0; }
17402
- ;;
17403
- *)
17404
- { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS \$ac_cv_cflags_warn_all\""; } >&5
17405
- (: CFLAGS="$CFLAGS $ac_cv_cflags_warn_all") 2>&5
17401
+ test $ac_status = 0; } ;; #(
17402
+ *) :
17403
+
17404
+ as_fn_append CFLAGS " $ac_cv_cflags_warn_all"
17405
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
17406
+ (: CFLAGS="$CFLAGS") 2>&5
17406
17407
  ac_status=$?
17407
17408
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17408
17409
  test $ac_status = 0; }
17409
- CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
17410
- ;;
17411
- esac
17410
+ ;;
17411
+ esac
17412
+
17412
17413
  else
17413
- CFLAGS="$ac_cv_cflags_warn_all"
17414
+
17415
+ CFLAGS=$ac_cv_cflags_warn_all
17416
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
17417
+ (: CFLAGS="$CFLAGS") 2>&5
17418
+ ac_status=$?
17419
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17420
+ test $ac_status = 0; }
17421
+
17414
17422
  fi
17415
17423
  ;;
17416
17424
  esac
@@ -17457,6 +17465,30 @@ fi
17457
17465
 
17458
17466
 
17459
17467
 
17468
+ for ac_header in sys/memfd.h
17469
+ do :
17470
+ ac_fn_c_check_header_mongrel "$LINENO" "sys/memfd.h" "ac_cv_header_sys_memfd_h" "$ac_includes_default"
17471
+ if test "x$ac_cv_header_sys_memfd_h" = xyes; then :
17472
+ cat >>confdefs.h <<_ACEOF
17473
+ #define HAVE_SYS_MEMFD_H 1
17474
+ _ACEOF
17475
+
17476
+ fi
17477
+
17478
+ done
17479
+
17480
+ for ac_func in memfd_create
17481
+ do :
17482
+ ac_fn_c_check_func "$LINENO" "memfd_create" "ac_cv_func_memfd_create"
17483
+ if test "x$ac_cv_func_memfd_create" = xyes; then :
17484
+ cat >>confdefs.h <<_ACEOF
17485
+ #define HAVE_MEMFD_CREATE 1
17486
+ _ACEOF
17487
+
17488
+ fi
17489
+ done
17490
+
17491
+
17460
17492
  for ac_header in sys/mman.h
17461
17493
  do :
17462
17494
  ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default"
@@ -18288,7 +18320,7 @@ else
18288
18320
  gcc_cv_as_cfi_pseudo_op=unknown
18289
18321
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18290
18322
  /* end confdefs.h. */
18291
- asm (".cfi_startproc\n\t.cfi_endproc");
18323
+ asm (".cfi_sections\n\t.cfi_startproc\n\t.cfi_endproc");
18292
18324
  int
18293
18325
  main ()
18294
18326
  {
@@ -18440,6 +18472,50 @@ $as_echo "#define HAVE_AS_S390_ZARCH 1" >>confdefs.h
18440
18472
  ;;
18441
18473
  esac
18442
18474
 
18475
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports pointer authentication" >&5
18476
+ $as_echo_n "checking whether compiler supports pointer authentication... " >&6; }
18477
+ if ${libffi_cv_as_ptrauth+:} false; then :
18478
+ $as_echo_n "(cached) " >&6
18479
+ else
18480
+
18481
+ libffi_cv_as_ptrauth=unknown
18482
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18483
+ /* end confdefs.h. */
18484
+
18485
+ int
18486
+ main ()
18487
+ {
18488
+
18489
+ #ifdef __clang__
18490
+ # if __has_feature(ptrauth_calls)
18491
+ # define HAVE_PTRAUTH 1
18492
+ # endif
18493
+ #endif
18494
+
18495
+ #ifndef HAVE_PTRAUTH
18496
+ # error Pointer authentication not supported
18497
+ #endif
18498
+
18499
+ ;
18500
+ return 0;
18501
+ }
18502
+ _ACEOF
18503
+ if ac_fn_c_try_compile "$LINENO"; then :
18504
+ libffi_cv_as_ptrauth=yes
18505
+ else
18506
+ libffi_cv_as_ptrauth=no
18507
+ fi
18508
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18509
+
18510
+ fi
18511
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libffi_cv_as_ptrauth" >&5
18512
+ $as_echo "$libffi_cv_as_ptrauth" >&6; }
18513
+ if test "x$libffi_cv_as_ptrauth" = xyes; then
18514
+
18515
+ $as_echo "#define HAVE_PTRAUTH 1" >>confdefs.h
18516
+
18517
+ fi
18518
+
18443
18519
  # On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC.
18444
18520
  # Check whether --enable-pax_emutramp was given.
18445
18521
  if test "${enable_pax_emutramp+set}" = set; then :
@@ -18568,23 +18644,53 @@ $as_echo "#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1" >>confdefs.h
18568
18644
  fi
18569
18645
 
18570
18646
  if test "x$GCC" = "xyes"; then
18647
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-lto" >&5
18648
+ $as_echo_n "checking whether C compiler accepts -fno-lto... " >&6; }
18649
+ if ${ax_cv_check_cflags___fno_lto+:} false; then :
18650
+ $as_echo_n "(cached) " >&6
18651
+ else
18652
+
18653
+ ax_check_save_flags=$CFLAGS
18654
+ CFLAGS="$CFLAGS -fno-lto"
18655
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18656
+ /* end confdefs.h. */
18657
+
18658
+ int
18659
+ main ()
18660
+ {
18661
+
18662
+ ;
18663
+ return 0;
18664
+ }
18665
+ _ACEOF
18666
+ if ac_fn_c_try_compile "$LINENO"; then :
18667
+ ax_cv_check_cflags___fno_lto=yes
18668
+ else
18669
+ ax_cv_check_cflags___fno_lto=no
18670
+ fi
18671
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
18672
+ CFLAGS=$ax_check_save_flags
18673
+ fi
18674
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_lto" >&5
18675
+ $as_echo "$ax_cv_check_cflags___fno_lto" >&6; }
18676
+ if test "x$ax_cv_check_cflags___fno_lto" = xyes; then :
18677
+ libffi_cv_no_lto=-fno-lto
18678
+ else
18679
+ :
18680
+ fi
18681
+
18682
+
18571
18683
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether .eh_frame section should be read-only" >&5
18572
18684
  $as_echo_n "checking whether .eh_frame section should be read-only... " >&6; }
18573
18685
  if ${libffi_cv_ro_eh_frame+:} false; then :
18574
18686
  $as_echo_n "(cached) " >&6
18575
18687
  else
18576
18688
 
18577
- libffi_cv_ro_eh_frame=no
18689
+ libffi_cv_ro_eh_frame=yes
18578
18690
  echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
18579
- if $CC $CFLAGS -c -fpic -fexceptions -o conftest.o conftest.c > /dev/null 2>&1; then
18580
- objdump -h conftest.o > conftest.dump 2>&1
18581
- libffi_eh_frame_line=`grep -n eh_frame conftest.dump | cut -d: -f 1`
18582
- if test "x$libffi_eh_frame_line" != "x"; then
18583
- libffi_test_line=`expr $libffi_eh_frame_line + 1`p
18584
- sed -n $libffi_test_line conftest.dump > conftest.line
18585
- if grep READONLY conftest.line > /dev/null; then
18586
- libffi_cv_ro_eh_frame=yes
18587
- fi
18691
+ if $CC $CFLAGS -c -fpic -fexceptions $libffi_cv_no_lto -o conftest.o conftest.c > /dev/null 2>&1; then
18692
+ if readelf -WS conftest.o | grep -q -n 'eh_frame .* WA'; then
18693
+ libffi_cv_ro_eh_frame=no
18588
18694
  fi
18589
18695
  fi
18590
18696
  rm -f conftest.*
@@ -18619,7 +18725,7 @@ else
18619
18725
  ac_status=$?
18620
18726
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
18621
18727
  test $ac_status = 0; }; }; then
18622
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
18728
+ if egrep '(\.hidden|\.private_extern).*foo' conftest.s >/dev/null; then
18623
18729
  libffi_cv_hidden_visibility_attribute=yes
18624
18730
  fi
18625
18731
  fi
@@ -18733,11 +18839,11 @@ fi
18733
18839
  if test "x$GCC" = "xyes"; then
18734
18840
  if test -n "$with_cross_host" &&
18735
18841
  test x"$with_cross_host" != x"no"; then
18736
- toolexecdir="${exec_prefix}"/'$(target_alias)'
18737
- toolexeclibdir="${toolexecdir}"/lib
18842
+ toolexecdir='${exec_prefix}'/'$(target_alias)'
18843
+ toolexeclibdir='${toolexecdir}'/lib
18738
18844
  else
18739
- toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
18740
- toolexeclibdir="${libdir}"
18845
+ toolexecdir='${libdir}'/gcc-lib/'$(target_alias)'
18846
+ toolexeclibdir='${libdir}'
18741
18847
  fi
18742
18848
  if test x"$enable_multi_os_directory" != x"no"; then
18743
18849
  multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
@@ -18748,7 +18854,7 @@ if test "x$GCC" = "xyes"; then
18748
18854
  fi
18749
18855
 
18750
18856
  else
18751
- toolexeclibdir="${libdir}"
18857
+ toolexeclibdir='${libdir}'
18752
18858
  fi
18753
18859
 
18754
18860
 
@@ -19176,9 +19282,6 @@ ac_config_commands="$ac_config_commands include"
19176
19282
  ac_config_commands="$ac_config_commands src"
19177
19283
 
19178
19284
 
19179
- ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
19180
-
19181
-
19182
19285
  ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile doc/Makefile libffi.pc"
19183
19286
 
19184
19287
 
@@ -19757,7 +19860,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
19757
19860
  # report actual input values of CONFIG_FILES etc. instead of their
19758
19861
  # values after options handling.
19759
19862
  ac_log="
19760
- This file was extended by libffi $as_me 3.99999, which was
19863
+ This file was extended by libffi $as_me 3.3, which was
19761
19864
  generated by GNU Autoconf 2.69. Invocation command line was
19762
19865
 
19763
19866
  CONFIG_FILES = $CONFIG_FILES
@@ -19784,7 +19887,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19784
19887
  # Files that config.status was made for.
19785
19888
  config_files="$ac_config_files"
19786
19889
  config_headers="$ac_config_headers"
19787
- config_links="$ac_config_links"
19788
19890
  config_commands="$ac_config_commands"
19789
19891
 
19790
19892
  _ACEOF
@@ -19815,9 +19917,6 @@ $config_files
19815
19917
  Configuration headers:
19816
19918
  $config_headers
19817
19919
 
19818
- Configuration links:
19819
- $config_links
19820
-
19821
19920
  Configuration commands:
19822
19921
  $config_commands
19823
19922
 
@@ -19827,7 +19926,7 @@ _ACEOF
19827
19926
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19828
19927
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
19829
19928
  ac_cs_version="\\
19830
- libffi config.status 3.99999
19929
+ libffi config.status 3.3
19831
19930
  configured by $0, generated by GNU Autoconf 2.69,
19832
19931
  with options \\"\$ac_cs_config\\"
19833
19932
 
@@ -19954,7 +20053,7 @@ ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
19954
20053
  ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
19955
20054
  ax_enable_builddir="$ax_enable_builddir" # $SUB
19956
20055
 
19957
- AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
20056
+ AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
19958
20057
 
19959
20058
 
19960
20059
  # The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -20352,7 +20451,6 @@ do
20352
20451
  "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
20353
20452
  "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
20354
20453
  "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
20355
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
20356
20454
  "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
20357
20455
  "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
20358
20456
  "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -20373,7 +20471,6 @@ done
20373
20471
  if $ac_need_defaults; then
20374
20472
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
20375
20473
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
20376
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
20377
20474
  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
20378
20475
  fi
20379
20476
 
@@ -20671,7 +20768,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20671
20768
  fi # test -n "$CONFIG_HEADERS"
20672
20769
 
20673
20770
 
20674
- eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
20771
+ eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
20675
20772
  shift
20676
20773
  for ac_tag
20677
20774
  do
@@ -20948,38 +21045,7 @@ $as_echo X"$_am_arg" |
20948
21045
  }
20949
21046
  s/.*/./; q'`/stamp-h$_am_stamp_count
20950
21047
  ;;
20951
- :L)
20952
- #
20953
- # CONFIG_LINK
20954
- #
20955
-
20956
- if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then
20957
- :
20958
- else
20959
- # Prefer the file from the source tree if names are identical.
20960
- if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then
20961
- ac_source=$srcdir/$ac_source
20962
- fi
20963
-
20964
- { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5
20965
- $as_echo "$as_me: linking $ac_source to $ac_file" >&6;}
20966
-
20967
- if test ! -r "$ac_source"; then
20968
- as_fn_error $? "$ac_source: file not found" "$LINENO" 5
20969
- fi
20970
- rm -f "$ac_file"
20971
21048
 
20972
- # Try a relative symlink, then a hard link, then a copy.
20973
- case $ac_source in
20974
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;;
20975
- *) ac_rel_source=$ac_top_build_prefix$ac_source ;;
20976
- esac
20977
- ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
20978
- ln "$ac_source" "$ac_file" 2>/dev/null ||
20979
- cp -p "$ac_source" "$ac_file" ||
20980
- as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5
20981
- fi
20982
- ;;
20983
21049
  :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
20984
21050
  $as_echo "$as_me: executing $ac_file commands" >&6;}
20985
21051
  ;;
@@ -21135,29 +21201,35 @@ $as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)"
21135
21201
  # Older Autoconf quotes --file arguments for eval, but not when files
21136
21202
  # are listed without --file. Let's play safe and only enable the eval
21137
21203
  # if we detect the quoting.
21138
- case $CONFIG_FILES in
21139
- *\'*) eval set x "$CONFIG_FILES" ;;
21140
- *) set x $CONFIG_FILES ;;
21141
- esac
21204
+ # TODO: see whether this extra hack can be removed once we start
21205
+ # requiring Autoconf 2.70 or later.
21206
+ case $CONFIG_FILES in #(
21207
+ *\'*) :
21208
+ eval set x "$CONFIG_FILES" ;; #(
21209
+ *) :
21210
+ set x $CONFIG_FILES ;; #(
21211
+ *) :
21212
+ ;;
21213
+ esac
21142
21214
  shift
21143
- for mf
21215
+ # Used to flag and report bootstrapping failures.
21216
+ am_rc=0
21217
+ for am_mf
21144
21218
  do
21145
21219
  # Strip MF so we end up with the name of the file.
21146
- mf=`echo "$mf" | sed -e 's/:.*$//'`
21147
- # Check whether this is an Automake generated Makefile or not.
21148
- # We used to match only the files named 'Makefile.in', but
21149
- # some people rename them; so instead we look at the file content.
21150
- # Grep'ing the first line is not enough: some people post-process
21151
- # each Makefile.in and add a new line on top of each file to say so.
21152
- # Grep'ing the whole file is not good either: AIX grep has a line
21220
+ am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
21221
+ # Check whether this is an Automake generated Makefile which includes
21222
+ # dependency-tracking related rules and includes.
21223
+ # Grep'ing the whole file directly is not great: AIX grep has a line
21153
21224
  # limit of 2048, but all sed's we know have understand at least 4000.
21154
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
21155
- dirpart=`$as_dirname -- "$mf" ||
21156
- $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21157
- X"$mf" : 'X\(//\)[^/]' \| \
21158
- X"$mf" : 'X\(//\)$' \| \
21159
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
21160
- $as_echo X"$mf" |
21225
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
21226
+ || continue
21227
+ am_dirpart=`$as_dirname -- "$am_mf" ||
21228
+ $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21229
+ X"$am_mf" : 'X\(//\)[^/]' \| \
21230
+ X"$am_mf" : 'X\(//\)$' \| \
21231
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
21232
+ $as_echo X"$am_mf" |
21161
21233
  sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21162
21234
  s//\1/
21163
21235
  q
@@ -21175,53 +21247,48 @@ $as_echo X"$mf" |
21175
21247
  q
21176
21248
  }
21177
21249
  s/.*/./; q'`
21178
- else
21179
- continue
21180
- fi
21181
- # Extract the definition of DEPDIR, am__include, and am__quote
21182
- # from the Makefile without running 'make'.
21183
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
21184
- test -z "$DEPDIR" && continue
21185
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
21186
- test -z "$am__include" && continue
21187
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
21188
- # Find all dependency output files, they are included files with
21189
- # $(DEPDIR) in their names. We invoke sed twice because it is the
21190
- # simplest approach to changing $(DEPDIR) to its actual value in the
21191
- # expansion.
21192
- for file in `sed -n "
21193
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
21194
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
21195
- # Make sure the directory exists.
21196
- test -f "$dirpart/$file" && continue
21197
- fdir=`$as_dirname -- "$file" ||
21198
- $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21199
- X"$file" : 'X\(//\)[^/]' \| \
21200
- X"$file" : 'X\(//\)$' \| \
21201
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
21202
- $as_echo X"$file" |
21203
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21204
- s//\1/
21205
- q
21206
- }
21207
- /^X\(\/\/\)[^/].*/{
21250
+ am_filepart=`$as_basename -- "$am_mf" ||
21251
+ $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
21252
+ X"$am_mf" : 'X\(//\)$' \| \
21253
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
21254
+ $as_echo X/"$am_mf" |
21255
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
21208
21256
  s//\1/
21209
21257
  q
21210
21258
  }
21211
- /^X\(\/\/\)$/{
21259
+ /^X\/\(\/\/\)$/{
21212
21260
  s//\1/
21213
21261
  q
21214
21262
  }
21215
- /^X\(\/\).*/{
21263
+ /^X\/\(\/\).*/{
21216
21264
  s//\1/
21217
21265
  q
21218
21266
  }
21219
21267
  s/.*/./; q'`
21220
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
21221
- # echo "creating $dirpart/$file"
21222
- echo '# dummy' > "$dirpart/$file"
21223
- done
21268
+ { echo "$as_me:$LINENO: cd "$am_dirpart" \
21269
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
21270
+ | $MAKE -f - am--depfiles" >&5
21271
+ (cd "$am_dirpart" \
21272
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
21273
+ | $MAKE -f - am--depfiles) >&5 2>&5
21274
+ ac_status=$?
21275
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
21276
+ (exit $ac_status); } || am_rc=$?
21224
21277
  done
21278
+ if test $am_rc -ne 0; then
21279
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
21280
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
21281
+ as_fn_error $? "Something went wrong bootstrapping makefile fragments
21282
+ for automatic dependency tracking. Try re-running configure with the
21283
+ '--disable-dependency-tracking' option to at least be able to build
21284
+ the package (albeit without support for automatic dependency tracking).
21285
+ See \`config.log' for more details" "$LINENO" 5; }
21286
+ fi
21287
+ { am_dirpart=; unset am_dirpart;}
21288
+ { am_filepart=; unset am_filepart;}
21289
+ { am_mf=; unset am_mf;}
21290
+ { am_rc=; unset am_rc;}
21291
+ rm -f conftest-deps.mk
21225
21292
  }
21226
21293
  ;;
21227
21294
  "libtool":C)
@@ -21239,6 +21306,7 @@ $as_echo X"$file" |
21239
21306
  cat <<_LT_EOF >> "$cfgfile"
21240
21307
  #! $SHELL
21241
21308
  # Generated automatically by $as_me ($PACKAGE) $VERSION
21309
+ # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
21242
21310
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
21243
21311
 
21244
21312
  # Provide generalized library-building support services.
@@ -21976,3 +22044,7 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
21976
22044
  $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
21977
22045
  fi
21978
22046
 
22047
+
22048
+ # Copy this file instead of using AC_CONFIG_LINK in order to support
22049
+ # compiling with MSVC, which won't understand cygwin style symlinks.
22050
+ cp ${srcdir}/src/$TARGETDIR/ffitarget.h include/ffitarget.h