rice2 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: