rice2 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +23 -0
  3. data/Doxyfile +2268 -0
  4. data/Makefile.am +26 -0
  5. data/Makefile.in +929 -0
  6. data/README.md +1054 -0
  7. data/README.mingw +8 -0
  8. data/Rakefile +24 -0
  9. data/aclocal.m4 +1090 -0
  10. data/bootstrap +8 -0
  11. data/config.guess +1667 -0
  12. data/config.sub +1793 -0
  13. data/configure +8209 -0
  14. data/configure.ac +55 -0
  15. data/depcomp +791 -0
  16. data/doxygen.ac +314 -0
  17. data/doxygen.am +186 -0
  18. data/extconf.rb +66 -0
  19. data/install-sh +529 -0
  20. data/missing +215 -0
  21. data/post-autoconf.rb +22 -0
  22. data/post-automake.rb +28 -0
  23. data/rice/Address_Registration_Guard.cpp +22 -0
  24. data/rice/Address_Registration_Guard.hpp +7 -0
  25. data/rice/Address_Registration_Guard.ipp +37 -0
  26. data/rice/Address_Registration_Guard_defn.hpp +75 -0
  27. data/rice/Arg.hpp +8 -0
  28. data/rice/Arg_impl.hpp +129 -0
  29. data/rice/Arg_operators.cpp +21 -0
  30. data/rice/Arg_operators.hpp +19 -0
  31. data/rice/Array.hpp +214 -0
  32. data/rice/Array.ipp +256 -0
  33. data/rice/Builtin_Object.hpp +8 -0
  34. data/rice/Builtin_Object.ipp +50 -0
  35. data/rice/Builtin_Object_defn.hpp +50 -0
  36. data/rice/Class.cpp +57 -0
  37. data/rice/Class.hpp +8 -0
  38. data/rice/Class.ipp +6 -0
  39. data/rice/Class_defn.hpp +83 -0
  40. data/rice/Constructor.hpp +47 -0
  41. data/rice/Data_Object.hpp +8 -0
  42. data/rice/Data_Object.ipp +133 -0
  43. data/rice/Data_Object_defn.hpp +138 -0
  44. data/rice/Data_Type.cpp +54 -0
  45. data/rice/Data_Type.hpp +8 -0
  46. data/rice/Data_Type.ipp +365 -0
  47. data/rice/Data_Type_defn.hpp +261 -0
  48. data/rice/Data_Type_fwd.hpp +12 -0
  49. data/rice/Director.cpp +13 -0
  50. data/rice/Director.hpp +39 -0
  51. data/rice/Enum.hpp +117 -0
  52. data/rice/Enum.ipp +246 -0
  53. data/rice/Exception.cpp +59 -0
  54. data/rice/Exception.hpp +13 -0
  55. data/rice/Exception_Base.hpp +8 -0
  56. data/rice/Exception_Base.ipp +13 -0
  57. data/rice/Exception_Base_defn.hpp +27 -0
  58. data/rice/Exception_defn.hpp +69 -0
  59. data/rice/Hash.hpp +227 -0
  60. data/rice/Hash.ipp +329 -0
  61. data/rice/Identifier.cpp +8 -0
  62. data/rice/Identifier.hpp +50 -0
  63. data/rice/Identifier.ipp +33 -0
  64. data/rice/Jump_Tag.hpp +24 -0
  65. data/rice/Makefile.am +122 -0
  66. data/rice/Makefile.in +885 -0
  67. data/rice/Module.cpp +84 -0
  68. data/rice/Module.hpp +8 -0
  69. data/rice/Module.ipp +6 -0
  70. data/rice/Module_defn.hpp +88 -0
  71. data/rice/Module_impl.hpp +281 -0
  72. data/rice/Module_impl.ipp +345 -0
  73. data/rice/Object.cpp +169 -0
  74. data/rice/Object.hpp +8 -0
  75. data/rice/Object.ipp +33 -0
  76. data/rice/Object_defn.hpp +214 -0
  77. data/rice/Require_Guard.hpp +21 -0
  78. data/rice/String.cpp +94 -0
  79. data/rice/String.hpp +91 -0
  80. data/rice/Struct.cpp +117 -0
  81. data/rice/Struct.hpp +162 -0
  82. data/rice/Struct.ipp +26 -0
  83. data/rice/Symbol.cpp +25 -0
  84. data/rice/Symbol.hpp +66 -0
  85. data/rice/Symbol.ipp +44 -0
  86. data/rice/config.hpp +47 -0
  87. data/rice/config.hpp.in +46 -0
  88. data/rice/detail/Arguments.hpp +118 -0
  89. data/rice/detail/Auto_Function_Wrapper.hpp +898 -0
  90. data/rice/detail/Auto_Function_Wrapper.ipp +3694 -0
  91. data/rice/detail/Auto_Member_Function_Wrapper.hpp +897 -0
  92. data/rice/detail/Auto_Member_Function_Wrapper.ipp +2774 -0
  93. data/rice/detail/Caster.hpp +103 -0
  94. data/rice/detail/Exception_Handler.hpp +8 -0
  95. data/rice/detail/Exception_Handler.ipp +68 -0
  96. data/rice/detail/Exception_Handler_defn.hpp +96 -0
  97. data/rice/detail/Iterator.hpp +93 -0
  98. data/rice/detail/Not_Copyable.hpp +25 -0
  99. data/rice/detail/Wrapped_Function.hpp +33 -0
  100. data/rice/detail/cfp.hpp +24 -0
  101. data/rice/detail/cfp.ipp +51 -0
  102. data/rice/detail/check_ruby_type.cpp +27 -0
  103. data/rice/detail/check_ruby_type.hpp +23 -0
  104. data/rice/detail/creation_funcs.hpp +37 -0
  105. data/rice/detail/creation_funcs.ipp +36 -0
  106. data/rice/detail/default_allocation_func.hpp +23 -0
  107. data/rice/detail/default_allocation_func.ipp +11 -0
  108. data/rice/detail/define_method_and_auto_wrap.hpp +31 -0
  109. data/rice/detail/define_method_and_auto_wrap.ipp +30 -0
  110. data/rice/detail/demangle.cpp +56 -0
  111. data/rice/detail/demangle.hpp +19 -0
  112. data/rice/detail/env.hpp +11 -0
  113. data/rice/detail/from_ruby.hpp +43 -0
  114. data/rice/detail/from_ruby.ipp +60 -0
  115. data/rice/detail/method_data.cpp +92 -0
  116. data/rice/detail/method_data.hpp +21 -0
  117. data/rice/detail/node.hpp +13 -0
  118. data/rice/detail/protect.cpp +29 -0
  119. data/rice/detail/protect.hpp +34 -0
  120. data/rice/detail/ruby.hpp +74 -0
  121. data/rice/detail/ruby_version_code.hpp +6 -0
  122. data/rice/detail/ruby_version_code.hpp.in +6 -0
  123. data/rice/detail/st.hpp +22 -0
  124. data/rice/detail/to_ruby.hpp +22 -0
  125. data/rice/detail/to_ruby.ipp +36 -0
  126. data/rice/detail/traits.hpp +43 -0
  127. data/rice/detail/win32.hpp +16 -0
  128. data/rice/detail/wrap_function.hpp +66 -0
  129. data/rice/global_function.hpp +33 -0
  130. data/rice/global_function.ipp +22 -0
  131. data/rice/protect.hpp +38 -0
  132. data/rice/protect.ipp +1134 -0
  133. data/rice/ruby_mark.hpp +13 -0
  134. data/rice/ruby_try_catch.hpp +86 -0
  135. data/rice/rubypp.rb +97 -0
  136. data/rice/to_from_ruby.hpp +8 -0
  137. data/rice/to_from_ruby.ipp +418 -0
  138. data/rice/to_from_ruby_defn.hpp +70 -0
  139. data/ruby.ac +135 -0
  140. data/ruby/Makefile.am +1 -0
  141. data/ruby/Makefile.in +628 -0
  142. data/ruby/lib/Makefile.am +3 -0
  143. data/ruby/lib/Makefile.in +506 -0
  144. data/ruby/lib/mkmf-rice.rb.in +217 -0
  145. data/ruby/lib/version.rb +3 -0
  146. data/sample/Makefile.am +47 -0
  147. data/sample/Makefile.in +489 -0
  148. data/sample/enum/extconf.rb +3 -0
  149. data/sample/enum/sample_enum.cpp +54 -0
  150. data/sample/enum/test.rb +8 -0
  151. data/sample/inheritance/animals.cpp +98 -0
  152. data/sample/inheritance/extconf.rb +3 -0
  153. data/sample/inheritance/test.rb +7 -0
  154. data/sample/map/extconf.rb +3 -0
  155. data/sample/map/map.cpp +81 -0
  156. data/sample/map/test.rb +7 -0
  157. data/test/Makefile.am +72 -0
  158. data/test/Makefile.in +1213 -0
  159. data/test/ext/Makefile.am +41 -0
  160. data/test/ext/Makefile.in +483 -0
  161. data/test/ext/t1/Foo.hpp +10 -0
  162. data/test/ext/t1/extconf.rb +2 -0
  163. data/test/ext/t1/t1.cpp +15 -0
  164. data/test/ext/t2/extconf.rb +2 -0
  165. data/test/ext/t2/t2.cpp +11 -0
  166. data/test/test_Address_Registration_Guard.cpp +43 -0
  167. data/test/test_Array.cpp +248 -0
  168. data/test/test_Builtin_Object.cpp +71 -0
  169. data/test/test_Class.cpp +496 -0
  170. data/test/test_Constructor.cpp +128 -0
  171. data/test/test_Data_Object.cpp +275 -0
  172. data/test/test_Data_Type.cpp +348 -0
  173. data/test/test_Director.cpp +308 -0
  174. data/test/test_Enum.cpp +215 -0
  175. data/test/test_Exception.cpp +47 -0
  176. data/test/test_Hash.cpp +212 -0
  177. data/test/test_Identifier.cpp +70 -0
  178. data/test/test_Jump_Tag.cpp +17 -0
  179. data/test/test_Memory_Management.cpp +50 -0
  180. data/test/test_Module.cpp +497 -0
  181. data/test/test_Object.cpp +159 -0
  182. data/test/test_String.cpp +107 -0
  183. data/test/test_Struct.cpp +205 -0
  184. data/test/test_Symbol.cpp +63 -0
  185. data/test/test_To_From_Ruby.cpp +428 -0
  186. data/test/test_global_functions.cpp +114 -0
  187. data/test/test_rice.rb +41 -0
  188. data/test/unittest.cpp +136 -0
  189. data/test/unittest.hpp +294 -0
  190. metadata +297 -0
@@ -0,0 +1,1793 @@
1
+ #! /bin/sh
2
+ # Configuration validation subroutine script.
3
+ # Copyright 1992-2020 Free Software Foundation, Inc.
4
+
5
+ timestamp='2020-01-01'
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 <https://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
+
28
+ # Please send patches to <config-patches@gnu.org>.
29
+ #
30
+ # Configuration subroutine to validate and canonicalize a configuration type.
31
+ # Supply the specified configuration type as an argument.
32
+ # If it is invalid, we print an error message on stderr and exit with code 1.
33
+ # Otherwise, we print the canonical config type on stdout and succeed.
34
+
35
+ # You can get the latest version of this script from:
36
+ # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
37
+
38
+ # This file is supposed to be the same for all GNU packages
39
+ # and recognize all the CPU types, system types and aliases
40
+ # that are meaningful with *any* GNU software.
41
+ # Each package is responsible for reporting which valid configurations
42
+ # it does not support. The user should be able to distinguish
43
+ # a failure to support a valid configuration from a meaningless
44
+ # configuration.
45
+
46
+ # The goal of this file is to map all the various variations of a given
47
+ # machine specification into a single specification in the form:
48
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
49
+ # or in some cases, the newer four-part form:
50
+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
51
+ # It is wrong to echo any other type of specification.
52
+
53
+ me=`echo "$0" | sed -e 's,.*/,,'`
54
+
55
+ usage="\
56
+ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
57
+
58
+ Canonicalize a configuration name.
59
+
60
+ Options:
61
+ -h, --help print this help, then exit
62
+ -t, --time-stamp print date of last modification, then exit
63
+ -v, --version print version number, then exit
64
+
65
+ Report bugs and patches to <config-patches@gnu.org>."
66
+
67
+ version="\
68
+ GNU config.sub ($timestamp)
69
+
70
+ Copyright 1992-2020 Free Software Foundation, Inc.
71
+
72
+ This is free software; see the source for copying conditions. There is NO
73
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
74
+
75
+ help="
76
+ Try \`$me --help' for more information."
77
+
78
+ # Parse command line
79
+ while test $# -gt 0 ; do
80
+ case $1 in
81
+ --time-stamp | --time* | -t )
82
+ echo "$timestamp" ; exit ;;
83
+ --version | -v )
84
+ echo "$version" ; exit ;;
85
+ --help | --h* | -h )
86
+ echo "$usage"; exit ;;
87
+ -- ) # Stop option processing
88
+ shift; break ;;
89
+ - ) # Use stdin as input.
90
+ break ;;
91
+ -* )
92
+ echo "$me: invalid option $1$help" >&2
93
+ exit 1 ;;
94
+
95
+ *local*)
96
+ # First pass through any local machine types.
97
+ echo "$1"
98
+ exit ;;
99
+
100
+ * )
101
+ break ;;
102
+ esac
103
+ done
104
+
105
+ case $# in
106
+ 0) echo "$me: missing argument$help" >&2
107
+ exit 1;;
108
+ 1) ;;
109
+ *) echo "$me: too many arguments$help" >&2
110
+ exit 1;;
111
+ esac
112
+
113
+ # Split fields of configuration type
114
+ # shellcheck disable=SC2162
115
+ IFS="-" read field1 field2 field3 field4 <<EOF
116
+ $1
117
+ EOF
118
+
119
+ # Separate into logical components for further validation
120
+ case $1 in
121
+ *-*-*-*-*)
122
+ echo Invalid configuration \`"$1"\': more than four components >&2
123
+ exit 1
124
+ ;;
125
+ *-*-*-*)
126
+ basic_machine=$field1-$field2
127
+ os=$field3-$field4
128
+ ;;
129
+ *-*-*)
130
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
131
+ # parts
132
+ maybe_os=$field2-$field3
133
+ case $maybe_os in
134
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
135
+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
136
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
137
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
138
+ | storm-chaos* | os2-emx* | rtmk-nova*)
139
+ basic_machine=$field1
140
+ os=$maybe_os
141
+ ;;
142
+ android-linux)
143
+ basic_machine=$field1-unknown
144
+ os=linux-android
145
+ ;;
146
+ *)
147
+ basic_machine=$field1-$field2
148
+ os=$field3
149
+ ;;
150
+ esac
151
+ ;;
152
+ *-*)
153
+ # A lone config we happen to match not fitting any pattern
154
+ case $field1-$field2 in
155
+ decstation-3100)
156
+ basic_machine=mips-dec
157
+ os=
158
+ ;;
159
+ *-*)
160
+ # Second component is usually, but not always the OS
161
+ case $field2 in
162
+ # Prevent following clause from handling this valid os
163
+ sun*os*)
164
+ basic_machine=$field1
165
+ os=$field2
166
+ ;;
167
+ # Manufacturers
168
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
169
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
170
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
171
+ | convergent* | ncr* | news | 32* | 3600* | 3100* \
172
+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
173
+ | ultra | tti* | harris | dolphin | highlevel | gould \
174
+ | cbm | ns | masscomp | apple | axis | knuth | cray \
175
+ | microblaze* | sim | cisco \
176
+ | oki | wec | wrs | winbond)
177
+ basic_machine=$field1-$field2
178
+ os=
179
+ ;;
180
+ *)
181
+ basic_machine=$field1
182
+ os=$field2
183
+ ;;
184
+ esac
185
+ ;;
186
+ esac
187
+ ;;
188
+ *)
189
+ # Convert single-component short-hands not valid as part of
190
+ # multi-component configurations.
191
+ case $field1 in
192
+ 386bsd)
193
+ basic_machine=i386-pc
194
+ os=bsd
195
+ ;;
196
+ a29khif)
197
+ basic_machine=a29k-amd
198
+ os=udi
199
+ ;;
200
+ adobe68k)
201
+ basic_machine=m68010-adobe
202
+ os=scout
203
+ ;;
204
+ alliant)
205
+ basic_machine=fx80-alliant
206
+ os=
207
+ ;;
208
+ altos | altos3068)
209
+ basic_machine=m68k-altos
210
+ os=
211
+ ;;
212
+ am29k)
213
+ basic_machine=a29k-none
214
+ os=bsd
215
+ ;;
216
+ amdahl)
217
+ basic_machine=580-amdahl
218
+ os=sysv
219
+ ;;
220
+ amiga)
221
+ basic_machine=m68k-unknown
222
+ os=
223
+ ;;
224
+ amigaos | amigados)
225
+ basic_machine=m68k-unknown
226
+ os=amigaos
227
+ ;;
228
+ amigaunix | amix)
229
+ basic_machine=m68k-unknown
230
+ os=sysv4
231
+ ;;
232
+ apollo68)
233
+ basic_machine=m68k-apollo
234
+ os=sysv
235
+ ;;
236
+ apollo68bsd)
237
+ basic_machine=m68k-apollo
238
+ os=bsd
239
+ ;;
240
+ aros)
241
+ basic_machine=i386-pc
242
+ os=aros
243
+ ;;
244
+ aux)
245
+ basic_machine=m68k-apple
246
+ os=aux
247
+ ;;
248
+ balance)
249
+ basic_machine=ns32k-sequent
250
+ os=dynix
251
+ ;;
252
+ blackfin)
253
+ basic_machine=bfin-unknown
254
+ os=linux
255
+ ;;
256
+ cegcc)
257
+ basic_machine=arm-unknown
258
+ os=cegcc
259
+ ;;
260
+ convex-c1)
261
+ basic_machine=c1-convex
262
+ os=bsd
263
+ ;;
264
+ convex-c2)
265
+ basic_machine=c2-convex
266
+ os=bsd
267
+ ;;
268
+ convex-c32)
269
+ basic_machine=c32-convex
270
+ os=bsd
271
+ ;;
272
+ convex-c34)
273
+ basic_machine=c34-convex
274
+ os=bsd
275
+ ;;
276
+ convex-c38)
277
+ basic_machine=c38-convex
278
+ os=bsd
279
+ ;;
280
+ cray)
281
+ basic_machine=j90-cray
282
+ os=unicos
283
+ ;;
284
+ crds | unos)
285
+ basic_machine=m68k-crds
286
+ os=
287
+ ;;
288
+ da30)
289
+ basic_machine=m68k-da30
290
+ os=
291
+ ;;
292
+ decstation | pmax | pmin | dec3100 | decstatn)
293
+ basic_machine=mips-dec
294
+ os=
295
+ ;;
296
+ delta88)
297
+ basic_machine=m88k-motorola
298
+ os=sysv3
299
+ ;;
300
+ dicos)
301
+ basic_machine=i686-pc
302
+ os=dicos
303
+ ;;
304
+ djgpp)
305
+ basic_machine=i586-pc
306
+ os=msdosdjgpp
307
+ ;;
308
+ ebmon29k)
309
+ basic_machine=a29k-amd
310
+ os=ebmon
311
+ ;;
312
+ es1800 | OSE68k | ose68k | ose | OSE)
313
+ basic_machine=m68k-ericsson
314
+ os=ose
315
+ ;;
316
+ gmicro)
317
+ basic_machine=tron-gmicro
318
+ os=sysv
319
+ ;;
320
+ go32)
321
+ basic_machine=i386-pc
322
+ os=go32
323
+ ;;
324
+ h8300hms)
325
+ basic_machine=h8300-hitachi
326
+ os=hms
327
+ ;;
328
+ h8300xray)
329
+ basic_machine=h8300-hitachi
330
+ os=xray
331
+ ;;
332
+ h8500hms)
333
+ basic_machine=h8500-hitachi
334
+ os=hms
335
+ ;;
336
+ harris)
337
+ basic_machine=m88k-harris
338
+ os=sysv3
339
+ ;;
340
+ hp300 | hp300hpux)
341
+ basic_machine=m68k-hp
342
+ os=hpux
343
+ ;;
344
+ hp300bsd)
345
+ basic_machine=m68k-hp
346
+ os=bsd
347
+ ;;
348
+ hppaosf)
349
+ basic_machine=hppa1.1-hp
350
+ os=osf
351
+ ;;
352
+ hppro)
353
+ basic_machine=hppa1.1-hp
354
+ os=proelf
355
+ ;;
356
+ i386mach)
357
+ basic_machine=i386-mach
358
+ os=mach
359
+ ;;
360
+ isi68 | isi)
361
+ basic_machine=m68k-isi
362
+ os=sysv
363
+ ;;
364
+ m68knommu)
365
+ basic_machine=m68k-unknown
366
+ os=linux
367
+ ;;
368
+ magnum | m3230)
369
+ basic_machine=mips-mips
370
+ os=sysv
371
+ ;;
372
+ merlin)
373
+ basic_machine=ns32k-utek
374
+ os=sysv
375
+ ;;
376
+ mingw64)
377
+ basic_machine=x86_64-pc
378
+ os=mingw64
379
+ ;;
380
+ mingw32)
381
+ basic_machine=i686-pc
382
+ os=mingw32
383
+ ;;
384
+ mingw32ce)
385
+ basic_machine=arm-unknown
386
+ os=mingw32ce
387
+ ;;
388
+ monitor)
389
+ basic_machine=m68k-rom68k
390
+ os=coff
391
+ ;;
392
+ morphos)
393
+ basic_machine=powerpc-unknown
394
+ os=morphos
395
+ ;;
396
+ moxiebox)
397
+ basic_machine=moxie-unknown
398
+ os=moxiebox
399
+ ;;
400
+ msdos)
401
+ basic_machine=i386-pc
402
+ os=msdos
403
+ ;;
404
+ msys)
405
+ basic_machine=i686-pc
406
+ os=msys
407
+ ;;
408
+ mvs)
409
+ basic_machine=i370-ibm
410
+ os=mvs
411
+ ;;
412
+ nacl)
413
+ basic_machine=le32-unknown
414
+ os=nacl
415
+ ;;
416
+ ncr3000)
417
+ basic_machine=i486-ncr
418
+ os=sysv4
419
+ ;;
420
+ netbsd386)
421
+ basic_machine=i386-pc
422
+ os=netbsd
423
+ ;;
424
+ netwinder)
425
+ basic_machine=armv4l-rebel
426
+ os=linux
427
+ ;;
428
+ news | news700 | news800 | news900)
429
+ basic_machine=m68k-sony
430
+ os=newsos
431
+ ;;
432
+ news1000)
433
+ basic_machine=m68030-sony
434
+ os=newsos
435
+ ;;
436
+ necv70)
437
+ basic_machine=v70-nec
438
+ os=sysv
439
+ ;;
440
+ nh3000)
441
+ basic_machine=m68k-harris
442
+ os=cxux
443
+ ;;
444
+ nh[45]000)
445
+ basic_machine=m88k-harris
446
+ os=cxux
447
+ ;;
448
+ nindy960)
449
+ basic_machine=i960-intel
450
+ os=nindy
451
+ ;;
452
+ mon960)
453
+ basic_machine=i960-intel
454
+ os=mon960
455
+ ;;
456
+ nonstopux)
457
+ basic_machine=mips-compaq
458
+ os=nonstopux
459
+ ;;
460
+ os400)
461
+ basic_machine=powerpc-ibm
462
+ os=os400
463
+ ;;
464
+ OSE68000 | ose68000)
465
+ basic_machine=m68000-ericsson
466
+ os=ose
467
+ ;;
468
+ os68k)
469
+ basic_machine=m68k-none
470
+ os=os68k
471
+ ;;
472
+ paragon)
473
+ basic_machine=i860-intel
474
+ os=osf
475
+ ;;
476
+ parisc)
477
+ basic_machine=hppa-unknown
478
+ os=linux
479
+ ;;
480
+ pw32)
481
+ basic_machine=i586-unknown
482
+ os=pw32
483
+ ;;
484
+ rdos | rdos64)
485
+ basic_machine=x86_64-pc
486
+ os=rdos
487
+ ;;
488
+ rdos32)
489
+ basic_machine=i386-pc
490
+ os=rdos
491
+ ;;
492
+ rom68k)
493
+ basic_machine=m68k-rom68k
494
+ os=coff
495
+ ;;
496
+ sa29200)
497
+ basic_machine=a29k-amd
498
+ os=udi
499
+ ;;
500
+ sei)
501
+ basic_machine=mips-sei
502
+ os=seiux
503
+ ;;
504
+ sequent)
505
+ basic_machine=i386-sequent
506
+ os=
507
+ ;;
508
+ sps7)
509
+ basic_machine=m68k-bull
510
+ os=sysv2
511
+ ;;
512
+ st2000)
513
+ basic_machine=m68k-tandem
514
+ os=
515
+ ;;
516
+ stratus)
517
+ basic_machine=i860-stratus
518
+ os=sysv4
519
+ ;;
520
+ sun2)
521
+ basic_machine=m68000-sun
522
+ os=
523
+ ;;
524
+ sun2os3)
525
+ basic_machine=m68000-sun
526
+ os=sunos3
527
+ ;;
528
+ sun2os4)
529
+ basic_machine=m68000-sun
530
+ os=sunos4
531
+ ;;
532
+ sun3)
533
+ basic_machine=m68k-sun
534
+ os=
535
+ ;;
536
+ sun3os3)
537
+ basic_machine=m68k-sun
538
+ os=sunos3
539
+ ;;
540
+ sun3os4)
541
+ basic_machine=m68k-sun
542
+ os=sunos4
543
+ ;;
544
+ sun4)
545
+ basic_machine=sparc-sun
546
+ os=
547
+ ;;
548
+ sun4os3)
549
+ basic_machine=sparc-sun
550
+ os=sunos3
551
+ ;;
552
+ sun4os4)
553
+ basic_machine=sparc-sun
554
+ os=sunos4
555
+ ;;
556
+ sun4sol2)
557
+ basic_machine=sparc-sun
558
+ os=solaris2
559
+ ;;
560
+ sun386 | sun386i | roadrunner)
561
+ basic_machine=i386-sun
562
+ os=
563
+ ;;
564
+ sv1)
565
+ basic_machine=sv1-cray
566
+ os=unicos
567
+ ;;
568
+ symmetry)
569
+ basic_machine=i386-sequent
570
+ os=dynix
571
+ ;;
572
+ t3e)
573
+ basic_machine=alphaev5-cray
574
+ os=unicos
575
+ ;;
576
+ t90)
577
+ basic_machine=t90-cray
578
+ os=unicos
579
+ ;;
580
+ toad1)
581
+ basic_machine=pdp10-xkl
582
+ os=tops20
583
+ ;;
584
+ tpf)
585
+ basic_machine=s390x-ibm
586
+ os=tpf
587
+ ;;
588
+ udi29k)
589
+ basic_machine=a29k-amd
590
+ os=udi
591
+ ;;
592
+ ultra3)
593
+ basic_machine=a29k-nyu
594
+ os=sym1
595
+ ;;
596
+ v810 | necv810)
597
+ basic_machine=v810-nec
598
+ os=none
599
+ ;;
600
+ vaxv)
601
+ basic_machine=vax-dec
602
+ os=sysv
603
+ ;;
604
+ vms)
605
+ basic_machine=vax-dec
606
+ os=vms
607
+ ;;
608
+ vsta)
609
+ basic_machine=i386-pc
610
+ os=vsta
611
+ ;;
612
+ vxworks960)
613
+ basic_machine=i960-wrs
614
+ os=vxworks
615
+ ;;
616
+ vxworks68)
617
+ basic_machine=m68k-wrs
618
+ os=vxworks
619
+ ;;
620
+ vxworks29k)
621
+ basic_machine=a29k-wrs
622
+ os=vxworks
623
+ ;;
624
+ xbox)
625
+ basic_machine=i686-pc
626
+ os=mingw32
627
+ ;;
628
+ ymp)
629
+ basic_machine=ymp-cray
630
+ os=unicos
631
+ ;;
632
+ *)
633
+ basic_machine=$1
634
+ os=
635
+ ;;
636
+ esac
637
+ ;;
638
+ esac
639
+
640
+ # Decode 1-component or ad-hoc basic machines
641
+ case $basic_machine in
642
+ # Here we handle the default manufacturer of certain CPU types. It is in
643
+ # some cases the only manufacturer, in others, it is the most popular.
644
+ w89k)
645
+ cpu=hppa1.1
646
+ vendor=winbond
647
+ ;;
648
+ op50n)
649
+ cpu=hppa1.1
650
+ vendor=oki
651
+ ;;
652
+ op60c)
653
+ cpu=hppa1.1
654
+ vendor=oki
655
+ ;;
656
+ ibm*)
657
+ cpu=i370
658
+ vendor=ibm
659
+ ;;
660
+ orion105)
661
+ cpu=clipper
662
+ vendor=highlevel
663
+ ;;
664
+ mac | mpw | mac-mpw)
665
+ cpu=m68k
666
+ vendor=apple
667
+ ;;
668
+ pmac | pmac-mpw)
669
+ cpu=powerpc
670
+ vendor=apple
671
+ ;;
672
+
673
+ # Recognize the various machine names and aliases which stand
674
+ # for a CPU type and a company and sometimes even an OS.
675
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
676
+ cpu=m68000
677
+ vendor=att
678
+ ;;
679
+ 3b*)
680
+ cpu=we32k
681
+ vendor=att
682
+ ;;
683
+ bluegene*)
684
+ cpu=powerpc
685
+ vendor=ibm
686
+ os=cnk
687
+ ;;
688
+ decsystem10* | dec10*)
689
+ cpu=pdp10
690
+ vendor=dec
691
+ os=tops10
692
+ ;;
693
+ decsystem20* | dec20*)
694
+ cpu=pdp10
695
+ vendor=dec
696
+ os=tops20
697
+ ;;
698
+ delta | 3300 | motorola-3300 | motorola-delta \
699
+ | 3300-motorola | delta-motorola)
700
+ cpu=m68k
701
+ vendor=motorola
702
+ ;;
703
+ dpx2*)
704
+ cpu=m68k
705
+ vendor=bull
706
+ os=sysv3
707
+ ;;
708
+ encore | umax | mmax)
709
+ cpu=ns32k
710
+ vendor=encore
711
+ ;;
712
+ elxsi)
713
+ cpu=elxsi
714
+ vendor=elxsi
715
+ os=${os:-bsd}
716
+ ;;
717
+ fx2800)
718
+ cpu=i860
719
+ vendor=alliant
720
+ ;;
721
+ genix)
722
+ cpu=ns32k
723
+ vendor=ns
724
+ ;;
725
+ h3050r* | hiux*)
726
+ cpu=hppa1.1
727
+ vendor=hitachi
728
+ os=hiuxwe2
729
+ ;;
730
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
731
+ cpu=hppa1.0
732
+ vendor=hp
733
+ ;;
734
+ hp9k2[0-9][0-9] | hp9k31[0-9])
735
+ cpu=m68000
736
+ vendor=hp
737
+ ;;
738
+ hp9k3[2-9][0-9])
739
+ cpu=m68k
740
+ vendor=hp
741
+ ;;
742
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
743
+ cpu=hppa1.0
744
+ vendor=hp
745
+ ;;
746
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
747
+ cpu=hppa1.1
748
+ vendor=hp
749
+ ;;
750
+ hp9k78[0-9] | hp78[0-9])
751
+ # FIXME: really hppa2.0-hp
752
+ cpu=hppa1.1
753
+ vendor=hp
754
+ ;;
755
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
756
+ # FIXME: really hppa2.0-hp
757
+ cpu=hppa1.1
758
+ vendor=hp
759
+ ;;
760
+ hp9k8[0-9][13679] | hp8[0-9][13679])
761
+ cpu=hppa1.1
762
+ vendor=hp
763
+ ;;
764
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
765
+ cpu=hppa1.0
766
+ vendor=hp
767
+ ;;
768
+ i*86v32)
769
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
770
+ vendor=pc
771
+ os=sysv32
772
+ ;;
773
+ i*86v4*)
774
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
775
+ vendor=pc
776
+ os=sysv4
777
+ ;;
778
+ i*86v)
779
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
780
+ vendor=pc
781
+ os=sysv
782
+ ;;
783
+ i*86sol2)
784
+ cpu=`echo "$1" | sed -e 's/86.*/86/'`
785
+ vendor=pc
786
+ os=solaris2
787
+ ;;
788
+ j90 | j90-cray)
789
+ cpu=j90
790
+ vendor=cray
791
+ os=${os:-unicos}
792
+ ;;
793
+ iris | iris4d)
794
+ cpu=mips
795
+ vendor=sgi
796
+ case $os in
797
+ irix*)
798
+ ;;
799
+ *)
800
+ os=irix4
801
+ ;;
802
+ esac
803
+ ;;
804
+ miniframe)
805
+ cpu=m68000
806
+ vendor=convergent
807
+ ;;
808
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
809
+ cpu=m68k
810
+ vendor=atari
811
+ os=mint
812
+ ;;
813
+ news-3600 | risc-news)
814
+ cpu=mips
815
+ vendor=sony
816
+ os=newsos
817
+ ;;
818
+ next | m*-next)
819
+ cpu=m68k
820
+ vendor=next
821
+ case $os in
822
+ openstep*)
823
+ ;;
824
+ nextstep*)
825
+ ;;
826
+ ns2*)
827
+ os=nextstep2
828
+ ;;
829
+ *)
830
+ os=nextstep3
831
+ ;;
832
+ esac
833
+ ;;
834
+ np1)
835
+ cpu=np1
836
+ vendor=gould
837
+ ;;
838
+ op50n-* | op60c-*)
839
+ cpu=hppa1.1
840
+ vendor=oki
841
+ os=proelf
842
+ ;;
843
+ pa-hitachi)
844
+ cpu=hppa1.1
845
+ vendor=hitachi
846
+ os=hiuxwe2
847
+ ;;
848
+ pbd)
849
+ cpu=sparc
850
+ vendor=tti
851
+ ;;
852
+ pbb)
853
+ cpu=m68k
854
+ vendor=tti
855
+ ;;
856
+ pc532)
857
+ cpu=ns32k
858
+ vendor=pc532
859
+ ;;
860
+ pn)
861
+ cpu=pn
862
+ vendor=gould
863
+ ;;
864
+ power)
865
+ cpu=power
866
+ vendor=ibm
867
+ ;;
868
+ ps2)
869
+ cpu=i386
870
+ vendor=ibm
871
+ ;;
872
+ rm[46]00)
873
+ cpu=mips
874
+ vendor=siemens
875
+ ;;
876
+ rtpc | rtpc-*)
877
+ cpu=romp
878
+ vendor=ibm
879
+ ;;
880
+ sde)
881
+ cpu=mipsisa32
882
+ vendor=sde
883
+ os=${os:-elf}
884
+ ;;
885
+ simso-wrs)
886
+ cpu=sparclite
887
+ vendor=wrs
888
+ os=vxworks
889
+ ;;
890
+ tower | tower-32)
891
+ cpu=m68k
892
+ vendor=ncr
893
+ ;;
894
+ vpp*|vx|vx-*)
895
+ cpu=f301
896
+ vendor=fujitsu
897
+ ;;
898
+ w65)
899
+ cpu=w65
900
+ vendor=wdc
901
+ ;;
902
+ w89k-*)
903
+ cpu=hppa1.1
904
+ vendor=winbond
905
+ os=proelf
906
+ ;;
907
+ none)
908
+ cpu=none
909
+ vendor=none
910
+ ;;
911
+ leon|leon[3-9])
912
+ cpu=sparc
913
+ vendor=$basic_machine
914
+ ;;
915
+ leon-*|leon[3-9]-*)
916
+ cpu=sparc
917
+ vendor=`echo "$basic_machine" | sed 's/-.*//'`
918
+ ;;
919
+
920
+ *-*)
921
+ # shellcheck disable=SC2162
922
+ IFS="-" read cpu vendor <<EOF
923
+ $basic_machine
924
+ EOF
925
+ ;;
926
+ # We use `pc' rather than `unknown'
927
+ # because (1) that's what they normally are, and
928
+ # (2) the word "unknown" tends to confuse beginning users.
929
+ i*86 | x86_64)
930
+ cpu=$basic_machine
931
+ vendor=pc
932
+ ;;
933
+ # These rules are duplicated from below for sake of the special case above;
934
+ # i.e. things that normalized to x86 arches should also default to "pc"
935
+ pc98)
936
+ cpu=i386
937
+ vendor=pc
938
+ ;;
939
+ x64 | amd64)
940
+ cpu=x86_64
941
+ vendor=pc
942
+ ;;
943
+ # Recognize the basic CPU types without company name.
944
+ *)
945
+ cpu=$basic_machine
946
+ vendor=unknown
947
+ ;;
948
+ esac
949
+
950
+ unset -v basic_machine
951
+
952
+ # Decode basic machines in the full and proper CPU-Company form.
953
+ case $cpu-$vendor in
954
+ # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
955
+ # some cases the only manufacturer, in others, it is the most popular.
956
+ craynv-unknown)
957
+ vendor=cray
958
+ os=${os:-unicosmp}
959
+ ;;
960
+ c90-unknown | c90-cray)
961
+ vendor=cray
962
+ os=${os:-unicos}
963
+ ;;
964
+ fx80-unknown)
965
+ vendor=alliant
966
+ ;;
967
+ romp-unknown)
968
+ vendor=ibm
969
+ ;;
970
+ mmix-unknown)
971
+ vendor=knuth
972
+ ;;
973
+ microblaze-unknown | microblazeel-unknown)
974
+ vendor=xilinx
975
+ ;;
976
+ rs6000-unknown)
977
+ vendor=ibm
978
+ ;;
979
+ vax-unknown)
980
+ vendor=dec
981
+ ;;
982
+ pdp11-unknown)
983
+ vendor=dec
984
+ ;;
985
+ we32k-unknown)
986
+ vendor=att
987
+ ;;
988
+ cydra-unknown)
989
+ vendor=cydrome
990
+ ;;
991
+ i370-ibm*)
992
+ vendor=ibm
993
+ ;;
994
+ orion-unknown)
995
+ vendor=highlevel
996
+ ;;
997
+ xps-unknown | xps100-unknown)
998
+ cpu=xps100
999
+ vendor=honeywell
1000
+ ;;
1001
+
1002
+ # Here we normalize CPU types with a missing or matching vendor
1003
+ dpx20-unknown | dpx20-bull)
1004
+ cpu=rs6000
1005
+ vendor=bull
1006
+ os=${os:-bosx}
1007
+ ;;
1008
+
1009
+ # Here we normalize CPU types irrespective of the vendor
1010
+ amd64-*)
1011
+ cpu=x86_64
1012
+ ;;
1013
+ blackfin-*)
1014
+ cpu=bfin
1015
+ os=linux
1016
+ ;;
1017
+ c54x-*)
1018
+ cpu=tic54x
1019
+ ;;
1020
+ c55x-*)
1021
+ cpu=tic55x
1022
+ ;;
1023
+ c6x-*)
1024
+ cpu=tic6x
1025
+ ;;
1026
+ e500v[12]-*)
1027
+ cpu=powerpc
1028
+ os=$os"spe"
1029
+ ;;
1030
+ mips3*-*)
1031
+ cpu=mips64
1032
+ ;;
1033
+ ms1-*)
1034
+ cpu=mt
1035
+ ;;
1036
+ m68knommu-*)
1037
+ cpu=m68k
1038
+ os=linux
1039
+ ;;
1040
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1041
+ cpu=s12z
1042
+ ;;
1043
+ openrisc-*)
1044
+ cpu=or32
1045
+ ;;
1046
+ parisc-*)
1047
+ cpu=hppa
1048
+ os=linux
1049
+ ;;
1050
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1051
+ cpu=i586
1052
+ ;;
1053
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1054
+ cpu=i686
1055
+ ;;
1056
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1057
+ cpu=i686
1058
+ ;;
1059
+ pentium4-*)
1060
+ cpu=i786
1061
+ ;;
1062
+ pc98-*)
1063
+ cpu=i386
1064
+ ;;
1065
+ ppc-* | ppcbe-*)
1066
+ cpu=powerpc
1067
+ ;;
1068
+ ppcle-* | powerpclittle-*)
1069
+ cpu=powerpcle
1070
+ ;;
1071
+ ppc64-*)
1072
+ cpu=powerpc64
1073
+ ;;
1074
+ ppc64le-* | powerpc64little-*)
1075
+ cpu=powerpc64le
1076
+ ;;
1077
+ sb1-*)
1078
+ cpu=mipsisa64sb1
1079
+ ;;
1080
+ sb1el-*)
1081
+ cpu=mipsisa64sb1el
1082
+ ;;
1083
+ sh5e[lb]-*)
1084
+ cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
1085
+ ;;
1086
+ spur-*)
1087
+ cpu=spur
1088
+ ;;
1089
+ strongarm-* | thumb-*)
1090
+ cpu=arm
1091
+ ;;
1092
+ tx39-*)
1093
+ cpu=mipstx39
1094
+ ;;
1095
+ tx39el-*)
1096
+ cpu=mipstx39el
1097
+ ;;
1098
+ x64-*)
1099
+ cpu=x86_64
1100
+ ;;
1101
+ xscale-* | xscalee[bl]-*)
1102
+ cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
1103
+ ;;
1104
+
1105
+ # Recognize the canonical CPU Types that limit and/or modify the
1106
+ # company names they are paired with.
1107
+ cr16-*)
1108
+ os=${os:-elf}
1109
+ ;;
1110
+ crisv32-* | etraxfs*-*)
1111
+ cpu=crisv32
1112
+ vendor=axis
1113
+ ;;
1114
+ cris-* | etrax*-*)
1115
+ cpu=cris
1116
+ vendor=axis
1117
+ ;;
1118
+ crx-*)
1119
+ os=${os:-elf}
1120
+ ;;
1121
+ neo-tandem)
1122
+ cpu=neo
1123
+ vendor=tandem
1124
+ ;;
1125
+ nse-tandem)
1126
+ cpu=nse
1127
+ vendor=tandem
1128
+ ;;
1129
+ nsr-tandem)
1130
+ cpu=nsr
1131
+ vendor=tandem
1132
+ ;;
1133
+ nsv-tandem)
1134
+ cpu=nsv
1135
+ vendor=tandem
1136
+ ;;
1137
+ nsx-tandem)
1138
+ cpu=nsx
1139
+ vendor=tandem
1140
+ ;;
1141
+ s390-*)
1142
+ cpu=s390
1143
+ vendor=ibm
1144
+ ;;
1145
+ s390x-*)
1146
+ cpu=s390x
1147
+ vendor=ibm
1148
+ ;;
1149
+ tile*-*)
1150
+ os=${os:-linux-gnu}
1151
+ ;;
1152
+
1153
+ *)
1154
+ # Recognize the canonical CPU types that are allowed with any
1155
+ # company name.
1156
+ case $cpu in
1157
+ 1750a | 580 \
1158
+ | a29k \
1159
+ | aarch64 | aarch64_be \
1160
+ | abacus \
1161
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
1162
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
1163
+ | alphapca5[67] | alpha64pca5[67] \
1164
+ | am33_2.0 \
1165
+ | amdgcn \
1166
+ | arc | arceb \
1167
+ | arm | arm[lb]e | arme[lb] | armv* \
1168
+ | avr | avr32 \
1169
+ | asmjs \
1170
+ | ba \
1171
+ | be32 | be64 \
1172
+ | bfin | bpf | bs2000 \
1173
+ | c[123]* | c30 | [cjt]90 | c4x \
1174
+ | c8051 | clipper | craynv | csky | cydra \
1175
+ | d10v | d30v | dlx | dsp16xx \
1176
+ | e2k | elxsi | epiphany \
1177
+ | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
1178
+ | h8300 | h8500 \
1179
+ | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
1180
+ | hexagon \
1181
+ | i370 | i*86 | i860 | i960 | ia16 | ia64 \
1182
+ | ip2k | iq2000 \
1183
+ | k1om \
1184
+ | le32 | le64 \
1185
+ | lm32 \
1186
+ | m32c | m32r | m32rle \
1187
+ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
1188
+ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
1189
+ | m88110 | m88k | maxq | mb | mcore | mep | metag \
1190
+ | microblaze | microblazeel \
1191
+ | mips | mipsbe | mipseb | mipsel | mipsle \
1192
+ | mips16 \
1193
+ | mips64 | mips64eb | mips64el \
1194
+ | mips64octeon | mips64octeonel \
1195
+ | mips64orion | mips64orionel \
1196
+ | mips64r5900 | mips64r5900el \
1197
+ | mips64vr | mips64vrel \
1198
+ | mips64vr4100 | mips64vr4100el \
1199
+ | mips64vr4300 | mips64vr4300el \
1200
+ | mips64vr5000 | mips64vr5000el \
1201
+ | mips64vr5900 | mips64vr5900el \
1202
+ | mipsisa32 | mipsisa32el \
1203
+ | mipsisa32r2 | mipsisa32r2el \
1204
+ | mipsisa32r6 | mipsisa32r6el \
1205
+ | mipsisa64 | mipsisa64el \
1206
+ | mipsisa64r2 | mipsisa64r2el \
1207
+ | mipsisa64r6 | mipsisa64r6el \
1208
+ | mipsisa64sb1 | mipsisa64sb1el \
1209
+ | mipsisa64sr71k | mipsisa64sr71kel \
1210
+ | mipsr5900 | mipsr5900el \
1211
+ | mipstx39 | mipstx39el \
1212
+ | mmix \
1213
+ | mn10200 | mn10300 \
1214
+ | moxie \
1215
+ | mt \
1216
+ | msp430 \
1217
+ | nds32 | nds32le | nds32be \
1218
+ | nfp \
1219
+ | nios | nios2 | nios2eb | nios2el \
1220
+ | none | np1 | ns16k | ns32k | nvptx \
1221
+ | open8 \
1222
+ | or1k* \
1223
+ | or32 \
1224
+ | orion \
1225
+ | picochip \
1226
+ | pdp10 | pdp11 | pj | pjl | pn | power \
1227
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1228
+ | pru \
1229
+ | pyramid \
1230
+ | riscv | riscv32 | riscv64 \
1231
+ | rl78 | romp | rs6000 | rx \
1232
+ | score \
1233
+ | sh | shl \
1234
+ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1235
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1236
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1237
+ | sparclite \
1238
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1239
+ | spu \
1240
+ | tahoe \
1241
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1242
+ | tron \
1243
+ | ubicom32 \
1244
+ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1245
+ | vax \
1246
+ | visium \
1247
+ | w65 \
1248
+ | wasm32 | wasm64 \
1249
+ | we32k \
1250
+ | x86 | x86_64 | xc16x | xgate | xps100 \
1251
+ | xstormy16 | xtensa* \
1252
+ | ymp \
1253
+ | z8k | z80)
1254
+ ;;
1255
+
1256
+ *)
1257
+ echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1258
+ exit 1
1259
+ ;;
1260
+ esac
1261
+ ;;
1262
+ esac
1263
+
1264
+ # Here we canonicalize certain aliases for manufacturers.
1265
+ case $vendor in
1266
+ digital*)
1267
+ vendor=dec
1268
+ ;;
1269
+ commodore*)
1270
+ vendor=cbm
1271
+ ;;
1272
+ *)
1273
+ ;;
1274
+ esac
1275
+
1276
+ # Decode manufacturer-specific aliases for certain operating systems.
1277
+
1278
+ if [ x$os != x ]
1279
+ then
1280
+ case $os in
1281
+ # First match some system type aliases that might get confused
1282
+ # with valid system types.
1283
+ # solaris* is a basic system type, with this one exception.
1284
+ auroraux)
1285
+ os=auroraux
1286
+ ;;
1287
+ bluegene*)
1288
+ os=cnk
1289
+ ;;
1290
+ solaris1 | solaris1.*)
1291
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
1292
+ ;;
1293
+ solaris)
1294
+ os=solaris2
1295
+ ;;
1296
+ unixware*)
1297
+ os=sysv4.2uw
1298
+ ;;
1299
+ gnu/linux*)
1300
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1301
+ ;;
1302
+ # es1800 is here to avoid being matched by es* (a different OS)
1303
+ es1800*)
1304
+ os=ose
1305
+ ;;
1306
+ # Some version numbers need modification
1307
+ chorusos*)
1308
+ os=chorusos
1309
+ ;;
1310
+ isc)
1311
+ os=isc2.2
1312
+ ;;
1313
+ sco6)
1314
+ os=sco5v6
1315
+ ;;
1316
+ sco5)
1317
+ os=sco3.2v5
1318
+ ;;
1319
+ sco4)
1320
+ os=sco3.2v4
1321
+ ;;
1322
+ sco3.2.[4-9]*)
1323
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1324
+ ;;
1325
+ sco3.2v[4-9]* | sco5v6*)
1326
+ # Don't forget version if it is 3.2v4 or newer.
1327
+ ;;
1328
+ scout)
1329
+ # Don't match below
1330
+ ;;
1331
+ sco*)
1332
+ os=sco3.2v2
1333
+ ;;
1334
+ psos*)
1335
+ os=psos
1336
+ ;;
1337
+ # Now accept the basic system types.
1338
+ # The portable systems comes first.
1339
+ # Each alternative MUST end in a * to match a version number.
1340
+ # sysv* is not here because it comes later, after sysvr4.
1341
+ gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1342
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
1343
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1344
+ | sym* | kopensolaris* | plan9* \
1345
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1346
+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
1347
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1348
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1349
+ | knetbsd* | mirbsd* | netbsd* \
1350
+ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1351
+ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
1352
+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1353
+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1354
+ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
1355
+ | chorusrdb* | cegcc* | glidix* \
1356
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1357
+ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
1358
+ | linux-newlib* | linux-musl* | linux-uclibc* \
1359
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1360
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
1361
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
1362
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
1363
+ | os2* | vos* | palmos* | uclinux* | nucleus* \
1364
+ | morphos* | superux* | rtmk* | windiss* \
1365
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1366
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1367
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1368
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1369
+ | nsk* | powerunix)
1370
+ # Remember, each alternative MUST END IN *, to match a version number.
1371
+ ;;
1372
+ qnx*)
1373
+ case $cpu in
1374
+ x86 | i*86)
1375
+ ;;
1376
+ *)
1377
+ os=nto-$os
1378
+ ;;
1379
+ esac
1380
+ ;;
1381
+ hiux*)
1382
+ os=hiuxwe2
1383
+ ;;
1384
+ nto-qnx*)
1385
+ ;;
1386
+ nto*)
1387
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
1388
+ ;;
1389
+ sim | xray | os68k* | v88r* \
1390
+ | windows* | osx | abug | netware* | os9* \
1391
+ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
1392
+ ;;
1393
+ linux-dietlibc)
1394
+ os=linux-dietlibc
1395
+ ;;
1396
+ linux*)
1397
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
1398
+ ;;
1399
+ lynx*178)
1400
+ os=lynxos178
1401
+ ;;
1402
+ lynx*5)
1403
+ os=lynxos5
1404
+ ;;
1405
+ lynx*)
1406
+ os=lynxos
1407
+ ;;
1408
+ mac*)
1409
+ os=`echo "$os" | sed -e 's|mac|macos|'`
1410
+ ;;
1411
+ opened*)
1412
+ os=openedition
1413
+ ;;
1414
+ os400*)
1415
+ os=os400
1416
+ ;;
1417
+ sunos5*)
1418
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1419
+ ;;
1420
+ sunos6*)
1421
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1422
+ ;;
1423
+ wince*)
1424
+ os=wince
1425
+ ;;
1426
+ utek*)
1427
+ os=bsd
1428
+ ;;
1429
+ dynix*)
1430
+ os=bsd
1431
+ ;;
1432
+ acis*)
1433
+ os=aos
1434
+ ;;
1435
+ atheos*)
1436
+ os=atheos
1437
+ ;;
1438
+ syllable*)
1439
+ os=syllable
1440
+ ;;
1441
+ 386bsd)
1442
+ os=bsd
1443
+ ;;
1444
+ ctix* | uts*)
1445
+ os=sysv
1446
+ ;;
1447
+ nova*)
1448
+ os=rtmk-nova
1449
+ ;;
1450
+ ns2)
1451
+ os=nextstep2
1452
+ ;;
1453
+ # Preserve the version number of sinix5.
1454
+ sinix5.*)
1455
+ os=`echo $os | sed -e 's|sinix|sysv|'`
1456
+ ;;
1457
+ sinix*)
1458
+ os=sysv4
1459
+ ;;
1460
+ tpf*)
1461
+ os=tpf
1462
+ ;;
1463
+ triton*)
1464
+ os=sysv3
1465
+ ;;
1466
+ oss*)
1467
+ os=sysv3
1468
+ ;;
1469
+ svr4*)
1470
+ os=sysv4
1471
+ ;;
1472
+ svr3)
1473
+ os=sysv3
1474
+ ;;
1475
+ sysvr4)
1476
+ os=sysv4
1477
+ ;;
1478
+ # This must come after sysvr4.
1479
+ sysv*)
1480
+ ;;
1481
+ ose*)
1482
+ os=ose
1483
+ ;;
1484
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1485
+ os=mint
1486
+ ;;
1487
+ zvmoe)
1488
+ os=zvmoe
1489
+ ;;
1490
+ dicos*)
1491
+ os=dicos
1492
+ ;;
1493
+ pikeos*)
1494
+ # Until real need of OS specific support for
1495
+ # particular features comes up, bare metal
1496
+ # configurations are quite functional.
1497
+ case $cpu in
1498
+ arm*)
1499
+ os=eabi
1500
+ ;;
1501
+ *)
1502
+ os=elf
1503
+ ;;
1504
+ esac
1505
+ ;;
1506
+ nacl*)
1507
+ ;;
1508
+ ios)
1509
+ ;;
1510
+ none)
1511
+ ;;
1512
+ *-eabi)
1513
+ ;;
1514
+ *)
1515
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
1516
+ exit 1
1517
+ ;;
1518
+ esac
1519
+ else
1520
+
1521
+ # Here we handle the default operating systems that come with various machines.
1522
+ # The value should be what the vendor currently ships out the door with their
1523
+ # machine or put another way, the most popular os provided with the machine.
1524
+
1525
+ # Note that if you're going to try to match "-MANUFACTURER" here (say,
1526
+ # "-sun"), then you have to tell the case statement up towards the top
1527
+ # that MANUFACTURER isn't an operating system. Otherwise, code above
1528
+ # will signal an error saying that MANUFACTURER isn't an operating
1529
+ # system, and we'll never get to this point.
1530
+
1531
+ case $cpu-$vendor in
1532
+ score-*)
1533
+ os=elf
1534
+ ;;
1535
+ spu-*)
1536
+ os=elf
1537
+ ;;
1538
+ *-acorn)
1539
+ os=riscix1.2
1540
+ ;;
1541
+ arm*-rebel)
1542
+ os=linux
1543
+ ;;
1544
+ arm*-semi)
1545
+ os=aout
1546
+ ;;
1547
+ c4x-* | tic4x-*)
1548
+ os=coff
1549
+ ;;
1550
+ c8051-*)
1551
+ os=elf
1552
+ ;;
1553
+ clipper-intergraph)
1554
+ os=clix
1555
+ ;;
1556
+ hexagon-*)
1557
+ os=elf
1558
+ ;;
1559
+ tic54x-*)
1560
+ os=coff
1561
+ ;;
1562
+ tic55x-*)
1563
+ os=coff
1564
+ ;;
1565
+ tic6x-*)
1566
+ os=coff
1567
+ ;;
1568
+ # This must come before the *-dec entry.
1569
+ pdp10-*)
1570
+ os=tops20
1571
+ ;;
1572
+ pdp11-*)
1573
+ os=none
1574
+ ;;
1575
+ *-dec | vax-*)
1576
+ os=ultrix4.2
1577
+ ;;
1578
+ m68*-apollo)
1579
+ os=domain
1580
+ ;;
1581
+ i386-sun)
1582
+ os=sunos4.0.2
1583
+ ;;
1584
+ m68000-sun)
1585
+ os=sunos3
1586
+ ;;
1587
+ m68*-cisco)
1588
+ os=aout
1589
+ ;;
1590
+ mep-*)
1591
+ os=elf
1592
+ ;;
1593
+ mips*-cisco)
1594
+ os=elf
1595
+ ;;
1596
+ mips*-*)
1597
+ os=elf
1598
+ ;;
1599
+ or32-*)
1600
+ os=coff
1601
+ ;;
1602
+ *-tti) # must be before sparc entry or we get the wrong os.
1603
+ os=sysv3
1604
+ ;;
1605
+ sparc-* | *-sun)
1606
+ os=sunos4.1.1
1607
+ ;;
1608
+ pru-*)
1609
+ os=elf
1610
+ ;;
1611
+ *-be)
1612
+ os=beos
1613
+ ;;
1614
+ *-ibm)
1615
+ os=aix
1616
+ ;;
1617
+ *-knuth)
1618
+ os=mmixware
1619
+ ;;
1620
+ *-wec)
1621
+ os=proelf
1622
+ ;;
1623
+ *-winbond)
1624
+ os=proelf
1625
+ ;;
1626
+ *-oki)
1627
+ os=proelf
1628
+ ;;
1629
+ *-hp)
1630
+ os=hpux
1631
+ ;;
1632
+ *-hitachi)
1633
+ os=hiux
1634
+ ;;
1635
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1636
+ os=sysv
1637
+ ;;
1638
+ *-cbm)
1639
+ os=amigaos
1640
+ ;;
1641
+ *-dg)
1642
+ os=dgux
1643
+ ;;
1644
+ *-dolphin)
1645
+ os=sysv3
1646
+ ;;
1647
+ m68k-ccur)
1648
+ os=rtu
1649
+ ;;
1650
+ m88k-omron*)
1651
+ os=luna
1652
+ ;;
1653
+ *-next)
1654
+ os=nextstep
1655
+ ;;
1656
+ *-sequent)
1657
+ os=ptx
1658
+ ;;
1659
+ *-crds)
1660
+ os=unos
1661
+ ;;
1662
+ *-ns)
1663
+ os=genix
1664
+ ;;
1665
+ i370-*)
1666
+ os=mvs
1667
+ ;;
1668
+ *-gould)
1669
+ os=sysv
1670
+ ;;
1671
+ *-highlevel)
1672
+ os=bsd
1673
+ ;;
1674
+ *-encore)
1675
+ os=bsd
1676
+ ;;
1677
+ *-sgi)
1678
+ os=irix
1679
+ ;;
1680
+ *-siemens)
1681
+ os=sysv4
1682
+ ;;
1683
+ *-masscomp)
1684
+ os=rtu
1685
+ ;;
1686
+ f30[01]-fujitsu | f700-fujitsu)
1687
+ os=uxpv
1688
+ ;;
1689
+ *-rom68k)
1690
+ os=coff
1691
+ ;;
1692
+ *-*bug)
1693
+ os=coff
1694
+ ;;
1695
+ *-apple)
1696
+ os=macos
1697
+ ;;
1698
+ *-atari*)
1699
+ os=mint
1700
+ ;;
1701
+ *-wrs)
1702
+ os=vxworks
1703
+ ;;
1704
+ *)
1705
+ os=none
1706
+ ;;
1707
+ esac
1708
+ fi
1709
+
1710
+ # Here we handle the case where we know the os, and the CPU type, but not the
1711
+ # manufacturer. We pick the logical manufacturer.
1712
+ case $vendor in
1713
+ unknown)
1714
+ case $os in
1715
+ riscix*)
1716
+ vendor=acorn
1717
+ ;;
1718
+ sunos*)
1719
+ vendor=sun
1720
+ ;;
1721
+ cnk*|-aix*)
1722
+ vendor=ibm
1723
+ ;;
1724
+ beos*)
1725
+ vendor=be
1726
+ ;;
1727
+ hpux*)
1728
+ vendor=hp
1729
+ ;;
1730
+ mpeix*)
1731
+ vendor=hp
1732
+ ;;
1733
+ hiux*)
1734
+ vendor=hitachi
1735
+ ;;
1736
+ unos*)
1737
+ vendor=crds
1738
+ ;;
1739
+ dgux*)
1740
+ vendor=dg
1741
+ ;;
1742
+ luna*)
1743
+ vendor=omron
1744
+ ;;
1745
+ genix*)
1746
+ vendor=ns
1747
+ ;;
1748
+ clix*)
1749
+ vendor=intergraph
1750
+ ;;
1751
+ mvs* | opened*)
1752
+ vendor=ibm
1753
+ ;;
1754
+ os400*)
1755
+ vendor=ibm
1756
+ ;;
1757
+ ptx*)
1758
+ vendor=sequent
1759
+ ;;
1760
+ tpf*)
1761
+ vendor=ibm
1762
+ ;;
1763
+ vxsim* | vxworks* | windiss*)
1764
+ vendor=wrs
1765
+ ;;
1766
+ aux*)
1767
+ vendor=apple
1768
+ ;;
1769
+ hms*)
1770
+ vendor=hitachi
1771
+ ;;
1772
+ mpw* | macos*)
1773
+ vendor=apple
1774
+ ;;
1775
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1776
+ vendor=atari
1777
+ ;;
1778
+ vos*)
1779
+ vendor=stratus
1780
+ ;;
1781
+ esac
1782
+ ;;
1783
+ esac
1784
+
1785
+ echo "$cpu-$vendor-$os"
1786
+ exit
1787
+
1788
+ # Local variables:
1789
+ # eval: (add-hook 'before-save-hook 'time-stamp)
1790
+ # time-stamp-start: "timestamp='"
1791
+ # time-stamp-format: "%:y-%02m-%02d"
1792
+ # time-stamp-end: "'"
1793
+ # End: