ffi 1.9.25 → 1.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/{appveyor.yml → .appveyor.yml} +7 -2
  3. data/.gitignore +3 -0
  4. data/.gitmodules +1 -0
  5. data/.travis.yml +22 -30
  6. data/CHANGELOG.md +107 -0
  7. data/Gemfile +2 -2
  8. data/README.md +29 -17
  9. data/Rakefile +17 -89
  10. data/ext/ffi_c/AbstractMemory.c +5 -9
  11. data/ext/ffi_c/Call.c +18 -39
  12. data/ext/ffi_c/Call.h +4 -7
  13. data/ext/ffi_c/DynamicLibrary.c +1 -1
  14. data/ext/ffi_c/Function.c +29 -113
  15. data/ext/ffi_c/LastError.c +47 -2
  16. data/ext/ffi_c/LongDouble.c +7 -7
  17. data/ext/ffi_c/Platform.c +0 -47
  18. data/ext/ffi_c/Struct.c +47 -51
  19. data/ext/ffi_c/Struct.h +12 -6
  20. data/ext/ffi_c/StructLayout.c +13 -12
  21. data/ext/ffi_c/Thread.c +6 -222
  22. data/ext/ffi_c/Thread.h +2 -13
  23. data/ext/ffi_c/Type.c +0 -18
  24. data/ext/ffi_c/Type.h +0 -1
  25. data/ext/ffi_c/Types.c +1 -1
  26. data/ext/ffi_c/Variadic.c +9 -15
  27. data/ext/ffi_c/extconf.rb +34 -21
  28. data/ext/ffi_c/ffi.c +3 -8
  29. data/ext/ffi_c/libffi/.appveyor.yml +29 -13
  30. data/ext/ffi_c/libffi/.gitattributes +4 -0
  31. data/ext/ffi_c/libffi/.travis/bfin-sim.exp +58 -0
  32. data/ext/ffi_c/libffi/.travis/build-cross-in-container.sh +14 -0
  33. data/ext/ffi_c/libffi/.travis/build-in-container.sh +12 -0
  34. data/ext/ffi_c/libffi/.travis/build.sh +112 -8
  35. data/ext/ffi_c/libffi/.travis/install.sh +65 -16
  36. data/ext/ffi_c/libffi/.travis/m32r-sim.exp +58 -0
  37. data/ext/ffi_c/libffi/.travis/or1k-sim.exp +58 -0
  38. data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +58 -0
  39. data/ext/ffi_c/libffi/.travis/site.exp +10 -1
  40. data/ext/ffi_c/libffi/.travis/wine-sim.exp +55 -0
  41. data/ext/ffi_c/libffi/.travis.yml +47 -2
  42. data/ext/ffi_c/libffi/{ChangeLog.libffi-3.1 → ChangeLog.old} +1407 -0
  43. data/ext/ffi_c/libffi/LICENSE +1 -1
  44. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +5 -4
  45. data/ext/ffi_c/libffi/Makefile.am +33 -40
  46. data/ext/ffi_c/libffi/Makefile.in +392 -176
  47. data/ext/ffi_c/libffi/README.md +23 -8
  48. data/ext/ffi_c/libffi/configure +319 -343
  49. data/ext/ffi_c/libffi/configure.ac +6 -2
  50. data/ext/ffi_c/libffi/configure.host +26 -9
  51. data/ext/ffi_c/libffi/doc/Makefile.in +9 -5
  52. data/ext/ffi_c/libffi/doc/libffi.texi +26 -14
  53. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  54. data/ext/ffi_c/libffi/fficonfig.h.in +4 -0
  55. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -3
  56. data/ext/ffi_c/libffi/include/Makefile.in +10 -6
  57. data/ext/ffi_c/libffi/include/ffi.h.in +11 -7
  58. data/ext/ffi_c/libffi/include/ffi_common.h +5 -1
  59. data/ext/ffi_c/libffi/install-sh +23 -13
  60. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +2 -48
  61. data/ext/ffi_c/libffi/ltmain.sh +153 -60
  62. data/ext/ffi_c/libffi/m4/asmcfi.m4 +1 -1
  63. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +5 -26
  64. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +5 -26
  65. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +2 -1
  66. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +5 -26
  67. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +7 -3
  68. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  69. data/ext/ffi_c/libffi/man/Makefile.in +9 -5
  70. data/ext/ffi_c/libffi/missing +8 -8
  71. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  72. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  73. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  74. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  75. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +511 -0
  76. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +219 -0
  77. data/ext/ffi_c/libffi/msvcc.sh +27 -2
  78. data/ext/ffi_c/libffi/src/aarch64/ffi.c +126 -58
  79. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +13 -2
  80. data/ext/ffi_c/libffi/src/aarch64/sysv.S +8 -6
  81. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  82. data/ext/ffi_c/libffi/src/arm/ffi.c +40 -5
  83. data/ext/ffi_c/libffi/src/arm/ffitarget.h +8 -1
  84. data/ext/ffi_c/libffi/src/arm/sysv.S +2 -0
  85. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  86. data/ext/ffi_c/libffi/src/closures.c +41 -9
  87. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  88. data/ext/ffi_c/libffi/src/metag/ffi.c +1 -1
  89. data/ext/ffi_c/libffi/src/mips/o32.S +2 -0
  90. data/ext/ffi_c/libffi/src/moxie/ffi.c +1 -1
  91. data/ext/ffi_c/libffi/src/pa/linux.S +23 -2
  92. data/ext/ffi_c/libffi/src/powerpc/ffi.c +6 -4
  93. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +211 -32
  94. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +18 -7
  95. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +10 -4
  96. data/ext/ffi_c/libffi/src/powerpc/linux64.S +83 -28
  97. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +68 -4
  98. data/ext/ffi_c/libffi/src/prep_cif.c +4 -2
  99. data/ext/ffi_c/libffi/src/riscv/ffi.c +42 -6
  100. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +1 -0
  101. data/ext/ffi_c/libffi/src/riscv/sysv.S +86 -7
  102. data/ext/ffi_c/libffi/src/x86/ffi.c +14 -6
  103. data/ext/ffi_c/libffi/src/x86/ffi64.c +5 -3
  104. data/ext/ffi_c/libffi/src/x86/ffiw64.c +5 -2
  105. data/ext/ffi_c/libffi/src/x86/sysv.S +90 -4
  106. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +995 -0
  107. data/ext/ffi_c/libffi/src/x86/unix64.S +41 -0
  108. data/ext/ffi_c/libffi/src/x86/win64.S +5 -0
  109. data/ext/ffi_c/libffi/testsuite/Makefile.am +114 -109
  110. data/ext/ffi_c/libffi/testsuite/Makefile.in +124 -84
  111. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +26 -22
  112. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +7 -2
  113. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1 -1
  114. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +1 -1
  115. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +12 -1
  116. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +9 -8
  117. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -1
  118. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +67 -0
  119. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +138 -0
  120. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/huge_struct.c +1 -1
  121. data/ext/ffi_c/libffi.darwin.mk +1 -1
  122. data/ext/ffi_c/rbffi.h +0 -2
  123. data/ffi.gemspec +12 -5
  124. data/lib/ffi/data_converter.rb +67 -0
  125. data/lib/ffi/ffi.rb +2 -0
  126. data/lib/ffi/library.rb +6 -6
  127. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  128. data/lib/ffi/platform/aarch64-freebsd12/types.conf +128 -0
  129. data/lib/ffi/platform/aarch64-linux/types.conf +81 -81
  130. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  131. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  132. data/lib/ffi/platform/arm-linux/types.conf +79 -79
  133. data/lib/ffi/platform/i386-cygwin/types.conf +1 -1
  134. data/lib/ffi/platform/i386-darwin/types.conf +63 -63
  135. data/lib/ffi/platform/i386-freebsd/types.conf +89 -89
  136. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  137. data/lib/ffi/platform/i386-gnu/types.conf +84 -84
  138. data/lib/ffi/platform/i386-linux/types.conf +77 -77
  139. data/lib/ffi/platform/i386-netbsd/types.conf +87 -87
  140. data/lib/ffi/platform/i386-openbsd/types.conf +89 -89
  141. data/lib/ffi/platform/i386-solaris/types.conf +96 -96
  142. data/lib/ffi/platform/i386-windows/types.conf +84 -84
  143. data/lib/ffi/platform/ia64-linux/types.conf +79 -79
  144. data/lib/ffi/platform/mips-linux/types.conf +79 -79
  145. data/lib/ffi/platform/mips64-linux/types.conf +81 -81
  146. data/lib/ffi/platform/mips64el-linux/types.conf +81 -81
  147. data/lib/ffi/platform/mipsel-linux/types.conf +79 -79
  148. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +79 -79
  149. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +79 -79
  150. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +81 -81
  151. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +81 -81
  152. data/lib/ffi/platform/powerpc-aix/types.conf +155 -155
  153. data/lib/ffi/platform/powerpc-darwin/types.conf +63 -63
  154. data/lib/ffi/platform/powerpc-linux/types.conf +77 -77
  155. data/lib/ffi/platform/powerpc64-linux/types.conf +81 -81
  156. data/lib/ffi/platform/s390-linux/types.conf +79 -79
  157. data/lib/ffi/platform/s390x-linux/types.conf +79 -79
  158. data/lib/ffi/platform/sparc-linux/types.conf +79 -79
  159. data/lib/ffi/platform/sparc-solaris/types.conf +103 -103
  160. data/lib/ffi/platform/sparc64-linux/types.conf +79 -79
  161. data/lib/ffi/platform/sparcv9-solaris/types.conf +103 -103
  162. data/lib/ffi/platform/x86_64-cygwin/types.conf +1 -1
  163. data/lib/ffi/platform/x86_64-darwin/types.conf +84 -84
  164. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +148 -0
  165. data/lib/ffi/platform/x86_64-freebsd/types.conf +90 -90
  166. data/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  167. data/lib/ffi/platform/x86_64-linux/types.conf +86 -77
  168. data/lib/ffi/platform/x86_64-netbsd/types.conf +89 -89
  169. data/lib/ffi/platform/x86_64-openbsd/types.conf +86 -86
  170. data/lib/ffi/platform/x86_64-solaris/types.conf +96 -96
  171. data/lib/ffi/platform/x86_64-windows/types.conf +99 -99
  172. data/lib/ffi/platform.rb +13 -2
  173. data/lib/ffi/pointer.rb +5 -6
  174. data/lib/ffi/struct.rb +5 -66
  175. data/lib/ffi/struct_by_reference.rb +72 -0
  176. data/lib/ffi/struct_layout.rb +96 -0
  177. data/lib/ffi/tools/const_generator.rb +5 -4
  178. data/lib/ffi/tools/generator.rb +47 -2
  179. data/lib/ffi/tools/generator_task.rb +13 -17
  180. data/lib/ffi/tools/struct_generator.rb +4 -4
  181. data/lib/ffi/tools/types_generator.rb +5 -4
  182. data/lib/ffi/types.rb +1 -1
  183. data/lib/ffi/version.rb +1 -1
  184. metadata +144 -115
  185. data/ext/ffi_c/DataConverter.c +0 -91
  186. data/ext/ffi_c/StructByReference.c +0 -190
  187. data/ext/ffi_c/StructByReference.h +0 -50
  188. data/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  189. data/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  190. data/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  191. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn0.c +0 -0
  192. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn1.c +0 -0
  193. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn2.c +0 -0
  194. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn3.c +0 -0
  195. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn4.c +0 -0
  196. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn5.c +0 -0
  197. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn6.c +0 -0
  198. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_loc_fn0.c +0 -0
  199. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_simple.c +0 -0
  200. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_12byte.c +0 -0
  201. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_16byte.c +0 -0
  202. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_18byte.c +0 -0
  203. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_19byte.c +0 -0
  204. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_1_1byte.c +0 -0
  205. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte.c +0 -0
  206. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte1.c +0 -0
  207. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_24byte.c +0 -0
  208. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_2byte.c +0 -0
  209. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3_1byte.c +0 -0
  210. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte1.c +0 -0
  211. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte2.c +0 -0
  212. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3float.c +0 -0
  213. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4_1byte.c +0 -0
  214. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4byte.c +0 -0
  215. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5_1_byte.c +0 -0
  216. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5byte.c +0 -0
  217. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_64byte.c +0 -0
  218. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6_1_byte.c +0 -0
  219. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6byte.c +0 -0
  220. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7_1_byte.c +0 -0
  221. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7byte.c +0 -0
  222. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_8byte.c +0 -0
  223. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte1.c +0 -0
  224. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte2.c +0 -0
  225. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_double.c +0 -0
  226. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_float.c +0 -0
  227. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble.c +0 -0
  228. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split.c +0 -0
  229. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split2.c +0 -0
  230. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_pointer.c +0 -0
  231. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint16.c +0 -0
  232. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint32.c +0 -0
  233. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint64.c +0 -0
  234. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint16.c +0 -0
  235. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint32.c +0 -0
  236. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint64.c +0 -0
  237. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_dbls_struct.c +0 -0
  238. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double.c +0 -0
  239. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double_va.c +0 -0
  240. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_float.c +0 -0
  241. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble.c +0 -0
  242. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble_va.c +0 -0
  243. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_args.c +0 -0
  244. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_float_double.c +0 -0
  245. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_schar.c +0 -0
  246. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshort.c +0 -0
  247. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshortchar.c +0 -0
  248. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_uchar.c +0 -0
  249. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushort.c +0 -0
  250. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushortchar.c +0 -0
  251. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer.c +0 -0
  252. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer_stack.c +0 -0
  253. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_schar.c +0 -0
  254. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sint.c +0 -0
  255. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sshort.c +0 -0
  256. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_struct_va1.c +0 -0
  257. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar.c +0 -0
  258. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar_va.c +0 -0
  259. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint.c +0 -0
  260. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint_va.c +0 -0
  261. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulong_va.c +0 -0
  262. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulonglong.c +0 -0
  263. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort.c +0 -0
  264. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort_va.c +0 -0
  265. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/err_bad_abi.c +0 -0
  266. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct.c +0 -0
  267. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct1.c +0 -0
  268. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct10.c +0 -0
  269. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct11.c +0 -0
  270. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct2.c +0 -0
  271. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct3.c +0 -0
  272. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct4.c +0 -0
  273. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct5.c +0 -0
  274. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct6.c +0 -0
  275. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct7.c +0 -0
  276. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct8.c +0 -0
  277. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct9.c +0 -0
  278. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/problem1.c +0 -0
  279. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large.c +0 -0
  280. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large2.c +0 -0
  281. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium.c +0 -0
  282. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium2.c +0 -0
  283. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/testclosure.c +0 -0
  284. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/unwindtest.cc +0 -0
  285. /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 :
@@ -7174,11 +7174,8 @@ _LT_EOF
7174
7174
  test $ac_status = 0; }; then
7175
7175
  # Now try to grab the symbols.
7176
7176
  nlist=conftest.nm
7177
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
7178
- (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
7179
- ac_status=$?
7180
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
7181
- test $ac_status = 0; } && test -s "$nlist"; then
7177
+ $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5
7178
+ if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then
7182
7179
  # Try sorting and uniquifying the output.
7183
7180
  if sort "$nlist" | uniq > "$nlist"T; then
7184
7181
  mv -f "$nlist"T "$nlist"
@@ -9538,6 +9535,12 @@ lt_prog_compiler_static=
9538
9535
  lt_prog_compiler_pic='-KPIC'
9539
9536
  lt_prog_compiler_static='-static'
9540
9537
  ;;
9538
+ # flang / f18. f95 an alias for gfortran or flang on Debian
9539
+ flang* | f18* | f95*)
9540
+ lt_prog_compiler_wl='-Wl,'
9541
+ lt_prog_compiler_pic='-fPIC'
9542
+ lt_prog_compiler_static='-static'
9543
+ ;;
9541
9544
  # icc used to be incompatible with GCC.
9542
9545
  # ICC 10 doesn't accept -KPIC any more.
9543
9546
  icc* | ifort*)
@@ -13480,7 +13483,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
13480
13483
  # Commands to make compiler produce verbose output that lists
13481
13484
  # what "hidden" libraries, object files and flags are used when
13482
13485
  # linking a shared library.
13483
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
13486
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
13484
13487
 
13485
13488
  else
13486
13489
  GXX=no
@@ -13972,7 +13975,7 @@ fi
13972
13975
  # explicitly linking system object files so we need to strip them
13973
13976
  # from the output so that they don't get included in the library
13974
13977
  # dependencies.
13975
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13978
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
13976
13979
  ;;
13977
13980
  *)
13978
13981
  if test yes = "$GXX"; then
@@ -14037,7 +14040,7 @@ fi
14037
14040
  # explicitly linking system object files so we need to strip them
14038
14041
  # from the output so that they don't get included in the library
14039
14042
  # dependencies.
14040
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
14043
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
14041
14044
  ;;
14042
14045
  *)
14043
14046
  if test yes = "$GXX"; then
@@ -14376,7 +14379,7 @@ fi
14376
14379
  # Commands to make compiler produce verbose output that lists
14377
14380
  # what "hidden" libraries, object files and flags are used when
14378
14381
  # linking a shared library.
14379
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
14382
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
14380
14383
 
14381
14384
  else
14382
14385
  # FIXME: insert proper C++ library support
@@ -14460,7 +14463,7 @@ fi
14460
14463
  # Commands to make compiler produce verbose output that lists
14461
14464
  # what "hidden" libraries, object files and flags are used when
14462
14465
  # linking a shared library.
14463
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
14466
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
14464
14467
  else
14465
14468
  # g++ 2.7 appears to require '-G' NOT '-shared' on this
14466
14469
  # platform.
@@ -14471,7 +14474,7 @@ fi
14471
14474
  # Commands to make compiler produce verbose output that lists
14472
14475
  # what "hidden" libraries, object files and flags are used when
14473
14476
  # linking a shared library.
14474
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
14477
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
14475
14478
  fi
14476
14479
 
14477
14480
  hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
@@ -16458,18 +16461,20 @@ $as_echo_n "checking for C compiler vendor... " >&6; }
16458
16461
  if ${ax_cv_c_compiler_vendor+:} false; then :
16459
16462
  $as_echo_n "(cached) " >&6
16460
16463
  else
16461
- # note: don't check for gcc first since some other compilers define __GNUC__
16464
+ # note: don't check for gcc first since some other compilers define __GNUC__
16462
16465
  vendors="intel: __ICC,__ECC,__INTEL_COMPILER
16463
16466
  ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__
16464
16467
  pathscale: __PATHCC__,__PATHSCALE__
16465
16468
  clang: __clang__
16469
+ cray: _CRAYC
16470
+ fujitsu: __FUJITSU
16471
+ sdcc: SDCC, __SDCC
16466
16472
  gnu: __GNUC__
16467
16473
  sun: __SUNPRO_C,__SUNPRO_CC
16468
16474
  hp: __HP_cc,__HP_aCC
16469
16475
  dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER
16470
- borland: __BORLANDC__,__TURBOC__
16476
+ borland: __BORLANDC__,__CODEGEARC__,__TURBOC__
16471
16477
  comeau: __COMO__
16472
- cray: _CRAYC
16473
16478
  kai: __KCC
16474
16479
  lcc: __LCC__
16475
16480
  sgi: __sgi,sgi
@@ -16477,6 +16482,7 @@ else
16477
16482
  metrowerks: __MWERKS__
16478
16483
  watcom: __WATCOMC__
16479
16484
  portland: __PGI
16485
+ tcc: __TINYC__
16480
16486
  unknown: UNKNOWN"
16481
16487
  for ventest in $vendors; do
16482
16488
  case $ventest in
@@ -16577,7 +16583,7 @@ fi
16577
16583
  eval ac_res=\$$as_CACHEVAR
16578
16584
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16579
16585
  $as_echo "$ac_res" >&6; }
16580
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
16586
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
16581
16587
  CFLAGS="-O3 -qansialias -w $xlc_opt"
16582
16588
  else
16583
16589
  CFLAGS="-O3 -qansialias -w"
@@ -16624,11 +16630,14 @@ int
16624
16630
  main ()
16625
16631
  {
16626
16632
 
16627
- int op = 0, eax, ebx, ecx, edx;
16633
+ int op = 0, level = 0, eax, ebx, ecx, edx;
16628
16634
  FILE *f;
16629
- __asm__("cpuid"
16630
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16631
- : "a" (op));
16635
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16636
+ "cpuid\n"
16637
+ "xchg %%ebx, %1\n"
16638
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16639
+ : "a" (op), "2" (level));
16640
+
16632
16641
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16633
16642
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16634
16643
  fclose(f);
@@ -16658,6 +16667,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
16658
16667
 
16659
16668
 
16660
16669
 
16670
+
16661
16671
  ac_ext=c
16662
16672
  ac_cpp='$CPP $CPPFLAGS'
16663
16673
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -16679,11 +16689,14 @@ int
16679
16689
  main ()
16680
16690
  {
16681
16691
 
16682
- int op = 1, eax, ebx, ecx, edx;
16692
+ int op = 1, level = 0, eax, ebx, ecx, edx;
16683
16693
  FILE *f;
16684
- __asm__("cpuid"
16685
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16686
- : "a" (op));
16694
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16695
+ "cpuid\n"
16696
+ "xchg %%ebx, %1\n"
16697
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16698
+ : "a" (op), "2" (level));
16699
+
16687
16700
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16688
16701
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16689
16702
  fclose(f);
@@ -16712,12 +16725,21 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
16712
16725
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
16713
16726
 
16714
16727
 
16728
+
16715
16729
  case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
16716
- *:756e6547:*:*) # Intel
16730
+ *:756e6547:6c65746e:49656e69) # Intel
16717
16731
  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";;
16732
+ *0?6[78ab]?:*:*:*|?6[78ab]?:*:*:*|6[78ab]?:*:*:*) icc_flags="-xK" ;;
16733
+ *0?6[9d]?:*:*:*|?6[9d]?:*:*:*|6[9d]?:*:*:*|*1?65?:*:*:*) icc_flags="-xSSE2 -xB -xK" ;;
16734
+ *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) icc_flags="-xSSE3 -xP -xO -xB -xK" ;;
16735
+ *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) icc_flags="-xSSSE3 -xT -xB -xK" ;;
16736
+ *1?6[7d]?:*:*:*) icc_flags="-xSSE4.1 -xS -xT -xB -xK" ;;
16737
+ *1?6[aef]?:*:*:*|*2?6[5cef]?:*:*:*) icc_flags="-xSSE4.2 -xS -xT -xB -xK" ;;
16738
+ *2?6[ad]?:*:*:*) icc_flags="-xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16739
+ *3?6[ae]?:*:*:*) icc_flags="-xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16740
+ *3?6[cf]?:*:*:*|*4?6[56]?:*:*:*) icc_flags="-xCORE-AVX2 -xCORE-AVX-I -xAVX -SSE4.2 -xS -xT -xB -xK" ;;
16741
+ *000?f[346]?:*:*:*|?f[346]?:*:*:*|f[346]?:*:*:*) icc_flags="-xSSE3 -xP -xO -xN -xW -xK" ;;
16742
+ *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) icc_flags="-xSSE2 -xN -xW -xK" ;;
16721
16743
  esac ;;
16722
16744
  esac ;;
16723
16745
  esac
@@ -16754,7 +16776,7 @@ fi
16754
16776
  eval ac_res=\$$as_CACHEVAR
16755
16777
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
16756
16778
  $as_echo "$ac_res" >&6; }
16757
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
16779
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
16758
16780
  icc_archflag=$flag; break
16759
16781
  else
16760
16782
  :
@@ -16777,7 +16799,7 @@ $as_echo "$icc_archflag" >&6; }
16777
16799
  CFLAGS="-O3 -fomit-frame-pointer"
16778
16800
 
16779
16801
  # -malign-double for x86 systems
16780
- # LIBFFI -- DON'T DO THIS - CHANGES ABI
16802
+ # libffi local change -- don't align double, as it changes the ABI
16781
16803
  # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
16782
16804
 
16783
16805
  # -fstrict-aliasing for gcc-2.95+
@@ -16810,7 +16832,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16810
16832
  fi
16811
16833
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstrict_aliasing" >&5
16812
16834
  $as_echo "$ax_cv_check_cflags___fstrict_aliasing" >&6; }
16813
- if test x"$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
16835
+ if test "x$ax_cv_check_cflags___fstrict_aliasing" = xyes; then :
16814
16836
  CFLAGS="$CFLAGS -fstrict-aliasing"
16815
16837
  else
16816
16838
  :
@@ -16847,7 +16869,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16847
16869
  fi
16848
16870
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___ffast_math" >&5
16849
16871
  $as_echo "$ax_cv_check_cflags___ffast_math" >&6; }
16850
- if test x"$ax_cv_check_cflags___ffast_math" = xyes; then :
16872
+ if test "x$ax_cv_check_cflags___ffast_math" = xyes; then :
16851
16873
  CFLAGS="$CFLAGS -ffast-math"
16852
16874
  else
16853
16875
  :
@@ -16858,6 +16880,8 @@ fi
16858
16880
 
16859
16881
 
16860
16882
 
16883
+
16884
+
16861
16885
  # Check whether --with-gcc-arch was given.
16862
16886
  if test "${with_gcc_arch+set}" = set; then :
16863
16887
  withval=$with_gcc_arch; ax_gcc_arch=$withval
@@ -16882,7 +16906,7 @@ if test "x$ax_gcc_arch" = xyes; then
16882
16906
  ax_gcc_arch=""
16883
16907
  if test "$cross_compiling" = no; then
16884
16908
  case $host_cpu in
16885
- i[3456]86*|x86_64*) # use cpuid codes
16909
+ i[3456]86*|x86_64*|amd64*) # use cpuid codes
16886
16910
 
16887
16911
  ac_ext=c
16888
16912
  ac_cpp='$CPP $CPPFLAGS'
@@ -16905,11 +16929,14 @@ int
16905
16929
  main ()
16906
16930
  {
16907
16931
 
16908
- int op = 0, eax, ebx, ecx, edx;
16932
+ int op = 0, level = 0, eax, ebx, ecx, edx;
16909
16933
  FILE *f;
16910
- __asm__("cpuid"
16911
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16912
- : "a" (op));
16934
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16935
+ "cpuid\n"
16936
+ "xchg %%ebx, %1\n"
16937
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16938
+ : "a" (op), "2" (level));
16939
+
16913
16940
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16914
16941
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16915
16942
  fclose(f);
@@ -16939,6 +16966,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
16939
16966
 
16940
16967
 
16941
16968
 
16969
+
16942
16970
  ac_ext=c
16943
16971
  ac_cpp='$CPP $CPPFLAGS'
16944
16972
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -16960,11 +16988,14 @@ int
16960
16988
  main ()
16961
16989
  {
16962
16990
 
16963
- int op = 1, eax, ebx, ecx, edx;
16991
+ int op = 1, level = 0, eax, ebx, ecx, edx;
16964
16992
  FILE *f;
16965
- __asm__("cpuid"
16966
- : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
16967
- : "a" (op));
16993
+ __asm__ __volatile__ ("xchg %%ebx, %1\n"
16994
+ "cpuid\n"
16995
+ "xchg %%ebx, %1\n"
16996
+ : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
16997
+ : "a" (op), "2" (level));
16998
+
16968
16999
  f = fopen("conftest_cpuid", "w"); if (!f) return 1;
16969
17000
  fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
16970
17001
  fclose(f);
@@ -16993,114 +17024,68 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
16993
17024
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
16994
17025
 
16995
17026
 
17027
+
16996
17028
  case $ax_cv_gcc_x86_cpuid_0 in
16997
- *:756e6547:*:*) # Intel
17029
+ *:756e6547:6c65746e:49656e69) # Intel
16998
17030
  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" ;;
17031
+ *5[4578]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
17032
+ *5[123]?:*:*:*) ax_gcc_arch=pentium ;;
17033
+ *0?61?:*:*:*|?61?:*:*:*|61?:*:*:*) ax_gcc_arch=pentiumpro ;;
17034
+ *0?6[356]?:*:*:*|?6[356]?:*:*:*|6[356]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
17035
+ *0?6[78ab]?:*:*:*|?6[78ab]?:*:*:*|6[78ab]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
17036
+ *0?6[9d]?:*:*:*|?6[9d]?:*:*:*|6[9d]?:*:*:*|*1?65?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
17037
+ *0?6e?:*:*:*|?6e?:*:*:*|6e?:*:*:*) ax_gcc_arch="yonah pentium-m pentium3 pentiumpro" ;;
17038
+ *0?6f?:*:*:*|?6f?:*:*:*|6f?:*:*:*|*1?66?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
17007
17039
  *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";;
17040
+ *1?6[aef]?:*:*:*|*2?6e?:*:*:*) ax_gcc_arch="nehalem corei7 core2 pentium-m pentium3 pentiumpro" ;;
17041
+ *2?6[5cf]?:*:*:*) ax_gcc_arch="westmere corei7 core2 pentium-m pentium3 pentiumpro" ;;
17042
+ *2?6[ad]?:*:*:*) ax_gcc_arch="sandybridge corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17043
+ *3?6[ae]?:*:*:*) ax_gcc_arch="ivybridge core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17044
+ *3?6[cf]?:*:*:*|*4?6[56]?:*:*:*) ax_gcc_arch="haswell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17045
+ *3?6d?:*:*:*|*4?6[7f]?:*:*:*|*5?66?:*:*:*) ax_gcc_arch="broadwell core-avx2 core-avx-i corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
17046
+ *1?6c?:*:*:*|*2?6[67]?:*:*:*|*3?6[56]?:*:*:*) ax_gcc_arch="bonnell atom core2 pentium-m pentium3 pentiumpro" ;;
17047
+ *3?67?:*:*:*|*[45]?6[ad]?:*:*:*) ax_gcc_arch="silvermont atom core2 pentium-m pentium3 pentiumpro" ;;
17048
+ *000?f[012]?:*:*:*|?f[012]?:*:*:*|f[012]?:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
17049
+ *000?f[346]?:*:*:*|?f[346]?:*:*:*|f[346]?:*:*:*) ax_gcc_arch="nocona prescott pentium4 pentiumpro" ;;
17050
+ # fallback
17051
+ *5??:*:*:*) ax_gcc_arch=pentium ;;
17052
+ *??6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
17053
+ *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
17054
+ *00??f??:*:*:*|??f??:*:*:*|?f??:*:*:*|f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro" ;;
17019
17055
  esac ;;
17020
- *:68747541:*:*) # AMD
17056
+ *:68747541:444d4163:69746e65) # AMD
17021
17057
  case $ax_cv_gcc_x86_cpuid_1 in
17022
17058
  *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 ;;
17059
+ *5[8]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
17060
+ *5[9d]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
17026
17061
  *6[12]?:*:*:*) ax_gcc_arch="athlon k7" ;;
17027
17062
  *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" ;;
17063
+ *6[678a]?:*:*:*) ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
17064
+ *000?f[4578bcef]?:*:*:*|?f[4578bcef]?:*:*:*|f[4578bcef]?:*:*:*|*001?f[4578bcf]?:*:*:*|1?f[4578bcf]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
17065
+ *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" ;;
17066
+ *010?f[245689a]?:*:*:*|10?f[245689a]?:*:*:*|*030?f1?:*:*:*|30?f1?:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
17067
+ *050?f[12]?:*:*:*|50?f[12]?:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
17068
+ *060?f1?:*:*:*|60?f1?:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
17069
+ *060?f2?:*:*:*|60?f2?:*:*:*|*061?f[03]?:*:*:*|61?f[03]?:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
17070
+ *063?f0?:*:*:*|63?f0?:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
17071
+ *07[03]?f0?:*:*:*|7[03]?f0?:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
17072
+ # fallback
17073
+ *0[13]??f??:*:*:*|[13]??f??:*:*:*) ax_gcc_arch="barcelona amdfam10 k8" ;;
17074
+ *020?f??:*:*:*|20?f??:*:*:*) ax_gcc_arch="athlon64-sse3 k8-sse3 athlon64 k8" ;;
17075
+ *05??f??:*:*:*|5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
17076
+ *060?f??:*:*:*|60?f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
17077
+ *061?f??:*:*:*|61?f??:*:*:*) ax_gcc_arch="bdver2 bdver1 amdfam10 k8" ;;
17078
+ *06??f??:*:*:*|6??f??:*:*:*) ax_gcc_arch="bdver3 bdver2 bdver1 amdfam10 k8" ;;
17079
+ *070?f??:*:*:*|70?f??:*:*:*) ax_gcc_arch="btver2 btver1 amdfam10 k8" ;;
17080
+ *???f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
17097
17081
  esac ;;
17098
- *:746e6543:*:*) # IDT
17082
+ *:746e6543:736c7561:48727561) # IDT / VIA (Centaur)
17099
17083
  case $ax_cv_gcc_x86_cpuid_1 in
17100
17084
  *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
17101
- *58?:*:*:*) ax_gcc_arch=winchip2 ;;
17085
+ *5[89]?:*:*:*) ax_gcc_arch=winchip2 ;;
17086
+ *66?:*:*:*) ax_gcc_arch=winchip2 ;;
17102
17087
  *6[78]?:*:*:*) ax_gcc_arch=c3 ;;
17103
- *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
17088
+ *6[9adf]?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
17104
17089
  esac ;;
17105
17090
  esac
17106
17091
  if test x"$ax_gcc_arch" = x; then # fallback
@@ -17155,7 +17140,7 @@ fi
17155
17140
 
17156
17141
 
17157
17142
  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`
17143
+ cputype=`echo "$cputype" | tr -d ' -' | $SED 's/SPARCIIi/SPARCII/' |tr $as_cr_LETTERS $as_cr_letters`
17159
17144
  case $cputype in
17160
17145
  *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
17161
17146
  *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
@@ -17177,8 +17162,8 @@ fi
17177
17162
  alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
17178
17163
 
17179
17164
  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'`
17165
+ 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`
17166
+ cputype=`echo $cputype | $SED -e 's/ppc//g;s/ *//g'`
17182
17167
  case $cputype in
17183
17168
  *750*) ax_gcc_arch="750 G3" ;;
17184
17169
  *740[0-9]*) ax_gcc_arch="$cputype 7400 G4" ;;
@@ -17188,25 +17173,53 @@ fi
17188
17173
  *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
17189
17174
  *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
17190
17175
  603ev|8240) ax_gcc_arch="$cputype 603e 603";;
17176
+ *POWER7*) ax_gcc_arch="power7";;
17177
+ *POWER8*) ax_gcc_arch="power8";;
17178
+ *POWER9*) ax_gcc_arch="power9";;
17179
+ *POWER10*) ax_gcc_arch="power10";;
17191
17180
  *) ax_gcc_arch=$cputype ;;
17192
17181
  esac
17193
17182
  ax_gcc_arch="$ax_gcc_arch powerpc"
17194
17183
  ;;
17184
+ aarch64)
17185
+ cpuimpl=`grep 'CPU implementer' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17186
+ cpuarch=`grep 'CPU architecture' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17187
+ cpuvar=`grep 'CPU variant' /proc/cpuinfo 2> /dev/null | cut -d: -f2 | tr -d " " | head -n 1`
17188
+ case $cpuimpl in
17189
+ 0x42) case $cpuarch in
17190
+ 8) case $cpuvar in
17191
+ 0x0) ax_gcc_arch="thunderx2t99 vulcan armv8.1-a armv8-a+lse armv8-a native" ;;
17192
+ esac
17193
+ ;;
17194
+ esac
17195
+ ;;
17196
+ 0x43) case $cpuarch in
17197
+ 8) case $cpuvar in
17198
+ 0x0) ax_gcc_arch="thunderx armv8-a native" ;;
17199
+ 0x1) ax_gcc_arch="thunderx+lse armv8.1-a armv8-a+lse armv8-a native" ;;
17200
+ esac
17201
+ ;;
17202
+ esac
17203
+ ;;
17204
+ esac
17205
+ ;;
17195
17206
  esac
17196
17207
  fi # not cross-compiling
17197
17208
  fi # guess arch
17198
17209
 
17199
17210
  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
17211
+ if test "x$acx_maxopt_portable" = xyes; then # if we require portable code
17212
+ flag_prefixes="-mtune="
17213
+ if test "x$ax_cv_c_compiler_vendor" = xclang; then flag_prefixes="-march="; fi
17214
+ # -mcpu=$arch and m$arch generate nonportable code on every arch except
17215
+ # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
17216
+ case $host_cpu in i*86|x86_64*|amd64*) flag_prefixes="$flag_prefixes -mcpu= -m";; esac
17217
+ else
17218
+ flag_prefixes="-march= -mcpu= -m"
17219
+ fi
17220
+ for flag_prefix in $flag_prefixes; do
17221
+ for arch in $ax_gcc_arch; do
17222
+ flag="$flag_prefix$arch"
17210
17223
  as_CACHEVAR=`$as_echo "ax_cv_check_cflags__$flag" | $as_tr_sh`
17211
17224
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5
17212
17225
  $as_echo_n "checking whether C compiler accepts $flag... " >&6; }
@@ -17238,8 +17251,12 @@ fi
17238
17251
  eval ac_res=\$$as_CACHEVAR
17239
17252
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
17240
17253
  $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
17254
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
17255
+ if test "x$ax_cv_c_compiler_vendor" = xclang; then
17256
+ if test "x$acx_maxopt_portable" = xyes; then
17257
+ if test "x$flag" = "x-march=$arch"; then flag=-mtune=$arch; fi
17258
+ fi
17259
+ fi; ax_cv_gcc_archflag=$flag; break
17243
17260
  else
17244
17261
  :
17245
17262
  fi
@@ -17264,6 +17281,11 @@ else
17264
17281
  fi
17265
17282
 
17266
17283
  ;;
17284
+
17285
+ microsoft)
17286
+ # default optimization flags for MSVC opt builds
17287
+ CFLAGS="-O2"
17288
+ ;;
17267
17289
  esac
17268
17290
 
17269
17291
  if test -z "$CFLAGS"; then
@@ -17308,7 +17330,7 @@ fi
17308
17330
  eval ac_res=\$$as_CACHEVAR
17309
17331
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
17310
17332
  $as_echo "$ac_res" >&6; }
17311
- if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
17333
+ if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then :
17312
17334
  :
17313
17335
  else
17314
17336
 
@@ -17329,29 +17351,7 @@ fi
17329
17351
  # The AX_CFLAGS_WARN_ALL macro doesn't currently work for sunpro
17330
17352
  # compiler.
17331
17353
  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
17354
+ ac_ext=c
17355
17355
  ac_cpp='$CPP $CPPFLAGS'
17356
17356
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
17357
17357
  ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@@ -17388,29 +17388,40 @@ fi
17388
17388
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags_warn_all" >&5
17389
17389
  $as_echo "$ac_cv_cflags_warn_all" >&6; }
17390
17390
 
17391
+
17391
17392
  case ".$ac_cv_cflags_warn_all" in
17392
17393
  .ok|.ok,*) ;;
17393
17394
  .|.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
17395
+ *)
17396
+ if ${CFLAGS+:} false; then :
17397
+
17398
+ case " $CFLAGS " in #(
17399
+ *" $ac_cv_cflags_warn_all "*) :
17400
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS already contains \$ac_cv_cflags_warn_all"; } >&5
17398
17401
  (: CFLAGS already contains $ac_cv_cflags_warn_all) 2>&5
17399
17402
  ac_status=$?
17400
17403
  $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
17404
+ test $ac_status = 0; } ;; #(
17405
+ *) :
17406
+
17407
+ as_fn_append CFLAGS " $ac_cv_cflags_warn_all"
17408
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
17409
+ (: CFLAGS="$CFLAGS") 2>&5
17406
17410
  ac_status=$?
17407
17411
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17408
17412
  test $ac_status = 0; }
17409
- CFLAGS="$CFLAGS $ac_cv_cflags_warn_all"
17410
- ;;
17411
- esac
17413
+ ;;
17414
+ esac
17415
+
17412
17416
  else
17413
- CFLAGS="$ac_cv_cflags_warn_all"
17417
+
17418
+ CFLAGS=$ac_cv_cflags_warn_all
17419
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: : CFLAGS=\"\$CFLAGS\""; } >&5
17420
+ (: CFLAGS="$CFLAGS") 2>&5
17421
+ ac_status=$?
17422
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17423
+ test $ac_status = 0; }
17424
+
17414
17425
  fi
17415
17426
  ;;
17416
17427
  esac
@@ -18288,7 +18299,7 @@ else
18288
18299
  gcc_cv_as_cfi_pseudo_op=unknown
18289
18300
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18290
18301
  /* end confdefs.h. */
18291
- asm (".cfi_startproc\n\t.cfi_endproc");
18302
+ asm (".cfi_sections\n\t.cfi_startproc\n\t.cfi_endproc");
18292
18303
  int
18293
18304
  main ()
18294
18305
  {
@@ -18619,7 +18630,7 @@ else
18619
18630
  ac_status=$?
18620
18631
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
18621
18632
  test $ac_status = 0; }; }; then
18622
- if grep '\.hidden.*foo' conftest.s >/dev/null; then
18633
+ if egrep '(\.hidden|\.private_extern).*foo' conftest.s >/dev/null; then
18623
18634
  libffi_cv_hidden_visibility_attribute=yes
18624
18635
  fi
18625
18636
  fi
@@ -18733,11 +18744,11 @@ fi
18733
18744
  if test "x$GCC" = "xyes"; then
18734
18745
  if test -n "$with_cross_host" &&
18735
18746
  test x"$with_cross_host" != x"no"; then
18736
- toolexecdir="${exec_prefix}"/'$(target_alias)'
18737
- toolexeclibdir="${toolexecdir}"/lib
18747
+ toolexecdir='${exec_prefix}'/'$(target_alias)'
18748
+ toolexeclibdir='${toolexecdir}'/lib
18738
18749
  else
18739
- toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
18740
- toolexeclibdir="${libdir}"
18750
+ toolexecdir='${libdir}'/gcc-lib/'$(target_alias)'
18751
+ toolexeclibdir='${libdir}'
18741
18752
  fi
18742
18753
  if test x"$enable_multi_os_directory" != x"no"; then
18743
18754
  multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
@@ -18748,7 +18759,7 @@ if test "x$GCC" = "xyes"; then
18748
18759
  fi
18749
18760
 
18750
18761
  else
18751
- toolexeclibdir="${libdir}"
18762
+ toolexeclibdir='${libdir}'
18752
18763
  fi
18753
18764
 
18754
18765
 
@@ -19176,9 +19187,6 @@ ac_config_commands="$ac_config_commands include"
19176
19187
  ac_config_commands="$ac_config_commands src"
19177
19188
 
19178
19189
 
19179
- ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h"
19180
-
19181
-
19182
19190
  ac_config_files="$ac_config_files include/Makefile include/ffi.h Makefile testsuite/Makefile man/Makefile doc/Makefile libffi.pc"
19183
19191
 
19184
19192
 
@@ -19757,7 +19765,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
19757
19765
  # report actual input values of CONFIG_FILES etc. instead of their
19758
19766
  # values after options handling.
19759
19767
  ac_log="
19760
- This file was extended by libffi $as_me 3.99999, which was
19768
+ This file was extended by libffi $as_me 3.3, which was
19761
19769
  generated by GNU Autoconf 2.69. Invocation command line was
19762
19770
 
19763
19771
  CONFIG_FILES = $CONFIG_FILES
@@ -19784,7 +19792,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19784
19792
  # Files that config.status was made for.
19785
19793
  config_files="$ac_config_files"
19786
19794
  config_headers="$ac_config_headers"
19787
- config_links="$ac_config_links"
19788
19795
  config_commands="$ac_config_commands"
19789
19796
 
19790
19797
  _ACEOF
@@ -19815,9 +19822,6 @@ $config_files
19815
19822
  Configuration headers:
19816
19823
  $config_headers
19817
19824
 
19818
- Configuration links:
19819
- $config_links
19820
-
19821
19825
  Configuration commands:
19822
19826
  $config_commands
19823
19827
 
@@ -19827,7 +19831,7 @@ _ACEOF
19827
19831
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
19828
19832
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
19829
19833
  ac_cs_version="\\
19830
- libffi config.status 3.99999
19834
+ libffi config.status 3.3
19831
19835
  configured by $0, generated by GNU Autoconf 2.69,
19832
19836
  with options \\"\$ac_cs_config\\"
19833
19837
 
@@ -19954,7 +19958,7 @@ ax_enable_builddir_auxdir="$ax_enable_builddir_auxdir" # $AUX
19954
19958
  ax_enable_builddir_sed="$ax_enable_builddir_sed" # $SED
19955
19959
  ax_enable_builddir="$ax_enable_builddir" # $SUB
19956
19960
 
19957
- AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
19961
+ AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
19958
19962
 
19959
19963
 
19960
19964
  # The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -20352,7 +20356,6 @@ do
20352
20356
  "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
20353
20357
  "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
20354
20358
  "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;;
20355
- "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;;
20356
20359
  "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
20357
20360
  "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;;
20358
20361
  "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -20373,7 +20376,6 @@ done
20373
20376
  if $ac_need_defaults; then
20374
20377
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
20375
20378
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
20376
- test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
20377
20379
  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
20378
20380
  fi
20379
20381
 
@@ -20671,7 +20673,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
20671
20673
  fi # test -n "$CONFIG_HEADERS"
20672
20674
 
20673
20675
 
20674
- eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS"
20676
+ eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
20675
20677
  shift
20676
20678
  for ac_tag
20677
20679
  do
@@ -20948,38 +20950,7 @@ $as_echo X"$_am_arg" |
20948
20950
  }
20949
20951
  s/.*/./; q'`/stamp-h$_am_stamp_count
20950
20952
  ;;
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
20953
 
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
20954
  :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
20984
20955
  $as_echo "$as_me: executing $ac_file commands" >&6;}
20985
20956
  ;;
@@ -21135,29 +21106,35 @@ $as_echo "$as_me: build in $ax_enable_builddir (HOST=$ax_enable_builddir_host)"
21135
21106
  # Older Autoconf quotes --file arguments for eval, but not when files
21136
21107
  # are listed without --file. Let's play safe and only enable the eval
21137
21108
  # if we detect the quoting.
21138
- case $CONFIG_FILES in
21139
- *\'*) eval set x "$CONFIG_FILES" ;;
21140
- *) set x $CONFIG_FILES ;;
21141
- esac
21109
+ # TODO: see whether this extra hack can be removed once we start
21110
+ # requiring Autoconf 2.70 or later.
21111
+ case $CONFIG_FILES in #(
21112
+ *\'*) :
21113
+ eval set x "$CONFIG_FILES" ;; #(
21114
+ *) :
21115
+ set x $CONFIG_FILES ;; #(
21116
+ *) :
21117
+ ;;
21118
+ esac
21142
21119
  shift
21143
- for mf
21120
+ # Used to flag and report bootstrapping failures.
21121
+ am_rc=0
21122
+ for am_mf
21144
21123
  do
21145
21124
  # 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
21125
+ am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
21126
+ # Check whether this is an Automake generated Makefile which includes
21127
+ # dependency-tracking related rules and includes.
21128
+ # Grep'ing the whole file directly is not great: AIX grep has a line
21153
21129
  # 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" |
21130
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
21131
+ || continue
21132
+ am_dirpart=`$as_dirname -- "$am_mf" ||
21133
+ $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
21134
+ X"$am_mf" : 'X\(//\)[^/]' \| \
21135
+ X"$am_mf" : 'X\(//\)$' \| \
21136
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
21137
+ $as_echo X"$am_mf" |
21161
21138
  sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
21162
21139
  s//\1/
21163
21140
  q
@@ -21175,53 +21152,48 @@ $as_echo X"$mf" |
21175
21152
  q
21176
21153
  }
21177
21154
  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\(\/\/\)[^/].*/{
21155
+ am_filepart=`$as_basename -- "$am_mf" ||
21156
+ $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
21157
+ X"$am_mf" : 'X\(//\)$' \| \
21158
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
21159
+ $as_echo X/"$am_mf" |
21160
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
21208
21161
  s//\1/
21209
21162
  q
21210
21163
  }
21211
- /^X\(\/\/\)$/{
21164
+ /^X\/\(\/\/\)$/{
21212
21165
  s//\1/
21213
21166
  q
21214
21167
  }
21215
- /^X\(\/\).*/{
21168
+ /^X\/\(\/\).*/{
21216
21169
  s//\1/
21217
21170
  q
21218
21171
  }
21219
21172
  s/.*/./; q'`
21220
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
21221
- # echo "creating $dirpart/$file"
21222
- echo '# dummy' > "$dirpart/$file"
21223
- done
21173
+ { echo "$as_me:$LINENO: cd "$am_dirpart" \
21174
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
21175
+ | $MAKE -f - am--depfiles" >&5
21176
+ (cd "$am_dirpart" \
21177
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
21178
+ | $MAKE -f - am--depfiles) >&5 2>&5
21179
+ ac_status=$?
21180
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
21181
+ (exit $ac_status); } || am_rc=$?
21224
21182
  done
21183
+ if test $am_rc -ne 0; then
21184
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
21185
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
21186
+ as_fn_error $? "Something went wrong bootstrapping makefile fragments
21187
+ for automatic dependency tracking. Try re-running configure with the
21188
+ '--disable-dependency-tracking' option to at least be able to build
21189
+ the package (albeit without support for automatic dependency tracking).
21190
+ See \`config.log' for more details" "$LINENO" 5; }
21191
+ fi
21192
+ { am_dirpart=; unset am_dirpart;}
21193
+ { am_filepart=; unset am_filepart;}
21194
+ { am_mf=; unset am_mf;}
21195
+ { am_rc=; unset am_rc;}
21196
+ rm -f conftest-deps.mk
21225
21197
  }
21226
21198
  ;;
21227
21199
  "libtool":C)
@@ -21976,3 +21948,7 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
21976
21948
  $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
21977
21949
  fi
21978
21950
 
21951
+
21952
+ # Copy this file instead of using AC_CONFIG_LINK in order to support
21953
+ # compiling with MSVC, which won't understand cygwin style symlinks.
21954
+ cp ${srcdir}/src/$TARGETDIR/ffitarget.h include/ffitarget.h