nokogiri 1.8.5 → 1.13.6

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

Potentially problematic release.


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

Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -21
  3. data/LICENSE-DEPENDENCIES.md +1159 -868
  4. data/LICENSE.md +5 -28
  5. data/README.md +196 -90
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +13 -59
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +750 -420
  10. data/ext/nokogiri/gumbo.c +584 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +119 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  17. data/ext/nokogiri/nokogiri.c +228 -91
  18. data/ext/nokogiri/nokogiri.h +191 -89
  19. data/ext/nokogiri/test_global_handlers.c +40 -0
  20. data/ext/nokogiri/xml_attr.c +41 -36
  21. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  22. data/ext/nokogiri/xml_cdata.c +13 -18
  23. data/ext/nokogiri/xml_comment.c +19 -26
  24. data/ext/nokogiri/xml_document.c +291 -216
  25. data/ext/nokogiri/xml_document_fragment.c +12 -16
  26. data/ext/nokogiri/xml_dtd.c +56 -50
  27. data/ext/nokogiri/xml_element_content.c +31 -26
  28. data/ext/nokogiri/xml_element_decl.c +22 -22
  29. data/ext/nokogiri/xml_encoding_handler.c +43 -18
  30. data/ext/nokogiri/xml_entity_decl.c +32 -30
  31. data/ext/nokogiri/xml_entity_reference.c +16 -18
  32. data/ext/nokogiri/xml_namespace.c +61 -52
  33. data/ext/nokogiri/xml_node.c +1044 -616
  34. data/ext/nokogiri/xml_node_set.c +174 -162
  35. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  36. data/ext/nokogiri/xml_reader.c +226 -175
  37. data/ext/nokogiri/xml_relax_ng.c +52 -28
  38. data/ext/nokogiri/xml_sax_parser.c +112 -112
  39. data/ext/nokogiri/xml_sax_parser_context.c +112 -86
  40. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  41. data/ext/nokogiri/xml_schema.c +112 -33
  42. data/ext/nokogiri/xml_syntax_error.c +42 -21
  43. data/ext/nokogiri/xml_text.c +13 -17
  44. data/ext/nokogiri/xml_xpath_context.c +223 -115
  45. data/ext/nokogiri/xslt_stylesheet.c +265 -173
  46. data/gumbo-parser/CHANGES.md +63 -0
  47. data/gumbo-parser/Makefile +101 -0
  48. data/gumbo-parser/THANKS +27 -0
  49. data/gumbo-parser/src/Makefile +34 -0
  50. data/gumbo-parser/src/README.md +41 -0
  51. data/gumbo-parser/src/ascii.c +75 -0
  52. data/gumbo-parser/src/ascii.h +115 -0
  53. data/gumbo-parser/src/attribute.c +42 -0
  54. data/gumbo-parser/src/attribute.h +17 -0
  55. data/gumbo-parser/src/char_ref.c +22225 -0
  56. data/gumbo-parser/src/char_ref.h +29 -0
  57. data/gumbo-parser/src/char_ref.rl +2154 -0
  58. data/gumbo-parser/src/error.c +626 -0
  59. data/gumbo-parser/src/error.h +148 -0
  60. data/gumbo-parser/src/foreign_attrs.c +104 -0
  61. data/gumbo-parser/src/foreign_attrs.gperf +27 -0
  62. data/gumbo-parser/src/gumbo.h +943 -0
  63. data/gumbo-parser/src/insertion_mode.h +33 -0
  64. data/gumbo-parser/src/macros.h +91 -0
  65. data/gumbo-parser/src/parser.c +4875 -0
  66. data/gumbo-parser/src/parser.h +41 -0
  67. data/gumbo-parser/src/replacement.h +33 -0
  68. data/gumbo-parser/src/string_buffer.c +103 -0
  69. data/gumbo-parser/src/string_buffer.h +68 -0
  70. data/gumbo-parser/src/string_piece.c +48 -0
  71. data/gumbo-parser/src/svg_attrs.c +174 -0
  72. data/gumbo-parser/src/svg_attrs.gperf +77 -0
  73. data/gumbo-parser/src/svg_tags.c +137 -0
  74. data/gumbo-parser/src/svg_tags.gperf +55 -0
  75. data/gumbo-parser/src/tag.c +222 -0
  76. data/gumbo-parser/src/tag_lookup.c +382 -0
  77. data/gumbo-parser/src/tag_lookup.gperf +169 -0
  78. data/gumbo-parser/src/tag_lookup.h +13 -0
  79. data/gumbo-parser/src/token_buffer.c +79 -0
  80. data/gumbo-parser/src/token_buffer.h +71 -0
  81. data/gumbo-parser/src/token_type.h +17 -0
  82. data/gumbo-parser/src/tokenizer.c +3463 -0
  83. data/gumbo-parser/src/tokenizer.h +112 -0
  84. data/gumbo-parser/src/tokenizer_states.h +339 -0
  85. data/gumbo-parser/src/utf8.c +245 -0
  86. data/gumbo-parser/src/utf8.h +164 -0
  87. data/gumbo-parser/src/util.c +68 -0
  88. data/gumbo-parser/src/util.h +30 -0
  89. data/gumbo-parser/src/vector.c +111 -0
  90. data/gumbo-parser/src/vector.h +45 -0
  91. data/lib/nokogiri/class_resolver.rb +67 -0
  92. data/lib/nokogiri/css/node.rb +10 -8
  93. data/lib/nokogiri/css/parser.rb +397 -377
  94. data/lib/nokogiri/css/parser.y +250 -245
  95. data/lib/nokogiri/css/parser_extras.rb +54 -49
  96. data/lib/nokogiri/css/syntax_error.rb +3 -1
  97. data/lib/nokogiri/css/tokenizer.rb +107 -104
  98. data/lib/nokogiri/css/tokenizer.rex +3 -2
  99. data/lib/nokogiri/css/xpath_visitor.rb +218 -91
  100. data/lib/nokogiri/css.rb +50 -17
  101. data/lib/nokogiri/decorators/slop.rb +9 -7
  102. data/lib/nokogiri/extension.rb +31 -0
  103. data/lib/nokogiri/gumbo.rb +15 -0
  104. data/lib/nokogiri/html.rb +38 -27
  105. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  106. data/lib/nokogiri/{html → html4}/document.rb +103 -105
  107. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  108. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  109. data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
  110. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  111. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  112. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  113. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  114. data/lib/nokogiri/html4.rb +46 -0
  115. data/lib/nokogiri/html5/document.rb +91 -0
  116. data/lib/nokogiri/html5/document_fragment.rb +83 -0
  117. data/lib/nokogiri/html5/node.rb +100 -0
  118. data/lib/nokogiri/html5.rb +478 -0
  119. data/lib/nokogiri/jruby/dependencies.rb +21 -0
  120. data/lib/nokogiri/syntax_error.rb +2 -0
  121. data/lib/nokogiri/version/constant.rb +6 -0
  122. data/lib/nokogiri/version/info.rb +222 -0
  123. data/lib/nokogiri/version.rb +3 -108
  124. data/lib/nokogiri/xml/attr.rb +6 -3
  125. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  126. data/lib/nokogiri/xml/builder.rb +97 -53
  127. data/lib/nokogiri/xml/cdata.rb +3 -1
  128. data/lib/nokogiri/xml/character_data.rb +2 -0
  129. data/lib/nokogiri/xml/document.rb +224 -86
  130. data/lib/nokogiri/xml/document_fragment.rb +57 -44
  131. data/lib/nokogiri/xml/dtd.rb +4 -2
  132. data/lib/nokogiri/xml/element_content.rb +2 -0
  133. data/lib/nokogiri/xml/element_decl.rb +3 -1
  134. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  135. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  136. data/lib/nokogiri/xml/namespace.rb +3 -0
  137. data/lib/nokogiri/xml/node/save_options.rb +10 -5
  138. data/lib/nokogiri/xml/node.rb +895 -377
  139. data/lib/nokogiri/xml/node_set.rb +92 -65
  140. data/lib/nokogiri/xml/notation.rb +13 -0
  141. data/lib/nokogiri/xml/parse_options.rb +22 -8
  142. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  143. data/lib/nokogiri/xml/pp/node.rb +25 -26
  144. data/lib/nokogiri/xml/pp.rb +4 -2
  145. data/lib/nokogiri/xml/processing_instruction.rb +3 -1
  146. data/lib/nokogiri/xml/reader.rb +23 -28
  147. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  148. data/lib/nokogiri/xml/sax/document.rb +45 -49
  149. data/lib/nokogiri/xml/sax/parser.rb +38 -34
  150. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  151. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  152. data/lib/nokogiri/xml/sax.rb +6 -4
  153. data/lib/nokogiri/xml/schema.rb +19 -9
  154. data/lib/nokogiri/xml/searchable.rb +112 -72
  155. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  156. data/lib/nokogiri/xml/text.rb +2 -0
  157. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  158. data/lib/nokogiri/xml/xpath.rb +15 -4
  159. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  160. data/lib/nokogiri/xml.rb +38 -37
  161. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  162. data/lib/nokogiri/xslt.rb +29 -20
  163. data/lib/nokogiri.rb +49 -65
  164. data/lib/xsd/xmlparser/nokogiri.rb +26 -24
  165. data/patches/libxml2/0001-Remove-script-macro-support.patch +40 -0
  166. data/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch +44 -0
  167. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +25 -0
  168. data/patches/libxml2/0004-use-glibc-strlen.patch +53 -0
  169. data/patches/libxml2/0005-avoid-isnan-isinf.patch +81 -0
  170. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +3040 -0
  171. data/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch +61 -0
  172. data/patches/libxml2/0009-allow-wildcard-namespaces.patch +77 -0
  173. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +3037 -0
  174. data/ports/archives/libxml2-2.9.14.tar.xz +0 -0
  175. data/ports/archives/libxslt-1.1.35.tar.xz +0 -0
  176. metadata +220 -266
  177. data/.autotest +0 -22
  178. data/.cross_rubies +0 -8
  179. data/.editorconfig +0 -17
  180. data/.gemtest +0 -0
  181. data/.travis.yml +0 -63
  182. data/CHANGELOG.md +0 -1368
  183. data/CONTRIBUTING.md +0 -42
  184. data/C_CODING_STYLE.rdoc +0 -33
  185. data/Gemfile-libxml-ruby +0 -3
  186. data/Manifest.txt +0 -370
  187. data/ROADMAP.md +0 -111
  188. data/Rakefile +0 -348
  189. data/SECURITY.md +0 -19
  190. data/STANDARD_RESPONSES.md +0 -47
  191. data/Y_U_NO_GEMSPEC.md +0 -155
  192. data/appveyor.yml +0 -29
  193. data/build_all +0 -44
  194. data/ext/nokogiri/html_document.c +0 -170
  195. data/ext/nokogiri/html_document.h +0 -10
  196. data/ext/nokogiri/html_element_description.c +0 -279
  197. data/ext/nokogiri/html_element_description.h +0 -10
  198. data/ext/nokogiri/html_entity_lookup.c +0 -32
  199. data/ext/nokogiri/html_entity_lookup.h +0 -8
  200. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  201. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  202. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  203. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  204. data/ext/nokogiri/xml_attr.h +0 -9
  205. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  206. data/ext/nokogiri/xml_cdata.h +0 -9
  207. data/ext/nokogiri/xml_comment.h +0 -9
  208. data/ext/nokogiri/xml_document.h +0 -23
  209. data/ext/nokogiri/xml_document_fragment.h +0 -10
  210. data/ext/nokogiri/xml_dtd.h +0 -10
  211. data/ext/nokogiri/xml_element_content.h +0 -10
  212. data/ext/nokogiri/xml_element_decl.h +0 -9
  213. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  214. data/ext/nokogiri/xml_entity_decl.h +0 -10
  215. data/ext/nokogiri/xml_entity_reference.h +0 -9
  216. data/ext/nokogiri/xml_io.c +0 -61
  217. data/ext/nokogiri/xml_io.h +0 -11
  218. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  219. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  220. data/ext/nokogiri/xml_namespace.h +0 -15
  221. data/ext/nokogiri/xml_node.h +0 -13
  222. data/ext/nokogiri/xml_node_set.h +0 -12
  223. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  224. data/ext/nokogiri/xml_reader.h +0 -10
  225. data/ext/nokogiri/xml_relax_ng.h +0 -9
  226. data/ext/nokogiri/xml_sax_parser.h +0 -39
  227. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  228. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  229. data/ext/nokogiri/xml_schema.h +0 -9
  230. data/ext/nokogiri/xml_syntax_error.h +0 -13
  231. data/ext/nokogiri/xml_text.h +0 -9
  232. data/ext/nokogiri/xml_xpath_context.h +0 -10
  233. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  234. data/lib/nokogiri/html/document_fragment.rb +0 -49
  235. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  236. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  237. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  238. data/patches/libxml2/0002-Fix-nullptr-deref-with-XPath-logic-ops.patch +0 -54
  239. data/patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch +0 -50
  240. data/patches/sort-patches-by-date +0 -25
  241. data/ports/archives/libxml2-2.9.8.tar.gz +0 -0
  242. data/ports/archives/libxslt-1.1.32.tar.gz +0 -0
  243. data/suppressions/README.txt +0 -1
  244. data/suppressions/nokogiri_ruby-2.supp +0 -10
  245. data/tasks/test.rb +0 -100
  246. data/test/css/test_nthiness.rb +0 -226
  247. data/test/css/test_parser.rb +0 -386
  248. data/test/css/test_tokenizer.rb +0 -215
  249. data/test/css/test_xpath_visitor.rb +0 -96
  250. data/test/decorators/test_slop.rb +0 -23
  251. data/test/files/2ch.html +0 -108
  252. data/test/files/GH_1042.html +0 -18
  253. data/test/files/address_book.rlx +0 -12
  254. data/test/files/address_book.xml +0 -10
  255. data/test/files/atom.xml +0 -344
  256. data/test/files/bar/bar.xsd +0 -4
  257. data/test/files/bogus.xml +0 -0
  258. data/test/files/dont_hurt_em_why.xml +0 -422
  259. data/test/files/encoding.html +0 -82
  260. data/test/files/encoding.xhtml +0 -84
  261. data/test/files/exslt.xml +0 -8
  262. data/test/files/exslt.xslt +0 -35
  263. data/test/files/foo/foo.xsd +0 -4
  264. data/test/files/metacharset.html +0 -10
  265. data/test/files/namespace_pressure_test.xml +0 -1684
  266. data/test/files/noencoding.html +0 -47
  267. data/test/files/po.xml +0 -32
  268. data/test/files/po.xsd +0 -66
  269. data/test/files/saml/saml20assertion_schema.xsd +0 -283
  270. data/test/files/saml/saml20protocol_schema.xsd +0 -302
  271. data/test/files/saml/xenc_schema.xsd +0 -146
  272. data/test/files/saml/xmldsig_schema.xsd +0 -318
  273. data/test/files/shift_jis.html +0 -10
  274. data/test/files/shift_jis.xml +0 -5
  275. data/test/files/shift_jis_no_charset.html +0 -9
  276. data/test/files/slow-xpath.xml +0 -25509
  277. data/test/files/snuggles.xml +0 -3
  278. data/test/files/staff.dtd +0 -10
  279. data/test/files/staff.xml +0 -59
  280. data/test/files/staff.xslt +0 -32
  281. data/test/files/test_document_url/bar.xml +0 -2
  282. data/test/files/test_document_url/document.dtd +0 -4
  283. data/test/files/test_document_url/document.xml +0 -6
  284. data/test/files/tlm.html +0 -851
  285. data/test/files/to_be_xincluded.xml +0 -2
  286. data/test/files/valid_bar.xml +0 -2
  287. data/test/files/xinclude.xml +0 -4
  288. data/test/helper.rb +0 -271
  289. data/test/html/sax/test_parser.rb +0 -168
  290. data/test/html/sax/test_parser_context.rb +0 -46
  291. data/test/html/sax/test_parser_text.rb +0 -163
  292. data/test/html/sax/test_push_parser.rb +0 -87
  293. data/test/html/test_attributes.rb +0 -85
  294. data/test/html/test_builder.rb +0 -164
  295. data/test/html/test_document.rb +0 -712
  296. data/test/html/test_document_encoding.rb +0 -143
  297. data/test/html/test_document_fragment.rb +0 -310
  298. data/test/html/test_element_description.rb +0 -105
  299. data/test/html/test_named_characters.rb +0 -14
  300. data/test/html/test_node.rb +0 -212
  301. data/test/html/test_node_encoding.rb +0 -91
  302. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  303. data/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  304. data/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  305. data/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  306. data/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  307. data/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  308. data/test/namespaces/test_namespaces_preservation.rb +0 -31
  309. data/test/test_convert_xpath.rb +0 -135
  310. data/test/test_css_cache.rb +0 -47
  311. data/test/test_encoding_handler.rb +0 -48
  312. data/test/test_memory_leak.rb +0 -156
  313. data/test/test_nokogiri.rb +0 -138
  314. data/test/test_soap4r_sax.rb +0 -52
  315. data/test/test_xslt_transforms.rb +0 -314
  316. data/test/xml/node/test_save_options.rb +0 -28
  317. data/test/xml/node/test_subclass.rb +0 -44
  318. data/test/xml/sax/test_parser.rb +0 -402
  319. data/test/xml/sax/test_parser_context.rb +0 -115
  320. data/test/xml/sax/test_parser_text.rb +0 -202
  321. data/test/xml/sax/test_push_parser.rb +0 -265
  322. data/test/xml/test_attr.rb +0 -74
  323. data/test/xml/test_attribute_decl.rb +0 -86
  324. data/test/xml/test_builder.rb +0 -341
  325. data/test/xml/test_c14n.rb +0 -180
  326. data/test/xml/test_cdata.rb +0 -54
  327. data/test/xml/test_comment.rb +0 -40
  328. data/test/xml/test_document.rb +0 -982
  329. data/test/xml/test_document_encoding.rb +0 -31
  330. data/test/xml/test_document_fragment.rb +0 -298
  331. data/test/xml/test_dtd.rb +0 -187
  332. data/test/xml/test_dtd_encoding.rb +0 -31
  333. data/test/xml/test_element_content.rb +0 -56
  334. data/test/xml/test_element_decl.rb +0 -73
  335. data/test/xml/test_entity_decl.rb +0 -122
  336. data/test/xml/test_entity_reference.rb +0 -262
  337. data/test/xml/test_namespace.rb +0 -96
  338. data/test/xml/test_node.rb +0 -1325
  339. data/test/xml/test_node_attributes.rb +0 -115
  340. data/test/xml/test_node_encoding.rb +0 -75
  341. data/test/xml/test_node_inheritance.rb +0 -32
  342. data/test/xml/test_node_reparenting.rb +0 -592
  343. data/test/xml/test_node_set.rb +0 -809
  344. data/test/xml/test_parse_options.rb +0 -64
  345. data/test/xml/test_processing_instruction.rb +0 -30
  346. data/test/xml/test_reader.rb +0 -620
  347. data/test/xml/test_reader_encoding.rb +0 -134
  348. data/test/xml/test_relax_ng.rb +0 -60
  349. data/test/xml/test_schema.rb +0 -142
  350. data/test/xml/test_syntax_error.rb +0 -36
  351. data/test/xml/test_text.rb +0 -60
  352. data/test/xml/test_unparented_node.rb +0 -483
  353. data/test/xml/test_xinclude.rb +0 -83
  354. data/test/xml/test_xpath.rb +0 -470
  355. data/test/xslt/test_custom_functions.rb +0 -133
  356. data/test/xslt/test_exception_handling.rb +0 -37
@@ -0,0 +1,3040 @@
1
+ Update config.guess and config.sub to the versions present in automake v1.16.3, so that users on
2
+ aarch64/arm64/M1 can compile.
3
+
4
+ --- a/config.sub
5
+ +++ b/config.sub
6
+ @@ -1,8 +1,8 @@
7
+ #! /bin/sh
8
+ # Configuration validation subroutine script.
9
+ -# Copyright 1992-2018 Free Software Foundation, Inc.
10
+ +# Copyright 1992-2020 Free Software Foundation, Inc.
11
+
12
+ -timestamp='2018-02-22'
13
+ +timestamp='2020-11-07'
14
+
15
+ # This file is free software; you can redistribute it and/or modify it
16
+ # under the terms of the GNU General Public License as published by
17
+ @@ -50,7 +50,7 @@
18
+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
19
+ # It is wrong to echo any other type of specification.
20
+
21
+ -me=`echo "$0" | sed -e 's,.*/,,'`
22
+ +me=$(echo "$0" | sed -e 's,.*/,,')
23
+
24
+ usage="\
25
+ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
26
+ @@ -67,7 +67,7 @@
27
+ version="\
28
+ GNU config.sub ($timestamp)
29
+
30
+ -Copyright 1992-2018 Free Software Foundation, Inc.
31
+ +Copyright 1992-2020 Free Software Foundation, Inc.
32
+
33
+ This is free software; see the source for copying conditions. There is NO
34
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
35
+ @@ -89,7 +89,7 @@
36
+ - ) # Use stdin as input.
37
+ break ;;
38
+ -* )
39
+ - echo "$me: invalid option $1$help"
40
+ + echo "$me: invalid option $1$help" >&2
41
+ exit 1 ;;
42
+
43
+ *local*)
44
+ @@ -110,1223 +110,1167 @@
45
+ exit 1;;
46
+ esac
47
+
48
+ -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
49
+ -# Here we must recognize all the valid KERNEL-OS combinations.
50
+ -maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
51
+ -case $maybe_os in
52
+ - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
53
+ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
54
+ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
55
+ - kopensolaris*-gnu* | cloudabi*-eabi* | \
56
+ - storm-chaos* | os2-emx* | rtmk-nova*)
57
+ - os=-$maybe_os
58
+ - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
59
+ - ;;
60
+ - android-linux)
61
+ - os=-linux-android
62
+ - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
63
+ - ;;
64
+ - *)
65
+ - basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
66
+ - if [ "$basic_machine" != "$1" ]
67
+ - then os=`echo "$1" | sed 's/.*-/-/'`
68
+ - else os=; fi
69
+ - ;;
70
+ -esac
71
+ -
72
+ -### Let's recognize common machines as not being operating systems so
73
+ -### that things like config.sub decstation-3100 work. We also
74
+ -### recognize some manufacturers as not being operating systems, so we
75
+ -### can provide default operating systems below.
76
+ -case $os in
77
+ - -sun*os*)
78
+ - # Prevent following clause from handling this invalid input.
79
+ - ;;
80
+ - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
81
+ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
82
+ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
83
+ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
84
+ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
85
+ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
86
+ - -apple | -axis | -knuth | -cray | -microblaze*)
87
+ - os=
88
+ - basic_machine=$1
89
+ - ;;
90
+ - -bluegene*)
91
+ - os=-cnk
92
+ - ;;
93
+ - -sim | -cisco | -oki | -wec | -winbond)
94
+ - os=
95
+ - basic_machine=$1
96
+ - ;;
97
+ - -scout)
98
+ - ;;
99
+ - -wrs)
100
+ - os=-vxworks
101
+ - basic_machine=$1
102
+ - ;;
103
+ - -chorusos*)
104
+ - os=-chorusos
105
+ - basic_machine=$1
106
+ - ;;
107
+ - -chorusrdb)
108
+ - os=-chorusrdb
109
+ - basic_machine=$1
110
+ - ;;
111
+ - -hiux*)
112
+ - os=-hiuxwe2
113
+ - ;;
114
+ - -sco6)
115
+ - os=-sco5v6
116
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
117
+ - ;;
118
+ - -sco5)
119
+ - os=-sco3.2v5
120
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
121
+ - ;;
122
+ - -sco4)
123
+ - os=-sco3.2v4
124
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
125
+ - ;;
126
+ - -sco3.2.[4-9]*)
127
+ - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
128
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
129
+ - ;;
130
+ - -sco3.2v[4-9]*)
131
+ - # Don't forget version if it is 3.2v4 or newer.
132
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
133
+ - ;;
134
+ - -sco5v6*)
135
+ - # Don't forget version if it is 3.2v4 or newer.
136
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
137
+ - ;;
138
+ - -sco*)
139
+ - os=-sco3.2v2
140
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
141
+ - ;;
142
+ - -udk*)
143
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
144
+ - ;;
145
+ - -isc)
146
+ - os=-isc2.2
147
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
148
+ - ;;
149
+ - -clix*)
150
+ - basic_machine=clipper-intergraph
151
+ - ;;
152
+ - -isc*)
153
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
154
+ - ;;
155
+ - -lynx*178)
156
+ - os=-lynxos178
157
+ - ;;
158
+ - -lynx*5)
159
+ - os=-lynxos5
160
+ +# Split fields of configuration type
161
+ +# shellcheck disable=SC2162
162
+ +IFS="-" read field1 field2 field3 field4 <<EOF
163
+ +$1
164
+ +EOF
165
+ +
166
+ +# Separate into logical components for further validation
167
+ +case $1 in
168
+ + *-*-*-*-*)
169
+ + echo Invalid configuration \`"$1"\': more than four components >&2
170
+ + exit 1
171
+ ;;
172
+ - -lynx*)
173
+ - os=-lynxos
174
+ + *-*-*-*)
175
+ + basic_machine=$field1-$field2
176
+ + basic_os=$field3-$field4
177
+ ;;
178
+ - -ptx*)
179
+ - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
180
+ + *-*-*)
181
+ + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
182
+ + # parts
183
+ + maybe_os=$field2-$field3
184
+ + case $maybe_os in
185
+ + nto-qnx* | linux-* | uclinux-uclibc* \
186
+ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
187
+ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
188
+ + | storm-chaos* | os2-emx* | rtmk-nova*)
189
+ + basic_machine=$field1
190
+ + basic_os=$maybe_os
191
+ + ;;
192
+ + android-linux)
193
+ + basic_machine=$field1-unknown
194
+ + basic_os=linux-android
195
+ + ;;
196
+ + *)
197
+ + basic_machine=$field1-$field2
198
+ + basic_os=$field3
199
+ + ;;
200
+ + esac
201
+ ;;
202
+ - -psos*)
203
+ - os=-psos
204
+ + *-*)
205
+ + # A lone config we happen to match not fitting any pattern
206
+ + case $field1-$field2 in
207
+ + decstation-3100)
208
+ + basic_machine=mips-dec
209
+ + basic_os=
210
+ + ;;
211
+ + *-*)
212
+ + # Second component is usually, but not always the OS
213
+ + case $field2 in
214
+ + # Prevent following clause from handling this valid os
215
+ + sun*os*)
216
+ + basic_machine=$field1
217
+ + basic_os=$field2
218
+ + ;;
219
+ + # Manufacturers
220
+ + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
221
+ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
222
+ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \
223
+ + | convergent* | ncr* | news | 32* | 3600* | 3100* \
224
+ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
225
+ + | ultra | tti* | harris | dolphin | highlevel | gould \
226
+ + | cbm | ns | masscomp | apple | axis | knuth | cray \
227
+ + | microblaze* | sim | cisco \
228
+ + | oki | wec | wrs | winbond)
229
+ + basic_machine=$field1-$field2
230
+ + basic_os=
231
+ + ;;
232
+ + *)
233
+ + basic_machine=$field1
234
+ + basic_os=$field2
235
+ + ;;
236
+ + esac
237
+ + ;;
238
+ + esac
239
+ ;;
240
+ - -mint | -mint[0-9]*)
241
+ - basic_machine=m68k-atari
242
+ - os=-mint
243
+ + *)
244
+ + # Convert single-component short-hands not valid as part of
245
+ + # multi-component configurations.
246
+ + case $field1 in
247
+ + 386bsd)
248
+ + basic_machine=i386-pc
249
+ + basic_os=bsd
250
+ + ;;
251
+ + a29khif)
252
+ + basic_machine=a29k-amd
253
+ + basic_os=udi
254
+ + ;;
255
+ + adobe68k)
256
+ + basic_machine=m68010-adobe
257
+ + basic_os=scout
258
+ + ;;
259
+ + alliant)
260
+ + basic_machine=fx80-alliant
261
+ + basic_os=
262
+ + ;;
263
+ + altos | altos3068)
264
+ + basic_machine=m68k-altos
265
+ + basic_os=
266
+ + ;;
267
+ + am29k)
268
+ + basic_machine=a29k-none
269
+ + basic_os=bsd
270
+ + ;;
271
+ + amdahl)
272
+ + basic_machine=580-amdahl
273
+ + basic_os=sysv
274
+ + ;;
275
+ + amiga)
276
+ + basic_machine=m68k-unknown
277
+ + basic_os=
278
+ + ;;
279
+ + amigaos | amigados)
280
+ + basic_machine=m68k-unknown
281
+ + basic_os=amigaos
282
+ + ;;
283
+ + amigaunix | amix)
284
+ + basic_machine=m68k-unknown
285
+ + basic_os=sysv4
286
+ + ;;
287
+ + apollo68)
288
+ + basic_machine=m68k-apollo
289
+ + basic_os=sysv
290
+ + ;;
291
+ + apollo68bsd)
292
+ + basic_machine=m68k-apollo
293
+ + basic_os=bsd
294
+ + ;;
295
+ + aros)
296
+ + basic_machine=i386-pc
297
+ + basic_os=aros
298
+ + ;;
299
+ + aux)
300
+ + basic_machine=m68k-apple
301
+ + basic_os=aux
302
+ + ;;
303
+ + balance)
304
+ + basic_machine=ns32k-sequent
305
+ + basic_os=dynix
306
+ + ;;
307
+ + blackfin)
308
+ + basic_machine=bfin-unknown
309
+ + basic_os=linux
310
+ + ;;
311
+ + cegcc)
312
+ + basic_machine=arm-unknown
313
+ + basic_os=cegcc
314
+ + ;;
315
+ + convex-c1)
316
+ + basic_machine=c1-convex
317
+ + basic_os=bsd
318
+ + ;;
319
+ + convex-c2)
320
+ + basic_machine=c2-convex
321
+ + basic_os=bsd
322
+ + ;;
323
+ + convex-c32)
324
+ + basic_machine=c32-convex
325
+ + basic_os=bsd
326
+ + ;;
327
+ + convex-c34)
328
+ + basic_machine=c34-convex
329
+ + basic_os=bsd
330
+ + ;;
331
+ + convex-c38)
332
+ + basic_machine=c38-convex
333
+ + basic_os=bsd
334
+ + ;;
335
+ + cray)
336
+ + basic_machine=j90-cray
337
+ + basic_os=unicos
338
+ + ;;
339
+ + crds | unos)
340
+ + basic_machine=m68k-crds
341
+ + basic_os=
342
+ + ;;
343
+ + da30)
344
+ + basic_machine=m68k-da30
345
+ + basic_os=
346
+ + ;;
347
+ + decstation | pmax | pmin | dec3100 | decstatn)
348
+ + basic_machine=mips-dec
349
+ + basic_os=
350
+ + ;;
351
+ + delta88)
352
+ + basic_machine=m88k-motorola
353
+ + basic_os=sysv3
354
+ + ;;
355
+ + dicos)
356
+ + basic_machine=i686-pc
357
+ + basic_os=dicos
358
+ + ;;
359
+ + djgpp)
360
+ + basic_machine=i586-pc
361
+ + basic_os=msdosdjgpp
362
+ + ;;
363
+ + ebmon29k)
364
+ + basic_machine=a29k-amd
365
+ + basic_os=ebmon
366
+ + ;;
367
+ + es1800 | OSE68k | ose68k | ose | OSE)
368
+ + basic_machine=m68k-ericsson
369
+ + basic_os=ose
370
+ + ;;
371
+ + gmicro)
372
+ + basic_machine=tron-gmicro
373
+ + basic_os=sysv
374
+ + ;;
375
+ + go32)
376
+ + basic_machine=i386-pc
377
+ + basic_os=go32
378
+ + ;;
379
+ + h8300hms)
380
+ + basic_machine=h8300-hitachi
381
+ + basic_os=hms
382
+ + ;;
383
+ + h8300xray)
384
+ + basic_machine=h8300-hitachi
385
+ + basic_os=xray
386
+ + ;;
387
+ + h8500hms)
388
+ + basic_machine=h8500-hitachi
389
+ + basic_os=hms
390
+ + ;;
391
+ + harris)
392
+ + basic_machine=m88k-harris
393
+ + basic_os=sysv3
394
+ + ;;
395
+ + hp300 | hp300hpux)
396
+ + basic_machine=m68k-hp
397
+ + basic_os=hpux
398
+ + ;;
399
+ + hp300bsd)
400
+ + basic_machine=m68k-hp
401
+ + basic_os=bsd
402
+ + ;;
403
+ + hppaosf)
404
+ + basic_machine=hppa1.1-hp
405
+ + basic_os=osf
406
+ + ;;
407
+ + hppro)
408
+ + basic_machine=hppa1.1-hp
409
+ + basic_os=proelf
410
+ + ;;
411
+ + i386mach)
412
+ + basic_machine=i386-mach
413
+ + basic_os=mach
414
+ + ;;
415
+ + isi68 | isi)
416
+ + basic_machine=m68k-isi
417
+ + basic_os=sysv
418
+ + ;;
419
+ + m68knommu)
420
+ + basic_machine=m68k-unknown
421
+ + basic_os=linux
422
+ + ;;
423
+ + magnum | m3230)
424
+ + basic_machine=mips-mips
425
+ + basic_os=sysv
426
+ + ;;
427
+ + merlin)
428
+ + basic_machine=ns32k-utek
429
+ + basic_os=sysv
430
+ + ;;
431
+ + mingw64)
432
+ + basic_machine=x86_64-pc
433
+ + basic_os=mingw64
434
+ + ;;
435
+ + mingw32)
436
+ + basic_machine=i686-pc
437
+ + basic_os=mingw32
438
+ + ;;
439
+ + mingw32ce)
440
+ + basic_machine=arm-unknown
441
+ + basic_os=mingw32ce
442
+ + ;;
443
+ + monitor)
444
+ + basic_machine=m68k-rom68k
445
+ + basic_os=coff
446
+ + ;;
447
+ + morphos)
448
+ + basic_machine=powerpc-unknown
449
+ + basic_os=morphos
450
+ + ;;
451
+ + moxiebox)
452
+ + basic_machine=moxie-unknown
453
+ + basic_os=moxiebox
454
+ + ;;
455
+ + msdos)
456
+ + basic_machine=i386-pc
457
+ + basic_os=msdos
458
+ + ;;
459
+ + msys)
460
+ + basic_machine=i686-pc
461
+ + basic_os=msys
462
+ + ;;
463
+ + mvs)
464
+ + basic_machine=i370-ibm
465
+ + basic_os=mvs
466
+ + ;;
467
+ + nacl)
468
+ + basic_machine=le32-unknown
469
+ + basic_os=nacl
470
+ + ;;
471
+ + ncr3000)
472
+ + basic_machine=i486-ncr
473
+ + basic_os=sysv4
474
+ + ;;
475
+ + netbsd386)
476
+ + basic_machine=i386-pc
477
+ + basic_os=netbsd
478
+ + ;;
479
+ + netwinder)
480
+ + basic_machine=armv4l-rebel
481
+ + basic_os=linux
482
+ + ;;
483
+ + news | news700 | news800 | news900)
484
+ + basic_machine=m68k-sony
485
+ + basic_os=newsos
486
+ + ;;
487
+ + news1000)
488
+ + basic_machine=m68030-sony
489
+ + basic_os=newsos
490
+ + ;;
491
+ + necv70)
492
+ + basic_machine=v70-nec
493
+ + basic_os=sysv
494
+ + ;;
495
+ + nh3000)
496
+ + basic_machine=m68k-harris
497
+ + basic_os=cxux
498
+ + ;;
499
+ + nh[45]000)
500
+ + basic_machine=m88k-harris
501
+ + basic_os=cxux
502
+ + ;;
503
+ + nindy960)
504
+ + basic_machine=i960-intel
505
+ + basic_os=nindy
506
+ + ;;
507
+ + mon960)
508
+ + basic_machine=i960-intel
509
+ + basic_os=mon960
510
+ + ;;
511
+ + nonstopux)
512
+ + basic_machine=mips-compaq
513
+ + basic_os=nonstopux
514
+ + ;;
515
+ + os400)
516
+ + basic_machine=powerpc-ibm
517
+ + basic_os=os400
518
+ + ;;
519
+ + OSE68000 | ose68000)
520
+ + basic_machine=m68000-ericsson
521
+ + basic_os=ose
522
+ + ;;
523
+ + os68k)
524
+ + basic_machine=m68k-none
525
+ + basic_os=os68k
526
+ + ;;
527
+ + paragon)
528
+ + basic_machine=i860-intel
529
+ + basic_os=osf
530
+ + ;;
531
+ + parisc)
532
+ + basic_machine=hppa-unknown
533
+ + basic_os=linux
534
+ + ;;
535
+ + psp)
536
+ + basic_machine=mipsallegrexel-sony
537
+ + basic_os=psp
538
+ + ;;
539
+ + pw32)
540
+ + basic_machine=i586-unknown
541
+ + basic_os=pw32
542
+ + ;;
543
+ + rdos | rdos64)
544
+ + basic_machine=x86_64-pc
545
+ + basic_os=rdos
546
+ + ;;
547
+ + rdos32)
548
+ + basic_machine=i386-pc
549
+ + basic_os=rdos
550
+ + ;;
551
+ + rom68k)
552
+ + basic_machine=m68k-rom68k
553
+ + basic_os=coff
554
+ + ;;
555
+ + sa29200)
556
+ + basic_machine=a29k-amd
557
+ + basic_os=udi
558
+ + ;;
559
+ + sei)
560
+ + basic_machine=mips-sei
561
+ + basic_os=seiux
562
+ + ;;
563
+ + sequent)
564
+ + basic_machine=i386-sequent
565
+ + basic_os=
566
+ + ;;
567
+ + sps7)
568
+ + basic_machine=m68k-bull
569
+ + basic_os=sysv2
570
+ + ;;
571
+ + st2000)
572
+ + basic_machine=m68k-tandem
573
+ + basic_os=
574
+ + ;;
575
+ + stratus)
576
+ + basic_machine=i860-stratus
577
+ + basic_os=sysv4
578
+ + ;;
579
+ + sun2)
580
+ + basic_machine=m68000-sun
581
+ + basic_os=
582
+ + ;;
583
+ + sun2os3)
584
+ + basic_machine=m68000-sun
585
+ + basic_os=sunos3
586
+ + ;;
587
+ + sun2os4)
588
+ + basic_machine=m68000-sun
589
+ + basic_os=sunos4
590
+ + ;;
591
+ + sun3)
592
+ + basic_machine=m68k-sun
593
+ + basic_os=
594
+ + ;;
595
+ + sun3os3)
596
+ + basic_machine=m68k-sun
597
+ + basic_os=sunos3
598
+ + ;;
599
+ + sun3os4)
600
+ + basic_machine=m68k-sun
601
+ + basic_os=sunos4
602
+ + ;;
603
+ + sun4)
604
+ + basic_machine=sparc-sun
605
+ + basic_os=
606
+ + ;;
607
+ + sun4os3)
608
+ + basic_machine=sparc-sun
609
+ + basic_os=sunos3
610
+ + ;;
611
+ + sun4os4)
612
+ + basic_machine=sparc-sun
613
+ + basic_os=sunos4
614
+ + ;;
615
+ + sun4sol2)
616
+ + basic_machine=sparc-sun
617
+ + basic_os=solaris2
618
+ + ;;
619
+ + sun386 | sun386i | roadrunner)
620
+ + basic_machine=i386-sun
621
+ + basic_os=
622
+ + ;;
623
+ + sv1)
624
+ + basic_machine=sv1-cray
625
+ + basic_os=unicos
626
+ + ;;
627
+ + symmetry)
628
+ + basic_machine=i386-sequent
629
+ + basic_os=dynix
630
+ + ;;
631
+ + t3e)
632
+ + basic_machine=alphaev5-cray
633
+ + basic_os=unicos
634
+ + ;;
635
+ + t90)
636
+ + basic_machine=t90-cray
637
+ + basic_os=unicos
638
+ + ;;
639
+ + toad1)
640
+ + basic_machine=pdp10-xkl
641
+ + basic_os=tops20
642
+ + ;;
643
+ + tpf)
644
+ + basic_machine=s390x-ibm
645
+ + basic_os=tpf
646
+ + ;;
647
+ + udi29k)
648
+ + basic_machine=a29k-amd
649
+ + basic_os=udi
650
+ + ;;
651
+ + ultra3)
652
+ + basic_machine=a29k-nyu
653
+ + basic_os=sym1
654
+ + ;;
655
+ + v810 | necv810)
656
+ + basic_machine=v810-nec
657
+ + basic_os=none
658
+ + ;;
659
+ + vaxv)
660
+ + basic_machine=vax-dec
661
+ + basic_os=sysv
662
+ + ;;
663
+ + vms)
664
+ + basic_machine=vax-dec
665
+ + basic_os=vms
666
+ + ;;
667
+ + vsta)
668
+ + basic_machine=i386-pc
669
+ + basic_os=vsta
670
+ + ;;
671
+ + vxworks960)
672
+ + basic_machine=i960-wrs
673
+ + basic_os=vxworks
674
+ + ;;
675
+ + vxworks68)
676
+ + basic_machine=m68k-wrs
677
+ + basic_os=vxworks
678
+ + ;;
679
+ + vxworks29k)
680
+ + basic_machine=a29k-wrs
681
+ + basic_os=vxworks
682
+ + ;;
683
+ + xbox)
684
+ + basic_machine=i686-pc
685
+ + basic_os=mingw32
686
+ + ;;
687
+ + ymp)
688
+ + basic_machine=ymp-cray
689
+ + basic_os=unicos
690
+ + ;;
691
+ + *)
692
+ + basic_machine=$1
693
+ + basic_os=
694
+ + ;;
695
+ + esac
696
+ ;;
697
+ esac
698
+
699
+ -# Decode aliases for certain CPU-COMPANY combinations.
700
+ +# Decode 1-component or ad-hoc basic machines
701
+ case $basic_machine in
702
+ - # Recognize the basic CPU types without company name.
703
+ - # Some are omitted here because they have special meanings below.
704
+ - 1750a | 580 \
705
+ - | a29k \
706
+ - | aarch64 | aarch64_be \
707
+ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
708
+ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
709
+ - | am33_2.0 \
710
+ - | arc | arceb \
711
+ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
712
+ - | avr | avr32 \
713
+ - | ba \
714
+ - | be32 | be64 \
715
+ - | bfin \
716
+ - | c4x | c8051 | clipper \
717
+ - | d10v | d30v | dlx | dsp16xx \
718
+ - | e2k | epiphany \
719
+ - | fido | fr30 | frv | ft32 \
720
+ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
721
+ - | hexagon \
722
+ - | i370 | i860 | i960 | ia16 | ia64 \
723
+ - | ip2k | iq2000 \
724
+ - | k1om \
725
+ - | le32 | le64 \
726
+ - | lm32 \
727
+ - | m32c | m32r | m32rle | m68000 | m68k | m88k \
728
+ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
729
+ - | mips | mipsbe | mipseb | mipsel | mipsle \
730
+ - | mips16 \
731
+ - | mips64 | mips64el \
732
+ - | mips64octeon | mips64octeonel \
733
+ - | mips64orion | mips64orionel \
734
+ - | mips64r5900 | mips64r5900el \
735
+ - | mips64vr | mips64vrel \
736
+ - | mips64vr4100 | mips64vr4100el \
737
+ - | mips64vr4300 | mips64vr4300el \
738
+ - | mips64vr5000 | mips64vr5000el \
739
+ - | mips64vr5900 | mips64vr5900el \
740
+ - | mipsisa32 | mipsisa32el \
741
+ - | mipsisa32r2 | mipsisa32r2el \
742
+ - | mipsisa32r6 | mipsisa32r6el \
743
+ - | mipsisa64 | mipsisa64el \
744
+ - | mipsisa64r2 | mipsisa64r2el \
745
+ - | mipsisa64r6 | mipsisa64r6el \
746
+ - | mipsisa64sb1 | mipsisa64sb1el \
747
+ - | mipsisa64sr71k | mipsisa64sr71kel \
748
+ - | mipsr5900 | mipsr5900el \
749
+ - | mipstx39 | mipstx39el \
750
+ - | mn10200 | mn10300 \
751
+ - | moxie \
752
+ - | mt \
753
+ - | msp430 \
754
+ - | nds32 | nds32le | nds32be \
755
+ - | nios | nios2 | nios2eb | nios2el \
756
+ - | ns16k | ns32k \
757
+ - | open8 | or1k | or1knd | or32 \
758
+ - | pdp10 | pj | pjl \
759
+ - | powerpc | powerpc64 | powerpc64le | powerpcle \
760
+ - | pru \
761
+ - | pyramid \
762
+ - | riscv32 | riscv64 \
763
+ - | rl78 | rx \
764
+ - | score \
765
+ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
766
+ - | sh64 | sh64le \
767
+ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
768
+ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
769
+ - | spu \
770
+ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
771
+ - | ubicom32 \
772
+ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
773
+ - | visium \
774
+ - | wasm32 \
775
+ - | x86 | xc16x | xstormy16 | xtensa \
776
+ - | z8k | z80)
777
+ - basic_machine=$basic_machine-unknown
778
+ - ;;
779
+ - c54x)
780
+ - basic_machine=tic54x-unknown
781
+ - ;;
782
+ - c55x)
783
+ - basic_machine=tic55x-unknown
784
+ - ;;
785
+ - c6x)
786
+ - basic_machine=tic6x-unknown
787
+ - ;;
788
+ - leon|leon[3-9])
789
+ - basic_machine=sparc-$basic_machine
790
+ - ;;
791
+ - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
792
+ - basic_machine=$basic_machine-unknown
793
+ - os=-none
794
+ + # Here we handle the default manufacturer of certain CPU types. It is in
795
+ + # some cases the only manufacturer, in others, it is the most popular.
796
+ + w89k)
797
+ + cpu=hppa1.1
798
+ + vendor=winbond
799
+ ;;
800
+ - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
801
+ + op50n)
802
+ + cpu=hppa1.1
803
+ + vendor=oki
804
+ ;;
805
+ - ms1)
806
+ - basic_machine=mt-unknown
807
+ + op60c)
808
+ + cpu=hppa1.1
809
+ + vendor=oki
810
+ ;;
811
+ -
812
+ - strongarm | thumb | xscale)
813
+ - basic_machine=arm-unknown
814
+ + ibm*)
815
+ + cpu=i370
816
+ + vendor=ibm
817
+ ;;
818
+ - xgate)
819
+ - basic_machine=$basic_machine-unknown
820
+ - os=-none
821
+ + orion105)
822
+ + cpu=clipper
823
+ + vendor=highlevel
824
+ ;;
825
+ - xscaleeb)
826
+ - basic_machine=armeb-unknown
827
+ + mac | mpw | mac-mpw)
828
+ + cpu=m68k
829
+ + vendor=apple
830
+ ;;
831
+ -
832
+ - xscaleel)
833
+ - basic_machine=armel-unknown
834
+ + pmac | pmac-mpw)
835
+ + cpu=powerpc
836
+ + vendor=apple
837
+ ;;
838
+
839
+ - # We use `pc' rather than `unknown'
840
+ - # because (1) that's what they normally are, and
841
+ - # (2) the word "unknown" tends to confuse beginning users.
842
+ - i*86 | x86_64)
843
+ - basic_machine=$basic_machine-pc
844
+ - ;;
845
+ - # Object if more than one company name word.
846
+ - *-*-*)
847
+ - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
848
+ - exit 1
849
+ - ;;
850
+ - # Recognize the basic CPU types with company name.
851
+ - 580-* \
852
+ - | a29k-* \
853
+ - | aarch64-* | aarch64_be-* \
854
+ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
855
+ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
856
+ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
857
+ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
858
+ - | avr-* | avr32-* \
859
+ - | ba-* \
860
+ - | be32-* | be64-* \
861
+ - | bfin-* | bs2000-* \
862
+ - | c[123]* | c30-* | [cjt]90-* | c4x-* \
863
+ - | c8051-* | clipper-* | craynv-* | cydra-* \
864
+ - | d10v-* | d30v-* | dlx-* \
865
+ - | e2k-* | elxsi-* \
866
+ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
867
+ - | h8300-* | h8500-* \
868
+ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
869
+ - | hexagon-* \
870
+ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
871
+ - | ip2k-* | iq2000-* \
872
+ - | k1om-* \
873
+ - | le32-* | le64-* \
874
+ - | lm32-* \
875
+ - | m32c-* | m32r-* | m32rle-* \
876
+ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
877
+ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
878
+ - | microblaze-* | microblazeel-* \
879
+ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
880
+ - | mips16-* \
881
+ - | mips64-* | mips64el-* \
882
+ - | mips64octeon-* | mips64octeonel-* \
883
+ - | mips64orion-* | mips64orionel-* \
884
+ - | mips64r5900-* | mips64r5900el-* \
885
+ - | mips64vr-* | mips64vrel-* \
886
+ - | mips64vr4100-* | mips64vr4100el-* \
887
+ - | mips64vr4300-* | mips64vr4300el-* \
888
+ - | mips64vr5000-* | mips64vr5000el-* \
889
+ - | mips64vr5900-* | mips64vr5900el-* \
890
+ - | mipsisa32-* | mipsisa32el-* \
891
+ - | mipsisa32r2-* | mipsisa32r2el-* \
892
+ - | mipsisa32r6-* | mipsisa32r6el-* \
893
+ - | mipsisa64-* | mipsisa64el-* \
894
+ - | mipsisa64r2-* | mipsisa64r2el-* \
895
+ - | mipsisa64r6-* | mipsisa64r6el-* \
896
+ - | mipsisa64sb1-* | mipsisa64sb1el-* \
897
+ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \
898
+ - | mipsr5900-* | mipsr5900el-* \
899
+ - | mipstx39-* | mipstx39el-* \
900
+ - | mmix-* \
901
+ - | mt-* \
902
+ - | msp430-* \
903
+ - | nds32-* | nds32le-* | nds32be-* \
904
+ - | nios-* | nios2-* | nios2eb-* | nios2el-* \
905
+ - | none-* | np1-* | ns16k-* | ns32k-* \
906
+ - | open8-* \
907
+ - | or1k*-* \
908
+ - | orion-* \
909
+ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
910
+ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
911
+ - | pru-* \
912
+ - | pyramid-* \
913
+ - | riscv32-* | riscv64-* \
914
+ - | rl78-* | romp-* | rs6000-* | rx-* \
915
+ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
916
+ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
917
+ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
918
+ - | sparclite-* \
919
+ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
920
+ - | tahoe-* \
921
+ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
922
+ - | tile*-* \
923
+ - | tron-* \
924
+ - | ubicom32-* \
925
+ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
926
+ - | vax-* \
927
+ - | visium-* \
928
+ - | wasm32-* \
929
+ - | we32k-* \
930
+ - | x86-* | x86_64-* | xc16x-* | xps100-* \
931
+ - | xstormy16-* | xtensa*-* \
932
+ - | ymp-* \
933
+ - | z8k-* | z80-*)
934
+ - ;;
935
+ - # Recognize the basic CPU types without company name, with glob match.
936
+ - xtensa*)
937
+ - basic_machine=$basic_machine-unknown
938
+ - ;;
939
+ # Recognize the various machine names and aliases which stand
940
+ # for a CPU type and a company and sometimes even an OS.
941
+ - 386bsd)
942
+ - basic_machine=i386-pc
943
+ - os=-bsd
944
+ - ;;
945
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
946
+ - basic_machine=m68000-att
947
+ + cpu=m68000
948
+ + vendor=att
949
+ ;;
950
+ 3b*)
951
+ - basic_machine=we32k-att
952
+ - ;;
953
+ - a29khif)
954
+ - basic_machine=a29k-amd
955
+ - os=-udi
956
+ - ;;
957
+ - abacus)
958
+ - basic_machine=abacus-unknown
959
+ - ;;
960
+ - adobe68k)
961
+ - basic_machine=m68010-adobe
962
+ - os=-scout
963
+ - ;;
964
+ - alliant | fx80)
965
+ - basic_machine=fx80-alliant
966
+ - ;;
967
+ - altos | altos3068)
968
+ - basic_machine=m68k-altos
969
+ - ;;
970
+ - am29k)
971
+ - basic_machine=a29k-none
972
+ - os=-bsd
973
+ - ;;
974
+ - amd64)
975
+ - basic_machine=x86_64-pc
976
+ - ;;
977
+ - amd64-*)
978
+ - basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
979
+ - ;;
980
+ - amdahl)
981
+ - basic_machine=580-amdahl
982
+ - os=-sysv
983
+ - ;;
984
+ - amiga | amiga-*)
985
+ - basic_machine=m68k-unknown
986
+ - ;;
987
+ - amigaos | amigados)
988
+ - basic_machine=m68k-unknown
989
+ - os=-amigaos
990
+ - ;;
991
+ - amigaunix | amix)
992
+ - basic_machine=m68k-unknown
993
+ - os=-sysv4
994
+ - ;;
995
+ - apollo68)
996
+ - basic_machine=m68k-apollo
997
+ - os=-sysv
998
+ - ;;
999
+ - apollo68bsd)
1000
+ - basic_machine=m68k-apollo
1001
+ - os=-bsd
1002
+ - ;;
1003
+ - aros)
1004
+ - basic_machine=i386-pc
1005
+ - os=-aros
1006
+ - ;;
1007
+ - asmjs)
1008
+ - basic_machine=asmjs-unknown
1009
+ - ;;
1010
+ - aux)
1011
+ - basic_machine=m68k-apple
1012
+ - os=-aux
1013
+ - ;;
1014
+ - balance)
1015
+ - basic_machine=ns32k-sequent
1016
+ - os=-dynix
1017
+ - ;;
1018
+ - blackfin)
1019
+ - basic_machine=bfin-unknown
1020
+ - os=-linux
1021
+ - ;;
1022
+ - blackfin-*)
1023
+ - basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1024
+ - os=-linux
1025
+ + cpu=we32k
1026
+ + vendor=att
1027
+ ;;
1028
+ bluegene*)
1029
+ - basic_machine=powerpc-ibm
1030
+ - os=-cnk
1031
+ - ;;
1032
+ - c54x-*)
1033
+ - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1034
+ - ;;
1035
+ - c55x-*)
1036
+ - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1037
+ - ;;
1038
+ - c6x-*)
1039
+ - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1040
+ - ;;
1041
+ - c90)
1042
+ - basic_machine=c90-cray
1043
+ - os=-unicos
1044
+ - ;;
1045
+ - cegcc)
1046
+ - basic_machine=arm-unknown
1047
+ - os=-cegcc
1048
+ - ;;
1049
+ - convex-c1)
1050
+ - basic_machine=c1-convex
1051
+ - os=-bsd
1052
+ - ;;
1053
+ - convex-c2)
1054
+ - basic_machine=c2-convex
1055
+ - os=-bsd
1056
+ - ;;
1057
+ - convex-c32)
1058
+ - basic_machine=c32-convex
1059
+ - os=-bsd
1060
+ - ;;
1061
+ - convex-c34)
1062
+ - basic_machine=c34-convex
1063
+ - os=-bsd
1064
+ - ;;
1065
+ - convex-c38)
1066
+ - basic_machine=c38-convex
1067
+ - os=-bsd
1068
+ - ;;
1069
+ - cray | j90)
1070
+ - basic_machine=j90-cray
1071
+ - os=-unicos
1072
+ - ;;
1073
+ - craynv)
1074
+ - basic_machine=craynv-cray
1075
+ - os=-unicosmp
1076
+ - ;;
1077
+ - cr16 | cr16-*)
1078
+ - basic_machine=cr16-unknown
1079
+ - os=-elf
1080
+ - ;;
1081
+ - crds | unos)
1082
+ - basic_machine=m68k-crds
1083
+ - ;;
1084
+ - crisv32 | crisv32-* | etraxfs*)
1085
+ - basic_machine=crisv32-axis
1086
+ - ;;
1087
+ - cris | cris-* | etrax*)
1088
+ - basic_machine=cris-axis
1089
+ - ;;
1090
+ - crx)
1091
+ - basic_machine=crx-unknown
1092
+ - os=-elf
1093
+ - ;;
1094
+ - da30 | da30-*)
1095
+ - basic_machine=m68k-da30
1096
+ - ;;
1097
+ - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
1098
+ - basic_machine=mips-dec
1099
+ + cpu=powerpc
1100
+ + vendor=ibm
1101
+ + basic_os=cnk
1102
+ ;;
1103
+ decsystem10* | dec10*)
1104
+ - basic_machine=pdp10-dec
1105
+ - os=-tops10
1106
+ + cpu=pdp10
1107
+ + vendor=dec
1108
+ + basic_os=tops10
1109
+ ;;
1110
+ decsystem20* | dec20*)
1111
+ - basic_machine=pdp10-dec
1112
+ - os=-tops20
1113
+ + cpu=pdp10
1114
+ + vendor=dec
1115
+ + basic_os=tops20
1116
+ ;;
1117
+ delta | 3300 | motorola-3300 | motorola-delta \
1118
+ | 3300-motorola | delta-motorola)
1119
+ - basic_machine=m68k-motorola
1120
+ - ;;
1121
+ - delta88)
1122
+ - basic_machine=m88k-motorola
1123
+ - os=-sysv3
1124
+ - ;;
1125
+ - dicos)
1126
+ - basic_machine=i686-pc
1127
+ - os=-dicos
1128
+ - ;;
1129
+ - djgpp)
1130
+ - basic_machine=i586-pc
1131
+ - os=-msdosdjgpp
1132
+ - ;;
1133
+ - dpx20 | dpx20-*)
1134
+ - basic_machine=rs6000-bull
1135
+ - os=-bosx
1136
+ + cpu=m68k
1137
+ + vendor=motorola
1138
+ ;;
1139
+ dpx2*)
1140
+ - basic_machine=m68k-bull
1141
+ - os=-sysv3
1142
+ - ;;
1143
+ - e500v[12])
1144
+ - basic_machine=powerpc-unknown
1145
+ - os=$os"spe"
1146
+ - ;;
1147
+ - e500v[12]-*)
1148
+ - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1149
+ - os=$os"spe"
1150
+ - ;;
1151
+ - ebmon29k)
1152
+ - basic_machine=a29k-amd
1153
+ - os=-ebmon
1154
+ - ;;
1155
+ - elxsi)
1156
+ - basic_machine=elxsi-elxsi
1157
+ - os=-bsd
1158
+ + cpu=m68k
1159
+ + vendor=bull
1160
+ + basic_os=sysv3
1161
+ ;;
1162
+ encore | umax | mmax)
1163
+ - basic_machine=ns32k-encore
1164
+ + cpu=ns32k
1165
+ + vendor=encore
1166
+ ;;
1167
+ - es1800 | OSE68k | ose68k | ose | OSE)
1168
+ - basic_machine=m68k-ericsson
1169
+ - os=-ose
1170
+ + elxsi)
1171
+ + cpu=elxsi
1172
+ + vendor=elxsi
1173
+ + basic_os=${basic_os:-bsd}
1174
+ ;;
1175
+ fx2800)
1176
+ - basic_machine=i860-alliant
1177
+ + cpu=i860
1178
+ + vendor=alliant
1179
+ ;;
1180
+ genix)
1181
+ - basic_machine=ns32k-ns
1182
+ - ;;
1183
+ - gmicro)
1184
+ - basic_machine=tron-gmicro
1185
+ - os=-sysv
1186
+ - ;;
1187
+ - go32)
1188
+ - basic_machine=i386-pc
1189
+ - os=-go32
1190
+ + cpu=ns32k
1191
+ + vendor=ns
1192
+ ;;
1193
+ h3050r* | hiux*)
1194
+ - basic_machine=hppa1.1-hitachi
1195
+ - os=-hiuxwe2
1196
+ - ;;
1197
+ - h8300hms)
1198
+ - basic_machine=h8300-hitachi
1199
+ - os=-hms
1200
+ - ;;
1201
+ - h8300xray)
1202
+ - basic_machine=h8300-hitachi
1203
+ - os=-xray
1204
+ - ;;
1205
+ - h8500hms)
1206
+ - basic_machine=h8500-hitachi
1207
+ - os=-hms
1208
+ - ;;
1209
+ - harris)
1210
+ - basic_machine=m88k-harris
1211
+ - os=-sysv3
1212
+ - ;;
1213
+ - hp300-*)
1214
+ - basic_machine=m68k-hp
1215
+ - ;;
1216
+ - hp300bsd)
1217
+ - basic_machine=m68k-hp
1218
+ - os=-bsd
1219
+ - ;;
1220
+ - hp300hpux)
1221
+ - basic_machine=m68k-hp
1222
+ - os=-hpux
1223
+ + cpu=hppa1.1
1224
+ + vendor=hitachi
1225
+ + basic_os=hiuxwe2
1226
+ ;;
1227
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
1228
+ - basic_machine=hppa1.0-hp
1229
+ + cpu=hppa1.0
1230
+ + vendor=hp
1231
+ ;;
1232
+ hp9k2[0-9][0-9] | hp9k31[0-9])
1233
+ - basic_machine=m68000-hp
1234
+ + cpu=m68000
1235
+ + vendor=hp
1236
+ ;;
1237
+ hp9k3[2-9][0-9])
1238
+ - basic_machine=m68k-hp
1239
+ + cpu=m68k
1240
+ + vendor=hp
1241
+ ;;
1242
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
1243
+ - basic_machine=hppa1.0-hp
1244
+ + cpu=hppa1.0
1245
+ + vendor=hp
1246
+ ;;
1247
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
1248
+ - basic_machine=hppa1.1-hp
1249
+ + cpu=hppa1.1
1250
+ + vendor=hp
1251
+ ;;
1252
+ hp9k78[0-9] | hp78[0-9])
1253
+ # FIXME: really hppa2.0-hp
1254
+ - basic_machine=hppa1.1-hp
1255
+ + cpu=hppa1.1
1256
+ + vendor=hp
1257
+ ;;
1258
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
1259
+ # FIXME: really hppa2.0-hp
1260
+ - basic_machine=hppa1.1-hp
1261
+ + cpu=hppa1.1
1262
+ + vendor=hp
1263
+ ;;
1264
+ hp9k8[0-9][13679] | hp8[0-9][13679])
1265
+ - basic_machine=hppa1.1-hp
1266
+ + cpu=hppa1.1
1267
+ + vendor=hp
1268
+ ;;
1269
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
1270
+ - basic_machine=hppa1.0-hp
1271
+ - ;;
1272
+ - hppaosf)
1273
+ - basic_machine=hppa1.1-hp
1274
+ - os=-osf
1275
+ - ;;
1276
+ - hppro)
1277
+ - basic_machine=hppa1.1-hp
1278
+ - os=-proelf
1279
+ - ;;
1280
+ - i370-ibm* | ibm*)
1281
+ - basic_machine=i370-ibm
1282
+ + cpu=hppa1.0
1283
+ + vendor=hp
1284
+ ;;
1285
+ i*86v32)
1286
+ - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
1287
+ - os=-sysv32
1288
+ + cpu=$(echo "$1" | sed -e 's/86.*/86/')
1289
+ + vendor=pc
1290
+ + basic_os=sysv32
1291
+ ;;
1292
+ i*86v4*)
1293
+ - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
1294
+ - os=-sysv4
1295
+ + cpu=$(echo "$1" | sed -e 's/86.*/86/')
1296
+ + vendor=pc
1297
+ + basic_os=sysv4
1298
+ ;;
1299
+ i*86v)
1300
+ - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
1301
+ - os=-sysv
1302
+ + cpu=$(echo "$1" | sed -e 's/86.*/86/')
1303
+ + vendor=pc
1304
+ + basic_os=sysv
1305
+ ;;
1306
+ i*86sol2)
1307
+ - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
1308
+ - os=-solaris2
1309
+ - ;;
1310
+ - i386mach)
1311
+ - basic_machine=i386-mach
1312
+ - os=-mach
1313
+ - ;;
1314
+ - vsta)
1315
+ - basic_machine=i386-unknown
1316
+ - os=-vsta
1317
+ + cpu=$(echo "$1" | sed -e 's/86.*/86/')
1318
+ + vendor=pc
1319
+ + basic_os=solaris2
1320
+ + ;;
1321
+ + j90 | j90-cray)
1322
+ + cpu=j90
1323
+ + vendor=cray
1324
+ + basic_os=${basic_os:-unicos}
1325
+ ;;
1326
+ iris | iris4d)
1327
+ - basic_machine=mips-sgi
1328
+ - case $os in
1329
+ - -irix*)
1330
+ + cpu=mips
1331
+ + vendor=sgi
1332
+ + case $basic_os in
1333
+ + irix*)
1334
+ ;;
1335
+ *)
1336
+ - os=-irix4
1337
+ + basic_os=irix4
1338
+ ;;
1339
+ esac
1340
+ ;;
1341
+ - isi68 | isi)
1342
+ - basic_machine=m68k-isi
1343
+ - os=-sysv
1344
+ - ;;
1345
+ - leon-*|leon[3-9]-*)
1346
+ - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
1347
+ - ;;
1348
+ - m68knommu)
1349
+ - basic_machine=m68k-unknown
1350
+ - os=-linux
1351
+ - ;;
1352
+ - m68knommu-*)
1353
+ - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1354
+ - os=-linux
1355
+ - ;;
1356
+ - magnum | m3230)
1357
+ - basic_machine=mips-mips
1358
+ - os=-sysv
1359
+ - ;;
1360
+ - merlin)
1361
+ - basic_machine=ns32k-utek
1362
+ - os=-sysv
1363
+ - ;;
1364
+ - microblaze*)
1365
+ - basic_machine=microblaze-xilinx
1366
+ - ;;
1367
+ - mingw64)
1368
+ - basic_machine=x86_64-pc
1369
+ - os=-mingw64
1370
+ - ;;
1371
+ - mingw32)
1372
+ - basic_machine=i686-pc
1373
+ - os=-mingw32
1374
+ - ;;
1375
+ - mingw32ce)
1376
+ - basic_machine=arm-unknown
1377
+ - os=-mingw32ce
1378
+ - ;;
1379
+ miniframe)
1380
+ - basic_machine=m68000-convergent
1381
+ - ;;
1382
+ - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
1383
+ - basic_machine=m68k-atari
1384
+ - os=-mint
1385
+ - ;;
1386
+ - mips3*-*)
1387
+ - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
1388
+ + cpu=m68000
1389
+ + vendor=convergent
1390
+ ;;
1391
+ - mips3*)
1392
+ - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
1393
+ - ;;
1394
+ - monitor)
1395
+ - basic_machine=m68k-rom68k
1396
+ - os=-coff
1397
+ - ;;
1398
+ - morphos)
1399
+ - basic_machine=powerpc-unknown
1400
+ - os=-morphos
1401
+ - ;;
1402
+ - moxiebox)
1403
+ - basic_machine=moxie-unknown
1404
+ - os=-moxiebox
1405
+ - ;;
1406
+ - msdos)
1407
+ - basic_machine=i386-pc
1408
+ - os=-msdos
1409
+ - ;;
1410
+ - ms1-*)
1411
+ - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
1412
+ - ;;
1413
+ - msys)
1414
+ - basic_machine=i686-pc
1415
+ - os=-msys
1416
+ - ;;
1417
+ - mvs)
1418
+ - basic_machine=i370-ibm
1419
+ - os=-mvs
1420
+ - ;;
1421
+ - nacl)
1422
+ - basic_machine=le32-unknown
1423
+ - os=-nacl
1424
+ - ;;
1425
+ - ncr3000)
1426
+ - basic_machine=i486-ncr
1427
+ - os=-sysv4
1428
+ - ;;
1429
+ - netbsd386)
1430
+ - basic_machine=i386-unknown
1431
+ - os=-netbsd
1432
+ - ;;
1433
+ - netwinder)
1434
+ - basic_machine=armv4l-rebel
1435
+ - os=-linux
1436
+ - ;;
1437
+ - news | news700 | news800 | news900)
1438
+ - basic_machine=m68k-sony
1439
+ - os=-newsos
1440
+ - ;;
1441
+ - news1000)
1442
+ - basic_machine=m68030-sony
1443
+ - os=-newsos
1444
+ + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
1445
+ + cpu=m68k
1446
+ + vendor=atari
1447
+ + basic_os=mint
1448
+ ;;
1449
+ news-3600 | risc-news)
1450
+ - basic_machine=mips-sony
1451
+ - os=-newsos
1452
+ - ;;
1453
+ - necv70)
1454
+ - basic_machine=v70-nec
1455
+ - os=-sysv
1456
+ + cpu=mips
1457
+ + vendor=sony
1458
+ + basic_os=newsos
1459
+ ;;
1460
+ next | m*-next)
1461
+ - basic_machine=m68k-next
1462
+ - case $os in
1463
+ - -nextstep* )
1464
+ + cpu=m68k
1465
+ + vendor=next
1466
+ + case $basic_os in
1467
+ + openstep*)
1468
+ + ;;
1469
+ + nextstep*)
1470
+ ;;
1471
+ - -ns2*)
1472
+ - os=-nextstep2
1473
+ + ns2*)
1474
+ + basic_os=nextstep2
1475
+ ;;
1476
+ *)
1477
+ - os=-nextstep3
1478
+ + basic_os=nextstep3
1479
+ ;;
1480
+ esac
1481
+ ;;
1482
+ - nh3000)
1483
+ - basic_machine=m68k-harris
1484
+ - os=-cxux
1485
+ - ;;
1486
+ - nh[45]000)
1487
+ - basic_machine=m88k-harris
1488
+ - os=-cxux
1489
+ - ;;
1490
+ - nindy960)
1491
+ - basic_machine=i960-intel
1492
+ - os=-nindy
1493
+ - ;;
1494
+ - mon960)
1495
+ - basic_machine=i960-intel
1496
+ - os=-mon960
1497
+ - ;;
1498
+ - nonstopux)
1499
+ - basic_machine=mips-compaq
1500
+ - os=-nonstopux
1501
+ - ;;
1502
+ np1)
1503
+ - basic_machine=np1-gould
1504
+ - ;;
1505
+ - neo-tandem)
1506
+ - basic_machine=neo-tandem
1507
+ - ;;
1508
+ - nse-tandem)
1509
+ - basic_machine=nse-tandem
1510
+ - ;;
1511
+ - nsr-tandem)
1512
+ - basic_machine=nsr-tandem
1513
+ - ;;
1514
+ - nsv-tandem)
1515
+ - basic_machine=nsv-tandem
1516
+ - ;;
1517
+ - nsx-tandem)
1518
+ - basic_machine=nsx-tandem
1519
+ + cpu=np1
1520
+ + vendor=gould
1521
+ ;;
1522
+ op50n-* | op60c-*)
1523
+ - basic_machine=hppa1.1-oki
1524
+ - os=-proelf
1525
+ - ;;
1526
+ - openrisc | openrisc-*)
1527
+ - basic_machine=or32-unknown
1528
+ - ;;
1529
+ - os400)
1530
+ - basic_machine=powerpc-ibm
1531
+ - os=-os400
1532
+ - ;;
1533
+ - OSE68000 | ose68000)
1534
+ - basic_machine=m68000-ericsson
1535
+ - os=-ose
1536
+ - ;;
1537
+ - os68k)
1538
+ - basic_machine=m68k-none
1539
+ - os=-os68k
1540
+ + cpu=hppa1.1
1541
+ + vendor=oki
1542
+ + basic_os=proelf
1543
+ ;;
1544
+ pa-hitachi)
1545
+ - basic_machine=hppa1.1-hitachi
1546
+ - os=-hiuxwe2
1547
+ - ;;
1548
+ - paragon)
1549
+ - basic_machine=i860-intel
1550
+ - os=-osf
1551
+ - ;;
1552
+ - parisc)
1553
+ - basic_machine=hppa-unknown
1554
+ - os=-linux
1555
+ - ;;
1556
+ - parisc-*)
1557
+ - basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1558
+ - os=-linux
1559
+ + cpu=hppa1.1
1560
+ + vendor=hitachi
1561
+ + basic_os=hiuxwe2
1562
+ ;;
1563
+ pbd)
1564
+ - basic_machine=sparc-tti
1565
+ + cpu=sparc
1566
+ + vendor=tti
1567
+ ;;
1568
+ pbb)
1569
+ - basic_machine=m68k-tti
1570
+ + cpu=m68k
1571
+ + vendor=tti
1572
+ ;;
1573
+ - pc532 | pc532-*)
1574
+ - basic_machine=ns32k-pc532
1575
+ + pc532)
1576
+ + cpu=ns32k
1577
+ + vendor=pc532
1578
+ ;;
1579
+ - pc98)
1580
+ - basic_machine=i386-pc
1581
+ + pn)
1582
+ + cpu=pn
1583
+ + vendor=gould
1584
+ ;;
1585
+ - pc98-*)
1586
+ - basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1587
+ + power)
1588
+ + cpu=power
1589
+ + vendor=ibm
1590
+ ;;
1591
+ - pentium | p5 | k5 | k6 | nexgen | viac3)
1592
+ - basic_machine=i586-pc
1593
+ + ps2)
1594
+ + cpu=i386
1595
+ + vendor=ibm
1596
+ ;;
1597
+ - pentiumpro | p6 | 6x86 | athlon | athlon_*)
1598
+ - basic_machine=i686-pc
1599
+ + rm[46]00)
1600
+ + cpu=mips
1601
+ + vendor=siemens
1602
+ ;;
1603
+ - pentiumii | pentium2 | pentiumiii | pentium3)
1604
+ - basic_machine=i686-pc
1605
+ + rtpc | rtpc-*)
1606
+ + cpu=romp
1607
+ + vendor=ibm
1608
+ ;;
1609
+ - pentium4)
1610
+ - basic_machine=i786-pc
1611
+ + sde)
1612
+ + cpu=mipsisa32
1613
+ + vendor=sde
1614
+ + basic_os=${basic_os:-elf}
1615
+ ;;
1616
+ - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1617
+ - basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1618
+ + simso-wrs)
1619
+ + cpu=sparclite
1620
+ + vendor=wrs
1621
+ + basic_os=vxworks
1622
+ ;;
1623
+ - pentiumpro-* | p6-* | 6x86-* | athlon-*)
1624
+ - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1625
+ + tower | tower-32)
1626
+ + cpu=m68k
1627
+ + vendor=ncr
1628
+ ;;
1629
+ - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1630
+ - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1631
+ + vpp*|vx|vx-*)
1632
+ + cpu=f301
1633
+ + vendor=fujitsu
1634
+ ;;
1635
+ - pentium4-*)
1636
+ - basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1637
+ + w65)
1638
+ + cpu=w65
1639
+ + vendor=wdc
1640
+ ;;
1641
+ - pn)
1642
+ - basic_machine=pn-gould
1643
+ + w89k-*)
1644
+ + cpu=hppa1.1
1645
+ + vendor=winbond
1646
+ + basic_os=proelf
1647
+ ;;
1648
+ - power) basic_machine=power-ibm
1649
+ + none)
1650
+ + cpu=none
1651
+ + vendor=none
1652
+ ;;
1653
+ - ppc | ppcbe) basic_machine=powerpc-unknown
1654
+ + leon|leon[3-9])
1655
+ + cpu=sparc
1656
+ + vendor=$basic_machine
1657
+ ;;
1658
+ - ppc-* | ppcbe-*)
1659
+ - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1660
+ + leon-*|leon[3-9]-*)
1661
+ + cpu=sparc
1662
+ + vendor=$(echo "$basic_machine" | sed 's/-.*//')
1663
+ ;;
1664
+ - ppcle | powerpclittle)
1665
+ - basic_machine=powerpcle-unknown
1666
+ +
1667
+ + *-*)
1668
+ + # shellcheck disable=SC2162
1669
+ + IFS="-" read cpu vendor <<EOF
1670
+ +$basic_machine
1671
+ +EOF
1672
+ ;;
1673
+ - ppcle-* | powerpclittle-*)
1674
+ - basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1675
+ + # We use `pc' rather than `unknown'
1676
+ + # because (1) that's what they normally are, and
1677
+ + # (2) the word "unknown" tends to confuse beginning users.
1678
+ + i*86 | x86_64)
1679
+ + cpu=$basic_machine
1680
+ + vendor=pc
1681
+ ;;
1682
+ - ppc64) basic_machine=powerpc64-unknown
1683
+ + # These rules are duplicated from below for sake of the special case above;
1684
+ + # i.e. things that normalized to x86 arches should also default to "pc"
1685
+ + pc98)
1686
+ + cpu=i386
1687
+ + vendor=pc
1688
+ ;;
1689
+ - ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1690
+ + x64 | amd64)
1691
+ + cpu=x86_64
1692
+ + vendor=pc
1693
+ ;;
1694
+ - ppc64le | powerpc64little)
1695
+ - basic_machine=powerpc64le-unknown
1696
+ + # Recognize the basic CPU types without company name.
1697
+ + *)
1698
+ + cpu=$basic_machine
1699
+ + vendor=unknown
1700
+ ;;
1701
+ - ppc64le-* | powerpc64little-*)
1702
+ - basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1703
+ +esac
1704
+ +
1705
+ +unset -v basic_machine
1706
+ +
1707
+ +# Decode basic machines in the full and proper CPU-Company form.
1708
+ +case $cpu-$vendor in
1709
+ + # Here we handle the default manufacturer of certain CPU types in canonical form. It is in
1710
+ + # some cases the only manufacturer, in others, it is the most popular.
1711
+ + craynv-unknown)
1712
+ + vendor=cray
1713
+ + basic_os=${basic_os:-unicosmp}
1714
+ ;;
1715
+ - ps2)
1716
+ - basic_machine=i386-ibm
1717
+ + c90-unknown | c90-cray)
1718
+ + vendor=cray
1719
+ + basic_os=${Basic_os:-unicos}
1720
+ ;;
1721
+ - pw32)
1722
+ - basic_machine=i586-unknown
1723
+ - os=-pw32
1724
+ - ;;
1725
+ - rdos | rdos64)
1726
+ - basic_machine=x86_64-pc
1727
+ - os=-rdos
1728
+ - ;;
1729
+ - rdos32)
1730
+ - basic_machine=i386-pc
1731
+ - os=-rdos
1732
+ - ;;
1733
+ - rom68k)
1734
+ - basic_machine=m68k-rom68k
1735
+ - os=-coff
1736
+ + fx80-unknown)
1737
+ + vendor=alliant
1738
+ ;;
1739
+ - rm[46]00)
1740
+ - basic_machine=mips-siemens
1741
+ + romp-unknown)
1742
+ + vendor=ibm
1743
+ ;;
1744
+ - rtpc | rtpc-*)
1745
+ - basic_machine=romp-ibm
1746
+ + mmix-unknown)
1747
+ + vendor=knuth
1748
+ ;;
1749
+ - s390 | s390-*)
1750
+ - basic_machine=s390-ibm
1751
+ + microblaze-unknown | microblazeel-unknown)
1752
+ + vendor=xilinx
1753
+ ;;
1754
+ - s390x | s390x-*)
1755
+ - basic_machine=s390x-ibm
1756
+ + rs6000-unknown)
1757
+ + vendor=ibm
1758
+ ;;
1759
+ - sa29200)
1760
+ - basic_machine=a29k-amd
1761
+ - os=-udi
1762
+ + vax-unknown)
1763
+ + vendor=dec
1764
+ ;;
1765
+ - sb1)
1766
+ - basic_machine=mipsisa64sb1-unknown
1767
+ + pdp11-unknown)
1768
+ + vendor=dec
1769
+ ;;
1770
+ - sb1el)
1771
+ - basic_machine=mipsisa64sb1el-unknown
1772
+ + we32k-unknown)
1773
+ + vendor=att
1774
+ ;;
1775
+ - sde)
1776
+ - basic_machine=mipsisa32-sde
1777
+ - os=-elf
1778
+ + cydra-unknown)
1779
+ + vendor=cydrome
1780
+ ;;
1781
+ - sei)
1782
+ - basic_machine=mips-sei
1783
+ - os=-seiux
1784
+ + i370-ibm*)
1785
+ + vendor=ibm
1786
+ ;;
1787
+ - sequent)
1788
+ - basic_machine=i386-sequent
1789
+ + orion-unknown)
1790
+ + vendor=highlevel
1791
+ ;;
1792
+ - sh5el)
1793
+ - basic_machine=sh5le-unknown
1794
+ + xps-unknown | xps100-unknown)
1795
+ + cpu=xps100
1796
+ + vendor=honeywell
1797
+ ;;
1798
+ - simso-wrs)
1799
+ - basic_machine=sparclite-wrs
1800
+ - os=-vxworks
1801
+ +
1802
+ + # Here we normalize CPU types with a missing or matching vendor
1803
+ + dpx20-unknown | dpx20-bull)
1804
+ + cpu=rs6000
1805
+ + vendor=bull
1806
+ + basic_os=${basic_os:-bosx}
1807
+ ;;
1808
+ - sps7)
1809
+ - basic_machine=m68k-bull
1810
+ - os=-sysv2
1811
+ - ;;
1812
+ - spur)
1813
+ - basic_machine=spur-unknown
1814
+ - ;;
1815
+ - st2000)
1816
+ - basic_machine=m68k-tandem
1817
+ - ;;
1818
+ - stratus)
1819
+ - basic_machine=i860-stratus
1820
+ - os=-sysv4
1821
+ +
1822
+ + # Here we normalize CPU types irrespective of the vendor
1823
+ + amd64-*)
1824
+ + cpu=x86_64
1825
+ ;;
1826
+ - strongarm-* | thumb-*)
1827
+ - basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
1828
+ + blackfin-*)
1829
+ + cpu=bfin
1830
+ + basic_os=linux
1831
+ ;;
1832
+ - sun2)
1833
+ - basic_machine=m68000-sun
1834
+ + c54x-*)
1835
+ + cpu=tic54x
1836
+ ;;
1837
+ - sun2os3)
1838
+ - basic_machine=m68000-sun
1839
+ - os=-sunos3
1840
+ + c55x-*)
1841
+ + cpu=tic55x
1842
+ ;;
1843
+ - sun2os4)
1844
+ - basic_machine=m68000-sun
1845
+ - os=-sunos4
1846
+ + c6x-*)
1847
+ + cpu=tic6x
1848
+ ;;
1849
+ - sun3os3)
1850
+ - basic_machine=m68k-sun
1851
+ - os=-sunos3
1852
+ + e500v[12]-*)
1853
+ + cpu=powerpc
1854
+ + basic_os=${basic_os}"spe"
1855
+ ;;
1856
+ - sun3os4)
1857
+ - basic_machine=m68k-sun
1858
+ - os=-sunos4
1859
+ + mips3*-*)
1860
+ + cpu=mips64
1861
+ ;;
1862
+ - sun4os3)
1863
+ - basic_machine=sparc-sun
1864
+ - os=-sunos3
1865
+ + ms1-*)
1866
+ + cpu=mt
1867
+ ;;
1868
+ - sun4os4)
1869
+ - basic_machine=sparc-sun
1870
+ - os=-sunos4
1871
+ + m68knommu-*)
1872
+ + cpu=m68k
1873
+ + basic_os=linux
1874
+ ;;
1875
+ - sun4sol2)
1876
+ - basic_machine=sparc-sun
1877
+ - os=-solaris2
1878
+ + m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1879
+ + cpu=s12z
1880
+ ;;
1881
+ - sun3 | sun3-*)
1882
+ - basic_machine=m68k-sun
1883
+ + openrisc-*)
1884
+ + cpu=or32
1885
+ ;;
1886
+ - sun4)
1887
+ - basic_machine=sparc-sun
1888
+ + parisc-*)
1889
+ + cpu=hppa
1890
+ + basic_os=linux
1891
+ ;;
1892
+ - sun386 | sun386i | roadrunner)
1893
+ - basic_machine=i386-sun
1894
+ + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1895
+ + cpu=i586
1896
+ ;;
1897
+ - sv1)
1898
+ - basic_machine=sv1-cray
1899
+ - os=-unicos
1900
+ + pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1901
+ + cpu=i686
1902
+ ;;
1903
+ - symmetry)
1904
+ - basic_machine=i386-sequent
1905
+ - os=-dynix
1906
+ + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1907
+ + cpu=i686
1908
+ ;;
1909
+ - t3e)
1910
+ - basic_machine=alphaev5-cray
1911
+ - os=-unicos
1912
+ + pentium4-*)
1913
+ + cpu=i786
1914
+ ;;
1915
+ - t90)
1916
+ - basic_machine=t90-cray
1917
+ - os=-unicos
1918
+ + pc98-*)
1919
+ + cpu=i386
1920
+ ;;
1921
+ - tile*)
1922
+ - basic_machine=$basic_machine-unknown
1923
+ - os=-linux-gnu
1924
+ + ppc-* | ppcbe-*)
1925
+ + cpu=powerpc
1926
+ ;;
1927
+ - tx39)
1928
+ - basic_machine=mipstx39-unknown
1929
+ + ppcle-* | powerpclittle-*)
1930
+ + cpu=powerpcle
1931
+ ;;
1932
+ - tx39el)
1933
+ - basic_machine=mipstx39el-unknown
1934
+ + ppc64-*)
1935
+ + cpu=powerpc64
1936
+ ;;
1937
+ - toad1)
1938
+ - basic_machine=pdp10-xkl
1939
+ - os=-tops20
1940
+ + ppc64le-* | powerpc64little-*)
1941
+ + cpu=powerpc64le
1942
+ ;;
1943
+ - tower | tower-32)
1944
+ - basic_machine=m68k-ncr
1945
+ + sb1-*)
1946
+ + cpu=mipsisa64sb1
1947
+ ;;
1948
+ - tpf)
1949
+ - basic_machine=s390x-ibm
1950
+ - os=-tpf
1951
+ - ;;
1952
+ - udi29k)
1953
+ - basic_machine=a29k-amd
1954
+ - os=-udi
1955
+ - ;;
1956
+ - ultra3)
1957
+ - basic_machine=a29k-nyu
1958
+ - os=-sym1
1959
+ - ;;
1960
+ - v810 | necv810)
1961
+ - basic_machine=v810-nec
1962
+ - os=-none
1963
+ - ;;
1964
+ - vaxv)
1965
+ - basic_machine=vax-dec
1966
+ - os=-sysv
1967
+ - ;;
1968
+ - vms)
1969
+ - basic_machine=vax-dec
1970
+ - os=-vms
1971
+ + sb1el-*)
1972
+ + cpu=mipsisa64sb1el
1973
+ ;;
1974
+ - vpp*|vx|vx-*)
1975
+ - basic_machine=f301-fujitsu
1976
+ + sh5e[lb]-*)
1977
+ + cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
1978
+ ;;
1979
+ - vxworks960)
1980
+ - basic_machine=i960-wrs
1981
+ - os=-vxworks
1982
+ - ;;
1983
+ - vxworks68)
1984
+ - basic_machine=m68k-wrs
1985
+ - os=-vxworks
1986
+ - ;;
1987
+ - vxworks29k)
1988
+ - basic_machine=a29k-wrs
1989
+ - os=-vxworks
1990
+ - ;;
1991
+ - w65*)
1992
+ - basic_machine=w65-wdc
1993
+ - os=-none
1994
+ + spur-*)
1995
+ + cpu=spur
1996
+ ;;
1997
+ - w89k-*)
1998
+ - basic_machine=hppa1.1-winbond
1999
+ - os=-proelf
2000
+ + strongarm-* | thumb-*)
2001
+ + cpu=arm
2002
+ ;;
2003
+ - x64)
2004
+ - basic_machine=x86_64-pc
2005
+ + tx39-*)
2006
+ + cpu=mipstx39
2007
+ ;;
2008
+ - xbox)
2009
+ - basic_machine=i686-pc
2010
+ - os=-mingw32
2011
+ + tx39el-*)
2012
+ + cpu=mipstx39el
2013
+ ;;
2014
+ - xps | xps100)
2015
+ - basic_machine=xps100-honeywell
2016
+ + x64-*)
2017
+ + cpu=x86_64
2018
+ ;;
2019
+ xscale-* | xscalee[bl]-*)
2020
+ - basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
2021
+ + cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
2022
+ ;;
2023
+ - ymp)
2024
+ - basic_machine=ymp-cray
2025
+ - os=-unicos
2026
+ - ;;
2027
+ - none)
2028
+ - basic_machine=none-none
2029
+ - os=-none
2030
+ + arm64-*)
2031
+ + cpu=aarch64
2032
+ ;;
2033
+
2034
+ -# Here we handle the default manufacturer of certain CPU types. It is in
2035
+ -# some cases the only manufacturer, in others, it is the most popular.
2036
+ - w89k)
2037
+ - basic_machine=hppa1.1-winbond
2038
+ - ;;
2039
+ - op50n)
2040
+ - basic_machine=hppa1.1-oki
2041
+ - ;;
2042
+ - op60c)
2043
+ - basic_machine=hppa1.1-oki
2044
+ + # Recognize the canonical CPU Types that limit and/or modify the
2045
+ + # company names they are paired with.
2046
+ + cr16-*)
2047
+ + basic_os=${basic_os:-elf}
2048
+ ;;
2049
+ - romp)
2050
+ - basic_machine=romp-ibm
2051
+ + crisv32-* | etraxfs*-*)
2052
+ + cpu=crisv32
2053
+ + vendor=axis
2054
+ ;;
2055
+ - mmix)
2056
+ - basic_machine=mmix-knuth
2057
+ + cris-* | etrax*-*)
2058
+ + cpu=cris
2059
+ + vendor=axis
2060
+ ;;
2061
+ - rs6000)
2062
+ - basic_machine=rs6000-ibm
2063
+ + crx-*)
2064
+ + basic_os=${basic_os:-elf}
2065
+ ;;
2066
+ - vax)
2067
+ - basic_machine=vax-dec
2068
+ - ;;
2069
+ - pdp11)
2070
+ - basic_machine=pdp11-dec
2071
+ - ;;
2072
+ - we32k)
2073
+ - basic_machine=we32k-att
2074
+ - ;;
2075
+ - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
2076
+ - basic_machine=sh-unknown
2077
+ + neo-tandem)
2078
+ + cpu=neo
2079
+ + vendor=tandem
2080
+ ;;
2081
+ - cydra)
2082
+ - basic_machine=cydra-cydrome
2083
+ + nse-tandem)
2084
+ + cpu=nse
2085
+ + vendor=tandem
2086
+ ;;
2087
+ - orion)
2088
+ - basic_machine=orion-highlevel
2089
+ + nsr-tandem)
2090
+ + cpu=nsr
2091
+ + vendor=tandem
2092
+ ;;
2093
+ - orion105)
2094
+ - basic_machine=clipper-highlevel
2095
+ + nsv-tandem)
2096
+ + cpu=nsv
2097
+ + vendor=tandem
2098
+ ;;
2099
+ - mac | mpw | mac-mpw)
2100
+ - basic_machine=m68k-apple
2101
+ + nsx-tandem)
2102
+ + cpu=nsx
2103
+ + vendor=tandem
2104
+ ;;
2105
+ - pmac | pmac-mpw)
2106
+ - basic_machine=powerpc-apple
2107
+ + mipsallegrexel-sony)
2108
+ + cpu=mipsallegrexel
2109
+ + vendor=sony
2110
+ ;;
2111
+ - *-unknown)
2112
+ - # Make sure to match an already-canonicalized machine name.
2113
+ + tile*-*)
2114
+ + basic_os=${basic_os:-linux-gnu}
2115
+ ;;
2116
+ +
2117
+ *)
2118
+ - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
2119
+ - exit 1
2120
+ + # Recognize the canonical CPU types that are allowed with any
2121
+ + # company name.
2122
+ + case $cpu in
2123
+ + 1750a | 580 \
2124
+ + | a29k \
2125
+ + | aarch64 | aarch64_be \
2126
+ + | abacus \
2127
+ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
2128
+ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
2129
+ + | alphapca5[67] | alpha64pca5[67] \
2130
+ + | am33_2.0 \
2131
+ + | amdgcn \
2132
+ + | arc | arceb \
2133
+ + | arm | arm[lb]e | arme[lb] | armv* \
2134
+ + | avr | avr32 \
2135
+ + | asmjs \
2136
+ + | ba \
2137
+ + | be32 | be64 \
2138
+ + | bfin | bpf | bs2000 \
2139
+ + | c[123]* | c30 | [cjt]90 | c4x \
2140
+ + | c8051 | clipper | craynv | csky | cydra \
2141
+ + | d10v | d30v | dlx | dsp16xx \
2142
+ + | e2k | elxsi | epiphany \
2143
+ + | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
2144
+ + | h8300 | h8500 \
2145
+ + | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2146
+ + | hexagon \
2147
+ + | i370 | i*86 | i860 | i960 | ia16 | ia64 \
2148
+ + | ip2k | iq2000 \
2149
+ + | k1om \
2150
+ + | le32 | le64 \
2151
+ + | lm32 \
2152
+ + | m32c | m32r | m32rle \
2153
+ + | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
2154
+ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
2155
+ + | m88110 | m88k | maxq | mb | mcore | mep | metag \
2156
+ + | microblaze | microblazeel \
2157
+ + | mips | mipsbe | mipseb | mipsel | mipsle \
2158
+ + | mips16 \
2159
+ + | mips64 | mips64eb | mips64el \
2160
+ + | mips64octeon | mips64octeonel \
2161
+ + | mips64orion | mips64orionel \
2162
+ + | mips64r5900 | mips64r5900el \
2163
+ + | mips64vr | mips64vrel \
2164
+ + | mips64vr4100 | mips64vr4100el \
2165
+ + | mips64vr4300 | mips64vr4300el \
2166
+ + | mips64vr5000 | mips64vr5000el \
2167
+ + | mips64vr5900 | mips64vr5900el \
2168
+ + | mipsisa32 | mipsisa32el \
2169
+ + | mipsisa32r2 | mipsisa32r2el \
2170
+ + | mipsisa32r6 | mipsisa32r6el \
2171
+ + | mipsisa64 | mipsisa64el \
2172
+ + | mipsisa64r2 | mipsisa64r2el \
2173
+ + | mipsisa64r6 | mipsisa64r6el \
2174
+ + | mipsisa64sb1 | mipsisa64sb1el \
2175
+ + | mipsisa64sr71k | mipsisa64sr71kel \
2176
+ + | mipsr5900 | mipsr5900el \
2177
+ + | mipstx39 | mipstx39el \
2178
+ + | mmix \
2179
+ + | mn10200 | mn10300 \
2180
+ + | moxie \
2181
+ + | mt \
2182
+ + | msp430 \
2183
+ + | nds32 | nds32le | nds32be \
2184
+ + | nfp \
2185
+ + | nios | nios2 | nios2eb | nios2el \
2186
+ + | none | np1 | ns16k | ns32k | nvptx \
2187
+ + | open8 \
2188
+ + | or1k* \
2189
+ + | or32 \
2190
+ + | orion \
2191
+ + | picochip \
2192
+ + | pdp10 | pdp11 | pj | pjl | pn | power \
2193
+ + | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
2194
+ + | pru \
2195
+ + | pyramid \
2196
+ + | riscv | riscv32 | riscv64 \
2197
+ + | rl78 | romp | rs6000 | rx \
2198
+ + | s390 | s390x \
2199
+ + | score \
2200
+ + | sh | shl \
2201
+ + | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
2202
+ + | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
2203
+ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
2204
+ + | sparclite \
2205
+ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
2206
+ + | spu \
2207
+ + | tahoe \
2208
+ + | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
2209
+ + | tron \
2210
+ + | ubicom32 \
2211
+ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
2212
+ + | vax \
2213
+ + | visium \
2214
+ + | w65 \
2215
+ + | wasm32 | wasm64 \
2216
+ + | we32k \
2217
+ + | x86 | x86_64 | xc16x | xgate | xps100 \
2218
+ + | xstormy16 | xtensa* \
2219
+ + | ymp \
2220
+ + | z8k | z80)
2221
+ + ;;
2222
+ +
2223
+ + *)
2224
+ + echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
2225
+ + exit 1
2226
+ + ;;
2227
+ + esac
2228
+ ;;
2229
+ esac
2230
+
2231
+ # Here we canonicalize certain aliases for manufacturers.
2232
+ -case $basic_machine in
2233
+ - *-digital*)
2234
+ - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
2235
+ +case $vendor in
2236
+ + digital*)
2237
+ + vendor=dec
2238
+ ;;
2239
+ - *-commodore*)
2240
+ - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
2241
+ + commodore*)
2242
+ + vendor=cbm
2243
+ ;;
2244
+ *)
2245
+ ;;
2246
+ @@ -1334,203 +1278,213 @@
2247
+
2248
+ # Decode manufacturer-specific aliases for certain operating systems.
2249
+
2250
+ -if [ x"$os" != x"" ]
2251
+ +if test x$basic_os != x
2252
+ then
2253
+ +
2254
+ +# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
2255
+ +# set os.
2256
+ +case $basic_os in
2257
+ + gnu/linux*)
2258
+ + kernel=linux
2259
+ + os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
2260
+ + ;;
2261
+ + os2-emx)
2262
+ + kernel=os2
2263
+ + os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
2264
+ + ;;
2265
+ + nto-qnx*)
2266
+ + kernel=nto
2267
+ + os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
2268
+ + ;;
2269
+ + *-*)
2270
+ + # shellcheck disable=SC2162
2271
+ + IFS="-" read kernel os <<EOF
2272
+ +$basic_os
2273
+ +EOF
2274
+ + ;;
2275
+ + # Default OS when just kernel was specified
2276
+ + nto*)
2277
+ + kernel=nto
2278
+ + os=$(echo $basic_os | sed -e 's|nto|qnx|')
2279
+ + ;;
2280
+ + linux*)
2281
+ + kernel=linux
2282
+ + os=$(echo $basic_os | sed -e 's|linux|gnu|')
2283
+ + ;;
2284
+ + *)
2285
+ + kernel=
2286
+ + os=$basic_os
2287
+ + ;;
2288
+ +esac
2289
+ +
2290
+ +# Now, normalize the OS (knowing we just have one component, it's not a kernel,
2291
+ +# etc.)
2292
+ case $os in
2293
+ # First match some system type aliases that might get confused
2294
+ # with valid system types.
2295
+ - # -solaris* is a basic system type, with this one exception.
2296
+ - -auroraux)
2297
+ - os=-auroraux
2298
+ + # solaris* is a basic system type, with this one exception.
2299
+ + auroraux)
2300
+ + os=auroraux
2301
+ ;;
2302
+ - -solaris1 | -solaris1.*)
2303
+ - os=`echo $os | sed -e 's|solaris1|sunos4|'`
2304
+ + bluegene*)
2305
+ + os=cnk
2306
+ ;;
2307
+ - -solaris)
2308
+ - os=-solaris2
2309
+ + solaris1 | solaris1.*)
2310
+ + os=$(echo $os | sed -e 's|solaris1|sunos4|')
2311
+ ;;
2312
+ - -unixware*)
2313
+ - os=-sysv4.2uw
2314
+ + solaris)
2315
+ + os=solaris2
2316
+ ;;
2317
+ - -gnu/linux*)
2318
+ - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
2319
+ + unixware*)
2320
+ + os=sysv4.2uw
2321
+ ;;
2322
+ # es1800 is here to avoid being matched by es* (a different OS)
2323
+ - -es1800*)
2324
+ - os=-ose
2325
+ + es1800*)
2326
+ + os=ose
2327
+ ;;
2328
+ - # Now accept the basic system types.
2329
+ - # The portable systems comes first.
2330
+ - # Each alternative MUST end in a * to match a version number.
2331
+ - # -sysv* is not here because it comes later, after sysvr4.
2332
+ - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
2333
+ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
2334
+ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
2335
+ - | -sym* | -kopensolaris* | -plan9* \
2336
+ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
2337
+ - | -aos* | -aros* | -cloudabi* | -sortix* \
2338
+ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
2339
+ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
2340
+ - | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
2341
+ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
2342
+ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
2343
+ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
2344
+ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
2345
+ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
2346
+ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
2347
+ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
2348
+ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
2349
+ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \
2350
+ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
2351
+ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
2352
+ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
2353
+ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
2354
+ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
2355
+ - | -morphos* | -superux* | -rtmk* | -windiss* \
2356
+ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
2357
+ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
2358
+ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
2359
+ - | -midnightbsd*)
2360
+ - # Remember, each alternative MUST END IN *, to match a version number.
2361
+ - ;;
2362
+ - -qnx*)
2363
+ - case $basic_machine in
2364
+ - x86-* | i*86-*)
2365
+ - ;;
2366
+ - *)
2367
+ - os=-nto$os
2368
+ - ;;
2369
+ - esac
2370
+ + # Some version numbers need modification
2371
+ + chorusos*)
2372
+ + os=chorusos
2373
+ ;;
2374
+ - -nto-qnx*)
2375
+ + isc)
2376
+ + os=isc2.2
2377
+ ;;
2378
+ - -nto*)
2379
+ - os=`echo $os | sed -e 's|nto|nto-qnx|'`
2380
+ + sco6)
2381
+ + os=sco5v6
2382
+ ;;
2383
+ - -sim | -xray | -os68k* | -v88r* \
2384
+ - | -windows* | -osx | -abug | -netware* | -os9* \
2385
+ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
2386
+ + sco5)
2387
+ + os=sco3.2v5
2388
+ ;;
2389
+ - -mac*)
2390
+ - os=`echo "$os" | sed -e 's|mac|macos|'`
2391
+ + sco4)
2392
+ + os=sco3.2v4
2393
+ ;;
2394
+ - -linux-dietlibc)
2395
+ - os=-linux-dietlibc
2396
+ + sco3.2.[4-9]*)
2397
+ + os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
2398
+ ;;
2399
+ - -linux*)
2400
+ - os=`echo $os | sed -e 's|linux|linux-gnu|'`
2401
+ + sco*v* | scout)
2402
+ + # Don't match below
2403
+ ;;
2404
+ - -sunos5*)
2405
+ - os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
2406
+ + sco*)
2407
+ + os=sco3.2v2
2408
+ ;;
2409
+ - -sunos6*)
2410
+ - os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
2411
+ + psos*)
2412
+ + os=psos
2413
+ ;;
2414
+ - -opened*)
2415
+ - os=-openedition
2416
+ + qnx*)
2417
+ + os=qnx
2418
+ ;;
2419
+ - -os400*)
2420
+ - os=-os400
2421
+ + hiux*)
2422
+ + os=hiuxwe2
2423
+ ;;
2424
+ - -wince*)
2425
+ - os=-wince
2426
+ + lynx*178)
2427
+ + os=lynxos178
2428
+ ;;
2429
+ - -utek*)
2430
+ - os=-bsd
2431
+ + lynx*5)
2432
+ + os=lynxos5
2433
+ ;;
2434
+ - -dynix*)
2435
+ - os=-bsd
2436
+ + lynxos*)
2437
+ + # don't get caught up in next wildcard
2438
+ ;;
2439
+ - -acis*)
2440
+ - os=-aos
2441
+ + lynx*)
2442
+ + os=lynxos
2443
+ ;;
2444
+ - -atheos*)
2445
+ - os=-atheos
2446
+ + mac[0-9]*)
2447
+ + os=$(echo "$os" | sed -e 's|mac|macos|')
2448
+ ;;
2449
+ - -syllable*)
2450
+ - os=-syllable
2451
+ + opened*)
2452
+ + os=openedition
2453
+ ;;
2454
+ - -386bsd)
2455
+ - os=-bsd
2456
+ + os400*)
2457
+ + os=os400
2458
+ ;;
2459
+ - -ctix* | -uts*)
2460
+ - os=-sysv
2461
+ + sunos5*)
2462
+ + os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
2463
+ ;;
2464
+ - -nova*)
2465
+ - os=-rtmk-nova
2466
+ + sunos6*)
2467
+ + os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
2468
+ ;;
2469
+ - -ns2)
2470
+ - os=-nextstep2
2471
+ + wince*)
2472
+ + os=wince
2473
+ ;;
2474
+ - -nsk*)
2475
+ - os=-nsk
2476
+ + utek*)
2477
+ + os=bsd
2478
+ ;;
2479
+ - # Preserve the version number of sinix5.
2480
+ - -sinix5.*)
2481
+ - os=`echo $os | sed -e 's|sinix|sysv|'`
2482
+ + dynix*)
2483
+ + os=bsd
2484
+ + ;;
2485
+ + acis*)
2486
+ + os=aos
2487
+ + ;;
2488
+ + atheos*)
2489
+ + os=atheos
2490
+ + ;;
2491
+ + syllable*)
2492
+ + os=syllable
2493
+ + ;;
2494
+ + 386bsd)
2495
+ + os=bsd
2496
+ + ;;
2497
+ + ctix* | uts*)
2498
+ + os=sysv
2499
+ ;;
2500
+ - -sinix*)
2501
+ - os=-sysv4
2502
+ + nova*)
2503
+ + os=rtmk-nova
2504
+ ;;
2505
+ - -tpf*)
2506
+ - os=-tpf
2507
+ + ns2)
2508
+ + os=nextstep2
2509
+ ;;
2510
+ - -triton*)
2511
+ - os=-sysv3
2512
+ + # Preserve the version number of sinix5.
2513
+ + sinix5.*)
2514
+ + os=$(echo $os | sed -e 's|sinix|sysv|')
2515
+ ;;
2516
+ - -oss*)
2517
+ - os=-sysv3
2518
+ + sinix*)
2519
+ + os=sysv4
2520
+ ;;
2521
+ - -svr4*)
2522
+ - os=-sysv4
2523
+ + tpf*)
2524
+ + os=tpf
2525
+ ;;
2526
+ - -svr3)
2527
+ - os=-sysv3
2528
+ + triton*)
2529
+ + os=sysv3
2530
+ ;;
2531
+ - -sysvr4)
2532
+ - os=-sysv4
2533
+ + oss*)
2534
+ + os=sysv3
2535
+ ;;
2536
+ - # This must come after -sysvr4.
2537
+ - -sysv*)
2538
+ + svr4*)
2539
+ + os=sysv4
2540
+ ;;
2541
+ - -ose*)
2542
+ - os=-ose
2543
+ + svr3)
2544
+ + os=sysv3
2545
+ ;;
2546
+ - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
2547
+ - os=-mint
2548
+ + sysvr4)
2549
+ + os=sysv4
2550
+ ;;
2551
+ - -zvmoe)
2552
+ - os=-zvmoe
2553
+ + ose*)
2554
+ + os=ose
2555
+ ;;
2556
+ - -dicos*)
2557
+ - os=-dicos
2558
+ + *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
2559
+ + os=mint
2560
+ ;;
2561
+ - -pikeos*)
2562
+ + dicos*)
2563
+ + os=dicos
2564
+ + ;;
2565
+ + pikeos*)
2566
+ # Until real need of OS specific support for
2567
+ # particular features comes up, bare metal
2568
+ # configurations are quite functional.
2569
+ - case $basic_machine in
2570
+ + case $cpu in
2571
+ arm*)
2572
+ - os=-eabi
2573
+ + os=eabi
2574
+ ;;
2575
+ *)
2576
+ - os=-elf
2577
+ + os=elf
2578
+ ;;
2579
+ esac
2580
+ ;;
2581
+ - -nacl*)
2582
+ - ;;
2583
+ - -ios)
2584
+ - ;;
2585
+ - -none)
2586
+ - ;;
2587
+ *)
2588
+ - # Get rid of the `-' at the beginning of $os.
2589
+ - os=`echo $os | sed 's/[^-]*-//'`
2590
+ - echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
2591
+ - exit 1
2592
+ + # No normalization, but not necessarily accepted, that comes below.
2593
+ ;;
2594
+ esac
2595
+ +
2596
+ else
2597
+
2598
+ # Here we handle the default operating systems that come with various machines.
2599
+ @@ -1543,258 +1497,356 @@
2600
+ # will signal an error saying that MANUFACTURER isn't an operating
2601
+ # system, and we'll never get to this point.
2602
+
2603
+ -case $basic_machine in
2604
+ +kernel=
2605
+ +case $cpu-$vendor in
2606
+ score-*)
2607
+ - os=-elf
2608
+ + os=elf
2609
+ ;;
2610
+ spu-*)
2611
+ - os=-elf
2612
+ + os=elf
2613
+ ;;
2614
+ *-acorn)
2615
+ - os=-riscix1.2
2616
+ + os=riscix1.2
2617
+ ;;
2618
+ arm*-rebel)
2619
+ - os=-linux
2620
+ + kernel=linux
2621
+ + os=gnu
2622
+ ;;
2623
+ arm*-semi)
2624
+ - os=-aout
2625
+ + os=aout
2626
+ ;;
2627
+ c4x-* | tic4x-*)
2628
+ - os=-coff
2629
+ + os=coff
2630
+ ;;
2631
+ c8051-*)
2632
+ - os=-elf
2633
+ + os=elf
2634
+ + ;;
2635
+ + clipper-intergraph)
2636
+ + os=clix
2637
+ ;;
2638
+ hexagon-*)
2639
+ - os=-elf
2640
+ + os=elf
2641
+ ;;
2642
+ tic54x-*)
2643
+ - os=-coff
2644
+ + os=coff
2645
+ ;;
2646
+ tic55x-*)
2647
+ - os=-coff
2648
+ + os=coff
2649
+ ;;
2650
+ tic6x-*)
2651
+ - os=-coff
2652
+ + os=coff
2653
+ ;;
2654
+ # This must come before the *-dec entry.
2655
+ pdp10-*)
2656
+ - os=-tops20
2657
+ + os=tops20
2658
+ ;;
2659
+ pdp11-*)
2660
+ - os=-none
2661
+ + os=none
2662
+ ;;
2663
+ *-dec | vax-*)
2664
+ - os=-ultrix4.2
2665
+ + os=ultrix4.2
2666
+ ;;
2667
+ m68*-apollo)
2668
+ - os=-domain
2669
+ + os=domain
2670
+ ;;
2671
+ i386-sun)
2672
+ - os=-sunos4.0.2
2673
+ + os=sunos4.0.2
2674
+ ;;
2675
+ m68000-sun)
2676
+ - os=-sunos3
2677
+ + os=sunos3
2678
+ ;;
2679
+ m68*-cisco)
2680
+ - os=-aout
2681
+ + os=aout
2682
+ ;;
2683
+ mep-*)
2684
+ - os=-elf
2685
+ + os=elf
2686
+ ;;
2687
+ mips*-cisco)
2688
+ - os=-elf
2689
+ + os=elf
2690
+ ;;
2691
+ mips*-*)
2692
+ - os=-elf
2693
+ + os=elf
2694
+ ;;
2695
+ or32-*)
2696
+ - os=-coff
2697
+ + os=coff
2698
+ ;;
2699
+ *-tti) # must be before sparc entry or we get the wrong os.
2700
+ - os=-sysv3
2701
+ + os=sysv3
2702
+ ;;
2703
+ sparc-* | *-sun)
2704
+ - os=-sunos4.1.1
2705
+ + os=sunos4.1.1
2706
+ ;;
2707
+ pru-*)
2708
+ - os=-elf
2709
+ + os=elf
2710
+ ;;
2711
+ *-be)
2712
+ - os=-beos
2713
+ + os=beos
2714
+ ;;
2715
+ *-ibm)
2716
+ - os=-aix
2717
+ + os=aix
2718
+ ;;
2719
+ *-knuth)
2720
+ - os=-mmixware
2721
+ + os=mmixware
2722
+ ;;
2723
+ *-wec)
2724
+ - os=-proelf
2725
+ + os=proelf
2726
+ ;;
2727
+ *-winbond)
2728
+ - os=-proelf
2729
+ + os=proelf
2730
+ ;;
2731
+ *-oki)
2732
+ - os=-proelf
2733
+ + os=proelf
2734
+ ;;
2735
+ *-hp)
2736
+ - os=-hpux
2737
+ + os=hpux
2738
+ ;;
2739
+ *-hitachi)
2740
+ - os=-hiux
2741
+ + os=hiux
2742
+ ;;
2743
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
2744
+ - os=-sysv
2745
+ + os=sysv
2746
+ ;;
2747
+ *-cbm)
2748
+ - os=-amigaos
2749
+ + os=amigaos
2750
+ ;;
2751
+ *-dg)
2752
+ - os=-dgux
2753
+ + os=dgux
2754
+ ;;
2755
+ *-dolphin)
2756
+ - os=-sysv3
2757
+ + os=sysv3
2758
+ ;;
2759
+ m68k-ccur)
2760
+ - os=-rtu
2761
+ + os=rtu
2762
+ ;;
2763
+ m88k-omron*)
2764
+ - os=-luna
2765
+ + os=luna
2766
+ ;;
2767
+ *-next)
2768
+ - os=-nextstep
2769
+ + os=nextstep
2770
+ ;;
2771
+ *-sequent)
2772
+ - os=-ptx
2773
+ + os=ptx
2774
+ ;;
2775
+ *-crds)
2776
+ - os=-unos
2777
+ + os=unos
2778
+ ;;
2779
+ *-ns)
2780
+ - os=-genix
2781
+ + os=genix
2782
+ ;;
2783
+ i370-*)
2784
+ - os=-mvs
2785
+ + os=mvs
2786
+ ;;
2787
+ *-gould)
2788
+ - os=-sysv
2789
+ + os=sysv
2790
+ ;;
2791
+ *-highlevel)
2792
+ - os=-bsd
2793
+ + os=bsd
2794
+ ;;
2795
+ *-encore)
2796
+ - os=-bsd
2797
+ + os=bsd
2798
+ ;;
2799
+ *-sgi)
2800
+ - os=-irix
2801
+ + os=irix
2802
+ ;;
2803
+ *-siemens)
2804
+ - os=-sysv4
2805
+ + os=sysv4
2806
+ ;;
2807
+ *-masscomp)
2808
+ - os=-rtu
2809
+ + os=rtu
2810
+ ;;
2811
+ f30[01]-fujitsu | f700-fujitsu)
2812
+ - os=-uxpv
2813
+ + os=uxpv
2814
+ ;;
2815
+ *-rom68k)
2816
+ - os=-coff
2817
+ + os=coff
2818
+ ;;
2819
+ *-*bug)
2820
+ - os=-coff
2821
+ + os=coff
2822
+ ;;
2823
+ *-apple)
2824
+ - os=-macos
2825
+ + os=macos
2826
+ ;;
2827
+ *-atari*)
2828
+ - os=-mint
2829
+ + os=mint
2830
+ + ;;
2831
+ + *-wrs)
2832
+ + os=vxworks
2833
+ ;;
2834
+ *)
2835
+ - os=-none
2836
+ + os=none
2837
+ ;;
2838
+ esac
2839
+ +
2840
+ fi
2841
+
2842
+ +# Now, validate our (potentially fixed-up) OS.
2843
+ +case $os in
2844
+ + # Sometimes we do "kernel-abi", so those need to count as OSes.
2845
+ + musl* | newlib* | uclibc*)
2846
+ + ;;
2847
+ + # Likewise for "kernel-libc"
2848
+ + eabi | eabihf | gnueabi | gnueabihf)
2849
+ + ;;
2850
+ + # Now accept the basic system types.
2851
+ + # The portable systems comes first.
2852
+ + # Each alternative MUST end in a * to match a version number.
2853
+ + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
2854
+ + | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
2855
+ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
2856
+ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
2857
+ + | hiux* | abug | nacl* | netware* | windows* \
2858
+ + | os9* | macos* | osx* | ios* \
2859
+ + | mpw* | magic* | mmixware* | mon960* | lnews* \
2860
+ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
2861
+ + | aos* | aros* | cloudabi* | sortix* | twizzler* \
2862
+ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
2863
+ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
2864
+ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \
2865
+ + | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
2866
+ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
2867
+ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
2868
+ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
2869
+ + | udi* | lites* | ieee* | go32* | aux* | hcos* \
2870
+ + | chorusrdb* | cegcc* | glidix* \
2871
+ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
2872
+ + | midipix* | mingw32* | mingw64* | mint* \
2873
+ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \
2874
+ + | interix* | uwin* | mks* | rhapsody* | darwin* \
2875
+ + | openstep* | oskit* | conix* | pw32* | nonstopux* \
2876
+ + | storm-chaos* | tops10* | tenex* | tops20* | its* \
2877
+ + | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
2878
+ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
2879
+ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
2880
+ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \
2881
+ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
2882
+ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
2883
+ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
2884
+ + ;;
2885
+ + # This one is extra strict with allowed versions
2886
+ + sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
2887
+ + # Don't forget version if it is 3.2v4 or newer.
2888
+ + ;;
2889
+ + none)
2890
+ + ;;
2891
+ + *)
2892
+ + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
2893
+ + exit 1
2894
+ + ;;
2895
+ +esac
2896
+ +
2897
+ +# As a final step for OS-related things, validate the OS-kernel combination
2898
+ +# (given a valid OS), if there is a kernel.
2899
+ +case $kernel-$os in
2900
+ + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
2901
+ + ;;
2902
+ + uclinux-uclibc* )
2903
+ + ;;
2904
+ + -dietlibc* | -newlib* | -musl* | -uclibc* )
2905
+ + # These are just libc implementations, not actual OSes, and thus
2906
+ + # require a kernel.
2907
+ + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
2908
+ + exit 1
2909
+ + ;;
2910
+ + kfreebsd*-gnu* | kopensolaris*-gnu*)
2911
+ + ;;
2912
+ + nto-qnx*)
2913
+ + ;;
2914
+ + os2-emx)
2915
+ + ;;
2916
+ + *-eabi* | *-gnueabi*)
2917
+ + ;;
2918
+ + -*)
2919
+ + # Blank kernel with real OS is always fine.
2920
+ + ;;
2921
+ + *-*)
2922
+ + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
2923
+ + exit 1
2924
+ + ;;
2925
+ +esac
2926
+ +
2927
+ # Here we handle the case where we know the os, and the CPU type, but not the
2928
+ # manufacturer. We pick the logical manufacturer.
2929
+ -vendor=unknown
2930
+ -case $basic_machine in
2931
+ - *-unknown)
2932
+ - case $os in
2933
+ - -riscix*)
2934
+ +case $vendor in
2935
+ + unknown)
2936
+ + case $cpu-$os in
2937
+ + *-riscix*)
2938
+ vendor=acorn
2939
+ ;;
2940
+ - -sunos*)
2941
+ + *-sunos*)
2942
+ vendor=sun
2943
+ ;;
2944
+ - -cnk*|-aix*)
2945
+ + *-cnk* | *-aix*)
2946
+ vendor=ibm
2947
+ ;;
2948
+ - -beos*)
2949
+ + *-beos*)
2950
+ vendor=be
2951
+ ;;
2952
+ - -hpux*)
2953
+ + *-hpux*)
2954
+ vendor=hp
2955
+ ;;
2956
+ - -mpeix*)
2957
+ + *-mpeix*)
2958
+ vendor=hp
2959
+ ;;
2960
+ - -hiux*)
2961
+ + *-hiux*)
2962
+ vendor=hitachi
2963
+ ;;
2964
+ - -unos*)
2965
+ + *-unos*)
2966
+ vendor=crds
2967
+ ;;
2968
+ - -dgux*)
2969
+ + *-dgux*)
2970
+ vendor=dg
2971
+ ;;
2972
+ - -luna*)
2973
+ + *-luna*)
2974
+ vendor=omron
2975
+ ;;
2976
+ - -genix*)
2977
+ + *-genix*)
2978
+ vendor=ns
2979
+ ;;
2980
+ - -mvs* | -opened*)
2981
+ + *-clix*)
2982
+ + vendor=intergraph
2983
+ + ;;
2984
+ + *-mvs* | *-opened*)
2985
+ + vendor=ibm
2986
+ + ;;
2987
+ + *-os400*)
2988
+ vendor=ibm
2989
+ ;;
2990
+ - -os400*)
2991
+ + s390-* | s390x-*)
2992
+ vendor=ibm
2993
+ ;;
2994
+ - -ptx*)
2995
+ + *-ptx*)
2996
+ vendor=sequent
2997
+ ;;
2998
+ - -tpf*)
2999
+ + *-tpf*)
3000
+ vendor=ibm
3001
+ ;;
3002
+ - -vxsim* | -vxworks* | -windiss*)
3003
+ + *-vxsim* | *-vxworks* | *-windiss*)
3004
+ vendor=wrs
3005
+ ;;
3006
+ - -aux*)
3007
+ + *-aux*)
3008
+ vendor=apple
3009
+ ;;
3010
+ - -hms*)
3011
+ + *-hms*)
3012
+ vendor=hitachi
3013
+ ;;
3014
+ - -mpw* | -macos*)
3015
+ + *-mpw* | *-macos*)
3016
+ vendor=apple
3017
+ ;;
3018
+ - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
3019
+ + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
3020
+ vendor=atari
3021
+ ;;
3022
+ - -vos*)
3023
+ + *-vos*)
3024
+ vendor=stratus
3025
+ ;;
3026
+ esac
3027
+ - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
3028
+ ;;
3029
+ esac
3030
+
3031
+ -echo "$basic_machine$os"
3032
+ +echo "$cpu-$vendor-${kernel:+$kernel-}$os"
3033
+ exit
3034
+
3035
+ # Local variables:
3036
+ -# eval: (add-hook 'write-file-functions 'time-stamp)
3037
+ +# eval: (add-hook 'before-save-hook 'time-stamp)
3038
+ # time-stamp-start: "timestamp='"
3039
+ # time-stamp-format: "%:y-%02m-%02d"
3040
+ # time-stamp-end: "'"