ffi 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (530) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +25 -0
  3. data/.gitmodules +4 -0
  4. data/.travis.yml +42 -0
  5. data/.yardopts +5 -0
  6. data/CHANGELOG.md +131 -0
  7. data/COPYING +49 -0
  8. data/Gemfile +15 -0
  9. data/LICENSE +24 -0
  10. data/LICENSE.SPECS +22 -0
  11. data/README.md +115 -0
  12. data/Rakefile +195 -0
  13. data/appveyor.yml +27 -0
  14. data/ext/ffi_c/AbstractMemory.c +1109 -0
  15. data/ext/ffi_c/AbstractMemory.h +175 -0
  16. data/ext/ffi_c/ArrayType.c +162 -0
  17. data/ext/ffi_c/ArrayType.h +59 -0
  18. data/ext/ffi_c/Buffer.c +365 -0
  19. data/ext/ffi_c/Call.c +503 -0
  20. data/ext/ffi_c/Call.h +107 -0
  21. data/ext/ffi_c/ClosurePool.c +283 -0
  22. data/ext/ffi_c/ClosurePool.h +57 -0
  23. data/ext/ffi_c/DynamicLibrary.c +339 -0
  24. data/ext/ffi_c/DynamicLibrary.h +98 -0
  25. data/ext/ffi_c/Function.c +917 -0
  26. data/ext/ffi_c/Function.h +87 -0
  27. data/ext/ffi_c/FunctionInfo.c +271 -0
  28. data/ext/ffi_c/LastError.c +229 -0
  29. data/ext/ffi_c/LastError.h +47 -0
  30. data/ext/ffi_c/LongDouble.c +63 -0
  31. data/ext/ffi_c/LongDouble.h +51 -0
  32. data/ext/ffi_c/MappedType.c +168 -0
  33. data/ext/ffi_c/MappedType.h +59 -0
  34. data/ext/ffi_c/MemoryPointer.c +197 -0
  35. data/ext/ffi_c/MemoryPointer.h +53 -0
  36. data/ext/ffi_c/MethodHandle.c +358 -0
  37. data/ext/ffi_c/MethodHandle.h +55 -0
  38. data/ext/ffi_c/Platform.c +82 -0
  39. data/ext/ffi_c/Platform.h +45 -0
  40. data/ext/ffi_c/Pointer.c +508 -0
  41. data/ext/ffi_c/Pointer.h +63 -0
  42. data/ext/ffi_c/Struct.c +829 -0
  43. data/ext/ffi_c/Struct.h +106 -0
  44. data/ext/ffi_c/StructByValue.c +150 -0
  45. data/ext/ffi_c/StructByValue.h +55 -0
  46. data/ext/ffi_c/StructLayout.c +698 -0
  47. data/ext/ffi_c/Thread.c +137 -0
  48. data/ext/ffi_c/Thread.h +84 -0
  49. data/ext/ffi_c/Type.c +379 -0
  50. data/ext/ffi_c/Type.h +61 -0
  51. data/ext/ffi_c/Types.c +139 -0
  52. data/ext/ffi_c/Types.h +89 -0
  53. data/ext/ffi_c/Variadic.c +298 -0
  54. data/ext/ffi_c/compat.h +78 -0
  55. data/ext/ffi_c/extconf.rb +86 -0
  56. data/ext/ffi_c/ffi.c +93 -0
  57. data/ext/ffi_c/libffi.bsd.mk +40 -0
  58. data/ext/ffi_c/libffi.darwin.mk +105 -0
  59. data/ext/ffi_c/libffi.gnu.mk +32 -0
  60. data/ext/ffi_c/libffi.mk +18 -0
  61. data/ext/ffi_c/libffi.vc.mk +26 -0
  62. data/ext/ffi_c/libffi.vc64.mk +26 -0
  63. data/ext/ffi_c/libffi/.appveyor.yml +50 -0
  64. data/ext/ffi_c/libffi/.github/issue_template.md +10 -0
  65. data/ext/ffi_c/libffi/.gitignore +38 -0
  66. data/ext/ffi_c/libffi/.travis.yml +34 -0
  67. data/ext/ffi_c/libffi/.travis/ar-lib +270 -0
  68. data/ext/ffi_c/libffi/.travis/build.sh +34 -0
  69. data/ext/ffi_c/libffi/.travis/compile +351 -0
  70. data/ext/ffi_c/libffi/.travis/install.sh +22 -0
  71. data/ext/ffi_c/libffi/.travis/moxie-sim.exp +60 -0
  72. data/ext/ffi_c/libffi/.travis/site.exp +18 -0
  73. data/ext/ffi_c/libffi/ChangeLog.libffi +584 -0
  74. data/ext/ffi_c/libffi/ChangeLog.libffi-3.1 +6000 -0
  75. data/ext/ffi_c/libffi/ChangeLog.libgcj +40 -0
  76. data/ext/ffi_c/libffi/ChangeLog.v1 +764 -0
  77. data/ext/ffi_c/libffi/LICENSE +21 -0
  78. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +352 -0
  79. data/ext/ffi_c/libffi/Makefile.am +166 -0
  80. data/ext/ffi_c/libffi/README.md +461 -0
  81. data/ext/ffi_c/libffi/acinclude.m4 +479 -0
  82. data/ext/ffi_c/libffi/autogen.sh +2 -0
  83. data/ext/ffi_c/libffi/config.guess +1466 -0
  84. data/ext/ffi_c/libffi/config.sub +1836 -0
  85. data/ext/ffi_c/libffi/configure.ac +394 -0
  86. data/ext/ffi_c/libffi/configure.host +289 -0
  87. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +203 -0
  88. data/ext/ffi_c/libffi/include/Makefile.am +9 -0
  89. data/ext/ffi_c/libffi/include/ffi.h.in +511 -0
  90. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  91. data/ext/ffi_c/libffi/include/ffi_common.h +149 -0
  92. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  93. data/ext/ffi_c/libffi/libffi.pc.in +11 -0
  94. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +1043 -0
  95. data/ext/ffi_c/libffi/libtool-version +29 -0
  96. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  97. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +71 -0
  98. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +194 -0
  99. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +122 -0
  100. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +74 -0
  101. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +87 -0
  102. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +70 -0
  103. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +302 -0
  104. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +263 -0
  105. data/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +89 -0
  106. data/ext/ffi_c/libffi/m4/ax_require_defined.m4 +37 -0
  107. data/ext/ffi_c/libffi/man/Makefile.am +8 -0
  108. data/ext/ffi_c/libffi/man/ffi.3 +41 -0
  109. data/ext/ffi_c/libffi/man/ffi_call.3 +103 -0
  110. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +68 -0
  111. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  112. data/ext/ffi_c/libffi/msvcc.sh +328 -0
  113. data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
  114. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  115. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  116. data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  117. data/ext/ffi_c/libffi/src/alpha/ffi.c +521 -0
  118. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +57 -0
  119. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  120. data/ext/ffi_c/libffi/src/alpha/osf.S +282 -0
  121. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  122. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  123. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  124. data/ext/ffi_c/libffi/src/arm/ffi.c +819 -0
  125. data/ext/ffi_c/libffi/src/arm/ffitarget.h +82 -0
  126. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  127. data/ext/ffi_c/libffi/src/arm/sysv.S +383 -0
  128. data/ext/ffi_c/libffi/src/avr32/ffi.c +423 -0
  129. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +55 -0
  130. data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  131. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  132. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  133. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  134. data/ext/ffi_c/libffi/src/closures.c +966 -0
  135. data/ext/ffi_c/libffi/src/cris/ffi.c +386 -0
  136. data/ext/ffi_c/libffi/src/cris/ffitarget.h +56 -0
  137. data/ext/ffi_c/libffi/src/cris/sysv.S +215 -0
  138. data/ext/ffi_c/libffi/src/debug.c +64 -0
  139. data/ext/ffi_c/libffi/src/dlmalloc.c +5166 -0
  140. data/ext/ffi_c/libffi/src/frv/eabi.S +128 -0
  141. data/ext/ffi_c/libffi/src/frv/ffi.c +292 -0
  142. data/ext/ffi_c/libffi/src/frv/ffitarget.h +62 -0
  143. data/ext/ffi_c/libffi/src/ia64/ffi.c +604 -0
  144. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +56 -0
  145. data/ext/ffi_c/libffi/src/ia64/ia64_flags.h +40 -0
  146. data/ext/ffi_c/libffi/src/ia64/unix.S +567 -0
  147. data/ext/ffi_c/libffi/src/java_raw_api.c +374 -0
  148. data/ext/ffi_c/libffi/src/m32r/ffi.c +232 -0
  149. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +53 -0
  150. data/ext/ffi_c/libffi/src/m32r/sysv.S +121 -0
  151. data/ext/ffi_c/libffi/src/m68k/ffi.c +362 -0
  152. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +54 -0
  153. data/ext/ffi_c/libffi/src/m68k/sysv.S +357 -0
  154. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  155. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  156. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  157. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  158. data/ext/ffi_c/libffi/src/metag/ffitarget.h +53 -0
  159. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  160. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  161. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  162. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  163. data/ext/ffi_c/libffi/src/mips/ffi.c +1130 -0
  164. data/ext/ffi_c/libffi/src/mips/ffitarget.h +244 -0
  165. data/ext/ffi_c/libffi/src/mips/n32.S +663 -0
  166. data/ext/ffi_c/libffi/src/mips/o32.S +502 -0
  167. data/ext/ffi_c/libffi/src/moxie/eabi.S +101 -0
  168. data/ext/ffi_c/libffi/src/moxie/ffi.c +285 -0
  169. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  170. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  171. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  172. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  173. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  174. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  175. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  176. data/ext/ffi_c/libffi/src/pa/ffi.c +719 -0
  177. data/ext/ffi_c/libffi/src/pa/ffitarget.h +85 -0
  178. data/ext/ffi_c/libffi/src/pa/hpux32.S +368 -0
  179. data/ext/ffi_c/libffi/src/pa/linux.S +357 -0
  180. data/ext/ffi_c/libffi/src/powerpc/aix.S +566 -0
  181. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +694 -0
  182. data/ext/ffi_c/libffi/src/powerpc/asm.h +125 -0
  183. data/ext/ffi_c/libffi/src/powerpc/darwin.S +378 -0
  184. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +571 -0
  185. data/ext/ffi_c/libffi/src/powerpc/ffi.c +173 -0
  186. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +1440 -0
  187. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +974 -0
  188. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  189. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  190. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +198 -0
  191. data/ext/ffi_c/libffi/src/powerpc/linux64.S +228 -0
  192. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +488 -0
  193. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +397 -0
  194. data/ext/ffi_c/libffi/src/powerpc/sysv.S +175 -0
  195. data/ext/ffi_c/libffi/src/prep_cif.c +261 -0
  196. data/ext/ffi_c/libffi/src/raw_api.c +267 -0
  197. data/ext/ffi_c/libffi/src/riscv/ffi.c +481 -0
  198. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +69 -0
  199. data/ext/ffi_c/libffi/src/riscv/sysv.S +293 -0
  200. data/ext/ffi_c/libffi/src/s390/ffi.c +756 -0
  201. data/ext/ffi_c/libffi/src/s390/ffitarget.h +70 -0
  202. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  203. data/ext/ffi_c/libffi/src/s390/sysv.S +325 -0
  204. data/ext/ffi_c/libffi/src/sh/ffi.c +717 -0
  205. data/ext/ffi_c/libffi/src/sh/ffitarget.h +54 -0
  206. data/ext/ffi_c/libffi/src/sh/sysv.S +850 -0
  207. data/ext/ffi_c/libffi/src/sh64/ffi.c +469 -0
  208. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +58 -0
  209. data/ext/ffi_c/libffi/src/sh64/sysv.S +539 -0
  210. data/ext/ffi_c/libffi/src/sparc/ffi.c +468 -0
  211. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  212. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +81 -0
  213. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  214. data/ext/ffi_c/libffi/src/sparc/v8.S +443 -0
  215. data/ext/ffi_c/libffi/src/sparc/v9.S +440 -0
  216. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  217. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  218. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  219. data/ext/ffi_c/libffi/src/types.c +108 -0
  220. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  221. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  222. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  223. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  224. data/ext/ffi_c/libffi/src/x86/ffi.c +754 -0
  225. data/ext/ffi_c/libffi/src/x86/ffi64.c +884 -0
  226. data/ext/ffi_c/libffi/src/x86/ffitarget.h +147 -0
  227. data/ext/ffi_c/libffi/src/x86/ffiw64.c +308 -0
  228. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  229. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  230. data/ext/ffi_c/libffi/src/x86/sysv.S +1129 -0
  231. data/ext/ffi_c/libffi/src/x86/unix64.S +566 -0
  232. data/ext/ffi_c/libffi/src/x86/win64.S +232 -0
  233. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  234. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  235. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  236. data/ext/ffi_c/libffi/src/xtensa/sysv.S +258 -0
  237. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  238. data/ext/ffi_c/libffi/testsuite/Makefile.am +117 -0
  239. data/ext/ffi_c/libffi/testsuite/config/default.exp +1 -0
  240. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +636 -0
  241. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +283 -0
  242. data/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +45 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
  244. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +78 -0
  245. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +50 -0
  246. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +58 -0
  247. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1745 -0
  248. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2885 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +743 -0
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +46 -0
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +43 -0
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +89 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +81 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +81 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +82 -0
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +89 -0
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +92 -0
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +90 -0
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c +55 -0
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +94 -0
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +95 -0
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +96 -0
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +102 -0
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +89 -0
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +91 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +93 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +113 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +90 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +95 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +90 -0
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +90 -0
  274. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +95 -0
  275. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +98 -0
  276. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +90 -0
  277. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +109 -0
  278. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +98 -0
  279. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +124 -0
  280. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +113 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +99 -0
  282. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +117 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +97 -0
  284. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +88 -0
  285. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +90 -0
  286. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +91 -0
  287. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +93 -0
  288. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +91 -0
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +92 -0
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +132 -0
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +115 -0
  292. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +95 -0
  293. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +91 -0
  294. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +91 -0
  295. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +92 -0
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +91 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +91 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +93 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +43 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +61 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +42 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +61 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +74 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +74 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +86 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +91 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +74 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +86 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  314. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +142 -0
  315. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +44 -0
  316. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +42 -0
  317. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +42 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  319. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +42 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +43 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  323. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +47 -0
  325. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +43 -0
  326. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  327. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +36 -0
  328. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +26 -0
  329. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +138 -0
  330. data/ext/ffi_c/libffi/testsuite/libffi.call/float.c +59 -0
  331. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +60 -0
  332. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +60 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +74 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +62 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +341 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +59 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +52 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +152 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +161 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +134 -0
  345. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  346. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +110 -0
  347. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +111 -0
  348. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +111 -0
  349. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +112 -0
  350. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +131 -0
  351. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +111 -0
  352. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +131 -0
  353. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +131 -0
  354. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  355. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  356. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +90 -0
  357. data/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +59 -0
  358. data/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +114 -0
  359. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +36 -0
  360. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +43 -0
  361. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +42 -0
  362. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +35 -0
  363. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +36 -0
  364. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +49 -0
  365. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +42 -0
  366. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +34 -0
  367. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +41 -0
  368. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +43 -0
  369. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +36 -0
  370. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +38 -0
  371. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +38 -0
  372. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +38 -0
  373. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  374. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  375. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  376. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +125 -0
  377. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +44 -0
  378. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  379. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  380. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  381. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +67 -0
  382. data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +57 -0
  383. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +67 -0
  384. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +60 -0
  385. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +64 -0
  386. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +66 -0
  387. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +64 -0
  388. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +74 -0
  389. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +81 -0
  390. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +68 -0
  391. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  392. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  393. data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +117 -0
  394. data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +54 -0
  395. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  396. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  397. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  398. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  399. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  400. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  401. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  402. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  403. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  404. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  405. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  406. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  407. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  408. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  409. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  410. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  411. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  412. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  413. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  414. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  415. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +36 -0
  416. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  417. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  418. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  419. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  420. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  421. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  422. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  423. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  424. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  425. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  426. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  427. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  428. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  429. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  430. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  431. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  432. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  433. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  434. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  435. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  436. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  437. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  438. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  439. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  440. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  441. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  442. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  443. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  444. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  445. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  446. data/ext/ffi_c/rbffi.h +55 -0
  447. data/ext/ffi_c/rbffi_endian.h +59 -0
  448. data/ext/ffi_c/win32/stdbool.h +8 -0
  449. data/ext/ffi_c/win32/stdint.h +201 -0
  450. data/ffi.gemspec +43 -0
  451. data/lib/ffi.rb +20 -0
  452. data/lib/ffi/autopointer.rb +203 -0
  453. data/lib/ffi/buffer.rb +4 -0
  454. data/lib/ffi/callback.rb +4 -0
  455. data/lib/ffi/data_converter.rb +67 -0
  456. data/lib/ffi/enum.rb +296 -0
  457. data/lib/ffi/errno.rb +43 -0
  458. data/lib/ffi/ffi.rb +45 -0
  459. data/lib/ffi/io.rb +62 -0
  460. data/lib/ffi/library.rb +588 -0
  461. data/lib/ffi/managedstruct.rb +84 -0
  462. data/lib/ffi/memorypointer.rb +1 -0
  463. data/lib/ffi/platform.rb +172 -0
  464. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  465. data/lib/ffi/platform/aarch64-freebsd12/types.conf +128 -0
  466. data/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  467. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  468. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  469. data/lib/ffi/platform/arm-linux/types.conf +104 -0
  470. data/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  471. data/lib/ffi/platform/i386-darwin/types.conf +100 -0
  472. data/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  473. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  474. data/lib/ffi/platform/i386-gnu/types.conf +107 -0
  475. data/lib/ffi/platform/i386-linux/types.conf +103 -0
  476. data/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  477. data/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  478. data/lib/ffi/platform/i386-solaris/types.conf +122 -0
  479. data/lib/ffi/platform/i386-windows/types.conf +105 -0
  480. data/lib/ffi/platform/ia64-linux/types.conf +104 -0
  481. data/lib/ffi/platform/mips-linux/types.conf +102 -0
  482. data/lib/ffi/platform/mips64-linux/types.conf +104 -0
  483. data/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  484. data/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  485. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  486. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  487. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  488. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  489. data/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  490. data/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  491. data/lib/ffi/platform/powerpc-linux/types.conf +100 -0
  492. data/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  493. data/lib/ffi/platform/s390-linux/types.conf +102 -0
  494. data/lib/ffi/platform/s390x-linux/types.conf +102 -0
  495. data/lib/ffi/platform/sparc-linux/types.conf +102 -0
  496. data/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  497. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  498. data/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  499. data/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  500. data/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  501. data/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  502. data/lib/ffi/platform/x86_64-freebsd12/types.conf +128 -0
  503. data/lib/ffi/platform/x86_64-linux/types.conf +102 -0
  504. data/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  505. data/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  506. data/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  507. data/lib/ffi/platform/x86_64-windows/types.conf +120 -0
  508. data/lib/ffi/pointer.rb +160 -0
  509. data/lib/ffi/struct.rb +311 -0
  510. data/lib/ffi/struct_by_reference.rb +72 -0
  511. data/lib/ffi/struct_layout.rb +96 -0
  512. data/lib/ffi/struct_layout_builder.rb +227 -0
  513. data/lib/ffi/tools/const_generator.rb +230 -0
  514. data/lib/ffi/tools/generator.rb +105 -0
  515. data/lib/ffi/tools/generator_task.rb +32 -0
  516. data/lib/ffi/tools/struct_generator.rb +194 -0
  517. data/lib/ffi/tools/types_generator.rb +134 -0
  518. data/lib/ffi/types.rb +194 -0
  519. data/lib/ffi/union.rb +43 -0
  520. data/lib/ffi/variadic.rb +78 -0
  521. data/lib/ffi/version.rb +3 -0
  522. data/samples/getlogin.rb +8 -0
  523. data/samples/getpid.rb +8 -0
  524. data/samples/gettimeofday.rb +18 -0
  525. data/samples/hello.rb +7 -0
  526. data/samples/inotify.rb +60 -0
  527. data/samples/pty.rb +76 -0
  528. data/samples/qsort.rb +21 -0
  529. data/samples/sample_helper.rb +6 -0
  530. metadata +663 -0
@@ -0,0 +1,2 @@
1
+ #!/bin/sh
2
+ exec autoreconf -v -i
@@ -0,0 +1,1466 @@
1
+ #! /bin/sh
2
+ # Attempt to guess a canonical system name.
3
+ # Copyright 1992-2017 Free Software Foundation, Inc.
4
+
5
+ timestamp='2017-05-11'
6
+
7
+ # This file is free software; you can redistribute it and/or modify it
8
+ # under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful, but
13
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, see <http://www.gnu.org/licenses/>.
19
+ #
20
+ # As a special exception to the GNU General Public License, if you
21
+ # distribute this file as part of a program that contains a
22
+ # configuration script generated by Autoconf, you may include it under
23
+ # the same distribution terms that you use for the rest of that
24
+ # program. This Exception is an additional permission under section 7
25
+ # of the GNU General Public License, version 3 ("GPLv3").
26
+ #
27
+ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
+ #
29
+ # You can get the latest version of this script from:
30
+ # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31
+ #
32
+ # Please send patches to <config-patches@gnu.org>.
33
+
34
+
35
+ me=`echo "$0" | sed -e 's,.*/,,'`
36
+
37
+ usage="\
38
+ Usage: $0 [OPTION]
39
+
40
+ Output the configuration name of the system \`$me' is run on.
41
+
42
+ Operation modes:
43
+ -h, --help print this help, then exit
44
+ -t, --time-stamp print date of last modification, then exit
45
+ -v, --version print version number, then exit
46
+
47
+ Report bugs and patches to <config-patches@gnu.org>."
48
+
49
+ version="\
50
+ GNU config.guess ($timestamp)
51
+
52
+ Originally written by Per Bothner.
53
+ Copyright 1992-2017 Free Software Foundation, Inc.
54
+
55
+ This is free software; see the source for copying conditions. There is NO
56
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57
+
58
+ help="
59
+ Try \`$me --help' for more information."
60
+
61
+ # Parse command line
62
+ while test $# -gt 0 ; do
63
+ case $1 in
64
+ --time-stamp | --time* | -t )
65
+ echo "$timestamp" ; exit ;;
66
+ --version | -v )
67
+ echo "$version" ; exit ;;
68
+ --help | --h* | -h )
69
+ echo "$usage"; exit ;;
70
+ -- ) # Stop option processing
71
+ shift; break ;;
72
+ - ) # Use stdin as input.
73
+ break ;;
74
+ -* )
75
+ echo "$me: invalid option $1$help" >&2
76
+ exit 1 ;;
77
+ * )
78
+ break ;;
79
+ esac
80
+ done
81
+
82
+ if test $# != 0; then
83
+ echo "$me: too many arguments$help" >&2
84
+ exit 1
85
+ fi
86
+
87
+ trap 'exit 1' 1 2 15
88
+
89
+ # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90
+ # compiler to aid in system detection is discouraged as it requires
91
+ # temporary files to be created and, as you can see below, it is a
92
+ # headache to deal with in a portable fashion.
93
+
94
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95
+ # use `HOST_CC' if defined, but it is deprecated.
96
+
97
+ # Portable tmp directory creation inspired by the Autoconf team.
98
+
99
+ set_cc_for_build='
100
+ trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101
+ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102
+ : ${TMPDIR=/tmp} ;
103
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107
+ dummy=$tmp/dummy ;
108
+ tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109
+ case $CC_FOR_BUILD,$HOST_CC,$CC in
110
+ ,,) echo "int x;" > $dummy.c ;
111
+ for c in cc gcc c89 c99 ; do
112
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113
+ CC_FOR_BUILD="$c"; break ;
114
+ fi ;
115
+ done ;
116
+ if test x"$CC_FOR_BUILD" = x ; then
117
+ CC_FOR_BUILD=no_compiler_found ;
118
+ fi
119
+ ;;
120
+ ,,*) CC_FOR_BUILD=$CC ;;
121
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
122
+ esac ; set_cc_for_build= ;'
123
+
124
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125
+ # (ghazi@noc.rutgers.edu 1994-08-24)
126
+ if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127
+ PATH=$PATH:/.attbin ; export PATH
128
+ fi
129
+
130
+ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131
+ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134
+
135
+ case "${UNAME_SYSTEM}" in
136
+ Linux|GNU|GNU/*)
137
+ # If the system lacks a compiler, then just pick glibc.
138
+ # We could probably try harder.
139
+ LIBC=gnu
140
+
141
+ eval $set_cc_for_build
142
+ cat <<-EOF > $dummy.c
143
+ #include <features.h>
144
+ #if defined(__UCLIBC__)
145
+ LIBC=uclibc
146
+ #elif defined(__dietlibc__)
147
+ LIBC=dietlibc
148
+ #else
149
+ LIBC=gnu
150
+ #endif
151
+ EOF
152
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
153
+ ;;
154
+ esac
155
+
156
+ # Note: order is significant - the case branches are not exclusive.
157
+
158
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
159
+ *:NetBSD:*:*)
160
+ # NetBSD (nbsd) targets should (where applicable) match one or
161
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
162
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
163
+ # switched to ELF, *-*-netbsd* would select the old
164
+ # object file format. This provides both forward
165
+ # compatibility and a consistent mechanism for selecting the
166
+ # object file format.
167
+ #
168
+ # Note: NetBSD doesn't particularly care about the vendor
169
+ # portion of the name. We always set it to "unknown".
170
+ sysctl="sysctl -n hw.machine_arch"
171
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
172
+ /sbin/$sysctl 2>/dev/null || \
173
+ /usr/sbin/$sysctl 2>/dev/null || \
174
+ echo unknown)`
175
+ case "${UNAME_MACHINE_ARCH}" in
176
+ armeb) machine=armeb-unknown ;;
177
+ arm*) machine=arm-unknown ;;
178
+ sh3el) machine=shl-unknown ;;
179
+ sh3eb) machine=sh-unknown ;;
180
+ sh5el) machine=sh5le-unknown ;;
181
+ earmv*)
182
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
183
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
184
+ machine=${arch}${endian}-unknown
185
+ ;;
186
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
187
+ esac
188
+ # The Operating System including object format, if it has switched
189
+ # to ELF recently (or will in the future) and ABI.
190
+ case "${UNAME_MACHINE_ARCH}" in
191
+ earm*)
192
+ os=netbsdelf
193
+ ;;
194
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
195
+ eval $set_cc_for_build
196
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
197
+ | grep -q __ELF__
198
+ then
199
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
200
+ # Return netbsd for either. FIX?
201
+ os=netbsd
202
+ else
203
+ os=netbsdelf
204
+ fi
205
+ ;;
206
+ *)
207
+ os=netbsd
208
+ ;;
209
+ esac
210
+ # Determine ABI tags.
211
+ case "${UNAME_MACHINE_ARCH}" in
212
+ earm*)
213
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
214
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
215
+ ;;
216
+ esac
217
+ # The OS release
218
+ # Debian GNU/NetBSD machines have a different userland, and
219
+ # thus, need a distinct triplet. However, they do not need
220
+ # kernel version information, so it can be replaced with a
221
+ # suitable tag, in the style of linux-gnu.
222
+ case "${UNAME_VERSION}" in
223
+ Debian*)
224
+ release='-gnu'
225
+ ;;
226
+ *)
227
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
228
+ ;;
229
+ esac
230
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
231
+ # contains redundant information, the shorter form:
232
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
233
+ echo "${machine}-${os}${release}${abi}"
234
+ exit ;;
235
+ *:Bitrig:*:*)
236
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
237
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
238
+ exit ;;
239
+ *:OpenBSD:*:*)
240
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
241
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
242
+ exit ;;
243
+ *:LibertyBSD:*:*)
244
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
245
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
246
+ exit ;;
247
+ *:ekkoBSD:*:*)
248
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
249
+ exit ;;
250
+ *:SolidBSD:*:*)
251
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
252
+ exit ;;
253
+ macppc:MirBSD:*:*)
254
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
255
+ exit ;;
256
+ *:MirBSD:*:*)
257
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
258
+ exit ;;
259
+ *:Sortix:*:*)
260
+ echo ${UNAME_MACHINE}-unknown-sortix
261
+ exit ;;
262
+ alpha:OSF1:*:*)
263
+ case $UNAME_RELEASE in
264
+ *4.0)
265
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
266
+ ;;
267
+ *5.*)
268
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
269
+ ;;
270
+ esac
271
+ # According to Compaq, /usr/sbin/psrinfo has been available on
272
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
273
+ # covers most systems running today. This code pipes the CPU
274
+ # types through head -n 1, so we only detect the type of CPU 0.
275
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
276
+ case "$ALPHA_CPU_TYPE" in
277
+ "EV4 (21064)")
278
+ UNAME_MACHINE=alpha ;;
279
+ "EV4.5 (21064)")
280
+ UNAME_MACHINE=alpha ;;
281
+ "LCA4 (21066/21068)")
282
+ UNAME_MACHINE=alpha ;;
283
+ "EV5 (21164)")
284
+ UNAME_MACHINE=alphaev5 ;;
285
+ "EV5.6 (21164A)")
286
+ UNAME_MACHINE=alphaev56 ;;
287
+ "EV5.6 (21164PC)")
288
+ UNAME_MACHINE=alphapca56 ;;
289
+ "EV5.7 (21164PC)")
290
+ UNAME_MACHINE=alphapca57 ;;
291
+ "EV6 (21264)")
292
+ UNAME_MACHINE=alphaev6 ;;
293
+ "EV6.7 (21264A)")
294
+ UNAME_MACHINE=alphaev67 ;;
295
+ "EV6.8CB (21264C)")
296
+ UNAME_MACHINE=alphaev68 ;;
297
+ "EV6.8AL (21264B)")
298
+ UNAME_MACHINE=alphaev68 ;;
299
+ "EV6.8CX (21264D)")
300
+ UNAME_MACHINE=alphaev68 ;;
301
+ "EV6.9A (21264/EV69A)")
302
+ UNAME_MACHINE=alphaev69 ;;
303
+ "EV7 (21364)")
304
+ UNAME_MACHINE=alphaev7 ;;
305
+ "EV7.9 (21364A)")
306
+ UNAME_MACHINE=alphaev79 ;;
307
+ esac
308
+ # A Pn.n version is a patched version.
309
+ # A Vn.n version is a released version.
310
+ # A Tn.n version is a released field test version.
311
+ # A Xn.n version is an unreleased experimental baselevel.
312
+ # 1.2 uses "1.2" for uname -r.
313
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
314
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
315
+ exitcode=$?
316
+ trap '' 0
317
+ exit $exitcode ;;
318
+ Alpha\ *:Windows_NT*:*)
319
+ # How do we know it's Interix rather than the generic POSIX subsystem?
320
+ # Should we change UNAME_MACHINE based on the output of uname instead
321
+ # of the specific Alpha model?
322
+ echo alpha-pc-interix
323
+ exit ;;
324
+ 21064:Windows_NT:50:3)
325
+ echo alpha-dec-winnt3.5
326
+ exit ;;
327
+ Amiga*:UNIX_System_V:4.0:*)
328
+ echo m68k-unknown-sysv4
329
+ exit ;;
330
+ *:[Aa]miga[Oo][Ss]:*:*)
331
+ echo ${UNAME_MACHINE}-unknown-amigaos
332
+ exit ;;
333
+ *:[Mm]orph[Oo][Ss]:*:*)
334
+ echo ${UNAME_MACHINE}-unknown-morphos
335
+ exit ;;
336
+ *:OS/390:*:*)
337
+ echo i370-ibm-openedition
338
+ exit ;;
339
+ *:z/VM:*:*)
340
+ echo s390-ibm-zvmoe
341
+ exit ;;
342
+ *:OS400:*:*)
343
+ echo powerpc-ibm-os400
344
+ exit ;;
345
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
346
+ echo arm-acorn-riscix${UNAME_RELEASE}
347
+ exit ;;
348
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
349
+ echo arm-unknown-riscos
350
+ exit ;;
351
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
352
+ echo hppa1.1-hitachi-hiuxmpp
353
+ exit ;;
354
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
355
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
356
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
357
+ echo pyramid-pyramid-sysv3
358
+ else
359
+ echo pyramid-pyramid-bsd
360
+ fi
361
+ exit ;;
362
+ NILE*:*:*:dcosx)
363
+ echo pyramid-pyramid-svr4
364
+ exit ;;
365
+ DRS?6000:unix:4.0:6*)
366
+ echo sparc-icl-nx6
367
+ exit ;;
368
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
369
+ case `/usr/bin/uname -p` in
370
+ sparc) echo sparc-icl-nx7; exit ;;
371
+ esac ;;
372
+ s390x:SunOS:*:*)
373
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
374
+ exit ;;
375
+ sun4H:SunOS:5.*:*)
376
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
377
+ exit ;;
378
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
379
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
380
+ exit ;;
381
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
382
+ echo i386-pc-auroraux${UNAME_RELEASE}
383
+ exit ;;
384
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
385
+ eval $set_cc_for_build
386
+ SUN_ARCH=i386
387
+ # If there is a compiler, see if it is configured for 64-bit objects.
388
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
389
+ # This test works for both compilers.
390
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
391
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
392
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
393
+ grep IS_64BIT_ARCH >/dev/null
394
+ then
395
+ SUN_ARCH=x86_64
396
+ fi
397
+ fi
398
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
399
+ exit ;;
400
+ sun4*:SunOS:6*:*)
401
+ # According to config.sub, this is the proper way to canonicalize
402
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
403
+ # it's likely to be more like Solaris than SunOS4.
404
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
405
+ exit ;;
406
+ sun4*:SunOS:*:*)
407
+ case "`/usr/bin/arch -k`" in
408
+ Series*|S4*)
409
+ UNAME_RELEASE=`uname -v`
410
+ ;;
411
+ esac
412
+ # Japanese Language versions have a version number like `4.1.3-JL'.
413
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
414
+ exit ;;
415
+ sun3*:SunOS:*:*)
416
+ echo m68k-sun-sunos${UNAME_RELEASE}
417
+ exit ;;
418
+ sun*:*:4.2BSD:*)
419
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
420
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
421
+ case "`/bin/arch`" in
422
+ sun3)
423
+ echo m68k-sun-sunos${UNAME_RELEASE}
424
+ ;;
425
+ sun4)
426
+ echo sparc-sun-sunos${UNAME_RELEASE}
427
+ ;;
428
+ esac
429
+ exit ;;
430
+ aushp:SunOS:*:*)
431
+ echo sparc-auspex-sunos${UNAME_RELEASE}
432
+ exit ;;
433
+ # The situation for MiNT is a little confusing. The machine name
434
+ # can be virtually everything (everything which is not
435
+ # "atarist" or "atariste" at least should have a processor
436
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
437
+ # to the lowercase version "mint" (or "freemint"). Finally
438
+ # the system name "TOS" denotes a system which is actually not
439
+ # MiNT. But MiNT is downward compatible to TOS, so this should
440
+ # be no problem.
441
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
442
+ echo m68k-atari-mint${UNAME_RELEASE}
443
+ exit ;;
444
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
445
+ echo m68k-atari-mint${UNAME_RELEASE}
446
+ exit ;;
447
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
448
+ echo m68k-atari-mint${UNAME_RELEASE}
449
+ exit ;;
450
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
451
+ echo m68k-milan-mint${UNAME_RELEASE}
452
+ exit ;;
453
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
454
+ echo m68k-hades-mint${UNAME_RELEASE}
455
+ exit ;;
456
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
457
+ echo m68k-unknown-mint${UNAME_RELEASE}
458
+ exit ;;
459
+ m68k:machten:*:*)
460
+ echo m68k-apple-machten${UNAME_RELEASE}
461
+ exit ;;
462
+ powerpc:machten:*:*)
463
+ echo powerpc-apple-machten${UNAME_RELEASE}
464
+ exit ;;
465
+ RISC*:Mach:*:*)
466
+ echo mips-dec-mach_bsd4.3
467
+ exit ;;
468
+ RISC*:ULTRIX:*:*)
469
+ echo mips-dec-ultrix${UNAME_RELEASE}
470
+ exit ;;
471
+ VAX*:ULTRIX*:*:*)
472
+ echo vax-dec-ultrix${UNAME_RELEASE}
473
+ exit ;;
474
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
475
+ echo clipper-intergraph-clix${UNAME_RELEASE}
476
+ exit ;;
477
+ mips:*:*:UMIPS | mips:*:*:RISCos)
478
+ eval $set_cc_for_build
479
+ sed 's/^ //' << EOF >$dummy.c
480
+ #ifdef __cplusplus
481
+ #include <stdio.h> /* for printf() prototype */
482
+ int main (int argc, char *argv[]) {
483
+ #else
484
+ int main (argc, argv) int argc; char *argv[]; {
485
+ #endif
486
+ #if defined (host_mips) && defined (MIPSEB)
487
+ #if defined (SYSTYPE_SYSV)
488
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
489
+ #endif
490
+ #if defined (SYSTYPE_SVR4)
491
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
492
+ #endif
493
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
494
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
495
+ #endif
496
+ #endif
497
+ exit (-1);
498
+ }
499
+ EOF
500
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
501
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
502
+ SYSTEM_NAME=`$dummy $dummyarg` &&
503
+ { echo "$SYSTEM_NAME"; exit; }
504
+ echo mips-mips-riscos${UNAME_RELEASE}
505
+ exit ;;
506
+ Motorola:PowerMAX_OS:*:*)
507
+ echo powerpc-motorola-powermax
508
+ exit ;;
509
+ Motorola:*:4.3:PL8-*)
510
+ echo powerpc-harris-powermax
511
+ exit ;;
512
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
513
+ echo powerpc-harris-powermax
514
+ exit ;;
515
+ Night_Hawk:Power_UNIX:*:*)
516
+ echo powerpc-harris-powerunix
517
+ exit ;;
518
+ m88k:CX/UX:7*:*)
519
+ echo m88k-harris-cxux7
520
+ exit ;;
521
+ m88k:*:4*:R4*)
522
+ echo m88k-motorola-sysv4
523
+ exit ;;
524
+ m88k:*:3*:R3*)
525
+ echo m88k-motorola-sysv3
526
+ exit ;;
527
+ AViiON:dgux:*:*)
528
+ # DG/UX returns AViiON for all architectures
529
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
530
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
531
+ then
532
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
533
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
534
+ then
535
+ echo m88k-dg-dgux${UNAME_RELEASE}
536
+ else
537
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
538
+ fi
539
+ else
540
+ echo i586-dg-dgux${UNAME_RELEASE}
541
+ fi
542
+ exit ;;
543
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
544
+ echo m88k-dolphin-sysv3
545
+ exit ;;
546
+ M88*:*:R3*:*)
547
+ # Delta 88k system running SVR3
548
+ echo m88k-motorola-sysv3
549
+ exit ;;
550
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
551
+ echo m88k-tektronix-sysv3
552
+ exit ;;
553
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
554
+ echo m68k-tektronix-bsd
555
+ exit ;;
556
+ *:IRIX*:*:*)
557
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
558
+ exit ;;
559
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
560
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
561
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
562
+ i*86:AIX:*:*)
563
+ echo i386-ibm-aix
564
+ exit ;;
565
+ ia64:AIX:*:*)
566
+ if [ -x /usr/bin/oslevel ] ; then
567
+ IBM_REV=`/usr/bin/oslevel`
568
+ else
569
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
570
+ fi
571
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
572
+ exit ;;
573
+ *:AIX:2:3)
574
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
575
+ eval $set_cc_for_build
576
+ sed 's/^ //' << EOF >$dummy.c
577
+ #include <sys/systemcfg.h>
578
+
579
+ main()
580
+ {
581
+ if (!__power_pc())
582
+ exit(1);
583
+ puts("powerpc-ibm-aix3.2.5");
584
+ exit(0);
585
+ }
586
+ EOF
587
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
588
+ then
589
+ echo "$SYSTEM_NAME"
590
+ else
591
+ echo rs6000-ibm-aix3.2.5
592
+ fi
593
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
594
+ echo rs6000-ibm-aix3.2.4
595
+ else
596
+ echo rs6000-ibm-aix3.2
597
+ fi
598
+ exit ;;
599
+ *:AIX:*:[4567])
600
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
601
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
602
+ IBM_ARCH=rs6000
603
+ else
604
+ IBM_ARCH=powerpc
605
+ fi
606
+ if [ -x /usr/bin/lslpp ] ; then
607
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
608
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
609
+ else
610
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
611
+ fi
612
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
613
+ exit ;;
614
+ *:AIX:*:*)
615
+ echo rs6000-ibm-aix
616
+ exit ;;
617
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
618
+ echo romp-ibm-bsd4.4
619
+ exit ;;
620
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
621
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
622
+ exit ;; # report: romp-ibm BSD 4.3
623
+ *:BOSX:*:*)
624
+ echo rs6000-bull-bosx
625
+ exit ;;
626
+ DPX/2?00:B.O.S.:*:*)
627
+ echo m68k-bull-sysv3
628
+ exit ;;
629
+ 9000/[34]??:4.3bsd:1.*:*)
630
+ echo m68k-hp-bsd
631
+ exit ;;
632
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
633
+ echo m68k-hp-bsd4.4
634
+ exit ;;
635
+ 9000/[34678]??:HP-UX:*:*)
636
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
637
+ case "${UNAME_MACHINE}" in
638
+ 9000/31? ) HP_ARCH=m68000 ;;
639
+ 9000/[34]?? ) HP_ARCH=m68k ;;
640
+ 9000/[678][0-9][0-9])
641
+ if [ -x /usr/bin/getconf ]; then
642
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
643
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
644
+ case "${sc_cpu_version}" in
645
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
646
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
647
+ 532) # CPU_PA_RISC2_0
648
+ case "${sc_kernel_bits}" in
649
+ 32) HP_ARCH=hppa2.0n ;;
650
+ 64) HP_ARCH=hppa2.0w ;;
651
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
652
+ esac ;;
653
+ esac
654
+ fi
655
+ if [ "${HP_ARCH}" = "" ]; then
656
+ eval $set_cc_for_build
657
+ sed 's/^ //' << EOF >$dummy.c
658
+
659
+ #define _HPUX_SOURCE
660
+ #include <stdlib.h>
661
+ #include <unistd.h>
662
+
663
+ int main ()
664
+ {
665
+ #if defined(_SC_KERNEL_BITS)
666
+ long bits = sysconf(_SC_KERNEL_BITS);
667
+ #endif
668
+ long cpu = sysconf (_SC_CPU_VERSION);
669
+
670
+ switch (cpu)
671
+ {
672
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
673
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
674
+ case CPU_PA_RISC2_0:
675
+ #if defined(_SC_KERNEL_BITS)
676
+ switch (bits)
677
+ {
678
+ case 64: puts ("hppa2.0w"); break;
679
+ case 32: puts ("hppa2.0n"); break;
680
+ default: puts ("hppa2.0"); break;
681
+ } break;
682
+ #else /* !defined(_SC_KERNEL_BITS) */
683
+ puts ("hppa2.0"); break;
684
+ #endif
685
+ default: puts ("hppa1.0"); break;
686
+ }
687
+ exit (0);
688
+ }
689
+ EOF
690
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
691
+ test -z "$HP_ARCH" && HP_ARCH=hppa
692
+ fi ;;
693
+ esac
694
+ if [ ${HP_ARCH} = hppa2.0w ]
695
+ then
696
+ eval $set_cc_for_build
697
+
698
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
699
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
700
+ # generating 64-bit code. GNU and HP use different nomenclature:
701
+ #
702
+ # $ CC_FOR_BUILD=cc ./config.guess
703
+ # => hppa2.0w-hp-hpux11.23
704
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
705
+ # => hppa64-hp-hpux11.23
706
+
707
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
708
+ grep -q __LP64__
709
+ then
710
+ HP_ARCH=hppa2.0w
711
+ else
712
+ HP_ARCH=hppa64
713
+ fi
714
+ fi
715
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
716
+ exit ;;
717
+ ia64:HP-UX:*:*)
718
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
719
+ echo ia64-hp-hpux${HPUX_REV}
720
+ exit ;;
721
+ 3050*:HI-UX:*:*)
722
+ eval $set_cc_for_build
723
+ sed 's/^ //' << EOF >$dummy.c
724
+ #include <unistd.h>
725
+ int
726
+ main ()
727
+ {
728
+ long cpu = sysconf (_SC_CPU_VERSION);
729
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
730
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
731
+ results, however. */
732
+ if (CPU_IS_PA_RISC (cpu))
733
+ {
734
+ switch (cpu)
735
+ {
736
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
737
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
738
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
739
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
740
+ }
741
+ }
742
+ else if (CPU_IS_HP_MC68K (cpu))
743
+ puts ("m68k-hitachi-hiuxwe2");
744
+ else puts ("unknown-hitachi-hiuxwe2");
745
+ exit (0);
746
+ }
747
+ EOF
748
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
749
+ { echo "$SYSTEM_NAME"; exit; }
750
+ echo unknown-hitachi-hiuxwe2
751
+ exit ;;
752
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
753
+ echo hppa1.1-hp-bsd
754
+ exit ;;
755
+ 9000/8??:4.3bsd:*:*)
756
+ echo hppa1.0-hp-bsd
757
+ exit ;;
758
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
759
+ echo hppa1.0-hp-mpeix
760
+ exit ;;
761
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
762
+ echo hppa1.1-hp-osf
763
+ exit ;;
764
+ hp8??:OSF1:*:*)
765
+ echo hppa1.0-hp-osf
766
+ exit ;;
767
+ i*86:OSF1:*:*)
768
+ if [ -x /usr/sbin/sysversion ] ; then
769
+ echo ${UNAME_MACHINE}-unknown-osf1mk
770
+ else
771
+ echo ${UNAME_MACHINE}-unknown-osf1
772
+ fi
773
+ exit ;;
774
+ parisc*:Lites*:*:*)
775
+ echo hppa1.1-hp-lites
776
+ exit ;;
777
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
778
+ echo c1-convex-bsd
779
+ exit ;;
780
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
781
+ if getsysinfo -f scalar_acc
782
+ then echo c32-convex-bsd
783
+ else echo c2-convex-bsd
784
+ fi
785
+ exit ;;
786
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
787
+ echo c34-convex-bsd
788
+ exit ;;
789
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
790
+ echo c38-convex-bsd
791
+ exit ;;
792
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
793
+ echo c4-convex-bsd
794
+ exit ;;
795
+ CRAY*Y-MP:*:*:*)
796
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
797
+ exit ;;
798
+ CRAY*[A-Z]90:*:*:*)
799
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
800
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
801
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
802
+ -e 's/\.[^.]*$/.X/'
803
+ exit ;;
804
+ CRAY*TS:*:*:*)
805
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
806
+ exit ;;
807
+ CRAY*T3E:*:*:*)
808
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
809
+ exit ;;
810
+ CRAY*SV1:*:*:*)
811
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
812
+ exit ;;
813
+ *:UNICOS/mp:*:*)
814
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
815
+ exit ;;
816
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
817
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
818
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
819
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
820
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
821
+ exit ;;
822
+ 5000:UNIX_System_V:4.*:*)
823
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
824
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
825
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
826
+ exit ;;
827
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
828
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
829
+ exit ;;
830
+ sparc*:BSD/OS:*:*)
831
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
832
+ exit ;;
833
+ *:BSD/OS:*:*)
834
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
835
+ exit ;;
836
+ *:FreeBSD:*:*)
837
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
838
+ case ${UNAME_PROCESSOR} in
839
+ amd64)
840
+ UNAME_PROCESSOR=x86_64 ;;
841
+ i386)
842
+ UNAME_PROCESSOR=i586 ;;
843
+ esac
844
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
845
+ exit ;;
846
+ i*:CYGWIN*:*)
847
+ echo ${UNAME_MACHINE}-pc-cygwin
848
+ exit ;;
849
+ *:MINGW64*:*)
850
+ echo ${UNAME_MACHINE}-pc-mingw64
851
+ exit ;;
852
+ *:MINGW*:*)
853
+ echo ${UNAME_MACHINE}-pc-mingw32
854
+ exit ;;
855
+ *:MSYS*:*)
856
+ echo ${UNAME_MACHINE}-pc-msys
857
+ exit ;;
858
+ i*:windows32*:*)
859
+ # uname -m includes "-pc" on this system.
860
+ echo ${UNAME_MACHINE}-mingw32
861
+ exit ;;
862
+ i*:PW*:*)
863
+ echo ${UNAME_MACHINE}-pc-pw32
864
+ exit ;;
865
+ *:Interix*:*)
866
+ case ${UNAME_MACHINE} in
867
+ x86)
868
+ echo i586-pc-interix${UNAME_RELEASE}
869
+ exit ;;
870
+ authenticamd | genuineintel | EM64T)
871
+ echo x86_64-unknown-interix${UNAME_RELEASE}
872
+ exit ;;
873
+ IA64)
874
+ echo ia64-unknown-interix${UNAME_RELEASE}
875
+ exit ;;
876
+ esac ;;
877
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
878
+ echo i${UNAME_MACHINE}-pc-mks
879
+ exit ;;
880
+ 8664:Windows_NT:*)
881
+ echo x86_64-pc-mks
882
+ exit ;;
883
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
884
+ # How do we know it's Interix rather than the generic POSIX subsystem?
885
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
886
+ # UNAME_MACHINE based on the output of uname instead of i386?
887
+ echo i586-pc-interix
888
+ exit ;;
889
+ i*:UWIN*:*)
890
+ echo ${UNAME_MACHINE}-pc-uwin
891
+ exit ;;
892
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
893
+ echo x86_64-unknown-cygwin
894
+ exit ;;
895
+ p*:CYGWIN*:*)
896
+ echo powerpcle-unknown-cygwin
897
+ exit ;;
898
+ prep*:SunOS:5.*:*)
899
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
900
+ exit ;;
901
+ *:GNU:*:*)
902
+ # the GNU system
903
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
904
+ exit ;;
905
+ *:GNU/*:*:*)
906
+ # other systems with GNU libc and userland
907
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
908
+ exit ;;
909
+ i*86:Minix:*:*)
910
+ echo ${UNAME_MACHINE}-pc-minix
911
+ exit ;;
912
+ aarch64:Linux:*:*)
913
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
914
+ exit ;;
915
+ aarch64_be:Linux:*:*)
916
+ UNAME_MACHINE=aarch64_be
917
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
918
+ exit ;;
919
+ alpha:Linux:*:*)
920
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
921
+ EV5) UNAME_MACHINE=alphaev5 ;;
922
+ EV56) UNAME_MACHINE=alphaev56 ;;
923
+ PCA56) UNAME_MACHINE=alphapca56 ;;
924
+ PCA57) UNAME_MACHINE=alphapca56 ;;
925
+ EV6) UNAME_MACHINE=alphaev6 ;;
926
+ EV67) UNAME_MACHINE=alphaev67 ;;
927
+ EV68*) UNAME_MACHINE=alphaev68 ;;
928
+ esac
929
+ objdump --private-headers /bin/sh | grep -q ld.so.1
930
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
931
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
932
+ exit ;;
933
+ arc:Linux:*:* | arceb:Linux:*:*)
934
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
935
+ exit ;;
936
+ arm*:Linux:*:*)
937
+ eval $set_cc_for_build
938
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
939
+ | grep -q __ARM_EABI__
940
+ then
941
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
942
+ else
943
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
944
+ | grep -q __ARM_PCS_VFP
945
+ then
946
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
947
+ else
948
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
949
+ fi
950
+ fi
951
+ exit ;;
952
+ avr32*:Linux:*:*)
953
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
954
+ exit ;;
955
+ cris:Linux:*:*)
956
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
957
+ exit ;;
958
+ crisv32:Linux:*:*)
959
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
960
+ exit ;;
961
+ e2k:Linux:*:*)
962
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
963
+ exit ;;
964
+ frv:Linux:*:*)
965
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
966
+ exit ;;
967
+ hexagon:Linux:*:*)
968
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
969
+ exit ;;
970
+ i*86:Linux:*:*)
971
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
972
+ exit ;;
973
+ ia64:Linux:*:*)
974
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
975
+ exit ;;
976
+ k1om:Linux:*:*)
977
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
978
+ exit ;;
979
+ m32r*:Linux:*:*)
980
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
981
+ exit ;;
982
+ m68*:Linux:*:*)
983
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
984
+ exit ;;
985
+ mips:Linux:*:* | mips64:Linux:*:*)
986
+ eval $set_cc_for_build
987
+ sed 's/^ //' << EOF >$dummy.c
988
+ #undef CPU
989
+ #undef ${UNAME_MACHINE}
990
+ #undef ${UNAME_MACHINE}el
991
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
992
+ CPU=${UNAME_MACHINE}el
993
+ #else
994
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
995
+ CPU=${UNAME_MACHINE}
996
+ #else
997
+ CPU=
998
+ #endif
999
+ #endif
1000
+ EOF
1001
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
1002
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
1003
+ ;;
1004
+ mips64el:Linux:*:*)
1005
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1006
+ exit ;;
1007
+ openrisc*:Linux:*:*)
1008
+ echo or1k-unknown-linux-${LIBC}
1009
+ exit ;;
1010
+ or32:Linux:*:* | or1k*:Linux:*:*)
1011
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1012
+ exit ;;
1013
+ padre:Linux:*:*)
1014
+ echo sparc-unknown-linux-${LIBC}
1015
+ exit ;;
1016
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
1017
+ echo hppa64-unknown-linux-${LIBC}
1018
+ exit ;;
1019
+ parisc:Linux:*:* | hppa:Linux:*:*)
1020
+ # Look for CPU level
1021
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1022
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1023
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1024
+ *) echo hppa-unknown-linux-${LIBC} ;;
1025
+ esac
1026
+ exit ;;
1027
+ ppc64:Linux:*:*)
1028
+ echo powerpc64-unknown-linux-${LIBC}
1029
+ exit ;;
1030
+ ppc:Linux:*:*)
1031
+ echo powerpc-unknown-linux-${LIBC}
1032
+ exit ;;
1033
+ ppc64le:Linux:*:*)
1034
+ echo powerpc64le-unknown-linux-${LIBC}
1035
+ exit ;;
1036
+ ppcle:Linux:*:*)
1037
+ echo powerpcle-unknown-linux-${LIBC}
1038
+ exit ;;
1039
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
1040
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1041
+ exit ;;
1042
+ s390:Linux:*:* | s390x:Linux:*:*)
1043
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1044
+ exit ;;
1045
+ sh64*:Linux:*:*)
1046
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1047
+ exit ;;
1048
+ sh*:Linux:*:*)
1049
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1050
+ exit ;;
1051
+ sparc:Linux:*:* | sparc64:Linux:*:*)
1052
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1053
+ exit ;;
1054
+ tile*:Linux:*:*)
1055
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1056
+ exit ;;
1057
+ vax:Linux:*:*)
1058
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1059
+ exit ;;
1060
+ x86_64:Linux:*:*)
1061
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
1062
+ exit ;;
1063
+ xtensa*:Linux:*:*)
1064
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1065
+ exit ;;
1066
+ i*86:DYNIX/ptx:4*:*)
1067
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1068
+ # earlier versions are messed up and put the nodename in both
1069
+ # sysname and nodename.
1070
+ echo i386-sequent-sysv4
1071
+ exit ;;
1072
+ i*86:UNIX_SV:4.2MP:2.*)
1073
+ # Unixware is an offshoot of SVR4, but it has its own version
1074
+ # number series starting with 2...
1075
+ # I am not positive that other SVR4 systems won't match this,
1076
+ # I just have to hope. -- rms.
1077
+ # Use sysv4.2uw... so that sysv4* matches it.
1078
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1079
+ exit ;;
1080
+ i*86:OS/2:*:*)
1081
+ # If we were able to find `uname', then EMX Unix compatibility
1082
+ # is probably installed.
1083
+ echo ${UNAME_MACHINE}-pc-os2-emx
1084
+ exit ;;
1085
+ i*86:XTS-300:*:STOP)
1086
+ echo ${UNAME_MACHINE}-unknown-stop
1087
+ exit ;;
1088
+ i*86:atheos:*:*)
1089
+ echo ${UNAME_MACHINE}-unknown-atheos
1090
+ exit ;;
1091
+ i*86:syllable:*:*)
1092
+ echo ${UNAME_MACHINE}-pc-syllable
1093
+ exit ;;
1094
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1095
+ echo i386-unknown-lynxos${UNAME_RELEASE}
1096
+ exit ;;
1097
+ i*86:*DOS:*:*)
1098
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
1099
+ exit ;;
1100
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1101
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1102
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1103
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1104
+ else
1105
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1106
+ fi
1107
+ exit ;;
1108
+ i*86:*:5:[678]*)
1109
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
1110
+ case `/bin/uname -X | grep "^Machine"` in
1111
+ *486*) UNAME_MACHINE=i486 ;;
1112
+ *Pentium) UNAME_MACHINE=i586 ;;
1113
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1114
+ esac
1115
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1116
+ exit ;;
1117
+ i*86:*:3.2:*)
1118
+ if test -f /usr/options/cb.name; then
1119
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1120
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1121
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
1122
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1123
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1124
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1125
+ && UNAME_MACHINE=i586
1126
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1127
+ && UNAME_MACHINE=i686
1128
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1129
+ && UNAME_MACHINE=i686
1130
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1131
+ else
1132
+ echo ${UNAME_MACHINE}-pc-sysv32
1133
+ fi
1134
+ exit ;;
1135
+ pc:*:*:*)
1136
+ # Left here for compatibility:
1137
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
1138
+ # the processor, so we play safe by assuming i586.
1139
+ # Note: whatever this is, it MUST be the same as what config.sub
1140
+ # prints for the "djgpp" host, or else GDB configure will decide that
1141
+ # this is a cross-build.
1142
+ echo i586-pc-msdosdjgpp
1143
+ exit ;;
1144
+ Intel:Mach:3*:*)
1145
+ echo i386-pc-mach3
1146
+ exit ;;
1147
+ paragon:*:*:*)
1148
+ echo i860-intel-osf1
1149
+ exit ;;
1150
+ i860:*:4.*:*) # i860-SVR4
1151
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1152
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1153
+ else # Add other i860-SVR4 vendors below as they are discovered.
1154
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1155
+ fi
1156
+ exit ;;
1157
+ mini*:CTIX:SYS*5:*)
1158
+ # "miniframe"
1159
+ echo m68010-convergent-sysv
1160
+ exit ;;
1161
+ mc68k:UNIX:SYSTEM5:3.51m)
1162
+ echo m68k-convergent-sysv
1163
+ exit ;;
1164
+ M680?0:D-NIX:5.3:*)
1165
+ echo m68k-diab-dnix
1166
+ exit ;;
1167
+ M68*:*:R3V[5678]*:*)
1168
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1169
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1170
+ OS_REL=''
1171
+ test -r /etc/.relid \
1172
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1173
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1174
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1175
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1176
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1177
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1178
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1179
+ && { echo i486-ncr-sysv4; exit; } ;;
1180
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1181
+ OS_REL='.3'
1182
+ test -r /etc/.relid \
1183
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1184
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1185
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1186
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1187
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1188
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1189
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1190
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1191
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
1192
+ exit ;;
1193
+ mc68030:UNIX_System_V:4.*:*)
1194
+ echo m68k-atari-sysv4
1195
+ exit ;;
1196
+ TSUNAMI:LynxOS:2.*:*)
1197
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
1198
+ exit ;;
1199
+ rs6000:LynxOS:2.*:*)
1200
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
1201
+ exit ;;
1202
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1203
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
1204
+ exit ;;
1205
+ SM[BE]S:UNIX_SV:*:*)
1206
+ echo mips-dde-sysv${UNAME_RELEASE}
1207
+ exit ;;
1208
+ RM*:ReliantUNIX-*:*:*)
1209
+ echo mips-sni-sysv4
1210
+ exit ;;
1211
+ RM*:SINIX-*:*:*)
1212
+ echo mips-sni-sysv4
1213
+ exit ;;
1214
+ *:SINIX-*:*:*)
1215
+ if uname -p 2>/dev/null >/dev/null ; then
1216
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1217
+ echo ${UNAME_MACHINE}-sni-sysv4
1218
+ else
1219
+ echo ns32k-sni-sysv
1220
+ fi
1221
+ exit ;;
1222
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1223
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
1224
+ echo i586-unisys-sysv4
1225
+ exit ;;
1226
+ *:UNIX_System_V:4*:FTX*)
1227
+ # From Gerald Hewes <hewes@openmarket.com>.
1228
+ # How about differentiating between stratus architectures? -djm
1229
+ echo hppa1.1-stratus-sysv4
1230
+ exit ;;
1231
+ *:*:*:FTX*)
1232
+ # From seanf@swdc.stratus.com.
1233
+ echo i860-stratus-sysv4
1234
+ exit ;;
1235
+ i*86:VOS:*:*)
1236
+ # From Paul.Green@stratus.com.
1237
+ echo ${UNAME_MACHINE}-stratus-vos
1238
+ exit ;;
1239
+ *:VOS:*:*)
1240
+ # From Paul.Green@stratus.com.
1241
+ echo hppa1.1-stratus-vos
1242
+ exit ;;
1243
+ mc68*:A/UX:*:*)
1244
+ echo m68k-apple-aux${UNAME_RELEASE}
1245
+ exit ;;
1246
+ news*:NEWS-OS:6*:*)
1247
+ echo mips-sony-newsos6
1248
+ exit ;;
1249
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1250
+ if [ -d /usr/nec ]; then
1251
+ echo mips-nec-sysv${UNAME_RELEASE}
1252
+ else
1253
+ echo mips-unknown-sysv${UNAME_RELEASE}
1254
+ fi
1255
+ exit ;;
1256
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1257
+ echo powerpc-be-beos
1258
+ exit ;;
1259
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1260
+ echo powerpc-apple-beos
1261
+ exit ;;
1262
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1263
+ echo i586-pc-beos
1264
+ exit ;;
1265
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1266
+ echo i586-pc-haiku
1267
+ exit ;;
1268
+ x86_64:Haiku:*:*)
1269
+ echo x86_64-unknown-haiku
1270
+ exit ;;
1271
+ SX-4:SUPER-UX:*:*)
1272
+ echo sx4-nec-superux${UNAME_RELEASE}
1273
+ exit ;;
1274
+ SX-5:SUPER-UX:*:*)
1275
+ echo sx5-nec-superux${UNAME_RELEASE}
1276
+ exit ;;
1277
+ SX-6:SUPER-UX:*:*)
1278
+ echo sx6-nec-superux${UNAME_RELEASE}
1279
+ exit ;;
1280
+ SX-7:SUPER-UX:*:*)
1281
+ echo sx7-nec-superux${UNAME_RELEASE}
1282
+ exit ;;
1283
+ SX-8:SUPER-UX:*:*)
1284
+ echo sx8-nec-superux${UNAME_RELEASE}
1285
+ exit ;;
1286
+ SX-8R:SUPER-UX:*:*)
1287
+ echo sx8r-nec-superux${UNAME_RELEASE}
1288
+ exit ;;
1289
+ SX-ACE:SUPER-UX:*:*)
1290
+ echo sxace-nec-superux${UNAME_RELEASE}
1291
+ exit ;;
1292
+ Power*:Rhapsody:*:*)
1293
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
1294
+ exit ;;
1295
+ *:Rhapsody:*:*)
1296
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1297
+ exit ;;
1298
+ *:Darwin:*:*)
1299
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1300
+ eval $set_cc_for_build
1301
+ if test "$UNAME_PROCESSOR" = unknown ; then
1302
+ UNAME_PROCESSOR=powerpc
1303
+ fi
1304
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1305
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
1306
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1307
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1308
+ grep IS_64BIT_ARCH >/dev/null
1309
+ then
1310
+ case $UNAME_PROCESSOR in
1311
+ i386) UNAME_PROCESSOR=x86_64 ;;
1312
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
1313
+ esac
1314
+ fi
1315
+ fi
1316
+ elif test "$UNAME_PROCESSOR" = i386 ; then
1317
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
1318
+ # that puts up a graphical alert prompting to install
1319
+ # developer tools. Any system running Mac OS X 10.7 or
1320
+ # later (Darwin 11 and later) is required to have a 64-bit
1321
+ # processor. This is not true of the ARM version of Darwin
1322
+ # that Apple uses in portable devices.
1323
+ UNAME_PROCESSOR=x86_64
1324
+ fi
1325
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1326
+ exit ;;
1327
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
1328
+ UNAME_PROCESSOR=`uname -p`
1329
+ if test "$UNAME_PROCESSOR" = x86; then
1330
+ UNAME_PROCESSOR=i386
1331
+ UNAME_MACHINE=pc
1332
+ fi
1333
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1334
+ exit ;;
1335
+ *:QNX:*:4*)
1336
+ echo i386-pc-qnx
1337
+ exit ;;
1338
+ NEO-*:NONSTOP_KERNEL:*:*)
1339
+ echo neo-tandem-nsk${UNAME_RELEASE}
1340
+ exit ;;
1341
+ NSE-*:NONSTOP_KERNEL:*:*)
1342
+ echo nse-tandem-nsk${UNAME_RELEASE}
1343
+ exit ;;
1344
+ NSR-*:NONSTOP_KERNEL:*:*)
1345
+ echo nsr-tandem-nsk${UNAME_RELEASE}
1346
+ exit ;;
1347
+ NSX-*:NONSTOP_KERNEL:*:*)
1348
+ echo nsx-tandem-nsk${UNAME_RELEASE}
1349
+ exit ;;
1350
+ *:NonStop-UX:*:*)
1351
+ echo mips-compaq-nonstopux
1352
+ exit ;;
1353
+ BS2000:POSIX*:*:*)
1354
+ echo bs2000-siemens-sysv
1355
+ exit ;;
1356
+ DS/*:UNIX_System_V:*:*)
1357
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1358
+ exit ;;
1359
+ *:Plan9:*:*)
1360
+ # "uname -m" is not consistent, so use $cputype instead. 386
1361
+ # is converted to i386 for consistency with other x86
1362
+ # operating systems.
1363
+ if test "$cputype" = 386; then
1364
+ UNAME_MACHINE=i386
1365
+ else
1366
+ UNAME_MACHINE="$cputype"
1367
+ fi
1368
+ echo ${UNAME_MACHINE}-unknown-plan9
1369
+ exit ;;
1370
+ *:TOPS-10:*:*)
1371
+ echo pdp10-unknown-tops10
1372
+ exit ;;
1373
+ *:TENEX:*:*)
1374
+ echo pdp10-unknown-tenex
1375
+ exit ;;
1376
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1377
+ echo pdp10-dec-tops20
1378
+ exit ;;
1379
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1380
+ echo pdp10-xkl-tops20
1381
+ exit ;;
1382
+ *:TOPS-20:*:*)
1383
+ echo pdp10-unknown-tops20
1384
+ exit ;;
1385
+ *:ITS:*:*)
1386
+ echo pdp10-unknown-its
1387
+ exit ;;
1388
+ SEI:*:*:SEIUX)
1389
+ echo mips-sei-seiux${UNAME_RELEASE}
1390
+ exit ;;
1391
+ *:DragonFly:*:*)
1392
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1393
+ exit ;;
1394
+ *:*VMS:*:*)
1395
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1396
+ case "${UNAME_MACHINE}" in
1397
+ A*) echo alpha-dec-vms ; exit ;;
1398
+ I*) echo ia64-dec-vms ; exit ;;
1399
+ V*) echo vax-dec-vms ; exit ;;
1400
+ esac ;;
1401
+ *:XENIX:*:SysV)
1402
+ echo i386-pc-xenix
1403
+ exit ;;
1404
+ i*86:skyos:*:*)
1405
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
1406
+ exit ;;
1407
+ i*86:rdos:*:*)
1408
+ echo ${UNAME_MACHINE}-pc-rdos
1409
+ exit ;;
1410
+ i*86:AROS:*:*)
1411
+ echo ${UNAME_MACHINE}-pc-aros
1412
+ exit ;;
1413
+ x86_64:VMkernel:*:*)
1414
+ echo ${UNAME_MACHINE}-unknown-esx
1415
+ exit ;;
1416
+ amd64:Isilon\ OneFS:*:*)
1417
+ echo x86_64-unknown-onefs
1418
+ exit ;;
1419
+ esac
1420
+
1421
+ cat >&2 <<EOF
1422
+ $0: unable to guess system type
1423
+
1424
+ This script (version $timestamp), has failed to recognize the
1425
+ operating system you are using. If your script is old, overwrite
1426
+ config.guess and config.sub with the latest versions from:
1427
+
1428
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1429
+ and
1430
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1431
+
1432
+ If $0 has already been updated, send the following data and any
1433
+ information you think might be pertinent to config-patches@gnu.org to
1434
+ provide the necessary information to handle your system.
1435
+
1436
+ config.guess timestamp = $timestamp
1437
+
1438
+ uname -m = `(uname -m) 2>/dev/null || echo unknown`
1439
+ uname -r = `(uname -r) 2>/dev/null || echo unknown`
1440
+ uname -s = `(uname -s) 2>/dev/null || echo unknown`
1441
+ uname -v = `(uname -v) 2>/dev/null || echo unknown`
1442
+
1443
+ /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1444
+ /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1445
+
1446
+ hostinfo = `(hostinfo) 2>/dev/null`
1447
+ /bin/universe = `(/bin/universe) 2>/dev/null`
1448
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1449
+ /bin/arch = `(/bin/arch) 2>/dev/null`
1450
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1451
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1452
+
1453
+ UNAME_MACHINE = ${UNAME_MACHINE}
1454
+ UNAME_RELEASE = ${UNAME_RELEASE}
1455
+ UNAME_SYSTEM = ${UNAME_SYSTEM}
1456
+ UNAME_VERSION = ${UNAME_VERSION}
1457
+ EOF
1458
+
1459
+ exit 1
1460
+
1461
+ # Local variables:
1462
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
1463
+ # time-stamp-start: "timestamp='"
1464
+ # time-stamp-format: "%:y-%02m-%02d"
1465
+ # time-stamp-end: "'"
1466
+ # End: