ffi 0.5.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

Files changed (328) hide show
  1. data/LICENSE +51 -0
  2. data/README.rdoc +69 -0
  3. data/Rakefile +191 -0
  4. data/ext/ffi_c/AbstractMemory.c +489 -0
  5. data/ext/ffi_c/AbstractMemory.h +160 -0
  6. data/ext/ffi_c/ArrayType.c +129 -0
  7. data/ext/ffi_c/ArrayType.h +58 -0
  8. data/ext/ffi_c/AutoPointer.c +61 -0
  9. data/ext/ffi_c/AutoPointer.h +18 -0
  10. data/ext/ffi_c/Buffer.c +187 -0
  11. data/ext/ffi_c/Call.c +853 -0
  12. data/ext/ffi_c/Call.h +86 -0
  13. data/ext/ffi_c/ClosurePool.c +302 -0
  14. data/ext/ffi_c/ClosurePool.h +29 -0
  15. data/ext/ffi_c/DynamicLibrary.c +216 -0
  16. data/ext/ffi_c/DynamicLibrary.h +22 -0
  17. data/ext/ffi_c/Function.c +478 -0
  18. data/ext/ffi_c/Function.h +80 -0
  19. data/ext/ffi_c/FunctionInfo.c +221 -0
  20. data/ext/ffi_c/LastError.c +159 -0
  21. data/ext/ffi_c/LastError.h +18 -0
  22. data/ext/ffi_c/MemoryPointer.c +178 -0
  23. data/ext/ffi_c/MemoryPointer.h +20 -0
  24. data/ext/ffi_c/MethodHandle.c +346 -0
  25. data/ext/ffi_c/MethodHandle.h +53 -0
  26. data/ext/ffi_c/Platform.c +59 -0
  27. data/ext/ffi_c/Platform.h +16 -0
  28. data/ext/ffi_c/Pointer.c +224 -0
  29. data/ext/ffi_c/Pointer.h +49 -0
  30. data/ext/ffi_c/Struct.c +770 -0
  31. data/ext/ffi_c/Struct.h +80 -0
  32. data/ext/ffi_c/StructByValue.c +140 -0
  33. data/ext/ffi_c/StructByValue.h +53 -0
  34. data/ext/ffi_c/StructLayout.c +450 -0
  35. data/ext/ffi_c/Type.c +329 -0
  36. data/ext/ffi_c/Type.h +57 -0
  37. data/ext/ffi_c/Types.c +103 -0
  38. data/ext/ffi_c/Types.h +85 -0
  39. data/ext/ffi_c/Variadic.c +260 -0
  40. data/ext/ffi_c/compat.h +72 -0
  41. data/ext/ffi_c/endian.h +40 -0
  42. data/ext/ffi_c/extconf.rb +30 -0
  43. data/ext/ffi_c/ffi.c +82 -0
  44. data/ext/ffi_c/libffi.bsd.mk +34 -0
  45. data/ext/ffi_c/libffi.darwin.mk +75 -0
  46. data/ext/ffi_c/libffi.gnu.mk +29 -0
  47. data/ext/ffi_c/libffi.mk +13 -0
  48. data/ext/ffi_c/libffi/ChangeLog +3243 -0
  49. data/ext/ffi_c/libffi/ChangeLog.libffi +347 -0
  50. data/ext/ffi_c/libffi/ChangeLog.libgcj +40 -0
  51. data/ext/ffi_c/libffi/ChangeLog.v1 +764 -0
  52. data/ext/ffi_c/libffi/LICENSE +21 -0
  53. data/ext/ffi_c/libffi/Makefile.am +177 -0
  54. data/ext/ffi_c/libffi/Makefile.in +1640 -0
  55. data/ext/ffi_c/libffi/README +328 -0
  56. data/ext/ffi_c/libffi/TODO +1 -0
  57. data/ext/ffi_c/libffi/acinclude.m4 +92 -0
  58. data/ext/ffi_c/libffi/aclocal.m4 +7516 -0
  59. data/ext/ffi_c/libffi/compile +142 -0
  60. data/ext/ffi_c/libffi/config.guess +1516 -0
  61. data/ext/ffi_c/libffi/config.sub +1626 -0
  62. data/ext/ffi_c/libffi/configure +24414 -0
  63. data/ext/ffi_c/libffi/configure.ac +365 -0
  64. data/ext/ffi_c/libffi/configure.host +11 -0
  65. data/ext/ffi_c/libffi/depcomp +584 -0
  66. data/ext/ffi_c/libffi/doc/libffi.info +533 -0
  67. data/ext/ffi_c/libffi/doc/libffi.texi +541 -0
  68. data/ext/ffi_c/libffi/doc/stamp-vti +4 -0
  69. data/ext/ffi_c/libffi/doc/version.texi +4 -0
  70. data/ext/ffi_c/libffi/fficonfig.h.in +160 -0
  71. data/ext/ffi_c/libffi/include/Makefile.am +9 -0
  72. data/ext/ffi_c/libffi/include/Makefile.in +422 -0
  73. data/ext/ffi_c/libffi/include/ffi.h.in +393 -0
  74. data/ext/ffi_c/libffi/include/ffi_common.h +98 -0
  75. data/ext/ffi_c/libffi/install-sh +323 -0
  76. data/ext/ffi_c/libffi/libffi.pc.in +10 -0
  77. data/ext/ffi_c/libffi/libtool-version +29 -0
  78. data/ext/ffi_c/libffi/ltcf-c.sh +861 -0
  79. data/ext/ffi_c/libffi/ltcf-cxx.sh +1069 -0
  80. data/ext/ffi_c/libffi/ltcf-gcj.sh +700 -0
  81. data/ext/ffi_c/libffi/ltconfig +2862 -0
  82. data/ext/ffi_c/libffi/ltmain.sh +6930 -0
  83. data/ext/ffi_c/libffi/man/Makefile.am +8 -0
  84. data/ext/ffi_c/libffi/man/Makefile.in +395 -0
  85. data/ext/ffi_c/libffi/man/ffi.3 +31 -0
  86. data/ext/ffi_c/libffi/man/ffi_call.3 +103 -0
  87. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +66 -0
  88. data/ext/ffi_c/libffi/mdate-sh +201 -0
  89. data/ext/ffi_c/libffi/missing +353 -0
  90. data/ext/ffi_c/libffi/mkinstalldirs +158 -0
  91. data/ext/ffi_c/libffi/src/alpha/ffi.c +284 -0
  92. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +48 -0
  93. data/ext/ffi_c/libffi/src/alpha/osf.S +366 -0
  94. data/ext/ffi_c/libffi/src/arm/ffi.c +309 -0
  95. data/ext/ffi_c/libffi/src/arm/ffitarget.h +49 -0
  96. data/ext/ffi_c/libffi/src/arm/sysv.S +299 -0
  97. data/ext/ffi_c/libffi/src/closures.c +596 -0
  98. data/ext/ffi_c/libffi/src/cris/ffi.c +383 -0
  99. data/ext/ffi_c/libffi/src/cris/ffitarget.h +51 -0
  100. data/ext/ffi_c/libffi/src/cris/sysv.S +215 -0
  101. data/ext/ffi_c/libffi/src/debug.c +59 -0
  102. data/ext/ffi_c/libffi/src/dlmalloc.c +5099 -0
  103. data/ext/ffi_c/libffi/src/frv/eabi.S +128 -0
  104. data/ext/ffi_c/libffi/src/frv/ffi.c +292 -0
  105. data/ext/ffi_c/libffi/src/frv/ffitarget.h +61 -0
  106. data/ext/ffi_c/libffi/src/ia64/ffi.c +580 -0
  107. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +50 -0
  108. data/ext/ffi_c/libffi/src/ia64/ia64_flags.h +40 -0
  109. data/ext/ffi_c/libffi/src/ia64/unix.S +560 -0
  110. data/ext/ffi_c/libffi/src/java_raw_api.c +359 -0
  111. data/ext/ffi_c/libffi/src/m32r/ffi.c +232 -0
  112. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +48 -0
  113. data/ext/ffi_c/libffi/src/m32r/sysv.S +121 -0
  114. data/ext/ffi_c/libffi/src/m68k/ffi.c +278 -0
  115. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +49 -0
  116. data/ext/ffi_c/libffi/src/m68k/sysv.S +234 -0
  117. data/ext/ffi_c/libffi/src/mips/ffi.c +926 -0
  118. data/ext/ffi_c/libffi/src/mips/ffitarget.h +202 -0
  119. data/ext/ffi_c/libffi/src/mips/n32.S +534 -0
  120. data/ext/ffi_c/libffi/src/mips/o32.S +381 -0
  121. data/ext/ffi_c/libffi/src/pa/ffi.c +709 -0
  122. data/ext/ffi_c/libffi/src/pa/ffitarget.h +77 -0
  123. data/ext/ffi_c/libffi/src/pa/hpux32.S +368 -0
  124. data/ext/ffi_c/libffi/src/pa/linux.S +357 -0
  125. data/ext/ffi_c/libffi/src/powerpc/aix.S +225 -0
  126. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +247 -0
  127. data/ext/ffi_c/libffi/src/powerpc/asm.h +125 -0
  128. data/ext/ffi_c/libffi/src/powerpc/darwin.S +245 -0
  129. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +317 -0
  130. data/ext/ffi_c/libffi/src/powerpc/ffi.c +1429 -0
  131. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +800 -0
  132. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +118 -0
  133. data/ext/ffi_c/libffi/src/powerpc/linux64.S +187 -0
  134. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +236 -0
  135. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +327 -0
  136. data/ext/ffi_c/libffi/src/powerpc/sysv.S +230 -0
  137. data/ext/ffi_c/libffi/src/prep_cif.c +174 -0
  138. data/ext/ffi_c/libffi/src/raw_api.c +254 -0
  139. data/ext/ffi_c/libffi/src/s390/ffi.c +780 -0
  140. data/ext/ffi_c/libffi/src/s390/ffitarget.h +60 -0
  141. data/ext/ffi_c/libffi/src/s390/sysv.S +434 -0
  142. data/ext/ffi_c/libffi/src/sh/ffi.c +716 -0
  143. data/ext/ffi_c/libffi/src/sh/ffitarget.h +49 -0
  144. data/ext/ffi_c/libffi/src/sh/sysv.S +850 -0
  145. data/ext/ffi_c/libffi/src/sh64/ffi.c +453 -0
  146. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +53 -0
  147. data/ext/ffi_c/libffi/src/sh64/sysv.S +530 -0
  148. data/ext/ffi_c/libffi/src/sparc/ffi.c +610 -0
  149. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +66 -0
  150. data/ext/ffi_c/libffi/src/sparc/v8.S +272 -0
  151. data/ext/ffi_c/libffi/src/sparc/v9.S +307 -0
  152. data/ext/ffi_c/libffi/src/types.c +77 -0
  153. data/ext/ffi_c/libffi/src/x86/darwin.S +443 -0
  154. data/ext/ffi_c/libffi/src/x86/darwin64.S +416 -0
  155. data/ext/ffi_c/libffi/src/x86/ffi.c +475 -0
  156. data/ext/ffi_c/libffi/src/x86/ffi64.c +572 -0
  157. data/ext/ffi_c/libffi/src/x86/ffitarget.h +90 -0
  158. data/ext/ffi_c/libffi/src/x86/freebsd.S +458 -0
  159. data/ext/ffi_c/libffi/src/x86/sysv.S +437 -0
  160. data/ext/ffi_c/libffi/src/x86/unix64.S +418 -0
  161. data/ext/ffi_c/libffi/src/x86/win32.S +391 -0
  162. data/ext/ffi_c/libffi/testsuite/Makefile.am +71 -0
  163. data/ext/ffi_c/libffi/testsuite/Makefile.in +447 -0
  164. data/ext/ffi_c/libffi/testsuite/config/default.exp +1 -0
  165. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +289 -0
  166. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +263 -0
  167. data/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +45 -0
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +36 -0
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +97 -0
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +89 -0
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +89 -0
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +90 -0
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +97 -0
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +99 -0
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +98 -0
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +72 -0
  177. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +102 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +103 -0
  179. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +104 -0
  180. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +110 -0
  181. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +97 -0
  182. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +99 -0
  183. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +101 -0
  184. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +121 -0
  185. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +98 -0
  186. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +103 -0
  187. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +98 -0
  188. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +98 -0
  189. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +106 -0
  190. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +98 -0
  191. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +117 -0
  192. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +106 -0
  193. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +132 -0
  194. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +121 -0
  195. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +107 -0
  196. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +125 -0
  197. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +105 -0
  198. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +96 -0
  199. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +98 -0
  200. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +99 -0
  201. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +101 -0
  202. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +99 -0
  203. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +100 -0
  204. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +101 -0
  205. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +99 -0
  206. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +99 -0
  207. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +99 -0
  208. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +99 -0
  209. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +99 -0
  210. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +100 -0
  211. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +51 -0
  212. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +51 -0
  213. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +82 -0
  214. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +82 -0
  215. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +94 -0
  216. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +99 -0
  217. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +82 -0
  218. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +94 -0
  219. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +52 -0
  220. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +50 -0
  221. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +50 -0
  222. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +50 -0
  223. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +51 -0
  224. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +54 -0
  225. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +51 -0
  226. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +86 -0
  227. data/ext/ffi_c/libffi/testsuite/libffi.call/float.c +59 -0
  228. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +58 -0
  229. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +57 -0
  230. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +72 -0
  231. data/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +62 -0
  232. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +69 -0
  233. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +63 -0
  234. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +53 -0
  235. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +160 -0
  236. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +169 -0
  237. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +141 -0
  238. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +118 -0
  239. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +119 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +119 -0
  241. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +120 -0
  242. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +139 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +119 -0
  244. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +139 -0
  245. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +139 -0
  246. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +98 -0
  247. data/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +59 -0
  248. data/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +114 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +35 -0
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +43 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +42 -0
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +35 -0
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +36 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +49 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +42 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +34 -0
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +41 -0
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +42 -0
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +36 -0
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +38 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +38 -0
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +38 -0
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +44 -0
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +44 -0
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +65 -0
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +67 -0
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +59 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +63 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +65 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +64 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +74 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +80 -0
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +67 -0
  274. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +86 -0
  275. data/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +38 -0
  276. data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +123 -0
  277. data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest_ffi_call.cc +53 -0
  278. data/ext/ffi_c/libffi/texinfo.tex +7482 -0
  279. data/ext/ffi_c/rbffi.h +26 -0
  280. data/gen/Rakefile +12 -0
  281. data/lib/1.8/ffi_c.so +0 -0
  282. data/lib/1.9/ffi_c.so +0 -0
  283. data/lib/ffi.rb +11 -0
  284. data/lib/ffi/autopointer.rb +61 -0
  285. data/lib/ffi/buffer.rb +0 -0
  286. data/lib/ffi/callback.rb +10 -0
  287. data/lib/ffi/enum.rb +78 -0
  288. data/lib/ffi/errno.rb +8 -0
  289. data/lib/ffi/ffi.rb +99 -0
  290. data/lib/ffi/io.rb +21 -0
  291. data/lib/ffi/library.rb +218 -0
  292. data/lib/ffi/managedstruct.rb +55 -0
  293. data/lib/ffi/memorypointer.rb +73 -0
  294. data/lib/ffi/platform.rb +88 -0
  295. data/lib/ffi/pointer.rb +119 -0
  296. data/lib/ffi/struct.rb +183 -0
  297. data/lib/ffi/tools/const_generator.rb +177 -0
  298. data/lib/ffi/tools/generator.rb +58 -0
  299. data/lib/ffi/tools/generator_task.rb +35 -0
  300. data/lib/ffi/tools/struct_generator.rb +194 -0
  301. data/lib/ffi/tools/types_generator.rb +123 -0
  302. data/lib/ffi/types.rb +153 -0
  303. data/lib/ffi/union.rb +12 -0
  304. data/lib/ffi/variadic.rb +25 -0
  305. data/spec/ffi/bool_spec.rb +24 -0
  306. data/spec/ffi/buffer_spec.rb +202 -0
  307. data/spec/ffi/callback_spec.rb +591 -0
  308. data/spec/ffi/enum_spec.rb +164 -0
  309. data/spec/ffi/errno_spec.rb +13 -0
  310. data/spec/ffi/function_spec.rb +73 -0
  311. data/spec/ffi/library_spec.rb +148 -0
  312. data/spec/ffi/managed_struct_spec.rb +56 -0
  313. data/spec/ffi/number_spec.rb +231 -0
  314. data/spec/ffi/pointer_spec.rb +195 -0
  315. data/spec/ffi/rbx/attach_function_spec.rb +27 -0
  316. data/spec/ffi/rbx/memory_pointer_spec.rb +102 -0
  317. data/spec/ffi/rbx/spec_helper.rb +1 -0
  318. data/spec/ffi/rbx/struct_spec.rb +13 -0
  319. data/spec/ffi/spec_helper.rb +17 -0
  320. data/spec/ffi/string_spec.rb +103 -0
  321. data/spec/ffi/struct_callback_spec.rb +64 -0
  322. data/spec/ffi/struct_initialize_spec.rb +30 -0
  323. data/spec/ffi/struct_spec.rb +529 -0
  324. data/spec/ffi/typedef_spec.rb +48 -0
  325. data/spec/ffi/union_spec.rb +60 -0
  326. data/spec/ffi/variadic_spec.rb +84 -0
  327. data/spec/spec.opts +4 -0
  328. metadata +396 -0
@@ -0,0 +1,1626 @@
1
+ #! /bin/sh
2
+ # Configuration validation subroutine script.
3
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5
+ # Inc.
6
+
7
+ timestamp='2007-04-29'
8
+
9
+ # This file is (in principle) common to ALL GNU software.
10
+ # The presence of a machine in this file suggests that SOME GNU software
11
+ # can handle that machine. It does not imply ALL GNU software can.
12
+ #
13
+ # This file is free software; you can redistribute it and/or modify
14
+ # it under the terms of the GNU General Public License as published by
15
+ # the Free Software Foundation; either version 2 of the License, or
16
+ # (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU General Public License
24
+ # along with this program; if not, write to the Free Software
25
+ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26
+ # 02110-1301, USA.
27
+ #
28
+ # As a special exception to the GNU General Public License, if you
29
+ # distribute this file as part of a program that contains a
30
+ # configuration script generated by Autoconf, you may include it under
31
+ # the same distribution terms that you use for the rest of that program.
32
+
33
+
34
+ # Please send patches to <config-patches@gnu.org>. Submit a context
35
+ # diff and a properly formatted ChangeLog entry.
36
+ #
37
+ # Configuration subroutine to validate and canonicalize a configuration type.
38
+ # Supply the specified configuration type as an argument.
39
+ # If it is invalid, we print an error message on stderr and exit with code 1.
40
+ # Otherwise, we print the canonical config type on stdout and succeed.
41
+
42
+ # This file is supposed to be the same for all GNU packages
43
+ # and recognize all the CPU types, system types and aliases
44
+ # that are meaningful with *any* GNU software.
45
+ # Each package is responsible for reporting which valid configurations
46
+ # it does not support. The user should be able to distinguish
47
+ # a failure to support a valid configuration from a meaningless
48
+ # configuration.
49
+
50
+ # The goal of this file is to map all the various variations of a given
51
+ # machine specification into a single specification in the form:
52
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
53
+ # or in some cases, the newer four-part form:
54
+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
55
+ # It is wrong to echo any other type of specification.
56
+
57
+ me=`echo "$0" | sed -e 's,.*/,,'`
58
+
59
+ usage="\
60
+ Usage: $0 [OPTION] CPU-MFR-OPSYS
61
+ $0 [OPTION] ALIAS
62
+
63
+ Canonicalize a configuration name.
64
+
65
+ Operation modes:
66
+ -h, --help print this help, then exit
67
+ -t, --time-stamp print date of last modification, then exit
68
+ -v, --version print version number, then exit
69
+
70
+ Report bugs and patches to <config-patches@gnu.org>."
71
+
72
+ version="\
73
+ GNU config.sub ($timestamp)
74
+
75
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
76
+ Free Software Foundation, Inc.
77
+
78
+ This is free software; see the source for copying conditions. There is NO
79
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
80
+
81
+ help="
82
+ Try \`$me --help' for more information."
83
+
84
+ # Parse command line
85
+ while test $# -gt 0 ; do
86
+ case $1 in
87
+ --time-stamp | --time* | -t )
88
+ echo "$timestamp" ; exit ;;
89
+ --version | -v )
90
+ echo "$version" ; exit ;;
91
+ --help | --h* | -h )
92
+ echo "$usage"; exit ;;
93
+ -- ) # Stop option processing
94
+ shift; break ;;
95
+ - ) # Use stdin as input.
96
+ break ;;
97
+ -* )
98
+ echo "$me: invalid option $1$help"
99
+ exit 1 ;;
100
+
101
+ *local*)
102
+ # First pass through any local machine types.
103
+ echo $1
104
+ exit ;;
105
+
106
+ * )
107
+ break ;;
108
+ esac
109
+ done
110
+
111
+ case $# in
112
+ 0) echo "$me: missing argument$help" >&2
113
+ exit 1;;
114
+ 1) ;;
115
+ *) echo "$me: too many arguments$help" >&2
116
+ exit 1;;
117
+ esac
118
+
119
+ # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
120
+ # Here we must recognize all the valid KERNEL-OS combinations.
121
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122
+ case $maybe_os in
123
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125
+ storm-chaos* | os2-emx* | rtmk-nova*)
126
+ os=-$maybe_os
127
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128
+ ;;
129
+ *)
130
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131
+ if [ $basic_machine != $1 ]
132
+ then os=`echo $1 | sed 's/.*-/-/'`
133
+ else os=; fi
134
+ ;;
135
+ esac
136
+
137
+ ### Let's recognize common machines as not being operating systems so
138
+ ### that things like config.sub decstation-3100 work. We also
139
+ ### recognize some manufacturers as not being operating systems, so we
140
+ ### can provide default operating systems below.
141
+ case $os in
142
+ -sun*os*)
143
+ # Prevent following clause from handling this invalid input.
144
+ ;;
145
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151
+ -apple | -axis | -knuth | -cray)
152
+ os=
153
+ basic_machine=$1
154
+ ;;
155
+ -sim | -cisco | -oki | -wec | -winbond)
156
+ os=
157
+ basic_machine=$1
158
+ ;;
159
+ -scout)
160
+ ;;
161
+ -wrs)
162
+ os=-vxworks
163
+ basic_machine=$1
164
+ ;;
165
+ -chorusos*)
166
+ os=-chorusos
167
+ basic_machine=$1
168
+ ;;
169
+ -chorusrdb)
170
+ os=-chorusrdb
171
+ basic_machine=$1
172
+ ;;
173
+ -hiux*)
174
+ os=-hiuxwe2
175
+ ;;
176
+ -sco6)
177
+ os=-sco5v6
178
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179
+ ;;
180
+ -sco5)
181
+ os=-sco3.2v5
182
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183
+ ;;
184
+ -sco4)
185
+ os=-sco3.2v4
186
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187
+ ;;
188
+ -sco3.2.[4-9]*)
189
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
190
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191
+ ;;
192
+ -sco3.2v[4-9]*)
193
+ # Don't forget version if it is 3.2v4 or newer.
194
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195
+ ;;
196
+ -sco5v6*)
197
+ # Don't forget version if it is 3.2v4 or newer.
198
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199
+ ;;
200
+ -sco*)
201
+ os=-sco3.2v2
202
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203
+ ;;
204
+ -udk*)
205
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206
+ ;;
207
+ -isc)
208
+ os=-isc2.2
209
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210
+ ;;
211
+ -clix*)
212
+ basic_machine=clipper-intergraph
213
+ ;;
214
+ -isc*)
215
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216
+ ;;
217
+ -lynx*)
218
+ os=-lynxos
219
+ ;;
220
+ -ptx*)
221
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
222
+ ;;
223
+ -windowsnt*)
224
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
225
+ ;;
226
+ -psos*)
227
+ os=-psos
228
+ ;;
229
+ -mint | -mint[0-9]*)
230
+ basic_machine=m68k-atari
231
+ os=-mint
232
+ ;;
233
+ esac
234
+
235
+ # Decode aliases for certain CPU-COMPANY combinations.
236
+ case $basic_machine in
237
+ # Recognize the basic CPU types without company name.
238
+ # Some are omitted here because they have special meanings below.
239
+ 1750a | 580 \
240
+ | a29k \
241
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243
+ | am33_2.0 \
244
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245
+ | bfin \
246
+ | c4x | clipper \
247
+ | d10v | d30v | dlx | dsp16xx \
248
+ | fido | fr30 | frv \
249
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250
+ | i370 | i860 | i960 | ia64 \
251
+ | ip2k | iq2000 \
252
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
253
+ | maxq | mb | microblaze | mcore | mep \
254
+ | mips | mipsbe | mipseb | mipsel | mipsle \
255
+ | mips16 \
256
+ | mips64 | mips64el \
257
+ | mips64vr | mips64vrel \
258
+ | mips64orion | mips64orionel \
259
+ | mips64vr4100 | mips64vr4100el \
260
+ | mips64vr4300 | mips64vr4300el \
261
+ | mips64vr5000 | mips64vr5000el \
262
+ | mips64vr5900 | mips64vr5900el \
263
+ | mipsisa32 | mipsisa32el \
264
+ | mipsisa32r2 | mipsisa32r2el \
265
+ | mipsisa64 | mipsisa64el \
266
+ | mipsisa64r2 | mipsisa64r2el \
267
+ | mipsisa64sb1 | mipsisa64sb1el \
268
+ | mipsisa64sr71k | mipsisa64sr71kel \
269
+ | mipstx39 | mipstx39el \
270
+ | mn10200 | mn10300 \
271
+ | mt \
272
+ | msp430 \
273
+ | nios | nios2 \
274
+ | ns16k | ns32k \
275
+ | or32 \
276
+ | pdp10 | pdp11 | pj | pjl \
277
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278
+ | pyramid \
279
+ | score \
280
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281
+ | sh64 | sh64le \
282
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284
+ | spu | strongarm \
285
+ | tahoe | thumb | tic4x | tic80 | tron \
286
+ | v850 | v850e \
287
+ | we32k \
288
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289
+ | z8k)
290
+ basic_machine=$basic_machine-unknown
291
+ ;;
292
+ m6811 | m68hc11 | m6812 | m68hc12)
293
+ # Motorola 68HC11/12.
294
+ basic_machine=$basic_machine-unknown
295
+ os=-none
296
+ ;;
297
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
298
+ ;;
299
+ ms1)
300
+ basic_machine=mt-unknown
301
+ ;;
302
+
303
+ # We use `pc' rather than `unknown'
304
+ # because (1) that's what they normally are, and
305
+ # (2) the word "unknown" tends to confuse beginning users.
306
+ i*86 | x86_64)
307
+ basic_machine=$basic_machine-pc
308
+ ;;
309
+ # Object if more than one company name word.
310
+ *-*-*)
311
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
312
+ exit 1
313
+ ;;
314
+ # Recognize the basic CPU types with company name.
315
+ 580-* \
316
+ | a29k-* \
317
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
321
+ | avr-* | avr32-* \
322
+ | bfin-* | bs2000-* \
323
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
324
+ | clipper-* | craynv-* | cydra-* \
325
+ | d10v-* | d30v-* | dlx-* \
326
+ | elxsi-* \
327
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328
+ | h8300-* | h8500-* \
329
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330
+ | i*86-* | i860-* | i960-* | ia64-* \
331
+ | ip2k-* | iq2000-* \
332
+ | m32c-* | m32r-* | m32rle-* \
333
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334
+ | m88110-* | m88k-* | maxq-* | mcore-* \
335
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336
+ | mips16-* \
337
+ | mips64-* | mips64el-* \
338
+ | mips64vr-* | mips64vrel-* \
339
+ | mips64orion-* | mips64orionel-* \
340
+ | mips64vr4100-* | mips64vr4100el-* \
341
+ | mips64vr4300-* | mips64vr4300el-* \
342
+ | mips64vr5000-* | mips64vr5000el-* \
343
+ | mips64vr5900-* | mips64vr5900el-* \
344
+ | mipsisa32-* | mipsisa32el-* \
345
+ | mipsisa32r2-* | mipsisa32r2el-* \
346
+ | mipsisa64-* | mipsisa64el-* \
347
+ | mipsisa64r2-* | mipsisa64r2el-* \
348
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
349
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
350
+ | mipstx39-* | mipstx39el-* \
351
+ | mmix-* \
352
+ | mt-* \
353
+ | msp430-* \
354
+ | nios-* | nios2-* \
355
+ | none-* | np1-* | ns16k-* | ns32k-* \
356
+ | orion-* \
357
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359
+ | pyramid-* \
360
+ | romp-* | rs6000-* \
361
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364
+ | sparclite-* \
365
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366
+ | tahoe-* | thumb-* \
367
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368
+ | tron-* \
369
+ | v850-* | v850e-* | vax-* \
370
+ | we32k-* \
371
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372
+ | xstormy16-* | xtensa-* \
373
+ | ymp-* \
374
+ | z8k-*)
375
+ ;;
376
+ # Recognize the various machine names and aliases which stand
377
+ # for a CPU type and a company and sometimes even an OS.
378
+ 386bsd)
379
+ basic_machine=i386-unknown
380
+ os=-bsd
381
+ ;;
382
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
383
+ basic_machine=m68000-att
384
+ ;;
385
+ 3b*)
386
+ basic_machine=we32k-att
387
+ ;;
388
+ a29khif)
389
+ basic_machine=a29k-amd
390
+ os=-udi
391
+ ;;
392
+ abacus)
393
+ basic_machine=abacus-unknown
394
+ ;;
395
+ adobe68k)
396
+ basic_machine=m68010-adobe
397
+ os=-scout
398
+ ;;
399
+ alliant | fx80)
400
+ basic_machine=fx80-alliant
401
+ ;;
402
+ altos | altos3068)
403
+ basic_machine=m68k-altos
404
+ ;;
405
+ am29k)
406
+ basic_machine=a29k-none
407
+ os=-bsd
408
+ ;;
409
+ amd64)
410
+ basic_machine=x86_64-pc
411
+ ;;
412
+ amd64-*)
413
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
414
+ ;;
415
+ amdahl)
416
+ basic_machine=580-amdahl
417
+ os=-sysv
418
+ ;;
419
+ amiga | amiga-*)
420
+ basic_machine=m68k-unknown
421
+ ;;
422
+ amigaos | amigados)
423
+ basic_machine=m68k-unknown
424
+ os=-amigaos
425
+ ;;
426
+ amigaunix | amix)
427
+ basic_machine=m68k-unknown
428
+ os=-sysv4
429
+ ;;
430
+ apollo68)
431
+ basic_machine=m68k-apollo
432
+ os=-sysv
433
+ ;;
434
+ apollo68bsd)
435
+ basic_machine=m68k-apollo
436
+ os=-bsd
437
+ ;;
438
+ aux)
439
+ basic_machine=m68k-apple
440
+ os=-aux
441
+ ;;
442
+ balance)
443
+ basic_machine=ns32k-sequent
444
+ os=-dynix
445
+ ;;
446
+ c90)
447
+ basic_machine=c90-cray
448
+ os=-unicos
449
+ ;;
450
+ convex-c1)
451
+ basic_machine=c1-convex
452
+ os=-bsd
453
+ ;;
454
+ convex-c2)
455
+ basic_machine=c2-convex
456
+ os=-bsd
457
+ ;;
458
+ convex-c32)
459
+ basic_machine=c32-convex
460
+ os=-bsd
461
+ ;;
462
+ convex-c34)
463
+ basic_machine=c34-convex
464
+ os=-bsd
465
+ ;;
466
+ convex-c38)
467
+ basic_machine=c38-convex
468
+ os=-bsd
469
+ ;;
470
+ cray | j90)
471
+ basic_machine=j90-cray
472
+ os=-unicos
473
+ ;;
474
+ craynv)
475
+ basic_machine=craynv-cray
476
+ os=-unicosmp
477
+ ;;
478
+ cr16c)
479
+ basic_machine=cr16c-unknown
480
+ os=-elf
481
+ ;;
482
+ crds | unos)
483
+ basic_machine=m68k-crds
484
+ ;;
485
+ crisv32 | crisv32-* | etraxfs*)
486
+ basic_machine=crisv32-axis
487
+ ;;
488
+ cris | cris-* | etrax*)
489
+ basic_machine=cris-axis
490
+ ;;
491
+ crx)
492
+ basic_machine=crx-unknown
493
+ os=-elf
494
+ ;;
495
+ da30 | da30-*)
496
+ basic_machine=m68k-da30
497
+ ;;
498
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
499
+ basic_machine=mips-dec
500
+ ;;
501
+ decsystem10* | dec10*)
502
+ basic_machine=pdp10-dec
503
+ os=-tops10
504
+ ;;
505
+ decsystem20* | dec20*)
506
+ basic_machine=pdp10-dec
507
+ os=-tops20
508
+ ;;
509
+ delta | 3300 | motorola-3300 | motorola-delta \
510
+ | 3300-motorola | delta-motorola)
511
+ basic_machine=m68k-motorola
512
+ ;;
513
+ delta88)
514
+ basic_machine=m88k-motorola
515
+ os=-sysv3
516
+ ;;
517
+ djgpp)
518
+ basic_machine=i586-pc
519
+ os=-msdosdjgpp
520
+ ;;
521
+ dpx20 | dpx20-*)
522
+ basic_machine=rs6000-bull
523
+ os=-bosx
524
+ ;;
525
+ dpx2* | dpx2*-bull)
526
+ basic_machine=m68k-bull
527
+ os=-sysv3
528
+ ;;
529
+ ebmon29k)
530
+ basic_machine=a29k-amd
531
+ os=-ebmon
532
+ ;;
533
+ elxsi)
534
+ basic_machine=elxsi-elxsi
535
+ os=-bsd
536
+ ;;
537
+ encore | umax | mmax)
538
+ basic_machine=ns32k-encore
539
+ ;;
540
+ es1800 | OSE68k | ose68k | ose | OSE)
541
+ basic_machine=m68k-ericsson
542
+ os=-ose
543
+ ;;
544
+ fx2800)
545
+ basic_machine=i860-alliant
546
+ ;;
547
+ genix)
548
+ basic_machine=ns32k-ns
549
+ ;;
550
+ gmicro)
551
+ basic_machine=tron-gmicro
552
+ os=-sysv
553
+ ;;
554
+ go32)
555
+ basic_machine=i386-pc
556
+ os=-go32
557
+ ;;
558
+ h3050r* | hiux*)
559
+ basic_machine=hppa1.1-hitachi
560
+ os=-hiuxwe2
561
+ ;;
562
+ h8300hms)
563
+ basic_machine=h8300-hitachi
564
+ os=-hms
565
+ ;;
566
+ h8300xray)
567
+ basic_machine=h8300-hitachi
568
+ os=-xray
569
+ ;;
570
+ h8500hms)
571
+ basic_machine=h8500-hitachi
572
+ os=-hms
573
+ ;;
574
+ harris)
575
+ basic_machine=m88k-harris
576
+ os=-sysv3
577
+ ;;
578
+ hp300-*)
579
+ basic_machine=m68k-hp
580
+ ;;
581
+ hp300bsd)
582
+ basic_machine=m68k-hp
583
+ os=-bsd
584
+ ;;
585
+ hp300hpux)
586
+ basic_machine=m68k-hp
587
+ os=-hpux
588
+ ;;
589
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
590
+ basic_machine=hppa1.0-hp
591
+ ;;
592
+ hp9k2[0-9][0-9] | hp9k31[0-9])
593
+ basic_machine=m68000-hp
594
+ ;;
595
+ hp9k3[2-9][0-9])
596
+ basic_machine=m68k-hp
597
+ ;;
598
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
599
+ basic_machine=hppa1.0-hp
600
+ ;;
601
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
602
+ basic_machine=hppa1.1-hp
603
+ ;;
604
+ hp9k78[0-9] | hp78[0-9])
605
+ # FIXME: really hppa2.0-hp
606
+ basic_machine=hppa1.1-hp
607
+ ;;
608
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
609
+ # FIXME: really hppa2.0-hp
610
+ basic_machine=hppa1.1-hp
611
+ ;;
612
+ hp9k8[0-9][13679] | hp8[0-9][13679])
613
+ basic_machine=hppa1.1-hp
614
+ ;;
615
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
616
+ basic_machine=hppa1.0-hp
617
+ ;;
618
+ hppa-next)
619
+ os=-nextstep3
620
+ ;;
621
+ hppaosf)
622
+ basic_machine=hppa1.1-hp
623
+ os=-osf
624
+ ;;
625
+ hppro)
626
+ basic_machine=hppa1.1-hp
627
+ os=-proelf
628
+ ;;
629
+ i370-ibm* | ibm*)
630
+ basic_machine=i370-ibm
631
+ ;;
632
+ # I'm not sure what "Sysv32" means. Should this be sysv3.2?
633
+ i*86v32)
634
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
635
+ os=-sysv32
636
+ ;;
637
+ i*86v4*)
638
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
639
+ os=-sysv4
640
+ ;;
641
+ i*86v)
642
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
643
+ os=-sysv
644
+ ;;
645
+ i*86sol2)
646
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647
+ os=-solaris2
648
+ ;;
649
+ i386mach)
650
+ basic_machine=i386-mach
651
+ os=-mach
652
+ ;;
653
+ i386-vsta | vsta)
654
+ basic_machine=i386-unknown
655
+ os=-vsta
656
+ ;;
657
+ iris | iris4d)
658
+ basic_machine=mips-sgi
659
+ case $os in
660
+ -irix*)
661
+ ;;
662
+ *)
663
+ os=-irix4
664
+ ;;
665
+ esac
666
+ ;;
667
+ isi68 | isi)
668
+ basic_machine=m68k-isi
669
+ os=-sysv
670
+ ;;
671
+ m88k-omron*)
672
+ basic_machine=m88k-omron
673
+ ;;
674
+ magnum | m3230)
675
+ basic_machine=mips-mips
676
+ os=-sysv
677
+ ;;
678
+ merlin)
679
+ basic_machine=ns32k-utek
680
+ os=-sysv
681
+ ;;
682
+ mingw32)
683
+ basic_machine=i386-pc
684
+ os=-mingw32
685
+ ;;
686
+ mingw32ce)
687
+ basic_machine=arm-unknown
688
+ os=-mingw32ce
689
+ ;;
690
+ miniframe)
691
+ basic_machine=m68000-convergent
692
+ ;;
693
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
694
+ basic_machine=m68k-atari
695
+ os=-mint
696
+ ;;
697
+ mips3*-*)
698
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
699
+ ;;
700
+ mips3*)
701
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
702
+ ;;
703
+ monitor)
704
+ basic_machine=m68k-rom68k
705
+ os=-coff
706
+ ;;
707
+ morphos)
708
+ basic_machine=powerpc-unknown
709
+ os=-morphos
710
+ ;;
711
+ msdos)
712
+ basic_machine=i386-pc
713
+ os=-msdos
714
+ ;;
715
+ ms1-*)
716
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
717
+ ;;
718
+ mvs)
719
+ basic_machine=i370-ibm
720
+ os=-mvs
721
+ ;;
722
+ ncr3000)
723
+ basic_machine=i486-ncr
724
+ os=-sysv4
725
+ ;;
726
+ netbsd386)
727
+ basic_machine=i386-unknown
728
+ os=-netbsd
729
+ ;;
730
+ netwinder)
731
+ basic_machine=armv4l-rebel
732
+ os=-linux
733
+ ;;
734
+ news | news700 | news800 | news900)
735
+ basic_machine=m68k-sony
736
+ os=-newsos
737
+ ;;
738
+ news1000)
739
+ basic_machine=m68030-sony
740
+ os=-newsos
741
+ ;;
742
+ news-3600 | risc-news)
743
+ basic_machine=mips-sony
744
+ os=-newsos
745
+ ;;
746
+ necv70)
747
+ basic_machine=v70-nec
748
+ os=-sysv
749
+ ;;
750
+ next | m*-next )
751
+ basic_machine=m68k-next
752
+ case $os in
753
+ -nextstep* )
754
+ ;;
755
+ -ns2*)
756
+ os=-nextstep2
757
+ ;;
758
+ *)
759
+ os=-nextstep3
760
+ ;;
761
+ esac
762
+ ;;
763
+ nh3000)
764
+ basic_machine=m68k-harris
765
+ os=-cxux
766
+ ;;
767
+ nh[45]000)
768
+ basic_machine=m88k-harris
769
+ os=-cxux
770
+ ;;
771
+ nindy960)
772
+ basic_machine=i960-intel
773
+ os=-nindy
774
+ ;;
775
+ mon960)
776
+ basic_machine=i960-intel
777
+ os=-mon960
778
+ ;;
779
+ nonstopux)
780
+ basic_machine=mips-compaq
781
+ os=-nonstopux
782
+ ;;
783
+ np1)
784
+ basic_machine=np1-gould
785
+ ;;
786
+ nsr-tandem)
787
+ basic_machine=nsr-tandem
788
+ ;;
789
+ op50n-* | op60c-*)
790
+ basic_machine=hppa1.1-oki
791
+ os=-proelf
792
+ ;;
793
+ openrisc | openrisc-*)
794
+ basic_machine=or32-unknown
795
+ ;;
796
+ os400)
797
+ basic_machine=powerpc-ibm
798
+ os=-os400
799
+ ;;
800
+ OSE68000 | ose68000)
801
+ basic_machine=m68000-ericsson
802
+ os=-ose
803
+ ;;
804
+ os68k)
805
+ basic_machine=m68k-none
806
+ os=-os68k
807
+ ;;
808
+ pa-hitachi)
809
+ basic_machine=hppa1.1-hitachi
810
+ os=-hiuxwe2
811
+ ;;
812
+ paragon)
813
+ basic_machine=i860-intel
814
+ os=-osf
815
+ ;;
816
+ pbd)
817
+ basic_machine=sparc-tti
818
+ ;;
819
+ pbb)
820
+ basic_machine=m68k-tti
821
+ ;;
822
+ pc532 | pc532-*)
823
+ basic_machine=ns32k-pc532
824
+ ;;
825
+ pc98)
826
+ basic_machine=i386-pc
827
+ ;;
828
+ pc98-*)
829
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
830
+ ;;
831
+ pentium | p5 | k5 | k6 | nexgen | viac3)
832
+ basic_machine=i586-pc
833
+ ;;
834
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
835
+ basic_machine=i686-pc
836
+ ;;
837
+ pentiumii | pentium2 | pentiumiii | pentium3)
838
+ basic_machine=i686-pc
839
+ ;;
840
+ pentium4)
841
+ basic_machine=i786-pc
842
+ ;;
843
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
844
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
845
+ ;;
846
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
847
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
848
+ ;;
849
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
850
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
851
+ ;;
852
+ pentium4-*)
853
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
854
+ ;;
855
+ pn)
856
+ basic_machine=pn-gould
857
+ ;;
858
+ power) basic_machine=power-ibm
859
+ ;;
860
+ ppc) basic_machine=powerpc-unknown
861
+ ;;
862
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
863
+ ;;
864
+ ppcle | powerpclittle | ppc-le | powerpc-little)
865
+ basic_machine=powerpcle-unknown
866
+ ;;
867
+ ppcle-* | powerpclittle-*)
868
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
869
+ ;;
870
+ ppc64) basic_machine=powerpc64-unknown
871
+ ;;
872
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
873
+ ;;
874
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
875
+ basic_machine=powerpc64le-unknown
876
+ ;;
877
+ ppc64le-* | powerpc64little-*)
878
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
879
+ ;;
880
+ ps2)
881
+ basic_machine=i386-ibm
882
+ ;;
883
+ pw32)
884
+ basic_machine=i586-unknown
885
+ os=-pw32
886
+ ;;
887
+ rdos)
888
+ basic_machine=i386-pc
889
+ os=-rdos
890
+ ;;
891
+ rom68k)
892
+ basic_machine=m68k-rom68k
893
+ os=-coff
894
+ ;;
895
+ rm[46]00)
896
+ basic_machine=mips-siemens
897
+ ;;
898
+ rtpc | rtpc-*)
899
+ basic_machine=romp-ibm
900
+ ;;
901
+ s390 | s390-*)
902
+ basic_machine=s390-ibm
903
+ ;;
904
+ s390x | s390x-*)
905
+ basic_machine=s390x-ibm
906
+ ;;
907
+ sa29200)
908
+ basic_machine=a29k-amd
909
+ os=-udi
910
+ ;;
911
+ sb1)
912
+ basic_machine=mipsisa64sb1-unknown
913
+ ;;
914
+ sb1el)
915
+ basic_machine=mipsisa64sb1el-unknown
916
+ ;;
917
+ sde)
918
+ basic_machine=mipsisa32-sde
919
+ os=-elf
920
+ ;;
921
+ sei)
922
+ basic_machine=mips-sei
923
+ os=-seiux
924
+ ;;
925
+ sequent)
926
+ basic_machine=i386-sequent
927
+ ;;
928
+ sh)
929
+ basic_machine=sh-hitachi
930
+ os=-hms
931
+ ;;
932
+ sh5el)
933
+ basic_machine=sh5le-unknown
934
+ ;;
935
+ sh64)
936
+ basic_machine=sh64-unknown
937
+ ;;
938
+ sparclite-wrs | simso-wrs)
939
+ basic_machine=sparclite-wrs
940
+ os=-vxworks
941
+ ;;
942
+ sps7)
943
+ basic_machine=m68k-bull
944
+ os=-sysv2
945
+ ;;
946
+ spur)
947
+ basic_machine=spur-unknown
948
+ ;;
949
+ st2000)
950
+ basic_machine=m68k-tandem
951
+ ;;
952
+ stratus)
953
+ basic_machine=i860-stratus
954
+ os=-sysv4
955
+ ;;
956
+ sun2)
957
+ basic_machine=m68000-sun
958
+ ;;
959
+ sun2os3)
960
+ basic_machine=m68000-sun
961
+ os=-sunos3
962
+ ;;
963
+ sun2os4)
964
+ basic_machine=m68000-sun
965
+ os=-sunos4
966
+ ;;
967
+ sun3os3)
968
+ basic_machine=m68k-sun
969
+ os=-sunos3
970
+ ;;
971
+ sun3os4)
972
+ basic_machine=m68k-sun
973
+ os=-sunos4
974
+ ;;
975
+ sun4os3)
976
+ basic_machine=sparc-sun
977
+ os=-sunos3
978
+ ;;
979
+ sun4os4)
980
+ basic_machine=sparc-sun
981
+ os=-sunos4
982
+ ;;
983
+ sun4sol2)
984
+ basic_machine=sparc-sun
985
+ os=-solaris2
986
+ ;;
987
+ sun3 | sun3-*)
988
+ basic_machine=m68k-sun
989
+ ;;
990
+ sun4)
991
+ basic_machine=sparc-sun
992
+ ;;
993
+ sun386 | sun386i | roadrunner)
994
+ basic_machine=i386-sun
995
+ ;;
996
+ sv1)
997
+ basic_machine=sv1-cray
998
+ os=-unicos
999
+ ;;
1000
+ symmetry)
1001
+ basic_machine=i386-sequent
1002
+ os=-dynix
1003
+ ;;
1004
+ t3e)
1005
+ basic_machine=alphaev5-cray
1006
+ os=-unicos
1007
+ ;;
1008
+ t90)
1009
+ basic_machine=t90-cray
1010
+ os=-unicos
1011
+ ;;
1012
+ tic54x | c54x*)
1013
+ basic_machine=tic54x-unknown
1014
+ os=-coff
1015
+ ;;
1016
+ tic55x | c55x*)
1017
+ basic_machine=tic55x-unknown
1018
+ os=-coff
1019
+ ;;
1020
+ tic6x | c6x*)
1021
+ basic_machine=tic6x-unknown
1022
+ os=-coff
1023
+ ;;
1024
+ tx39)
1025
+ basic_machine=mipstx39-unknown
1026
+ ;;
1027
+ tx39el)
1028
+ basic_machine=mipstx39el-unknown
1029
+ ;;
1030
+ toad1)
1031
+ basic_machine=pdp10-xkl
1032
+ os=-tops20
1033
+ ;;
1034
+ tower | tower-32)
1035
+ basic_machine=m68k-ncr
1036
+ ;;
1037
+ tpf)
1038
+ basic_machine=s390x-ibm
1039
+ os=-tpf
1040
+ ;;
1041
+ udi29k)
1042
+ basic_machine=a29k-amd
1043
+ os=-udi
1044
+ ;;
1045
+ ultra3)
1046
+ basic_machine=a29k-nyu
1047
+ os=-sym1
1048
+ ;;
1049
+ v810 | necv810)
1050
+ basic_machine=v810-nec
1051
+ os=-none
1052
+ ;;
1053
+ vaxv)
1054
+ basic_machine=vax-dec
1055
+ os=-sysv
1056
+ ;;
1057
+ vms)
1058
+ basic_machine=vax-dec
1059
+ os=-vms
1060
+ ;;
1061
+ vpp*|vx|vx-*)
1062
+ basic_machine=f301-fujitsu
1063
+ ;;
1064
+ vxworks960)
1065
+ basic_machine=i960-wrs
1066
+ os=-vxworks
1067
+ ;;
1068
+ vxworks68)
1069
+ basic_machine=m68k-wrs
1070
+ os=-vxworks
1071
+ ;;
1072
+ vxworks29k)
1073
+ basic_machine=a29k-wrs
1074
+ os=-vxworks
1075
+ ;;
1076
+ w65*)
1077
+ basic_machine=w65-wdc
1078
+ os=-none
1079
+ ;;
1080
+ w89k-*)
1081
+ basic_machine=hppa1.1-winbond
1082
+ os=-proelf
1083
+ ;;
1084
+ xbox)
1085
+ basic_machine=i686-pc
1086
+ os=-mingw32
1087
+ ;;
1088
+ xps | xps100)
1089
+ basic_machine=xps100-honeywell
1090
+ ;;
1091
+ ymp)
1092
+ basic_machine=ymp-cray
1093
+ os=-unicos
1094
+ ;;
1095
+ z8k-*-coff)
1096
+ basic_machine=z8k-unknown
1097
+ os=-sim
1098
+ ;;
1099
+ none)
1100
+ basic_machine=none-none
1101
+ os=-none
1102
+ ;;
1103
+
1104
+ # Here we handle the default manufacturer of certain CPU types. It is in
1105
+ # some cases the only manufacturer, in others, it is the most popular.
1106
+ w89k)
1107
+ basic_machine=hppa1.1-winbond
1108
+ ;;
1109
+ op50n)
1110
+ basic_machine=hppa1.1-oki
1111
+ ;;
1112
+ op60c)
1113
+ basic_machine=hppa1.1-oki
1114
+ ;;
1115
+ romp)
1116
+ basic_machine=romp-ibm
1117
+ ;;
1118
+ mmix)
1119
+ basic_machine=mmix-knuth
1120
+ ;;
1121
+ rs6000)
1122
+ basic_machine=rs6000-ibm
1123
+ ;;
1124
+ vax)
1125
+ basic_machine=vax-dec
1126
+ ;;
1127
+ pdp10)
1128
+ # there are many clones, so DEC is not a safe bet
1129
+ basic_machine=pdp10-unknown
1130
+ ;;
1131
+ pdp11)
1132
+ basic_machine=pdp11-dec
1133
+ ;;
1134
+ we32k)
1135
+ basic_machine=we32k-att
1136
+ ;;
1137
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1138
+ basic_machine=sh-unknown
1139
+ ;;
1140
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1141
+ basic_machine=sparc-sun
1142
+ ;;
1143
+ cydra)
1144
+ basic_machine=cydra-cydrome
1145
+ ;;
1146
+ orion)
1147
+ basic_machine=orion-highlevel
1148
+ ;;
1149
+ orion105)
1150
+ basic_machine=clipper-highlevel
1151
+ ;;
1152
+ mac | mpw | mac-mpw)
1153
+ basic_machine=m68k-apple
1154
+ ;;
1155
+ pmac | pmac-mpw)
1156
+ basic_machine=powerpc-apple
1157
+ ;;
1158
+ *-unknown)
1159
+ # Make sure to match an already-canonicalized machine name.
1160
+ ;;
1161
+ *)
1162
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1163
+ exit 1
1164
+ ;;
1165
+ esac
1166
+
1167
+ # Here we canonicalize certain aliases for manufacturers.
1168
+ case $basic_machine in
1169
+ *-digital*)
1170
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1171
+ ;;
1172
+ *-commodore*)
1173
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1174
+ ;;
1175
+ *)
1176
+ ;;
1177
+ esac
1178
+
1179
+ # Decode manufacturer-specific aliases for certain operating systems.
1180
+
1181
+ if [ x"$os" != x"" ]
1182
+ then
1183
+ case $os in
1184
+ # First match some system type aliases
1185
+ # that might get confused with valid system types.
1186
+ # -solaris* is a basic system type, with this one exception.
1187
+ -solaris1 | -solaris1.*)
1188
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
1189
+ ;;
1190
+ -solaris)
1191
+ os=-solaris2
1192
+ ;;
1193
+ -svr4*)
1194
+ os=-sysv4
1195
+ ;;
1196
+ -unixware*)
1197
+ os=-sysv4.2uw
1198
+ ;;
1199
+ -gnu/linux*)
1200
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1201
+ ;;
1202
+ # First accept the basic system types.
1203
+ # The portable systems comes first.
1204
+ # Each alternative MUST END IN A *, to match a version number.
1205
+ # -sysv* is not here because it comes later, after sysvr4.
1206
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1207
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1208
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1209
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1210
+ | -aos* \
1211
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1212
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1213
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1214
+ | -openbsd* | -solidbsd* \
1215
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1216
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1217
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1218
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1219
+ | -chorusos* | -chorusrdb* \
1220
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1221
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1222
+ | -uxpv* | -beos* | -mpeix* | -udk* \
1223
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1224
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1225
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1226
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1227
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1228
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1229
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1230
+ # Remember, each alternative MUST END IN *, to match a version number.
1231
+ ;;
1232
+ -qnx*)
1233
+ case $basic_machine in
1234
+ x86-* | i*86-*)
1235
+ ;;
1236
+ *)
1237
+ os=-nto$os
1238
+ ;;
1239
+ esac
1240
+ ;;
1241
+ -nto-qnx*)
1242
+ ;;
1243
+ -nto*)
1244
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
1245
+ ;;
1246
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1247
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1248
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1249
+ ;;
1250
+ -mac*)
1251
+ os=`echo $os | sed -e 's|mac|macos|'`
1252
+ ;;
1253
+ -linux-dietlibc)
1254
+ os=-linux-dietlibc
1255
+ ;;
1256
+ -linux*)
1257
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
1258
+ ;;
1259
+ -sunos5*)
1260
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
1261
+ ;;
1262
+ -sunos6*)
1263
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
1264
+ ;;
1265
+ -opened*)
1266
+ os=-openedition
1267
+ ;;
1268
+ -os400*)
1269
+ os=-os400
1270
+ ;;
1271
+ -wince*)
1272
+ os=-wince
1273
+ ;;
1274
+ -osfrose*)
1275
+ os=-osfrose
1276
+ ;;
1277
+ -osf*)
1278
+ os=-osf
1279
+ ;;
1280
+ -utek*)
1281
+ os=-bsd
1282
+ ;;
1283
+ -dynix*)
1284
+ os=-bsd
1285
+ ;;
1286
+ -acis*)
1287
+ os=-aos
1288
+ ;;
1289
+ -atheos*)
1290
+ os=-atheos
1291
+ ;;
1292
+ -syllable*)
1293
+ os=-syllable
1294
+ ;;
1295
+ -386bsd)
1296
+ os=-bsd
1297
+ ;;
1298
+ -ctix* | -uts*)
1299
+ os=-sysv
1300
+ ;;
1301
+ -nova*)
1302
+ os=-rtmk-nova
1303
+ ;;
1304
+ -ns2 )
1305
+ os=-nextstep2
1306
+ ;;
1307
+ -nsk*)
1308
+ os=-nsk
1309
+ ;;
1310
+ # Preserve the version number of sinix5.
1311
+ -sinix5.*)
1312
+ os=`echo $os | sed -e 's|sinix|sysv|'`
1313
+ ;;
1314
+ -sinix*)
1315
+ os=-sysv4
1316
+ ;;
1317
+ -tpf*)
1318
+ os=-tpf
1319
+ ;;
1320
+ -triton*)
1321
+ os=-sysv3
1322
+ ;;
1323
+ -oss*)
1324
+ os=-sysv3
1325
+ ;;
1326
+ -svr4)
1327
+ os=-sysv4
1328
+ ;;
1329
+ -svr3)
1330
+ os=-sysv3
1331
+ ;;
1332
+ -sysvr4)
1333
+ os=-sysv4
1334
+ ;;
1335
+ # This must come after -sysvr4.
1336
+ -sysv*)
1337
+ ;;
1338
+ -ose*)
1339
+ os=-ose
1340
+ ;;
1341
+ -es1800*)
1342
+ os=-ose
1343
+ ;;
1344
+ -xenix)
1345
+ os=-xenix
1346
+ ;;
1347
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1348
+ os=-mint
1349
+ ;;
1350
+ -aros*)
1351
+ os=-aros
1352
+ ;;
1353
+ -kaos*)
1354
+ os=-kaos
1355
+ ;;
1356
+ -zvmoe)
1357
+ os=-zvmoe
1358
+ ;;
1359
+ -none)
1360
+ ;;
1361
+ *)
1362
+ # Get rid of the `-' at the beginning of $os.
1363
+ os=`echo $os | sed 's/[^-]*-//'`
1364
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1365
+ exit 1
1366
+ ;;
1367
+ esac
1368
+ else
1369
+
1370
+ # Here we handle the default operating systems that come with various machines.
1371
+ # The value should be what the vendor currently ships out the door with their
1372
+ # machine or put another way, the most popular os provided with the machine.
1373
+
1374
+ # Note that if you're going to try to match "-MANUFACTURER" here (say,
1375
+ # "-sun"), then you have to tell the case statement up towards the top
1376
+ # that MANUFACTURER isn't an operating system. Otherwise, code above
1377
+ # will signal an error saying that MANUFACTURER isn't an operating
1378
+ # system, and we'll never get to this point.
1379
+
1380
+ case $basic_machine in
1381
+ score-*)
1382
+ os=-elf
1383
+ ;;
1384
+ spu-*)
1385
+ os=-elf
1386
+ ;;
1387
+ *-acorn)
1388
+ os=-riscix1.2
1389
+ ;;
1390
+ arm*-rebel)
1391
+ os=-linux
1392
+ ;;
1393
+ arm*-semi)
1394
+ os=-aout
1395
+ ;;
1396
+ c4x-* | tic4x-*)
1397
+ os=-coff
1398
+ ;;
1399
+ # This must come before the *-dec entry.
1400
+ pdp10-*)
1401
+ os=-tops20
1402
+ ;;
1403
+ pdp11-*)
1404
+ os=-none
1405
+ ;;
1406
+ *-dec | vax-*)
1407
+ os=-ultrix4.2
1408
+ ;;
1409
+ m68*-apollo)
1410
+ os=-domain
1411
+ ;;
1412
+ i386-sun)
1413
+ os=-sunos4.0.2
1414
+ ;;
1415
+ m68000-sun)
1416
+ os=-sunos3
1417
+ # This also exists in the configure program, but was not the
1418
+ # default.
1419
+ # os=-sunos4
1420
+ ;;
1421
+ m68*-cisco)
1422
+ os=-aout
1423
+ ;;
1424
+ mep-*)
1425
+ os=-elf
1426
+ ;;
1427
+ mips*-cisco)
1428
+ os=-elf
1429
+ ;;
1430
+ mips*-*)
1431
+ os=-elf
1432
+ ;;
1433
+ or32-*)
1434
+ os=-coff
1435
+ ;;
1436
+ *-tti) # must be before sparc entry or we get the wrong os.
1437
+ os=-sysv3
1438
+ ;;
1439
+ sparc-* | *-sun)
1440
+ os=-sunos4.1.1
1441
+ ;;
1442
+ *-be)
1443
+ os=-beos
1444
+ ;;
1445
+ *-haiku)
1446
+ os=-haiku
1447
+ ;;
1448
+ *-ibm)
1449
+ os=-aix
1450
+ ;;
1451
+ *-knuth)
1452
+ os=-mmixware
1453
+ ;;
1454
+ *-wec)
1455
+ os=-proelf
1456
+ ;;
1457
+ *-winbond)
1458
+ os=-proelf
1459
+ ;;
1460
+ *-oki)
1461
+ os=-proelf
1462
+ ;;
1463
+ *-hp)
1464
+ os=-hpux
1465
+ ;;
1466
+ *-hitachi)
1467
+ os=-hiux
1468
+ ;;
1469
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1470
+ os=-sysv
1471
+ ;;
1472
+ *-cbm)
1473
+ os=-amigaos
1474
+ ;;
1475
+ *-dg)
1476
+ os=-dgux
1477
+ ;;
1478
+ *-dolphin)
1479
+ os=-sysv3
1480
+ ;;
1481
+ m68k-ccur)
1482
+ os=-rtu
1483
+ ;;
1484
+ m88k-omron*)
1485
+ os=-luna
1486
+ ;;
1487
+ *-next )
1488
+ os=-nextstep
1489
+ ;;
1490
+ *-sequent)
1491
+ os=-ptx
1492
+ ;;
1493
+ *-crds)
1494
+ os=-unos
1495
+ ;;
1496
+ *-ns)
1497
+ os=-genix
1498
+ ;;
1499
+ i370-*)
1500
+ os=-mvs
1501
+ ;;
1502
+ *-next)
1503
+ os=-nextstep3
1504
+ ;;
1505
+ *-gould)
1506
+ os=-sysv
1507
+ ;;
1508
+ *-highlevel)
1509
+ os=-bsd
1510
+ ;;
1511
+ *-encore)
1512
+ os=-bsd
1513
+ ;;
1514
+ *-sgi)
1515
+ os=-irix
1516
+ ;;
1517
+ *-siemens)
1518
+ os=-sysv4
1519
+ ;;
1520
+ *-masscomp)
1521
+ os=-rtu
1522
+ ;;
1523
+ f30[01]-fujitsu | f700-fujitsu)
1524
+ os=-uxpv
1525
+ ;;
1526
+ *-rom68k)
1527
+ os=-coff
1528
+ ;;
1529
+ *-*bug)
1530
+ os=-coff
1531
+ ;;
1532
+ *-apple)
1533
+ os=-macos
1534
+ ;;
1535
+ *-atari*)
1536
+ os=-mint
1537
+ ;;
1538
+ *)
1539
+ os=-none
1540
+ ;;
1541
+ esac
1542
+ fi
1543
+
1544
+ # Here we handle the case where we know the os, and the CPU type, but not the
1545
+ # manufacturer. We pick the logical manufacturer.
1546
+ vendor=unknown
1547
+ case $basic_machine in
1548
+ *-unknown)
1549
+ case $os in
1550
+ -riscix*)
1551
+ vendor=acorn
1552
+ ;;
1553
+ -sunos*)
1554
+ vendor=sun
1555
+ ;;
1556
+ -aix*)
1557
+ vendor=ibm
1558
+ ;;
1559
+ -beos*)
1560
+ vendor=be
1561
+ ;;
1562
+ -hpux*)
1563
+ vendor=hp
1564
+ ;;
1565
+ -mpeix*)
1566
+ vendor=hp
1567
+ ;;
1568
+ -hiux*)
1569
+ vendor=hitachi
1570
+ ;;
1571
+ -unos*)
1572
+ vendor=crds
1573
+ ;;
1574
+ -dgux*)
1575
+ vendor=dg
1576
+ ;;
1577
+ -luna*)
1578
+ vendor=omron
1579
+ ;;
1580
+ -genix*)
1581
+ vendor=ns
1582
+ ;;
1583
+ -mvs* | -opened*)
1584
+ vendor=ibm
1585
+ ;;
1586
+ -os400*)
1587
+ vendor=ibm
1588
+ ;;
1589
+ -ptx*)
1590
+ vendor=sequent
1591
+ ;;
1592
+ -tpf*)
1593
+ vendor=ibm
1594
+ ;;
1595
+ -vxsim* | -vxworks* | -windiss*)
1596
+ vendor=wrs
1597
+ ;;
1598
+ -aux*)
1599
+ vendor=apple
1600
+ ;;
1601
+ -hms*)
1602
+ vendor=hitachi
1603
+ ;;
1604
+ -mpw* | -macos*)
1605
+ vendor=apple
1606
+ ;;
1607
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1608
+ vendor=atari
1609
+ ;;
1610
+ -vos*)
1611
+ vendor=stratus
1612
+ ;;
1613
+ esac
1614
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1615
+ ;;
1616
+ esac
1617
+
1618
+ echo $basic_machine$os
1619
+ exit
1620
+
1621
+ # Local variables:
1622
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
1623
+ # time-stamp-start: "timestamp='"
1624
+ # time-stamp-format: "%:y-%02m-%02d"
1625
+ # time-stamp-end: "'"
1626
+ # End: