libnet4r 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. data/CHANGELOG +15 -0
  2. data/LICENSE +28 -0
  3. data/README +187 -0
  4. data/Rakefile +110 -0
  5. data/ext/extconf.rb +60 -0
  6. data/ext/libnet.c +705 -0
  7. data/ext/libnet_arp.c +152 -0
  8. data/ext/libnet_ethernet.c +115 -0
  9. data/ext/libnet_ipv4.c +140 -0
  10. data/ext/libnet_ipv6.c +138 -0
  11. data/ext/libnet_udp.c +112 -0
  12. data/ext/libnet_vlan.c +131 -0
  13. data/lib/libnet4r/header.rb +609 -0
  14. data/lib/libnet4r/helpers.rb +19 -0
  15. data/lib/libnet4r/libnet.rb +39 -0
  16. data/libnet/CVS/Entries +24 -0
  17. data/libnet/CVS/Repository +1 -0
  18. data/libnet/CVS/Root +1 -0
  19. data/libnet/Makefile.am +15 -0
  20. data/libnet/Makefile.am.common +10 -0
  21. data/libnet/Makefile.in +443 -0
  22. data/libnet/README +21 -0
  23. data/libnet/VERSION +1 -0
  24. data/libnet/acconfig.h +36 -0
  25. data/libnet/acinclude.m4 +463 -0
  26. data/libnet/aclocal.m4 +1337 -0
  27. data/libnet/autom4te.cache/CVS/Entries +1 -0
  28. data/libnet/autom4te.cache/CVS/Repository +1 -0
  29. data/libnet/autom4te.cache/CVS/Root +1 -0
  30. data/libnet/autom4te.cache/output.0 +6225 -0
  31. data/libnet/autom4te.cache/requests +111 -0
  32. data/libnet/autom4te.cache/traces.0 +272 -0
  33. data/libnet/config.guess +1314 -0
  34. data/libnet/config.sub +1410 -0
  35. data/libnet/configure +6225 -0
  36. data/libnet/configure.in +235 -0
  37. data/libnet/doc/BUGS +19 -0
  38. data/libnet/doc/CHANGELOG +527 -0
  39. data/libnet/doc/CONTRIB +53 -0
  40. data/libnet/doc/COPYING +31 -0
  41. data/libnet/doc/CVS/Entries +12 -0
  42. data/libnet/doc/CVS/Repository +1 -0
  43. data/libnet/doc/CVS/Root +1 -0
  44. data/libnet/doc/DESIGN_NOTES +134 -0
  45. data/libnet/doc/MIGRATION +172 -0
  46. data/libnet/doc/PACKET_BUILDING +161 -0
  47. data/libnet/doc/PORTED +45 -0
  48. data/libnet/doc/RAWSOCKET_NON_SEQUITUR +41 -0
  49. data/libnet/doc/TODO +96 -0
  50. data/libnet/doc/html/acconfig_8h-source.html +49 -0
  51. data/libnet/doc/html/annotated.html +17 -0
  52. data/libnet/doc/html/bpf_8h-source.html +277 -0
  53. data/libnet/doc/html/config_8h-source.html +125 -0
  54. data/libnet/doc/html/doxygen.css +169 -0
  55. data/libnet/doc/html/doxygen.png +0 -0
  56. data/libnet/doc/html/files.html +29 -0
  57. data/libnet/doc/html/functions.html +26 -0
  58. data/libnet/doc/html/functions_vars.html +26 -0
  59. data/libnet/doc/html/getopt_8h-source.html +97 -0
  60. data/libnet/doc/html/globals.html +219 -0
  61. data/libnet/doc/html/globals_defs.html +104 -0
  62. data/libnet/doc/html/globals_func.html +136 -0
  63. data/libnet/doc/html/gnuc_8h-source.html +56 -0
  64. data/libnet/doc/html/graph_legend.dot +22 -0
  65. data/libnet/doc/html/graph_legend.html +75 -0
  66. data/libnet/doc/html/ifaddrlist_8h-source.html +65 -0
  67. data/libnet/doc/html/in__systm_8h-source.html +90 -0
  68. data/libnet/doc/html/index.html +17 -0
  69. data/libnet/doc/html/libnet-asn1_8h-source.html +268 -0
  70. data/libnet/doc/html/libnet-functions_8h-source.html +742 -0
  71. data/libnet/doc/html/libnet-functions_8h.html +8844 -0
  72. data/libnet/doc/html/libnet-headers_8h-source.html +1655 -0
  73. data/libnet/doc/html/libnet-headers_8h.html +3053 -0
  74. data/libnet/doc/html/libnet-macros_8h-source.html +161 -0
  75. data/libnet/doc/html/libnet-macros_8h.html +358 -0
  76. data/libnet/doc/html/libnet-structures_8h-source.html +233 -0
  77. data/libnet/doc/html/libnet-types_8h-source.html +58 -0
  78. data/libnet/doc/html/libnet_8h-source.html +119 -0
  79. data/libnet/doc/html/libnet_8h.html +24 -0
  80. data/libnet/doc/html/structlibnet__802__1q__hdr.html +145 -0
  81. data/libnet/doc/html/structlibnet__802__1x__hdr.html +97 -0
  82. data/libnet/doc/libnet.doxygen.conf +1102 -0
  83. data/libnet/doc/man/CVS/Entries +1 -0
  84. data/libnet/doc/man/CVS/Repository +1 -0
  85. data/libnet/doc/man/CVS/Root +1 -0
  86. data/libnet/doc/man/man3/libnet-functions.h.3 +3136 -0
  87. data/libnet/doc/man/man3/libnet-headers.h.3 +1872 -0
  88. data/libnet/doc/man/man3/libnet-macros.h.3 +172 -0
  89. data/libnet/doc/man/man3/libnet.h.3 +17 -0
  90. data/libnet/doc/man/man3/libnet_802_1q_hdr.3 +53 -0
  91. data/libnet/doc/man/man3/libnet_802_1x_hdr.3 +41 -0
  92. data/libnet/include/CVS/Entries +10 -0
  93. data/libnet/include/CVS/Repository +1 -0
  94. data/libnet/include/CVS/Root +1 -0
  95. data/libnet/include/Makefile.am +7 -0
  96. data/libnet/include/Makefile.in +395 -0
  97. data/libnet/include/bpf.h +264 -0
  98. data/libnet/include/config.h.in +118 -0
  99. data/libnet/include/gnuc.h +43 -0
  100. data/libnet/include/ifaddrlist.h +52 -0
  101. data/libnet/include/libnet/CVS/Entries +9 -0
  102. data/libnet/include/libnet/CVS/Repository +1 -0
  103. data/libnet/include/libnet/CVS/Root +1 -0
  104. data/libnet/include/libnet/Makefile.am +12 -0
  105. data/libnet/include/libnet/Makefile.in +294 -0
  106. data/libnet/include/libnet/libnet-asn1.h +255 -0
  107. data/libnet/include/libnet/libnet-functions.h +2157 -0
  108. data/libnet/include/libnet/libnet-headers.h +1662 -0
  109. data/libnet/include/libnet/libnet-macros.h +186 -0
  110. data/libnet/include/libnet/libnet-structures.h +222 -0
  111. data/libnet/include/libnet/libnet-types.h +45 -0
  112. data/libnet/include/libnet.h.in +132 -0
  113. data/libnet/include/stamp-h.in +1 -0
  114. data/libnet/include/win32/CVS/Entries +5 -0
  115. data/libnet/include/win32/CVS/Repository +1 -0
  116. data/libnet/include/win32/CVS/Root +1 -0
  117. data/libnet/include/win32/config.h +112 -0
  118. data/libnet/include/win32/getopt.h +84 -0
  119. data/libnet/include/win32/in_systm.h +77 -0
  120. data/libnet/include/win32/libnet.h +106 -0
  121. data/libnet/install-sh +250 -0
  122. data/libnet/libnet-config.in +62 -0
  123. data/libnet/libnet.doxygen.conf +1102 -0
  124. data/libnet/man/CVS/Entries +1 -0
  125. data/libnet/man/CVS/Repository +1 -0
  126. data/libnet/man/CVS/Root +1 -0
  127. data/libnet/missing +283 -0
  128. data/libnet/mkinstalldirs +40 -0
  129. data/libnet/sample/CVS/Entries +47 -0
  130. data/libnet/sample/CVS/Repository +1 -0
  131. data/libnet/sample/CVS/Root +1 -0
  132. data/libnet/sample/Makefile.am +63 -0
  133. data/libnet/sample/Makefile.in +729 -0
  134. data/libnet/sample/arp-new.c +144 -0
  135. data/libnet/sample/arp.c +151 -0
  136. data/libnet/sample/bgp4_hdr.c +225 -0
  137. data/libnet/sample/bgp4_notification.c +242 -0
  138. data/libnet/sample/bgp4_open.c +266 -0
  139. data/libnet/sample/bgp4_update.c +337 -0
  140. data/libnet/sample/cdp.c +187 -0
  141. data/libnet/sample/dhcp_discover.c +257 -0
  142. data/libnet/sample/dns.c +260 -0
  143. data/libnet/sample/dot1x.c +113 -0
  144. data/libnet/sample/fddi_tcp1.c +213 -0
  145. data/libnet/sample/fddi_tcp2.c +209 -0
  146. data/libnet/sample/get_addr.c +112 -0
  147. data/libnet/sample/gre.c +410 -0
  148. data/libnet/sample/icmp6_echoreq.c +184 -0
  149. data/libnet/sample/icmp_echo_cq.c +201 -0
  150. data/libnet/sample/icmp_redirect.c +200 -0
  151. data/libnet/sample/icmp_timeexceed.c +190 -0
  152. data/libnet/sample/icmp_timestamp.c +157 -0
  153. data/libnet/sample/icmp_unreach.c +204 -0
  154. data/libnet/sample/ieee.c +177 -0
  155. data/libnet/sample/ip_link.c +201 -0
  156. data/libnet/sample/ip_raw.c +180 -0
  157. data/libnet/sample/isl.c +167 -0
  158. data/libnet/sample/libnet_test.h +60 -0
  159. data/libnet/sample/mpls.c +251 -0
  160. data/libnet/sample/ntp.c +193 -0
  161. data/libnet/sample/ospf_hello.c +179 -0
  162. data/libnet/sample/ospf_lsa.c +190 -0
  163. data/libnet/sample/ping_of_death.c +171 -0
  164. data/libnet/sample/rpc_tcp.c +214 -0
  165. data/libnet/sample/rpc_udp.c +213 -0
  166. data/libnet/sample/sebek.c +299 -0
  167. data/libnet/sample/smurf.c +194 -0
  168. data/libnet/sample/stp.c +227 -0
  169. data/libnet/sample/synflood.c +200 -0
  170. data/libnet/sample/synflood6.c +209 -0
  171. data/libnet/sample/synflood6_frag.c +234 -0
  172. data/libnet/sample/tcp1.c +227 -0
  173. data/libnet/sample/tcp2.c +192 -0
  174. data/libnet/sample/tftp.c +207 -0
  175. data/libnet/sample/tring_tcp1.c +214 -0
  176. data/libnet/sample/tring_tcp2.c +210 -0
  177. data/libnet/sample/udp1.c +223 -0
  178. data/libnet/sample/udp2.c +232 -0
  179. data/libnet/sample/win32/CVS/Entries +9 -0
  180. data/libnet/sample/win32/CVS/Repository +1 -0
  181. data/libnet/sample/win32/CVS/Root +1 -0
  182. data/libnet/sample/win32/arp/CVS/Entries +2 -0
  183. data/libnet/sample/win32/arp/CVS/Repository +1 -0
  184. data/libnet/sample/win32/arp/CVS/Root +1 -0
  185. data/libnet/sample/win32/arp/arp.vcproj +136 -0
  186. data/libnet/sample/win32/cdp/CVS/Entries +2 -0
  187. data/libnet/sample/win32/cdp/CVS/Repository +1 -0
  188. data/libnet/sample/win32/cdp/CVS/Root +1 -0
  189. data/libnet/sample/win32/cdp/cdp.vcproj +136 -0
  190. data/libnet/sample/win32/dhcp_discover/CVS/Entries +2 -0
  191. data/libnet/sample/win32/dhcp_discover/CVS/Repository +1 -0
  192. data/libnet/sample/win32/dhcp_discover/CVS/Root +1 -0
  193. data/libnet/sample/win32/dhcp_discover/dhcp_discover.vcproj +139 -0
  194. data/libnet/sample/win32/dns/CVS/Entries +2 -0
  195. data/libnet/sample/win32/dns/CVS/Repository +1 -0
  196. data/libnet/sample/win32/dns/CVS/Root +1 -0
  197. data/libnet/sample/win32/dns/dns.vcproj +139 -0
  198. data/libnet/sample/win32/get_addr/CVS/Entries +2 -0
  199. data/libnet/sample/win32/get_addr/CVS/Repository +1 -0
  200. data/libnet/sample/win32/get_addr/CVS/Root +1 -0
  201. data/libnet/sample/win32/get_addr/get_addr.vcproj +139 -0
  202. data/libnet/sample/win32/getopt.c +121 -0
  203. data/libnet/sample/win32/icmp_echo_cq/CVS/Entries +2 -0
  204. data/libnet/sample/win32/icmp_echo_cq/CVS/Repository +1 -0
  205. data/libnet/sample/win32/icmp_echo_cq/CVS/Root +1 -0
  206. data/libnet/sample/win32/icmp_echo_cq/icmp_echo_cq.vcproj +139 -0
  207. data/libnet/sample/win32/tcp1/CVS/Entries +2 -0
  208. data/libnet/sample/win32/tcp1/CVS/Repository +1 -0
  209. data/libnet/sample/win32/tcp1/CVS/Root +1 -0
  210. data/libnet/sample/win32/tcp1/tcp1.vcproj +142 -0
  211. data/libnet/sample/win32/udp1/CVS/Entries +3 -0
  212. data/libnet/sample/win32/udp1/CVS/Repository +1 -0
  213. data/libnet/sample/win32/udp1/CVS/Root +1 -0
  214. data/libnet/sample/win32/udp1/dns.vcproj +125 -0
  215. data/libnet/sample/win32/udp1/udp1.vcproj +139 -0
  216. data/libnet/src/CVS/Entries +60 -0
  217. data/libnet/src/CVS/Repository +1 -0
  218. data/libnet/src/CVS/Root +1 -0
  219. data/libnet/src/Makefile.am +71 -0
  220. data/libnet/src/Makefile.in +428 -0
  221. data/libnet/src/libnet_advanced.c +136 -0
  222. data/libnet/src/libnet_asn1.c +436 -0
  223. data/libnet/src/libnet_build_802.1q.c +115 -0
  224. data/libnet/src/libnet_build_802.1x.c +103 -0
  225. data/libnet/src/libnet_build_802.2.c +167 -0
  226. data/libnet/src/libnet_build_802.3.c +101 -0
  227. data/libnet/src/libnet_build_arp.c +169 -0
  228. data/libnet/src/libnet_build_bgp.c +350 -0
  229. data/libnet/src/libnet_build_cdp.c +191 -0
  230. data/libnet/src/libnet_build_data.c +90 -0
  231. data/libnet/src/libnet_build_dhcp.c +156 -0
  232. data/libnet/src/libnet_build_dns.c +129 -0
  233. data/libnet/src/libnet_build_ethernet.c +173 -0
  234. data/libnet/src/libnet_build_fddi.c +191 -0
  235. data/libnet/src/libnet_build_gre.c +427 -0
  236. data/libnet/src/libnet_build_icmp.c +437 -0
  237. data/libnet/src/libnet_build_igmp.c +112 -0
  238. data/libnet/src/libnet_build_ip.c +892 -0
  239. data/libnet/src/libnet_build_ipsec.c +232 -0
  240. data/libnet/src/libnet_build_isl.c +113 -0
  241. data/libnet/src/libnet_build_link.c +90 -0
  242. data/libnet/src/libnet_build_mpls.c +112 -0
  243. data/libnet/src/libnet_build_ntp.c +121 -0
  244. data/libnet/src/libnet_build_ospf.c +699 -0
  245. data/libnet/src/libnet_build_rip.c +108 -0
  246. data/libnet/src/libnet_build_rpc.c +138 -0
  247. data/libnet/src/libnet_build_sebek.c +108 -0
  248. data/libnet/src/libnet_build_snmp.c +52 -0
  249. data/libnet/src/libnet_build_stp.c +222 -0
  250. data/libnet/src/libnet_build_tcp.c +365 -0
  251. data/libnet/src/libnet_build_token_ring.c +193 -0
  252. data/libnet/src/libnet_build_udp.c +111 -0
  253. data/libnet/src/libnet_build_vrrp.c +117 -0
  254. data/libnet/src/libnet_checksum.c +376 -0
  255. data/libnet/src/libnet_cq.c +395 -0
  256. data/libnet/src/libnet_crc.c +113 -0
  257. data/libnet/src/libnet_dll.c +47 -0
  258. data/libnet/src/libnet_error.c +55 -0
  259. data/libnet/src/libnet_if_addr.c +415 -0
  260. data/libnet/src/libnet_init.c +234 -0
  261. data/libnet/src/libnet_internal.c +310 -0
  262. data/libnet/src/libnet_link_bpf.c +348 -0
  263. data/libnet/src/libnet_link_dlpi.c +785 -0
  264. data/libnet/src/libnet_link_linux.c +310 -0
  265. data/libnet/src/libnet_link_nit.c +125 -0
  266. data/libnet/src/libnet_link_none.c +66 -0
  267. data/libnet/src/libnet_link_pf.c +179 -0
  268. data/libnet/src/libnet_link_snit.c +149 -0
  269. data/libnet/src/libnet_link_snoop.c +166 -0
  270. data/libnet/src/libnet_link_win32.c +346 -0
  271. data/libnet/src/libnet_pblock.c +511 -0
  272. data/libnet/src/libnet_port_list.c +295 -0
  273. data/libnet/src/libnet_prand.c +106 -0
  274. data/libnet/src/libnet_raw.c +257 -0
  275. data/libnet/src/libnet_resolve.c +414 -0
  276. data/libnet/src/libnet_version.c +54 -0
  277. data/libnet/src/libnet_write.c +502 -0
  278. data/libnet/version.h.in +6 -0
  279. data/libnet/win32/CVS/Entries +15 -0
  280. data/libnet/win32/CVS/Repository +1 -0
  281. data/libnet/win32/CVS/Root +1 -0
  282. data/libnet/win32/Libnet-1.1.1-2002.sln +77 -0
  283. data/libnet/win32/Libnet-1.1.1-2003.ncb +0 -0
  284. data/libnet/win32/Libnet-1.1.1-2003.sln +84 -0
  285. data/libnet/win32/Libnet-1.1.1-2003.suo +0 -0
  286. data/libnet/win32/Libnet-1.1.1.vcproj +311 -0
  287. data/libnet/win32/Libnet-latest.ncb +0 -0
  288. data/libnet/win32/Libnet-latest.opt +0 -0
  289. data/libnet/win32/Libnet-latest.sln +77 -0
  290. data/libnet/win32/Libnet-latest.suo +0 -0
  291. data/libnet/win32/Libnet-latest.vcproj +311 -0
  292. data/libnet/win32/Libnet.dsp +337 -0
  293. data/libnet/win32/Libnet.dsw +32 -0
  294. data/libnet/win32/README.txt +57 -0
  295. data/libnet/win32/libnet_dll.def +164 -0
  296. data/test/tc_arp.rb +169 -0
  297. data/test/tc_class.rb +219 -0
  298. data/test/tc_ethernet.rb +97 -0
  299. data/test/tc_header.rb +163 -0
  300. data/test/tc_init.rb +25 -0
  301. data/test/tc_ipv4.rb +219 -0
  302. data/test/tc_ipv6.rb +235 -0
  303. data/test/tc_udp.rb +229 -0
  304. data/test/tc_vlan.rb +118 -0
  305. data/test/ts_all.rb +15 -0
  306. metadata +401 -0
data/libnet/config.sub ADDED
@@ -0,0 +1,1410 @@
1
+ #! /bin/sh
2
+ # Configuration validation subroutine script.
3
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4
+ # Free Software Foundation, Inc.
5
+
6
+ timestamp='2001-08-13'
7
+
8
+ # This file is (in principle) common to ALL GNU software.
9
+ # The presence of a machine in this file suggests that SOME GNU software
10
+ # can handle that machine. It does not imply ALL GNU software can.
11
+ #
12
+ # This file is free software; you can redistribute it and/or modify
13
+ # it under the terms of the GNU General Public License as published by
14
+ # the Free Software Foundation; either version 2 of the License, or
15
+ # (at your option) any later version.
16
+ #
17
+ # This program is distributed in the hope that it will be useful,
18
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ # GNU General Public License for more details.
21
+ #
22
+ # You should have received a copy of the GNU General Public License
23
+ # along with this program; if not, write to the Free Software
24
+ # Foundation, Inc., 59 Temple Place - Suite 330,
25
+ # Boston, MA 02111-1307, USA.
26
+
27
+ # As a special exception to the GNU General Public License, if you
28
+ # distribute this file as part of a program that contains a
29
+ # configuration script generated by Autoconf, you may include it under
30
+ # the same distribution terms that you use for the rest of that program.
31
+
32
+ # Please send patches to <config-patches@gnu.org>.
33
+ #
34
+ # Configuration subroutine to validate and canonicalize a configuration type.
35
+ # Supply the specified configuration type as an argument.
36
+ # If it is invalid, we print an error message on stderr and exit with code 1.
37
+ # Otherwise, we print the canonical config type on stdout and succeed.
38
+
39
+ # This file is supposed to be the same for all GNU packages
40
+ # and recognize all the CPU types, system types and aliases
41
+ # that are meaningful with *any* GNU software.
42
+ # Each package is responsible for reporting which valid configurations
43
+ # it does not support. The user should be able to distinguish
44
+ # a failure to support a valid configuration from a meaningless
45
+ # configuration.
46
+
47
+ # The goal of this file is to map all the various variations of a given
48
+ # machine specification into a single specification in the form:
49
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
50
+ # or in some cases, the newer four-part form:
51
+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
52
+ # It is wrong to echo any other type of specification.
53
+
54
+ me=`echo "$0" | sed -e 's,.*/,,'`
55
+
56
+ usage="\
57
+ Usage: $0 [OPTION] CPU-MFR-OPSYS
58
+ $0 [OPTION] ALIAS
59
+
60
+ Canonicalize a configuration name.
61
+
62
+ Operation modes:
63
+ -h, --help print this help, then exit
64
+ -t, --time-stamp print date of last modification, then exit
65
+ -v, --version print version number, then exit
66
+
67
+ Report bugs and patches to <config-patches@gnu.org>."
68
+
69
+ version="\
70
+ GNU config.sub ($timestamp)
71
+
72
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
73
+ Free Software Foundation, Inc.
74
+
75
+ This is free software; see the source for copying conditions. There is NO
76
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
77
+
78
+ help="
79
+ Try \`$me --help' for more information."
80
+
81
+ # Parse command line
82
+ while test $# -gt 0 ; do
83
+ case $1 in
84
+ --time-stamp | --time* | -t )
85
+ echo "$timestamp" ; exit 0 ;;
86
+ --version | -v )
87
+ echo "$version" ; exit 0 ;;
88
+ --help | --h* | -h )
89
+ echo "$usage"; exit 0 ;;
90
+ -- ) # Stop option processing
91
+ shift; break ;;
92
+ - ) # Use stdin as input.
93
+ break ;;
94
+ -* )
95
+ echo "$me: invalid option $1$help"
96
+ exit 1 ;;
97
+
98
+ *local*)
99
+ # First pass through any local machine types.
100
+ echo $1
101
+ exit 0;;
102
+
103
+ * )
104
+ break ;;
105
+ esac
106
+ done
107
+
108
+ case $# in
109
+ 0) echo "$me: missing argument$help" >&2
110
+ exit 1;;
111
+ 1) ;;
112
+ *) echo "$me: too many arguments$help" >&2
113
+ exit 1;;
114
+ esac
115
+
116
+ # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
117
+ # Here we must recognize all the valid KERNEL-OS combinations.
118
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
119
+ case $maybe_os in
120
+ nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
121
+ os=-$maybe_os
122
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
123
+ ;;
124
+ *)
125
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
126
+ if [ $basic_machine != $1 ]
127
+ then os=`echo $1 | sed 's/.*-/-/'`
128
+ else os=; fi
129
+ ;;
130
+ esac
131
+
132
+ ### Let's recognize common machines as not being operating systems so
133
+ ### that things like config.sub decstation-3100 work. We also
134
+ ### recognize some manufacturers as not being operating systems, so we
135
+ ### can provide default operating systems below.
136
+ case $os in
137
+ -sun*os*)
138
+ # Prevent following clause from handling this invalid input.
139
+ ;;
140
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
141
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
142
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
143
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
144
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
145
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
146
+ -apple | -axis)
147
+ os=
148
+ basic_machine=$1
149
+ ;;
150
+ -sim | -cisco | -oki | -wec | -winbond)
151
+ os=
152
+ basic_machine=$1
153
+ ;;
154
+ -scout)
155
+ ;;
156
+ -wrs)
157
+ os=-vxworks
158
+ basic_machine=$1
159
+ ;;
160
+ -chorusos*)
161
+ os=-chorusos
162
+ basic_machine=$1
163
+ ;;
164
+ -chorusrdb)
165
+ os=-chorusrdb
166
+ basic_machine=$1
167
+ ;;
168
+ -hiux*)
169
+ os=-hiuxwe2
170
+ ;;
171
+ -sco5)
172
+ os=-sco3.2v5
173
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
174
+ ;;
175
+ -sco4)
176
+ os=-sco3.2v4
177
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
178
+ ;;
179
+ -sco3.2.[4-9]*)
180
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
181
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
182
+ ;;
183
+ -sco3.2v[4-9]*)
184
+ # Don't forget version if it is 3.2v4 or newer.
185
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186
+ ;;
187
+ -sco*)
188
+ os=-sco3.2v2
189
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190
+ ;;
191
+ -udk*)
192
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
193
+ ;;
194
+ -isc)
195
+ os=-isc2.2
196
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
197
+ ;;
198
+ -clix*)
199
+ basic_machine=clipper-intergraph
200
+ ;;
201
+ -isc*)
202
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203
+ ;;
204
+ -lynx*)
205
+ os=-lynxos
206
+ ;;
207
+ -ptx*)
208
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
209
+ ;;
210
+ -windowsnt*)
211
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
212
+ ;;
213
+ -psos*)
214
+ os=-psos
215
+ ;;
216
+ -mint | -mint[0-9]*)
217
+ basic_machine=m68k-atari
218
+ os=-mint
219
+ ;;
220
+ esac
221
+
222
+ # Decode aliases for certain CPU-COMPANY combinations.
223
+ case $basic_machine in
224
+ # Recognize the basic CPU types without company name.
225
+ # Some are omitted here because they have special meanings below.
226
+ 1750a | 580 \
227
+ | a29k \
228
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
229
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
230
+ | c4x | clipper \
231
+ | d10v | d30v | dsp16xx \
232
+ | fr30 \
233
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
234
+ | i370 | i860 | i960 | ia64 \
235
+ | m32r | m68000 | m68k | m88k | mcore \
236
+ | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
237
+ | mips64vr4100 | mips64vr4100el | mips64vr4300 \
238
+ | mips64vr4300el | mips64vr5000 | mips64vr5000el \
239
+ | mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \
240
+ | mn10200 | mn10300 \
241
+ | ns16k | ns32k \
242
+ | openrisc \
243
+ | pdp10 | pdp11 | pj | pjl \
244
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
245
+ | pyramid \
246
+ | s390 | s390x \
247
+ | sh | sh[34] | sh[34]eb | shbe | shle \
248
+ | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
249
+ | strongarm \
250
+ | tahoe | thumb | tic80 | tron \
251
+ | v850 \
252
+ | we32k \
253
+ | x86 | xscale \
254
+ | z8k)
255
+ basic_machine=$basic_machine-unknown
256
+ ;;
257
+ m6811 | m68hc11 | m6812 | m68hc12)
258
+ # Motorola 68HC11/12.
259
+ basic_machine=$basic_machine-unknown
260
+ os=-none
261
+ ;;
262
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
263
+ ;;
264
+
265
+ # We use `pc' rather than `unknown'
266
+ # because (1) that's what they normally are, and
267
+ # (2) the word "unknown" tends to confuse beginning users.
268
+ i*86 | x86_64)
269
+ basic_machine=$basic_machine-pc
270
+ ;;
271
+ # Object if more than one company name word.
272
+ *-*-*)
273
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
274
+ exit 1
275
+ ;;
276
+ # Recognize the basic CPU types with company name.
277
+ 580-* \
278
+ | a29k-* \
279
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
280
+ | alphapca5[67]-* | arc-* \
281
+ | arm-* | armbe-* | armle-* | armv*-* \
282
+ | bs2000-* \
283
+ | c[123]* | c30-* | [cjt]90-* | c54x-* \
284
+ | clipper-* | cray2-* | cydra-* \
285
+ | d10v-* | d30v-* \
286
+ | elxsi-* \
287
+ | f30[01]-* | f700-* | fr30-* | fx80-* \
288
+ | h8300-* | h8500-* \
289
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
290
+ | i*86-* | i860-* | i960-* | ia64-* \
291
+ | m32r-* \
292
+ | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
293
+ | m88110-* | m88k-* | mcore-* \
294
+ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
295
+ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
296
+ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \
297
+ | mipsle-* | mipstx39-* | mipstx39el-* \
298
+ | none-* | np1-* | ns16k-* | ns32k-* \
299
+ | orion-* \
300
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
301
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
302
+ | pyramid-* \
303
+ | romp-* | rs6000-* \
304
+ | s390-* | s390x-* \
305
+ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
306
+ | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
307
+ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
308
+ | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
309
+ | v850-* | vax-* \
310
+ | we32k-* \
311
+ | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
312
+ | ymp-* \
313
+ | z8k-*)
314
+ ;;
315
+ # Recognize the various machine names and aliases which stand
316
+ # for a CPU type and a company and sometimes even an OS.
317
+ 386bsd)
318
+ basic_machine=i386-unknown
319
+ os=-bsd
320
+ ;;
321
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
322
+ basic_machine=m68000-att
323
+ ;;
324
+ 3b*)
325
+ basic_machine=we32k-att
326
+ ;;
327
+ a29khif)
328
+ basic_machine=a29k-amd
329
+ os=-udi
330
+ ;;
331
+ adobe68k)
332
+ basic_machine=m68010-adobe
333
+ os=-scout
334
+ ;;
335
+ alliant | fx80)
336
+ basic_machine=fx80-alliant
337
+ ;;
338
+ altos | altos3068)
339
+ basic_machine=m68k-altos
340
+ ;;
341
+ am29k)
342
+ basic_machine=a29k-none
343
+ os=-bsd
344
+ ;;
345
+ amdahl)
346
+ basic_machine=580-amdahl
347
+ os=-sysv
348
+ ;;
349
+ amiga | amiga-*)
350
+ basic_machine=m68k-unknown
351
+ ;;
352
+ amigaos | amigados)
353
+ basic_machine=m68k-unknown
354
+ os=-amigaos
355
+ ;;
356
+ amigaunix | amix)
357
+ basic_machine=m68k-unknown
358
+ os=-sysv4
359
+ ;;
360
+ apollo68)
361
+ basic_machine=m68k-apollo
362
+ os=-sysv
363
+ ;;
364
+ apollo68bsd)
365
+ basic_machine=m68k-apollo
366
+ os=-bsd
367
+ ;;
368
+ aux)
369
+ basic_machine=m68k-apple
370
+ os=-aux
371
+ ;;
372
+ balance)
373
+ basic_machine=ns32k-sequent
374
+ os=-dynix
375
+ ;;
376
+ convex-c1)
377
+ basic_machine=c1-convex
378
+ os=-bsd
379
+ ;;
380
+ convex-c2)
381
+ basic_machine=c2-convex
382
+ os=-bsd
383
+ ;;
384
+ convex-c32)
385
+ basic_machine=c32-convex
386
+ os=-bsd
387
+ ;;
388
+ convex-c34)
389
+ basic_machine=c34-convex
390
+ os=-bsd
391
+ ;;
392
+ convex-c38)
393
+ basic_machine=c38-convex
394
+ os=-bsd
395
+ ;;
396
+ cray | ymp)
397
+ basic_machine=ymp-cray
398
+ os=-unicos
399
+ ;;
400
+ cray2)
401
+ basic_machine=cray2-cray
402
+ os=-unicos
403
+ ;;
404
+ [cjt]90)
405
+ basic_machine=${basic_machine}-cray
406
+ os=-unicos
407
+ ;;
408
+ crds | unos)
409
+ basic_machine=m68k-crds
410
+ ;;
411
+ cris | cris-* | etrax*)
412
+ basic_machine=cris-axis
413
+ ;;
414
+ da30 | da30-*)
415
+ basic_machine=m68k-da30
416
+ ;;
417
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
418
+ basic_machine=mips-dec
419
+ ;;
420
+ delta | 3300 | motorola-3300 | motorola-delta \
421
+ | 3300-motorola | delta-motorola)
422
+ basic_machine=m68k-motorola
423
+ ;;
424
+ delta88)
425
+ basic_machine=m88k-motorola
426
+ os=-sysv3
427
+ ;;
428
+ dpx20 | dpx20-*)
429
+ basic_machine=rs6000-bull
430
+ os=-bosx
431
+ ;;
432
+ dpx2* | dpx2*-bull)
433
+ basic_machine=m68k-bull
434
+ os=-sysv3
435
+ ;;
436
+ ebmon29k)
437
+ basic_machine=a29k-amd
438
+ os=-ebmon
439
+ ;;
440
+ elxsi)
441
+ basic_machine=elxsi-elxsi
442
+ os=-bsd
443
+ ;;
444
+ encore | umax | mmax)
445
+ basic_machine=ns32k-encore
446
+ ;;
447
+ es1800 | OSE68k | ose68k | ose | OSE)
448
+ basic_machine=m68k-ericsson
449
+ os=-ose
450
+ ;;
451
+ fx2800)
452
+ basic_machine=i860-alliant
453
+ ;;
454
+ genix)
455
+ basic_machine=ns32k-ns
456
+ ;;
457
+ gmicro)
458
+ basic_machine=tron-gmicro
459
+ os=-sysv
460
+ ;;
461
+ go32)
462
+ basic_machine=i386-pc
463
+ os=-go32
464
+ ;;
465
+ h3050r* | hiux*)
466
+ basic_machine=hppa1.1-hitachi
467
+ os=-hiuxwe2
468
+ ;;
469
+ h8300hms)
470
+ basic_machine=h8300-hitachi
471
+ os=-hms
472
+ ;;
473
+ h8300xray)
474
+ basic_machine=h8300-hitachi
475
+ os=-xray
476
+ ;;
477
+ h8500hms)
478
+ basic_machine=h8500-hitachi
479
+ os=-hms
480
+ ;;
481
+ harris)
482
+ basic_machine=m88k-harris
483
+ os=-sysv3
484
+ ;;
485
+ hp300-*)
486
+ basic_machine=m68k-hp
487
+ ;;
488
+ hp300bsd)
489
+ basic_machine=m68k-hp
490
+ os=-bsd
491
+ ;;
492
+ hp300hpux)
493
+ basic_machine=m68k-hp
494
+ os=-hpux
495
+ ;;
496
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
497
+ basic_machine=hppa1.0-hp
498
+ ;;
499
+ hp9k2[0-9][0-9] | hp9k31[0-9])
500
+ basic_machine=m68000-hp
501
+ ;;
502
+ hp9k3[2-9][0-9])
503
+ basic_machine=m68k-hp
504
+ ;;
505
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
506
+ basic_machine=hppa1.0-hp
507
+ ;;
508
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
509
+ basic_machine=hppa1.1-hp
510
+ ;;
511
+ hp9k78[0-9] | hp78[0-9])
512
+ # FIXME: really hppa2.0-hp
513
+ basic_machine=hppa1.1-hp
514
+ ;;
515
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
516
+ # FIXME: really hppa2.0-hp
517
+ basic_machine=hppa1.1-hp
518
+ ;;
519
+ hp9k8[0-9][13679] | hp8[0-9][13679])
520
+ basic_machine=hppa1.1-hp
521
+ ;;
522
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
523
+ basic_machine=hppa1.0-hp
524
+ ;;
525
+ hppa-next)
526
+ os=-nextstep3
527
+ ;;
528
+ hppaosf)
529
+ basic_machine=hppa1.1-hp
530
+ os=-osf
531
+ ;;
532
+ hppro)
533
+ basic_machine=hppa1.1-hp
534
+ os=-proelf
535
+ ;;
536
+ i370-ibm* | ibm*)
537
+ basic_machine=i370-ibm
538
+ ;;
539
+ # I'm not sure what "Sysv32" means. Should this be sysv3.2?
540
+ i*86v32)
541
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
542
+ os=-sysv32
543
+ ;;
544
+ i*86v4*)
545
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
546
+ os=-sysv4
547
+ ;;
548
+ i*86v)
549
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
550
+ os=-sysv
551
+ ;;
552
+ i*86sol2)
553
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
554
+ os=-solaris2
555
+ ;;
556
+ i386mach)
557
+ basic_machine=i386-mach
558
+ os=-mach
559
+ ;;
560
+ i386-vsta | vsta)
561
+ basic_machine=i386-unknown
562
+ os=-vsta
563
+ ;;
564
+ iris | iris4d)
565
+ basic_machine=mips-sgi
566
+ case $os in
567
+ -irix*)
568
+ ;;
569
+ *)
570
+ os=-irix4
571
+ ;;
572
+ esac
573
+ ;;
574
+ isi68 | isi)
575
+ basic_machine=m68k-isi
576
+ os=-sysv
577
+ ;;
578
+ m88k-omron*)
579
+ basic_machine=m88k-omron
580
+ ;;
581
+ magnum | m3230)
582
+ basic_machine=mips-mips
583
+ os=-sysv
584
+ ;;
585
+ merlin)
586
+ basic_machine=ns32k-utek
587
+ os=-sysv
588
+ ;;
589
+ mingw32)
590
+ basic_machine=i386-pc
591
+ os=-mingw32
592
+ ;;
593
+ miniframe)
594
+ basic_machine=m68000-convergent
595
+ ;;
596
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
597
+ basic_machine=m68k-atari
598
+ os=-mint
599
+ ;;
600
+ mipsel*-linux*)
601
+ basic_machine=mipsel-unknown
602
+ os=-linux-gnu
603
+ ;;
604
+ mips*-linux*)
605
+ basic_machine=mips-unknown
606
+ os=-linux-gnu
607
+ ;;
608
+ mips3*-*)
609
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
610
+ ;;
611
+ mips3*)
612
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
613
+ ;;
614
+ mmix*)
615
+ basic_machine=mmix-knuth
616
+ os=-mmixware
617
+ ;;
618
+ monitor)
619
+ basic_machine=m68k-rom68k
620
+ os=-coff
621
+ ;;
622
+ msdos)
623
+ basic_machine=i386-pc
624
+ os=-msdos
625
+ ;;
626
+ mvs)
627
+ basic_machine=i370-ibm
628
+ os=-mvs
629
+ ;;
630
+ ncr3000)
631
+ basic_machine=i486-ncr
632
+ os=-sysv4
633
+ ;;
634
+ netbsd386)
635
+ basic_machine=i386-unknown
636
+ os=-netbsd
637
+ ;;
638
+ netwinder)
639
+ basic_machine=armv4l-rebel
640
+ os=-linux
641
+ ;;
642
+ news | news700 | news800 | news900)
643
+ basic_machine=m68k-sony
644
+ os=-newsos
645
+ ;;
646
+ news1000)
647
+ basic_machine=m68030-sony
648
+ os=-newsos
649
+ ;;
650
+ news-3600 | risc-news)
651
+ basic_machine=mips-sony
652
+ os=-newsos
653
+ ;;
654
+ necv70)
655
+ basic_machine=v70-nec
656
+ os=-sysv
657
+ ;;
658
+ next | m*-next )
659
+ basic_machine=m68k-next
660
+ case $os in
661
+ -nextstep* )
662
+ ;;
663
+ -ns2*)
664
+ os=-nextstep2
665
+ ;;
666
+ *)
667
+ os=-nextstep3
668
+ ;;
669
+ esac
670
+ ;;
671
+ nh3000)
672
+ basic_machine=m68k-harris
673
+ os=-cxux
674
+ ;;
675
+ nh[45]000)
676
+ basic_machine=m88k-harris
677
+ os=-cxux
678
+ ;;
679
+ nindy960)
680
+ basic_machine=i960-intel
681
+ os=-nindy
682
+ ;;
683
+ mon960)
684
+ basic_machine=i960-intel
685
+ os=-mon960
686
+ ;;
687
+ nonstopux)
688
+ basic_machine=mips-compaq
689
+ os=-nonstopux
690
+ ;;
691
+ np1)
692
+ basic_machine=np1-gould
693
+ ;;
694
+ nsr-tandem)
695
+ basic_machine=nsr-tandem
696
+ ;;
697
+ op50n-* | op60c-*)
698
+ basic_machine=hppa1.1-oki
699
+ os=-proelf
700
+ ;;
701
+ OSE68000 | ose68000)
702
+ basic_machine=m68000-ericsson
703
+ os=-ose
704
+ ;;
705
+ os68k)
706
+ basic_machine=m68k-none
707
+ os=-os68k
708
+ ;;
709
+ pa-hitachi)
710
+ basic_machine=hppa1.1-hitachi
711
+ os=-hiuxwe2
712
+ ;;
713
+ paragon)
714
+ basic_machine=i860-intel
715
+ os=-osf
716
+ ;;
717
+ pbd)
718
+ basic_machine=sparc-tti
719
+ ;;
720
+ pbb)
721
+ basic_machine=m68k-tti
722
+ ;;
723
+ pc532 | pc532-*)
724
+ basic_machine=ns32k-pc532
725
+ ;;
726
+ pentium | p5 | k5 | k6 | nexgen)
727
+ basic_machine=i586-pc
728
+ ;;
729
+ pentiumpro | p6 | 6x86 | athlon)
730
+ basic_machine=i686-pc
731
+ ;;
732
+ pentiumii | pentium2)
733
+ basic_machine=i686-pc
734
+ ;;
735
+ pentium-* | p5-* | k5-* | k6-* | nexgen-*)
736
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
737
+ ;;
738
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
739
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
740
+ ;;
741
+ pentiumii-* | pentium2-*)
742
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
743
+ ;;
744
+ pn)
745
+ basic_machine=pn-gould
746
+ ;;
747
+ power) basic_machine=power-ibm
748
+ ;;
749
+ ppc) basic_machine=powerpc-unknown
750
+ ;;
751
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
752
+ ;;
753
+ ppcle | powerpclittle | ppc-le | powerpc-little)
754
+ basic_machine=powerpcle-unknown
755
+ ;;
756
+ ppcle-* | powerpclittle-*)
757
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
758
+ ;;
759
+ ppc64) basic_machine=powerpc64-unknown
760
+ ;;
761
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
762
+ ;;
763
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
764
+ basic_machine=powerpc64le-unknown
765
+ ;;
766
+ ppc64le-* | powerpc64little-*)
767
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
768
+ ;;
769
+ ps2)
770
+ basic_machine=i386-ibm
771
+ ;;
772
+ pw32)
773
+ basic_machine=i586-unknown
774
+ os=-pw32
775
+ ;;
776
+ rom68k)
777
+ basic_machine=m68k-rom68k
778
+ os=-coff
779
+ ;;
780
+ rm[46]00)
781
+ basic_machine=mips-siemens
782
+ ;;
783
+ rtpc | rtpc-*)
784
+ basic_machine=romp-ibm
785
+ ;;
786
+ sa29200)
787
+ basic_machine=a29k-amd
788
+ os=-udi
789
+ ;;
790
+ sequent)
791
+ basic_machine=i386-sequent
792
+ ;;
793
+ sh)
794
+ basic_machine=sh-hitachi
795
+ os=-hms
796
+ ;;
797
+ sparclite-wrs)
798
+ basic_machine=sparclite-wrs
799
+ os=-vxworks
800
+ ;;
801
+ sps7)
802
+ basic_machine=m68k-bull
803
+ os=-sysv2
804
+ ;;
805
+ spur)
806
+ basic_machine=spur-unknown
807
+ ;;
808
+ st2000)
809
+ basic_machine=m68k-tandem
810
+ ;;
811
+ stratus)
812
+ basic_machine=i860-stratus
813
+ os=-sysv4
814
+ ;;
815
+ sun2)
816
+ basic_machine=m68000-sun
817
+ ;;
818
+ sun2os3)
819
+ basic_machine=m68000-sun
820
+ os=-sunos3
821
+ ;;
822
+ sun2os4)
823
+ basic_machine=m68000-sun
824
+ os=-sunos4
825
+ ;;
826
+ sun3os3)
827
+ basic_machine=m68k-sun
828
+ os=-sunos3
829
+ ;;
830
+ sun3os4)
831
+ basic_machine=m68k-sun
832
+ os=-sunos4
833
+ ;;
834
+ sun4os3)
835
+ basic_machine=sparc-sun
836
+ os=-sunos3
837
+ ;;
838
+ sun4os4)
839
+ basic_machine=sparc-sun
840
+ os=-sunos4
841
+ ;;
842
+ sun4sol2)
843
+ basic_machine=sparc-sun
844
+ os=-solaris2
845
+ ;;
846
+ sun3 | sun3-*)
847
+ basic_machine=m68k-sun
848
+ ;;
849
+ sun4)
850
+ basic_machine=sparc-sun
851
+ ;;
852
+ sun386 | sun386i | roadrunner)
853
+ basic_machine=i386-sun
854
+ ;;
855
+ sv1)
856
+ basic_machine=sv1-cray
857
+ os=-unicos
858
+ ;;
859
+ symmetry)
860
+ basic_machine=i386-sequent
861
+ os=-dynix
862
+ ;;
863
+ t3e)
864
+ basic_machine=t3e-cray
865
+ os=-unicos
866
+ ;;
867
+ tic54x | c54x*)
868
+ basic_machine=tic54x-unknown
869
+ os=-coff
870
+ ;;
871
+ tx39)
872
+ basic_machine=mipstx39-unknown
873
+ ;;
874
+ tx39el)
875
+ basic_machine=mipstx39el-unknown
876
+ ;;
877
+ tower | tower-32)
878
+ basic_machine=m68k-ncr
879
+ ;;
880
+ udi29k)
881
+ basic_machine=a29k-amd
882
+ os=-udi
883
+ ;;
884
+ ultra3)
885
+ basic_machine=a29k-nyu
886
+ os=-sym1
887
+ ;;
888
+ v810 | necv810)
889
+ basic_machine=v810-nec
890
+ os=-none
891
+ ;;
892
+ vaxv)
893
+ basic_machine=vax-dec
894
+ os=-sysv
895
+ ;;
896
+ vms)
897
+ basic_machine=vax-dec
898
+ os=-vms
899
+ ;;
900
+ vpp*|vx|vx-*)
901
+ basic_machine=f301-fujitsu
902
+ ;;
903
+ vxworks960)
904
+ basic_machine=i960-wrs
905
+ os=-vxworks
906
+ ;;
907
+ vxworks68)
908
+ basic_machine=m68k-wrs
909
+ os=-vxworks
910
+ ;;
911
+ vxworks29k)
912
+ basic_machine=a29k-wrs
913
+ os=-vxworks
914
+ ;;
915
+ w65*)
916
+ basic_machine=w65-wdc
917
+ os=-none
918
+ ;;
919
+ w89k-*)
920
+ basic_machine=hppa1.1-winbond
921
+ os=-proelf
922
+ ;;
923
+ windows32)
924
+ basic_machine=i386-pc
925
+ os=-windows32-msvcrt
926
+ ;;
927
+ xmp)
928
+ basic_machine=xmp-cray
929
+ os=-unicos
930
+ ;;
931
+ xps | xps100)
932
+ basic_machine=xps100-honeywell
933
+ ;;
934
+ z8k-*-coff)
935
+ basic_machine=z8k-unknown
936
+ os=-sim
937
+ ;;
938
+ none)
939
+ basic_machine=none-none
940
+ os=-none
941
+ ;;
942
+
943
+ # Here we handle the default manufacturer of certain CPU types. It is in
944
+ # some cases the only manufacturer, in others, it is the most popular.
945
+ w89k)
946
+ basic_machine=hppa1.1-winbond
947
+ ;;
948
+ op50n)
949
+ basic_machine=hppa1.1-oki
950
+ ;;
951
+ op60c)
952
+ basic_machine=hppa1.1-oki
953
+ ;;
954
+ mips)
955
+ if [ x$os = x-linux-gnu ]; then
956
+ basic_machine=mips-unknown
957
+ else
958
+ basic_machine=mips-mips
959
+ fi
960
+ ;;
961
+ romp)
962
+ basic_machine=romp-ibm
963
+ ;;
964
+ rs6000)
965
+ basic_machine=rs6000-ibm
966
+ ;;
967
+ vax)
968
+ basic_machine=vax-dec
969
+ ;;
970
+ pdp10)
971
+ # there are many clones, so DEC is not a safe bet
972
+ basic_machine=pdp10-unknown
973
+ ;;
974
+ pdp11)
975
+ basic_machine=pdp11-dec
976
+ ;;
977
+ we32k)
978
+ basic_machine=we32k-att
979
+ ;;
980
+ sh3 | sh4 | sh3eb | sh4eb)
981
+ basic_machine=sh-unknown
982
+ ;;
983
+ sparc | sparcv9 | sparcv9b)
984
+ basic_machine=sparc-sun
985
+ ;;
986
+ cydra)
987
+ basic_machine=cydra-cydrome
988
+ ;;
989
+ orion)
990
+ basic_machine=orion-highlevel
991
+ ;;
992
+ orion105)
993
+ basic_machine=clipper-highlevel
994
+ ;;
995
+ mac | mpw | mac-mpw)
996
+ basic_machine=m68k-apple
997
+ ;;
998
+ pmac | pmac-mpw)
999
+ basic_machine=powerpc-apple
1000
+ ;;
1001
+ c4x*)
1002
+ basic_machine=c4x-none
1003
+ os=-coff
1004
+ ;;
1005
+ *-unknown)
1006
+ # Make sure to match an already-canonicalized machine name.
1007
+ ;;
1008
+ *)
1009
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1010
+ exit 1
1011
+ ;;
1012
+ esac
1013
+
1014
+ # Here we canonicalize certain aliases for manufacturers.
1015
+ case $basic_machine in
1016
+ *-digital*)
1017
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1018
+ ;;
1019
+ *-commodore*)
1020
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1021
+ ;;
1022
+ *)
1023
+ ;;
1024
+ esac
1025
+
1026
+ # Decode manufacturer-specific aliases for certain operating systems.
1027
+
1028
+ if [ x"$os" != x"" ]
1029
+ then
1030
+ case $os in
1031
+ # First match some system type aliases
1032
+ # that might get confused with valid system types.
1033
+ # -solaris* is a basic system type, with this one exception.
1034
+ -solaris1 | -solaris1.*)
1035
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
1036
+ ;;
1037
+ -solaris)
1038
+ os=-solaris2
1039
+ ;;
1040
+ -svr4*)
1041
+ os=-sysv4
1042
+ ;;
1043
+ -unixware*)
1044
+ os=-sysv4.2uw
1045
+ ;;
1046
+ -gnu/linux*)
1047
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1048
+ ;;
1049
+ # First accept the basic system types.
1050
+ # The portable systems comes first.
1051
+ # Each alternative MUST END IN A *, to match a version number.
1052
+ # -sysv* is not here because it comes later, after sysvr4.
1053
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1054
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1055
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1056
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1057
+ | -aos* \
1058
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1059
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1060
+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1061
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1062
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1063
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1064
+ | -chorusos* | -chorusrdb* \
1065
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1066
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1067
+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
1068
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1069
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1070
+ | -os2* | -vos*)
1071
+ # Remember, each alternative MUST END IN *, to match a version number.
1072
+ ;;
1073
+ -qnx*)
1074
+ case $basic_machine in
1075
+ x86-* | i*86-*)
1076
+ ;;
1077
+ *)
1078
+ os=-nto$os
1079
+ ;;
1080
+ esac
1081
+ ;;
1082
+ -nto*)
1083
+ os=-nto-qnx
1084
+ ;;
1085
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1086
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
1087
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1088
+ ;;
1089
+ -mac*)
1090
+ os=`echo $os | sed -e 's|mac|macos|'`
1091
+ ;;
1092
+ -linux*)
1093
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
1094
+ ;;
1095
+ -sunos5*)
1096
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
1097
+ ;;
1098
+ -sunos6*)
1099
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
1100
+ ;;
1101
+ -opened*)
1102
+ os=-openedition
1103
+ ;;
1104
+ -wince*)
1105
+ os=-wince
1106
+ ;;
1107
+ -osfrose*)
1108
+ os=-osfrose
1109
+ ;;
1110
+ -osf*)
1111
+ os=-osf
1112
+ ;;
1113
+ -utek*)
1114
+ os=-bsd
1115
+ ;;
1116
+ -dynix*)
1117
+ os=-bsd
1118
+ ;;
1119
+ -acis*)
1120
+ os=-aos
1121
+ ;;
1122
+ -386bsd)
1123
+ os=-bsd
1124
+ ;;
1125
+ -ctix* | -uts*)
1126
+ os=-sysv
1127
+ ;;
1128
+ -ns2 )
1129
+ os=-nextstep2
1130
+ ;;
1131
+ -nsk*)
1132
+ os=-nsk
1133
+ ;;
1134
+ # Preserve the version number of sinix5.
1135
+ -sinix5.*)
1136
+ os=`echo $os | sed -e 's|sinix|sysv|'`
1137
+ ;;
1138
+ -sinix*)
1139
+ os=-sysv4
1140
+ ;;
1141
+ -triton*)
1142
+ os=-sysv3
1143
+ ;;
1144
+ -oss*)
1145
+ os=-sysv3
1146
+ ;;
1147
+ -svr4)
1148
+ os=-sysv4
1149
+ ;;
1150
+ -svr3)
1151
+ os=-sysv3
1152
+ ;;
1153
+ -sysvr4)
1154
+ os=-sysv4
1155
+ ;;
1156
+ # This must come after -sysvr4.
1157
+ -sysv*)
1158
+ ;;
1159
+ -ose*)
1160
+ os=-ose
1161
+ ;;
1162
+ -es1800*)
1163
+ os=-ose
1164
+ ;;
1165
+ -xenix)
1166
+ os=-xenix
1167
+ ;;
1168
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1169
+ os=-mint
1170
+ ;;
1171
+ -none)
1172
+ ;;
1173
+ *)
1174
+ # Get rid of the `-' at the beginning of $os.
1175
+ os=`echo $os | sed 's/[^-]*-//'`
1176
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1177
+ exit 1
1178
+ ;;
1179
+ esac
1180
+ else
1181
+
1182
+ # Here we handle the default operating systems that come with various machines.
1183
+ # The value should be what the vendor currently ships out the door with their
1184
+ # machine or put another way, the most popular os provided with the machine.
1185
+
1186
+ # Note that if you're going to try to match "-MANUFACTURER" here (say,
1187
+ # "-sun"), then you have to tell the case statement up towards the top
1188
+ # that MANUFACTURER isn't an operating system. Otherwise, code above
1189
+ # will signal an error saying that MANUFACTURER isn't an operating
1190
+ # system, and we'll never get to this point.
1191
+
1192
+ case $basic_machine in
1193
+ *-acorn)
1194
+ os=-riscix1.2
1195
+ ;;
1196
+ arm*-rebel)
1197
+ os=-linux
1198
+ ;;
1199
+ arm*-semi)
1200
+ os=-aout
1201
+ ;;
1202
+ pdp10-*)
1203
+ os=-tops20
1204
+ ;;
1205
+ pdp11-*)
1206
+ os=-none
1207
+ ;;
1208
+ *-dec | vax-*)
1209
+ os=-ultrix4.2
1210
+ ;;
1211
+ m68*-apollo)
1212
+ os=-domain
1213
+ ;;
1214
+ i386-sun)
1215
+ os=-sunos4.0.2
1216
+ ;;
1217
+ m68000-sun)
1218
+ os=-sunos3
1219
+ # This also exists in the configure program, but was not the
1220
+ # default.
1221
+ # os=-sunos4
1222
+ ;;
1223
+ m68*-cisco)
1224
+ os=-aout
1225
+ ;;
1226
+ mips*-cisco)
1227
+ os=-elf
1228
+ ;;
1229
+ mips*-*)
1230
+ os=-elf
1231
+ ;;
1232
+ *-tti) # must be before sparc entry or we get the wrong os.
1233
+ os=-sysv3
1234
+ ;;
1235
+ sparc-* | *-sun)
1236
+ os=-sunos4.1.1
1237
+ ;;
1238
+ *-be)
1239
+ os=-beos
1240
+ ;;
1241
+ *-ibm)
1242
+ os=-aix
1243
+ ;;
1244
+ *-wec)
1245
+ os=-proelf
1246
+ ;;
1247
+ *-winbond)
1248
+ os=-proelf
1249
+ ;;
1250
+ *-oki)
1251
+ os=-proelf
1252
+ ;;
1253
+ *-hp)
1254
+ os=-hpux
1255
+ ;;
1256
+ *-hitachi)
1257
+ os=-hiux
1258
+ ;;
1259
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1260
+ os=-sysv
1261
+ ;;
1262
+ *-cbm)
1263
+ os=-amigaos
1264
+ ;;
1265
+ *-dg)
1266
+ os=-dgux
1267
+ ;;
1268
+ *-dolphin)
1269
+ os=-sysv3
1270
+ ;;
1271
+ m68k-ccur)
1272
+ os=-rtu
1273
+ ;;
1274
+ m88k-omron*)
1275
+ os=-luna
1276
+ ;;
1277
+ *-next )
1278
+ os=-nextstep
1279
+ ;;
1280
+ *-sequent)
1281
+ os=-ptx
1282
+ ;;
1283
+ *-crds)
1284
+ os=-unos
1285
+ ;;
1286
+ *-ns)
1287
+ os=-genix
1288
+ ;;
1289
+ i370-*)
1290
+ os=-mvs
1291
+ ;;
1292
+ *-next)
1293
+ os=-nextstep3
1294
+ ;;
1295
+ *-gould)
1296
+ os=-sysv
1297
+ ;;
1298
+ *-highlevel)
1299
+ os=-bsd
1300
+ ;;
1301
+ *-encore)
1302
+ os=-bsd
1303
+ ;;
1304
+ *-sgi)
1305
+ os=-irix
1306
+ ;;
1307
+ *-siemens)
1308
+ os=-sysv4
1309
+ ;;
1310
+ *-masscomp)
1311
+ os=-rtu
1312
+ ;;
1313
+ f30[01]-fujitsu | f700-fujitsu)
1314
+ os=-uxpv
1315
+ ;;
1316
+ *-rom68k)
1317
+ os=-coff
1318
+ ;;
1319
+ *-*bug)
1320
+ os=-coff
1321
+ ;;
1322
+ *-apple)
1323
+ os=-macos
1324
+ ;;
1325
+ *-atari*)
1326
+ os=-mint
1327
+ ;;
1328
+ *)
1329
+ os=-none
1330
+ ;;
1331
+ esac
1332
+ fi
1333
+
1334
+ # Here we handle the case where we know the os, and the CPU type, but not the
1335
+ # manufacturer. We pick the logical manufacturer.
1336
+ vendor=unknown
1337
+ case $basic_machine in
1338
+ *-unknown)
1339
+ case $os in
1340
+ -riscix*)
1341
+ vendor=acorn
1342
+ ;;
1343
+ -sunos*)
1344
+ vendor=sun
1345
+ ;;
1346
+ -aix*)
1347
+ vendor=ibm
1348
+ ;;
1349
+ -beos*)
1350
+ vendor=be
1351
+ ;;
1352
+ -hpux*)
1353
+ vendor=hp
1354
+ ;;
1355
+ -mpeix*)
1356
+ vendor=hp
1357
+ ;;
1358
+ -hiux*)
1359
+ vendor=hitachi
1360
+ ;;
1361
+ -unos*)
1362
+ vendor=crds
1363
+ ;;
1364
+ -dgux*)
1365
+ vendor=dg
1366
+ ;;
1367
+ -luna*)
1368
+ vendor=omron
1369
+ ;;
1370
+ -genix*)
1371
+ vendor=ns
1372
+ ;;
1373
+ -mvs* | -opened*)
1374
+ vendor=ibm
1375
+ ;;
1376
+ -ptx*)
1377
+ vendor=sequent
1378
+ ;;
1379
+ -vxsim* | -vxworks*)
1380
+ vendor=wrs
1381
+ ;;
1382
+ -aux*)
1383
+ vendor=apple
1384
+ ;;
1385
+ -hms*)
1386
+ vendor=hitachi
1387
+ ;;
1388
+ -mpw* | -macos*)
1389
+ vendor=apple
1390
+ ;;
1391
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1392
+ vendor=atari
1393
+ ;;
1394
+ -vos*)
1395
+ vendor=stratus
1396
+ ;;
1397
+ esac
1398
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1399
+ ;;
1400
+ esac
1401
+
1402
+ echo $basic_machine$os
1403
+ exit 0
1404
+
1405
+ # Local variables:
1406
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
1407
+ # time-stamp-start: "timestamp='"
1408
+ # time-stamp-format: "%:y-%02m-%02d"
1409
+ # time-stamp-end: "'"
1410
+ # End: