nokogiri 1.6.0 → 1.13.2

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