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
@@ -0,0 +1,1314 @@
1
+ #! /bin/sh
2
+ # Attempt to guess a canonical system name.
3
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
4
+ # Free Software Foundation, Inc.
5
+
6
+ timestamp='2001-08-21'
7
+
8
+ # This file is free software; you can redistribute it and/or modify it
9
+ # under the terms of the GNU General Public License as published by
10
+ # the Free Software Foundation; either version 2 of the License, or
11
+ # (at your option) any later version.
12
+ #
13
+ # This program is distributed in the hope that it will be useful, but
14
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ # General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License
19
+ # along with this program; if not, write to the Free Software
20
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
+ #
22
+ # As a special exception to the GNU General Public License, if you
23
+ # distribute this file as part of a program that contains a
24
+ # configuration script generated by Autoconf, you may include it under
25
+ # the same distribution terms that you use for the rest of that program.
26
+
27
+ # Written by Per Bothner <bothner@cygnus.com>.
28
+ # Please send patches to <config-patches@gnu.org>.
29
+ #
30
+ # This script attempts to guess a canonical system name similar to
31
+ # config.sub. If it succeeds, it prints the system name on stdout, and
32
+ # exits with 0. Otherwise, it exits with 1.
33
+ #
34
+ # The plan is that this can be called by configure scripts if you
35
+ # don't specify an explicit build system type.
36
+
37
+ me=`echo "$0" | sed -e 's,.*/,,'`
38
+
39
+ usage="\
40
+ Usage: $0 [OPTION]
41
+
42
+ Output the configuration name of the system \`$me' is run on.
43
+
44
+ Operation modes:
45
+ -h, --help print this help, then exit
46
+ -t, --time-stamp print date of last modification, then exit
47
+ -v, --version print version number, then exit
48
+
49
+ Report bugs and patches to <config-patches@gnu.org>."
50
+
51
+ version="\
52
+ GNU config.guess ($timestamp)
53
+
54
+ Originally written by Per Bothner.
55
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
56
+ Free Software Foundation, Inc.
57
+
58
+ This is free software; see the source for copying conditions. There is NO
59
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
60
+
61
+ help="
62
+ Try \`$me --help' for more information."
63
+
64
+ # Parse command line
65
+ while test $# -gt 0 ; do
66
+ case $1 in
67
+ --time-stamp | --time* | -t )
68
+ echo "$timestamp" ; exit 0 ;;
69
+ --version | -v )
70
+ echo "$version" ; exit 0 ;;
71
+ --help | --h* | -h )
72
+ echo "$usage"; exit 0 ;;
73
+ -- ) # Stop option processing
74
+ shift; break ;;
75
+ - ) # Use stdin as input.
76
+ break ;;
77
+ -* )
78
+ echo "$me: invalid option $1$help" >&2
79
+ exit 1 ;;
80
+ * )
81
+ break ;;
82
+ esac
83
+ done
84
+
85
+ if test $# != 0; then
86
+ echo "$me: too many arguments$help" >&2
87
+ exit 1
88
+ fi
89
+
90
+
91
+ dummy=dummy-$$
92
+ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
93
+
94
+ # CC_FOR_BUILD -- compiler used by this script.
95
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
96
+ # use `HOST_CC' if defined, but it is deprecated.
97
+
98
+ set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
99
+ ,,) echo "int dummy(){}" > $dummy.c ;
100
+ for c in cc gcc c89 ; do
101
+ ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
102
+ if test $? = 0 ; then
103
+ CC_FOR_BUILD="$c"; break ;
104
+ fi ;
105
+ done ;
106
+ rm -f $dummy.c $dummy.o $dummy.rel ;
107
+ if test x"$CC_FOR_BUILD" = x ; then
108
+ CC_FOR_BUILD=no_compiler_found ;
109
+ fi
110
+ ;;
111
+ ,,*) CC_FOR_BUILD=$CC ;;
112
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
113
+ esac'
114
+
115
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
116
+ # (ghazi@noc.rutgers.edu 1994-08-24)
117
+ if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
118
+ PATH=$PATH:/.attbin ; export PATH
119
+ fi
120
+
121
+ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
122
+ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
123
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
124
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
125
+
126
+ # Note: order is significant - the case branches are not exclusive.
127
+
128
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
129
+ *:NetBSD:*:*)
130
+ # Netbsd (nbsd) targets should (where applicable) match one or
131
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
132
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
133
+ # switched to ELF, *-*-netbsd* would select the old
134
+ # object file format. This provides both forward
135
+ # compatibility and a consistent mechanism for selecting the
136
+ # object file format.
137
+ # Determine the machine/vendor (is the vendor relevant).
138
+ case "${UNAME_MACHINE}" in
139
+ amiga) machine=m68k-unknown ;;
140
+ arm32) machine=arm-unknown ;;
141
+ atari*) machine=m68k-atari ;;
142
+ sun3*) machine=m68k-sun ;;
143
+ mac68k) machine=m68k-apple ;;
144
+ macppc) machine=powerpc-apple ;;
145
+ hp3[0-9][05]) machine=m68k-hp ;;
146
+ ibmrt|romp-ibm) machine=romp-ibm ;;
147
+ *) machine=${UNAME_MACHINE}-unknown ;;
148
+ esac
149
+ # The Operating System including object format, if it has switched
150
+ # to ELF recently, or will in the future.
151
+ case "${UNAME_MACHINE}" in
152
+ i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
153
+ eval $set_cc_for_build
154
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
155
+ | grep __ELF__ >/dev/null
156
+ then
157
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
158
+ # Return netbsd for either. FIX?
159
+ os=netbsd
160
+ else
161
+ os=netbsdelf
162
+ fi
163
+ ;;
164
+ *)
165
+ os=netbsd
166
+ ;;
167
+ esac
168
+ # The OS release
169
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
170
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
171
+ # contains redundant information, the shorter form:
172
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
173
+ echo "${machine}-${os}${release}"
174
+ exit 0 ;;
175
+ alpha:OSF1:*:*)
176
+ if test $UNAME_RELEASE = "V4.0"; then
177
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
178
+ fi
179
+ # A Vn.n version is a released version.
180
+ # A Tn.n version is a released field test version.
181
+ # A Xn.n version is an unreleased experimental baselevel.
182
+ # 1.2 uses "1.2" for uname -r.
183
+ cat <<EOF >$dummy.s
184
+ .data
185
+ \$Lformat:
186
+ .byte 37,100,45,37,120,10,0 # "%d-%x\n"
187
+
188
+ .text
189
+ .globl main
190
+ .align 4
191
+ .ent main
192
+ main:
193
+ .frame \$30,16,\$26,0
194
+ ldgp \$29,0(\$27)
195
+ .prologue 1
196
+ .long 0x47e03d80 # implver \$0
197
+ lda \$2,-1
198
+ .long 0x47e20c21 # amask \$2,\$1
199
+ lda \$16,\$Lformat
200
+ mov \$0,\$17
201
+ not \$1,\$18
202
+ jsr \$26,printf
203
+ ldgp \$29,0(\$26)
204
+ mov 0,\$16
205
+ jsr \$26,exit
206
+ .end main
207
+ EOF
208
+ eval $set_cc_for_build
209
+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
210
+ if test "$?" = 0 ; then
211
+ case `./$dummy` in
212
+ 0-0)
213
+ UNAME_MACHINE="alpha"
214
+ ;;
215
+ 1-0)
216
+ UNAME_MACHINE="alphaev5"
217
+ ;;
218
+ 1-1)
219
+ UNAME_MACHINE="alphaev56"
220
+ ;;
221
+ 1-101)
222
+ UNAME_MACHINE="alphapca56"
223
+ ;;
224
+ 2-303)
225
+ UNAME_MACHINE="alphaev6"
226
+ ;;
227
+ 2-307)
228
+ UNAME_MACHINE="alphaev67"
229
+ ;;
230
+ 2-1307)
231
+ UNAME_MACHINE="alphaev68"
232
+ ;;
233
+ esac
234
+ fi
235
+ rm -f $dummy.s $dummy
236
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
237
+ exit 0 ;;
238
+ Alpha\ *:Windows_NT*:*)
239
+ # How do we know it's Interix rather than the generic POSIX subsystem?
240
+ # Should we change UNAME_MACHINE based on the output of uname instead
241
+ # of the specific Alpha model?
242
+ echo alpha-pc-interix
243
+ exit 0 ;;
244
+ 21064:Windows_NT:50:3)
245
+ echo alpha-dec-winnt3.5
246
+ exit 0 ;;
247
+ Amiga*:UNIX_System_V:4.0:*)
248
+ echo m68k-unknown-sysv4
249
+ exit 0;;
250
+ amiga:OpenBSD:*:*)
251
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
252
+ exit 0 ;;
253
+ *:[Aa]miga[Oo][Ss]:*:*)
254
+ echo ${UNAME_MACHINE}-unknown-amigaos
255
+ exit 0 ;;
256
+ arc64:OpenBSD:*:*)
257
+ echo mips64el-unknown-openbsd${UNAME_RELEASE}
258
+ exit 0 ;;
259
+ arc:OpenBSD:*:*)
260
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
261
+ exit 0 ;;
262
+ hkmips:OpenBSD:*:*)
263
+ echo mips-unknown-openbsd${UNAME_RELEASE}
264
+ exit 0 ;;
265
+ pmax:OpenBSD:*:*)
266
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
267
+ exit 0 ;;
268
+ sgi:OpenBSD:*:*)
269
+ echo mips-unknown-openbsd${UNAME_RELEASE}
270
+ exit 0 ;;
271
+ wgrisc:OpenBSD:*:*)
272
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
273
+ exit 0 ;;
274
+ *:OS/390:*:*)
275
+ echo i370-ibm-openedition
276
+ exit 0 ;;
277
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
278
+ echo arm-acorn-riscix${UNAME_RELEASE}
279
+ exit 0;;
280
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
281
+ echo hppa1.1-hitachi-hiuxmpp
282
+ exit 0;;
283
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
284
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
285
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
286
+ echo pyramid-pyramid-sysv3
287
+ else
288
+ echo pyramid-pyramid-bsd
289
+ fi
290
+ exit 0 ;;
291
+ NILE*:*:*:dcosx)
292
+ echo pyramid-pyramid-svr4
293
+ exit 0 ;;
294
+ sun4H:SunOS:5.*:*)
295
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
296
+ exit 0 ;;
297
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
298
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
299
+ exit 0 ;;
300
+ i86pc:SunOS:5.*:*)
301
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
302
+ exit 0 ;;
303
+ sun4*:SunOS:6*:*)
304
+ # According to config.sub, this is the proper way to canonicalize
305
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
306
+ # it's likely to be more like Solaris than SunOS4.
307
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
308
+ exit 0 ;;
309
+ sun4*:SunOS:*:*)
310
+ case "`/usr/bin/arch -k`" in
311
+ Series*|S4*)
312
+ UNAME_RELEASE=`uname -v`
313
+ ;;
314
+ esac
315
+ # Japanese Language versions have a version number like `4.1.3-JL'.
316
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
317
+ exit 0 ;;
318
+ sun3*:SunOS:*:*)
319
+ echo m68k-sun-sunos${UNAME_RELEASE}
320
+ exit 0 ;;
321
+ sun*:*:4.2BSD:*)
322
+ UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
323
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
324
+ case "`/bin/arch`" in
325
+ sun3)
326
+ echo m68k-sun-sunos${UNAME_RELEASE}
327
+ ;;
328
+ sun4)
329
+ echo sparc-sun-sunos${UNAME_RELEASE}
330
+ ;;
331
+ esac
332
+ exit 0 ;;
333
+ aushp:SunOS:*:*)
334
+ echo sparc-auspex-sunos${UNAME_RELEASE}
335
+ exit 0 ;;
336
+ sparc*:NetBSD:*)
337
+ echo `uname -p`-unknown-netbsd${UNAME_RELEASE}
338
+ exit 0 ;;
339
+ atari*:OpenBSD:*:*)
340
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
341
+ exit 0 ;;
342
+ # The situation for MiNT is a little confusing. The machine name
343
+ # can be virtually everything (everything which is not
344
+ # "atarist" or "atariste" at least should have a processor
345
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
346
+ # to the lowercase version "mint" (or "freemint"). Finally
347
+ # the system name "TOS" denotes a system which is actually not
348
+ # MiNT. But MiNT is downward compatible to TOS, so this should
349
+ # be no problem.
350
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
351
+ echo m68k-atari-mint${UNAME_RELEASE}
352
+ exit 0 ;;
353
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
354
+ echo m68k-atari-mint${UNAME_RELEASE}
355
+ exit 0 ;;
356
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
357
+ echo m68k-atari-mint${UNAME_RELEASE}
358
+ exit 0 ;;
359
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
360
+ echo m68k-milan-mint${UNAME_RELEASE}
361
+ exit 0 ;;
362
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
363
+ echo m68k-hades-mint${UNAME_RELEASE}
364
+ exit 0 ;;
365
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
366
+ echo m68k-unknown-mint${UNAME_RELEASE}
367
+ exit 0 ;;
368
+ sun3*:OpenBSD:*:*)
369
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
370
+ exit 0 ;;
371
+ mac68k:OpenBSD:*:*)
372
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
373
+ exit 0 ;;
374
+ mvme68k:OpenBSD:*:*)
375
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
376
+ exit 0 ;;
377
+ mvme88k:OpenBSD:*:*)
378
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
379
+ exit 0 ;;
380
+ powerpc:machten:*:*)
381
+ echo powerpc-apple-machten${UNAME_RELEASE}
382
+ exit 0 ;;
383
+ RISC*:Mach:*:*)
384
+ echo mips-dec-mach_bsd4.3
385
+ exit 0 ;;
386
+ RISC*:ULTRIX:*:*)
387
+ echo mips-dec-ultrix${UNAME_RELEASE}
388
+ exit 0 ;;
389
+ VAX*:ULTRIX*:*:*)
390
+ echo vax-dec-ultrix${UNAME_RELEASE}
391
+ exit 0 ;;
392
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
393
+ echo clipper-intergraph-clix${UNAME_RELEASE}
394
+ exit 0 ;;
395
+ mips:*:*:UMIPS | mips:*:*:RISCos)
396
+ sed 's/^ //' << EOF >$dummy.c
397
+ #ifdef __cplusplus
398
+ #include <stdio.h> /* for printf() prototype */
399
+ int main (int argc, char *argv[]) {
400
+ #else
401
+ int main (argc, argv) int argc; char *argv[]; {
402
+ #endif
403
+ #if defined (host_mips) && defined (MIPSEB)
404
+ #if defined (SYSTYPE_SYSV)
405
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
406
+ #endif
407
+ #if defined (SYSTYPE_SVR4)
408
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
409
+ #endif
410
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
411
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
412
+ #endif
413
+ #endif
414
+ exit (-1);
415
+ }
416
+ EOF
417
+ eval $set_cc_for_build
418
+ $CC_FOR_BUILD $dummy.c -o $dummy \
419
+ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
420
+ && rm -f $dummy.c $dummy && exit 0
421
+ rm -f $dummy.c $dummy
422
+ echo mips-mips-riscos${UNAME_RELEASE}
423
+ exit 0 ;;
424
+ Motorola:PowerMAX_OS:*:*)
425
+ echo powerpc-motorola-powermax
426
+ exit 0 ;;
427
+ Night_Hawk:Power_UNIX:*:*)
428
+ echo powerpc-harris-powerunix
429
+ exit 0 ;;
430
+ m88k:CX/UX:7*:*)
431
+ echo m88k-harris-cxux7
432
+ exit 0 ;;
433
+ m88k:*:4*:R4*)
434
+ echo m88k-motorola-sysv4
435
+ exit 0 ;;
436
+ m88k:*:3*:R3*)
437
+ echo m88k-motorola-sysv3
438
+ exit 0 ;;
439
+ AViiON:dgux:*:*)
440
+ # DG/UX returns AViiON for all architectures
441
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
442
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
443
+ then
444
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
445
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
446
+ then
447
+ echo m88k-dg-dgux${UNAME_RELEASE}
448
+ else
449
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
450
+ fi
451
+ else
452
+ echo i586-dg-dgux${UNAME_RELEASE}
453
+ fi
454
+ exit 0 ;;
455
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
456
+ echo m88k-dolphin-sysv3
457
+ exit 0 ;;
458
+ M88*:*:R3*:*)
459
+ # Delta 88k system running SVR3
460
+ echo m88k-motorola-sysv3
461
+ exit 0 ;;
462
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
463
+ echo m88k-tektronix-sysv3
464
+ exit 0 ;;
465
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
466
+ echo m68k-tektronix-bsd
467
+ exit 0 ;;
468
+ *:IRIX*:*:*)
469
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
470
+ exit 0 ;;
471
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
472
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
473
+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
474
+ i*86:AIX:*:*)
475
+ echo i386-ibm-aix
476
+ exit 0 ;;
477
+ ia64:AIX:*:*)
478
+ if [ -x /usr/bin/oslevel ] ; then
479
+ IBM_REV=`/usr/bin/oslevel`
480
+ else
481
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
482
+ fi
483
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
484
+ exit 0 ;;
485
+ *:AIX:2:3)
486
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
487
+ sed 's/^ //' << EOF >$dummy.c
488
+ #include <sys/systemcfg.h>
489
+
490
+ main()
491
+ {
492
+ if (!__power_pc())
493
+ exit(1);
494
+ puts("powerpc-ibm-aix3.2.5");
495
+ exit(0);
496
+ }
497
+ EOF
498
+ eval $set_cc_for_build
499
+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
500
+ rm -f $dummy.c $dummy
501
+ echo rs6000-ibm-aix3.2.5
502
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
503
+ echo rs6000-ibm-aix3.2.4
504
+ else
505
+ echo rs6000-ibm-aix3.2
506
+ fi
507
+ exit 0 ;;
508
+ *:AIX:*:[45])
509
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
510
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
511
+ IBM_ARCH=rs6000
512
+ else
513
+ IBM_ARCH=powerpc
514
+ fi
515
+ if [ -x /usr/bin/oslevel ] ; then
516
+ IBM_REV=`/usr/bin/oslevel`
517
+ else
518
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
519
+ fi
520
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
521
+ exit 0 ;;
522
+ *:AIX:*:*)
523
+ echo rs6000-ibm-aix
524
+ exit 0 ;;
525
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
526
+ echo romp-ibm-bsd4.4
527
+ exit 0 ;;
528
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
529
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
530
+ exit 0 ;; # report: romp-ibm BSD 4.3
531
+ *:BOSX:*:*)
532
+ echo rs6000-bull-bosx
533
+ exit 0 ;;
534
+ DPX/2?00:B.O.S.:*:*)
535
+ echo m68k-bull-sysv3
536
+ exit 0 ;;
537
+ 9000/[34]??:4.3bsd:1.*:*)
538
+ echo m68k-hp-bsd
539
+ exit 0 ;;
540
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
541
+ echo m68k-hp-bsd4.4
542
+ exit 0 ;;
543
+ 9000/[34678]??:HP-UX:*:*)
544
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
545
+ case "${UNAME_MACHINE}" in
546
+ 9000/31? ) HP_ARCH=m68000 ;;
547
+ 9000/[34]?? ) HP_ARCH=m68k ;;
548
+ 9000/[678][0-9][0-9])
549
+ case "${HPUX_REV}" in
550
+ 11.[0-9][0-9])
551
+ if [ -x /usr/bin/getconf ]; then
552
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
553
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
554
+ case "${sc_cpu_version}" in
555
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
556
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
557
+ 532) # CPU_PA_RISC2_0
558
+ case "${sc_kernel_bits}" in
559
+ 32) HP_ARCH="hppa2.0n" ;;
560
+ 64) HP_ARCH="hppa2.0w" ;;
561
+ esac ;;
562
+ esac
563
+ fi ;;
564
+ esac
565
+ if [ "${HP_ARCH}" = "" ]; then
566
+ sed 's/^ //' << EOF >$dummy.c
567
+
568
+ #define _HPUX_SOURCE
569
+ #include <stdlib.h>
570
+ #include <unistd.h>
571
+
572
+ int main ()
573
+ {
574
+ #if defined(_SC_KERNEL_BITS)
575
+ long bits = sysconf(_SC_KERNEL_BITS);
576
+ #endif
577
+ long cpu = sysconf (_SC_CPU_VERSION);
578
+
579
+ switch (cpu)
580
+ {
581
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
582
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
583
+ case CPU_PA_RISC2_0:
584
+ #if defined(_SC_KERNEL_BITS)
585
+ switch (bits)
586
+ {
587
+ case 64: puts ("hppa2.0w"); break;
588
+ case 32: puts ("hppa2.0n"); break;
589
+ default: puts ("hppa2.0"); break;
590
+ } break;
591
+ #else /* !defined(_SC_KERNEL_BITS) */
592
+ puts ("hppa2.0"); break;
593
+ #endif
594
+ default: puts ("hppa1.0"); break;
595
+ }
596
+ exit (0);
597
+ }
598
+ EOF
599
+ eval $set_cc_for_build
600
+ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
601
+ if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
602
+ rm -f $dummy.c $dummy
603
+ fi ;;
604
+ esac
605
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
606
+ exit 0 ;;
607
+ ia64:HP-UX:*:*)
608
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
609
+ echo ia64-hp-hpux${HPUX_REV}
610
+ exit 0 ;;
611
+ 3050*:HI-UX:*:*)
612
+ sed 's/^ //' << EOF >$dummy.c
613
+ #include <unistd.h>
614
+ int
615
+ main ()
616
+ {
617
+ long cpu = sysconf (_SC_CPU_VERSION);
618
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
619
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
620
+ results, however. */
621
+ if (CPU_IS_PA_RISC (cpu))
622
+ {
623
+ switch (cpu)
624
+ {
625
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
626
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
627
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
628
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
629
+ }
630
+ }
631
+ else if (CPU_IS_HP_MC68K (cpu))
632
+ puts ("m68k-hitachi-hiuxwe2");
633
+ else puts ("unknown-hitachi-hiuxwe2");
634
+ exit (0);
635
+ }
636
+ EOF
637
+ eval $set_cc_for_build
638
+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
639
+ rm -f $dummy.c $dummy
640
+ echo unknown-hitachi-hiuxwe2
641
+ exit 0 ;;
642
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
643
+ echo hppa1.1-hp-bsd
644
+ exit 0 ;;
645
+ 9000/8??:4.3bsd:*:*)
646
+ echo hppa1.0-hp-bsd
647
+ exit 0 ;;
648
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
649
+ echo hppa1.0-hp-mpeix
650
+ exit 0 ;;
651
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
652
+ echo hppa1.1-hp-osf
653
+ exit 0 ;;
654
+ hp8??:OSF1:*:*)
655
+ echo hppa1.0-hp-osf
656
+ exit 0 ;;
657
+ i*86:OSF1:*:*)
658
+ if [ -x /usr/sbin/sysversion ] ; then
659
+ echo ${UNAME_MACHINE}-unknown-osf1mk
660
+ else
661
+ echo ${UNAME_MACHINE}-unknown-osf1
662
+ fi
663
+ exit 0 ;;
664
+ parisc*:Lites*:*:*)
665
+ echo hppa1.1-hp-lites
666
+ exit 0 ;;
667
+ hppa*:OpenBSD:*:*)
668
+ echo hppa-unknown-openbsd
669
+ exit 0 ;;
670
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
671
+ echo c1-convex-bsd
672
+ exit 0 ;;
673
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
674
+ if getsysinfo -f scalar_acc
675
+ then echo c32-convex-bsd
676
+ else echo c2-convex-bsd
677
+ fi
678
+ exit 0 ;;
679
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
680
+ echo c34-convex-bsd
681
+ exit 0 ;;
682
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
683
+ echo c38-convex-bsd
684
+ exit 0 ;;
685
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
686
+ echo c4-convex-bsd
687
+ exit 0 ;;
688
+ CRAY*X-MP:*:*:*)
689
+ echo xmp-cray-unicos
690
+ exit 0 ;;
691
+ CRAY*Y-MP:*:*:*)
692
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
693
+ exit 0 ;;
694
+ CRAY*[A-Z]90:*:*:*)
695
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
696
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
697
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
698
+ -e 's/\.[^.]*$/.X/'
699
+ exit 0 ;;
700
+ CRAY*TS:*:*:*)
701
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
702
+ exit 0 ;;
703
+ CRAY*T3D:*:*:*)
704
+ echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
705
+ exit 0 ;;
706
+ CRAY*T3E:*:*:*)
707
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
708
+ exit 0 ;;
709
+ CRAY*SV1:*:*:*)
710
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
711
+ exit 0 ;;
712
+ CRAY-2:*:*:*)
713
+ echo cray2-cray-unicos
714
+ exit 0 ;;
715
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
716
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
717
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
718
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
719
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
720
+ exit 0 ;;
721
+ hp300:OpenBSD:*:*)
722
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
723
+ exit 0 ;;
724
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
725
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
726
+ exit 0 ;;
727
+ sparc*:BSD/OS:*:*)
728
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
729
+ exit 0 ;;
730
+ *:BSD/OS:*:*)
731
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
732
+ exit 0 ;;
733
+ *:FreeBSD:*:*)
734
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
735
+ exit 0 ;;
736
+ *:OpenBSD:*:*)
737
+ echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
738
+ exit 0 ;;
739
+ i*:CYGWIN*:*)
740
+ echo ${UNAME_MACHINE}-pc-cygwin
741
+ exit 0 ;;
742
+ i*:MINGW*:*)
743
+ echo ${UNAME_MACHINE}-pc-mingw32
744
+ exit 0 ;;
745
+ i*:PW*:*)
746
+ echo ${UNAME_MACHINE}-pc-pw32
747
+ exit 0 ;;
748
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
749
+ # How do we know it's Interix rather than the generic POSIX subsystem?
750
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
751
+ # UNAME_MACHINE based on the output of uname instead of i386?
752
+ echo i386-pc-interix
753
+ exit 0 ;;
754
+ i*:UWIN*:*)
755
+ echo ${UNAME_MACHINE}-pc-uwin
756
+ exit 0 ;;
757
+ p*:CYGWIN*:*)
758
+ echo powerpcle-unknown-cygwin
759
+ exit 0 ;;
760
+ prep*:SunOS:5.*:*)
761
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
762
+ exit 0 ;;
763
+ *:GNU:*:*)
764
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
765
+ exit 0 ;;
766
+ i*86:Minix:*:*)
767
+ echo ${UNAME_MACHINE}-pc-minix
768
+ exit 0 ;;
769
+ arm*:Linux:*:*)
770
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
771
+ exit 0 ;;
772
+ ia64:Linux:*:*)
773
+ echo ${UNAME_MACHINE}-unknown-linux
774
+ exit 0 ;;
775
+ m68*:Linux:*:*)
776
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
777
+ exit 0 ;;
778
+ mips:Linux:*:*)
779
+ case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
780
+ big) echo mips-unknown-linux-gnu && exit 0 ;;
781
+ little) echo mipsel-unknown-linux-gnu && exit 0 ;;
782
+ esac
783
+ ;;
784
+ ppc:Linux:*:*)
785
+ echo powerpc-unknown-linux-gnu
786
+ exit 0 ;;
787
+ ppc64:Linux:*:*)
788
+ echo powerpc64-unknown-linux-gnu
789
+ exit 0 ;;
790
+ alpha:Linux:*:*)
791
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
792
+ EV5) UNAME_MACHINE=alphaev5 ;;
793
+ EV56) UNAME_MACHINE=alphaev56 ;;
794
+ PCA56) UNAME_MACHINE=alphapca56 ;;
795
+ PCA57) UNAME_MACHINE=alphapca56 ;;
796
+ EV6) UNAME_MACHINE=alphaev6 ;;
797
+ EV67) UNAME_MACHINE=alphaev67 ;;
798
+ EV68*) UNAME_MACHINE=alphaev68 ;;
799
+ esac
800
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
801
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
802
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
803
+ exit 0 ;;
804
+ parisc:Linux:*:* | hppa:Linux:*:*)
805
+ # Look for CPU level
806
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
807
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
808
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
809
+ *) echo hppa-unknown-linux-gnu ;;
810
+ esac
811
+ exit 0 ;;
812
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
813
+ echo hppa64-unknown-linux-gnu
814
+ exit 0 ;;
815
+ s390:Linux:*:* | s390x:Linux:*:*)
816
+ echo ${UNAME_MACHINE}-ibm-linux
817
+ exit 0 ;;
818
+ sh*:Linux:*:*)
819
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
820
+ exit 0 ;;
821
+ sparc:Linux:*:* | sparc64:Linux:*:*)
822
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
823
+ exit 0 ;;
824
+ x86_64:Linux:*:*)
825
+ echo x86_64-unknown-linux-gnu
826
+ exit 0 ;;
827
+ i*86:Linux:*:*)
828
+ # The BFD linker knows what the default object file format is, so
829
+ # first see if it will tell us. cd to the root directory to prevent
830
+ # problems with other programs or directories called `ld' in the path.
831
+ ld_supported_targets=`cd /; ld --help 2>&1 \
832
+ | sed -ne '/supported targets:/!d
833
+ s/[ ][ ]*/ /g
834
+ s/.*supported targets: *//
835
+ s/ .*//
836
+ p'`
837
+ case "$ld_supported_targets" in
838
+ elf32-i386)
839
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
840
+ ;;
841
+ a.out-i386-linux)
842
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
843
+ exit 0 ;;
844
+ coff-i386)
845
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
846
+ exit 0 ;;
847
+ "")
848
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
849
+ # one that does not give us useful --help.
850
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
851
+ exit 0 ;;
852
+ esac
853
+ # Determine whether the default compiler is a.out or elf
854
+ cat >$dummy.c <<EOF
855
+ #include <features.h>
856
+ #ifdef __cplusplus
857
+ #include <stdio.h> /* for printf() prototype */
858
+ int main (int argc, char *argv[]) {
859
+ #else
860
+ int main (argc, argv) int argc; char *argv[]; {
861
+ #endif
862
+ #ifdef __ELF__
863
+ # ifdef __GLIBC__
864
+ # if __GLIBC__ >= 2
865
+ printf ("%s-pc-linux-gnu\n", argv[1]);
866
+ # else
867
+ printf ("%s-pc-linux-gnulibc1\n", argv[1]);
868
+ # endif
869
+ # else
870
+ printf ("%s-pc-linux-gnulibc1\n", argv[1]);
871
+ # endif
872
+ #else
873
+ printf ("%s-pc-linux-gnuaout\n", argv[1]);
874
+ #endif
875
+ return 0;
876
+ }
877
+ EOF
878
+ eval $set_cc_for_build
879
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
880
+ rm -f $dummy.c $dummy
881
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
882
+ ;;
883
+ i*86:DYNIX/ptx:4*:*)
884
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
885
+ # earlier versions are messed up and put the nodename in both
886
+ # sysname and nodename.
887
+ echo i386-sequent-sysv4
888
+ exit 0 ;;
889
+ i*86:UNIX_SV:4.2MP:2.*)
890
+ # Unixware is an offshoot of SVR4, but it has its own version
891
+ # number series starting with 2...
892
+ # I am not positive that other SVR4 systems won't match this,
893
+ # I just have to hope. -- rms.
894
+ # Use sysv4.2uw... so that sysv4* matches it.
895
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
896
+ exit 0 ;;
897
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
898
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
899
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
900
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
901
+ else
902
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
903
+ fi
904
+ exit 0 ;;
905
+ i*86:*:5:[78]*)
906
+ case `/bin/uname -X | grep "^Machine"` in
907
+ *486*) UNAME_MACHINE=i486 ;;
908
+ *Pentium) UNAME_MACHINE=i586 ;;
909
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
910
+ esac
911
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
912
+ exit 0 ;;
913
+ i*86:*:3.2:*)
914
+ if test -f /usr/options/cb.name; then
915
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
916
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
917
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
918
+ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
919
+ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
920
+ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
921
+ && UNAME_MACHINE=i586
922
+ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
923
+ && UNAME_MACHINE=i686
924
+ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
925
+ && UNAME_MACHINE=i686
926
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
927
+ else
928
+ echo ${UNAME_MACHINE}-pc-sysv32
929
+ fi
930
+ exit 0 ;;
931
+ i*86:*DOS:*:*)
932
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
933
+ exit 0 ;;
934
+ pc:*:*:*)
935
+ # Left here for compatibility:
936
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
937
+ # the processor, so we play safe by assuming i386.
938
+ echo i386-pc-msdosdjgpp
939
+ exit 0 ;;
940
+ Intel:Mach:3*:*)
941
+ echo i386-pc-mach3
942
+ exit 0 ;;
943
+ paragon:*:*:*)
944
+ echo i860-intel-osf1
945
+ exit 0 ;;
946
+ i860:*:4.*:*) # i860-SVR4
947
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
948
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
949
+ else # Add other i860-SVR4 vendors below as they are discovered.
950
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
951
+ fi
952
+ exit 0 ;;
953
+ mini*:CTIX:SYS*5:*)
954
+ # "miniframe"
955
+ echo m68010-convergent-sysv
956
+ exit 0 ;;
957
+ M68*:*:R3V[567]*:*)
958
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
959
+ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
960
+ OS_REL=''
961
+ test -r /etc/.relid \
962
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
963
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
964
+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0
965
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
966
+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
967
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
968
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
969
+ && echo i486-ncr-sysv4 && exit 0 ;;
970
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
971
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
972
+ exit 0 ;;
973
+ mc68030:UNIX_System_V:4.*:*)
974
+ echo m68k-atari-sysv4
975
+ exit 0 ;;
976
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
977
+ echo i386-unknown-lynxos${UNAME_RELEASE}
978
+ exit 0 ;;
979
+ TSUNAMI:LynxOS:2.*:*)
980
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
981
+ exit 0 ;;
982
+ rs6000:LynxOS:2.*:*)
983
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
984
+ exit 0 ;;
985
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
986
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
987
+ exit 0 ;;
988
+ SM[BE]S:UNIX_SV:*:*)
989
+ echo mips-dde-sysv${UNAME_RELEASE}
990
+ exit 0 ;;
991
+ RM*:ReliantUNIX-*:*:*)
992
+ echo mips-sni-sysv4
993
+ exit 0 ;;
994
+ RM*:SINIX-*:*:*)
995
+ echo mips-sni-sysv4
996
+ exit 0 ;;
997
+ *:SINIX-*:*:*)
998
+ if uname -p 2>/dev/null >/dev/null ; then
999
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1000
+ echo ${UNAME_MACHINE}-sni-sysv4
1001
+ else
1002
+ echo ns32k-sni-sysv
1003
+ fi
1004
+ exit 0 ;;
1005
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1006
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
1007
+ echo i586-unisys-sysv4
1008
+ exit 0 ;;
1009
+ *:UNIX_System_V:4*:FTX*)
1010
+ # From Gerald Hewes <hewes@openmarket.com>.
1011
+ # How about differentiating between stratus architectures? -djm
1012
+ echo hppa1.1-stratus-sysv4
1013
+ exit 0 ;;
1014
+ *:*:*:FTX*)
1015
+ # From seanf@swdc.stratus.com.
1016
+ echo i860-stratus-sysv4
1017
+ exit 0 ;;
1018
+ *:VOS:*:*)
1019
+ # From Paul.Green@stratus.com.
1020
+ echo hppa1.1-stratus-vos
1021
+ exit 0 ;;
1022
+ mc68*:A/UX:*:*)
1023
+ echo m68k-apple-aux${UNAME_RELEASE}
1024
+ exit 0 ;;
1025
+ news*:NEWS-OS:6*:*)
1026
+ echo mips-sony-newsos6
1027
+ exit 0 ;;
1028
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1029
+ if [ -d /usr/nec ]; then
1030
+ echo mips-nec-sysv${UNAME_RELEASE}
1031
+ else
1032
+ echo mips-unknown-sysv${UNAME_RELEASE}
1033
+ fi
1034
+ exit 0 ;;
1035
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1036
+ echo powerpc-be-beos
1037
+ exit 0 ;;
1038
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1039
+ echo powerpc-apple-beos
1040
+ exit 0 ;;
1041
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1042
+ echo i586-pc-beos
1043
+ exit 0 ;;
1044
+ SX-4:SUPER-UX:*:*)
1045
+ echo sx4-nec-superux${UNAME_RELEASE}
1046
+ exit 0 ;;
1047
+ SX-5:SUPER-UX:*:*)
1048
+ echo sx5-nec-superux${UNAME_RELEASE}
1049
+ exit 0 ;;
1050
+ Power*:Rhapsody:*:*)
1051
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
1052
+ exit 0 ;;
1053
+ *:Rhapsody:*:*)
1054
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1055
+ exit 0 ;;
1056
+ *:Darwin:*:*)
1057
+ echo `uname -p`-apple-darwin${UNAME_RELEASE}
1058
+ exit 0 ;;
1059
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
1060
+ if test "${UNAME_MACHINE}" = "x86pc"; then
1061
+ UNAME_MACHINE=pc
1062
+ fi
1063
+ echo `uname -p`-${UNAME_MACHINE}-nto-qnx
1064
+ exit 0 ;;
1065
+ *:QNX:*:4*)
1066
+ echo i386-pc-qnx
1067
+ exit 0 ;;
1068
+ NSR-[KW]:NONSTOP_KERNEL:*:*)
1069
+ echo nsr-tandem-nsk${UNAME_RELEASE}
1070
+ exit 0 ;;
1071
+ *:NonStop-UX:*:*)
1072
+ echo mips-compaq-nonstopux
1073
+ exit 0 ;;
1074
+ BS2000:POSIX*:*:*)
1075
+ echo bs2000-siemens-sysv
1076
+ exit 0 ;;
1077
+ DS/*:UNIX_System_V:*:*)
1078
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1079
+ exit 0 ;;
1080
+ *:Plan9:*:*)
1081
+ # "uname -m" is not consistent, so use $cputype instead. 386
1082
+ # is converted to i386 for consistency with other x86
1083
+ # operating systems.
1084
+ if test "$cputype" = "386"; then
1085
+ UNAME_MACHINE=i386
1086
+ else
1087
+ UNAME_MACHINE="$cputype"
1088
+ fi
1089
+ echo ${UNAME_MACHINE}-unknown-plan9
1090
+ exit 0 ;;
1091
+ i*86:OS/2:*:*)
1092
+ # If we were able to find `uname', then EMX Unix compatibility
1093
+ # is probably installed.
1094
+ echo ${UNAME_MACHINE}-pc-os2-emx
1095
+ exit 0 ;;
1096
+ *:TOPS-10:*:*)
1097
+ echo pdp10-unknown-tops10
1098
+ exit 0 ;;
1099
+ *:TENEX:*:*)
1100
+ echo pdp10-unknown-tenex
1101
+ exit 0 ;;
1102
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1103
+ echo pdp10-dec-tops20
1104
+ exit 0 ;;
1105
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1106
+ echo pdp10-xkl-tops20
1107
+ exit 0 ;;
1108
+ *:TOPS-20:*:*)
1109
+ echo pdp10-unknown-tops20
1110
+ exit 0 ;;
1111
+ *:ITS:*:*)
1112
+ echo pdp10-unknown-its
1113
+ exit 0 ;;
1114
+ i*86:XTS-300:*:STOP)
1115
+ echo ${UNAME_MACHINE}-unknown-stop
1116
+ exit 0 ;;
1117
+ esac
1118
+
1119
+ #echo '(No uname command or uname output not recognized.)' 1>&2
1120
+ #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1121
+
1122
+ cat >$dummy.c <<EOF
1123
+ #ifdef _SEQUENT_
1124
+ # include <sys/types.h>
1125
+ # include <sys/utsname.h>
1126
+ #endif
1127
+ main ()
1128
+ {
1129
+ #if defined (sony)
1130
+ #if defined (MIPSEB)
1131
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1132
+ I don't know.... */
1133
+ printf ("mips-sony-bsd\n"); exit (0);
1134
+ #else
1135
+ #include <sys/param.h>
1136
+ printf ("m68k-sony-newsos%s\n",
1137
+ #ifdef NEWSOS4
1138
+ "4"
1139
+ #else
1140
+ ""
1141
+ #endif
1142
+ ); exit (0);
1143
+ #endif
1144
+ #endif
1145
+
1146
+ #if defined (__arm) && defined (__acorn) && defined (__unix)
1147
+ printf ("arm-acorn-riscix"); exit (0);
1148
+ #endif
1149
+
1150
+ #if defined (hp300) && !defined (hpux)
1151
+ printf ("m68k-hp-bsd\n"); exit (0);
1152
+ #endif
1153
+
1154
+ #if defined (NeXT)
1155
+ #if !defined (__ARCHITECTURE__)
1156
+ #define __ARCHITECTURE__ "m68k"
1157
+ #endif
1158
+ int version;
1159
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1160
+ if (version < 4)
1161
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1162
+ else
1163
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1164
+ exit (0);
1165
+ #endif
1166
+
1167
+ #if defined (MULTIMAX) || defined (n16)
1168
+ #if defined (UMAXV)
1169
+ printf ("ns32k-encore-sysv\n"); exit (0);
1170
+ #else
1171
+ #if defined (CMU)
1172
+ printf ("ns32k-encore-mach\n"); exit (0);
1173
+ #else
1174
+ printf ("ns32k-encore-bsd\n"); exit (0);
1175
+ #endif
1176
+ #endif
1177
+ #endif
1178
+
1179
+ #if defined (__386BSD__)
1180
+ printf ("i386-pc-bsd\n"); exit (0);
1181
+ #endif
1182
+
1183
+ #if defined (sequent)
1184
+ #if defined (i386)
1185
+ printf ("i386-sequent-dynix\n"); exit (0);
1186
+ #endif
1187
+ #if defined (ns32000)
1188
+ printf ("ns32k-sequent-dynix\n"); exit (0);
1189
+ #endif
1190
+ #endif
1191
+
1192
+ #if defined (_SEQUENT_)
1193
+ struct utsname un;
1194
+
1195
+ uname(&un);
1196
+
1197
+ if (strncmp(un.version, "V2", 2) == 0) {
1198
+ printf ("i386-sequent-ptx2\n"); exit (0);
1199
+ }
1200
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1201
+ printf ("i386-sequent-ptx1\n"); exit (0);
1202
+ }
1203
+ printf ("i386-sequent-ptx\n"); exit (0);
1204
+
1205
+ #endif
1206
+
1207
+ #if defined (vax)
1208
+ # if !defined (ultrix)
1209
+ # include <sys/param.h>
1210
+ # if defined (BSD)
1211
+ # if BSD == 43
1212
+ printf ("vax-dec-bsd4.3\n"); exit (0);
1213
+ # else
1214
+ # if BSD == 199006
1215
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
1216
+ # else
1217
+ printf ("vax-dec-bsd\n"); exit (0);
1218
+ # endif
1219
+ # endif
1220
+ # else
1221
+ printf ("vax-dec-bsd\n"); exit (0);
1222
+ # endif
1223
+ # else
1224
+ printf ("vax-dec-ultrix\n"); exit (0);
1225
+ # endif
1226
+ #endif
1227
+
1228
+ #if defined (alliant) && defined (i860)
1229
+ printf ("i860-alliant-bsd\n"); exit (0);
1230
+ #endif
1231
+
1232
+ exit (1);
1233
+ }
1234
+ EOF
1235
+
1236
+ eval $set_cc_for_build
1237
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1238
+ rm -f $dummy.c $dummy
1239
+
1240
+ # Apollos put the system type in the environment.
1241
+
1242
+ test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1243
+
1244
+ # Convex versions that predate uname can use getsysinfo(1)
1245
+
1246
+ if [ -x /usr/convex/getsysinfo ]
1247
+ then
1248
+ case `getsysinfo -f cpu_type` in
1249
+ c1*)
1250
+ echo c1-convex-bsd
1251
+ exit 0 ;;
1252
+ c2*)
1253
+ if getsysinfo -f scalar_acc
1254
+ then echo c32-convex-bsd
1255
+ else echo c2-convex-bsd
1256
+ fi
1257
+ exit 0 ;;
1258
+ c34*)
1259
+ echo c34-convex-bsd
1260
+ exit 0 ;;
1261
+ c38*)
1262
+ echo c38-convex-bsd
1263
+ exit 0 ;;
1264
+ c4*)
1265
+ echo c4-convex-bsd
1266
+ exit 0 ;;
1267
+ esac
1268
+ fi
1269
+
1270
+ cat >&2 <<EOF
1271
+ $0: unable to guess system type
1272
+
1273
+ This script, last modified $timestamp, has failed to recognize
1274
+ the operating system you are using. It is advised that you
1275
+ download the most up to date version of the config scripts from
1276
+
1277
+ ftp://ftp.gnu.org/pub/gnu/config/
1278
+
1279
+ If the version you run ($0) is already up to date, please
1280
+ send the following data and any information you think might be
1281
+ pertinent to <config-patches@gnu.org> in order to provide the needed
1282
+ information to handle your system.
1283
+
1284
+ config.guess timestamp = $timestamp
1285
+
1286
+ uname -m = `(uname -m) 2>/dev/null || echo unknown`
1287
+ uname -r = `(uname -r) 2>/dev/null || echo unknown`
1288
+ uname -s = `(uname -s) 2>/dev/null || echo unknown`
1289
+ uname -v = `(uname -v) 2>/dev/null || echo unknown`
1290
+
1291
+ /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1292
+ /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1293
+
1294
+ hostinfo = `(hostinfo) 2>/dev/null`
1295
+ /bin/universe = `(/bin/universe) 2>/dev/null`
1296
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1297
+ /bin/arch = `(/bin/arch) 2>/dev/null`
1298
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1299
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1300
+
1301
+ UNAME_MACHINE = ${UNAME_MACHINE}
1302
+ UNAME_RELEASE = ${UNAME_RELEASE}
1303
+ UNAME_SYSTEM = ${UNAME_SYSTEM}
1304
+ UNAME_VERSION = ${UNAME_VERSION}
1305
+ EOF
1306
+
1307
+ exit 1
1308
+
1309
+ # Local variables:
1310
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
1311
+ # time-stamp-start: "timestamp='"
1312
+ # time-stamp-format: "%:y-%02m-%02d"
1313
+ # time-stamp-end: "'"
1314
+ # End: