uringmachine 0.16 → 0.18

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 (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +3 -0
  3. data/.gitmodules +4 -0
  4. data/CHANGELOG.md +8 -0
  5. data/TODO.md +12 -3
  6. data/examples/bm_send.rb +86 -0
  7. data/ext/um/um.c +28 -1
  8. data/ext/um/um.h +3 -0
  9. data/ext/um/um_class.c +17 -0
  10. data/ext/um/um_utils.c +38 -15
  11. data/lib/uringmachine/version.rb +1 -1
  12. data/test/test_um.rb +76 -0
  13. data/vendor/libressl/.github/scripts/changelog.sh +74 -0
  14. data/vendor/libressl/.github/workflows/android.yml +35 -0
  15. data/vendor/libressl/.github/workflows/cifuzz.yml +33 -0
  16. data/vendor/libressl/.github/workflows/cmake-config.yml +98 -0
  17. data/vendor/libressl/.github/workflows/coverity.yml +69 -0
  18. data/vendor/libressl/.github/workflows/emscripten.yml +71 -0
  19. data/vendor/libressl/.github/workflows/fedora-rawhide.yml +39 -0
  20. data/vendor/libressl/.github/workflows/freebsd.yml +71 -0
  21. data/vendor/libressl/.github/workflows/linux.yml +71 -0
  22. data/vendor/libressl/.github/workflows/macos.yml +37 -0
  23. data/vendor/libressl/.github/workflows/release.yml +81 -0
  24. data/vendor/libressl/.github/workflows/rust-openssl.yml +47 -0
  25. data/vendor/libressl/.github/workflows/solaris.yml +37 -0
  26. data/vendor/libressl/.github/workflows/windows.yml +70 -0
  27. data/vendor/libressl/.gitignore +333 -0
  28. data/vendor/libressl/CMakeLists.txt +581 -0
  29. data/vendor/libressl/COPYING +133 -0
  30. data/vendor/libressl/ChangeLog +3280 -0
  31. data/vendor/libressl/FindLibreSSL.cmake +232 -0
  32. data/vendor/libressl/LibreSSLConfig.cmake.in +36 -0
  33. data/vendor/libressl/Makefile.am +60 -0
  34. data/vendor/libressl/Makefile.am.common +20 -0
  35. data/vendor/libressl/OPENBSD_BRANCH +1 -0
  36. data/vendor/libressl/README.md +238 -0
  37. data/vendor/libressl/README.mingw.md +43 -0
  38. data/vendor/libressl/apps/CMakeLists.txt +18 -0
  39. data/vendor/libressl/apps/Makefile.am +5 -0
  40. data/vendor/libressl/apps/nc/CMakeLists.txt +67 -0
  41. data/vendor/libressl/apps/nc/Makefile.am +64 -0
  42. data/vendor/libressl/apps/nc/compat/accept4.c +17 -0
  43. data/vendor/libressl/apps/nc/compat/readpassphrase.c +205 -0
  44. data/vendor/libressl/apps/nc/compat/socket.c +29 -0
  45. data/vendor/libressl/apps/nc/compat/sys/socket.h +30 -0
  46. data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +44 -0
  47. data/vendor/libressl/apps/ocspcheck/Makefile.am +45 -0
  48. data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
  49. data/vendor/libressl/apps/openssl/CMakeLists.txt +97 -0
  50. data/vendor/libressl/apps/openssl/Makefile.am +108 -0
  51. data/vendor/libressl/apps/openssl/apps_win.c +138 -0
  52. data/vendor/libressl/apps/openssl/certhash_win.c +13 -0
  53. data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +26 -0
  54. data/vendor/libressl/apps/openssl/compat/poll_win.c +329 -0
  55. data/vendor/libressl/appveyor.yml +53 -0
  56. data/vendor/libressl/autogen.sh +15 -0
  57. data/vendor/libressl/check-release.sh +86 -0
  58. data/vendor/libressl/cmake_export_symbol.cmake +71 -0
  59. data/vendor/libressl/cmake_uninstall.cmake.in +36 -0
  60. data/vendor/libressl/config +17 -0
  61. data/vendor/libressl/configure.ac +165 -0
  62. data/vendor/libressl/crypto/CMakeLists.txt +863 -0
  63. data/vendor/libressl/crypto/Makefile.am +962 -0
  64. data/vendor/libressl/crypto/Makefile.am.arc4random +46 -0
  65. data/vendor/libressl/crypto/Makefile.am.elf-mips +14 -0
  66. data/vendor/libressl/crypto/Makefile.am.elf-mips64 +14 -0
  67. data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +35 -0
  68. data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +35 -0
  69. data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +22 -0
  70. data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +23 -0
  71. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +60 -0
  72. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +62 -0
  73. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +26 -0
  74. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +36 -0
  75. data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +21 -0
  76. data/vendor/libressl/crypto/arch/mips/crypto_arch.h +21 -0
  77. data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +23 -0
  78. data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +24 -0
  79. data/vendor/libressl/crypto/compat/.gitignore +31 -0
  80. data/vendor/libressl/crypto/compat/arc4random.h +41 -0
  81. data/vendor/libressl/crypto/compat/b_win.c +55 -0
  82. data/vendor/libressl/crypto/compat/bsd-asprintf.c +96 -0
  83. data/vendor/libressl/crypto/compat/crypto_lock_win.c +56 -0
  84. data/vendor/libressl/crypto/compat/explicit_bzero_win.c +13 -0
  85. data/vendor/libressl/crypto/compat/freezero.c +32 -0
  86. data/vendor/libressl/crypto/compat/getdelim.c +78 -0
  87. data/vendor/libressl/crypto/compat/getline.c +40 -0
  88. data/vendor/libressl/crypto/compat/getopt_long.c +528 -0
  89. data/vendor/libressl/crypto/compat/getpagesize.c +18 -0
  90. data/vendor/libressl/crypto/compat/getprogname_linux.c +23 -0
  91. data/vendor/libressl/crypto/compat/getprogname_unimpl.c +7 -0
  92. data/vendor/libressl/crypto/compat/getprogname_windows.c +13 -0
  93. data/vendor/libressl/crypto/compat/posix_win.c +296 -0
  94. data/vendor/libressl/crypto/compat/syslog_r.c +19 -0
  95. data/vendor/libressl/crypto/compat/ui_openssl_win.c +334 -0
  96. data/vendor/libressl/dist.sh +22 -0
  97. data/vendor/libressl/gen-coverage-report.sh +58 -0
  98. data/vendor/libressl/gen-openbsd-tags.sh +20 -0
  99. data/vendor/libressl/include/CMakeLists.txt +61 -0
  100. data/vendor/libressl/include/Makefile.am +79 -0
  101. data/vendor/libressl/include/arch/loongarch64/opensslconf.h +150 -0
  102. data/vendor/libressl/include/arch/mips/opensslconf.h +150 -0
  103. data/vendor/libressl/include/compat/arpa/inet.h +15 -0
  104. data/vendor/libressl/include/compat/arpa/nameser.h +25 -0
  105. data/vendor/libressl/include/compat/cet.h +19 -0
  106. data/vendor/libressl/include/compat/dirent.h +17 -0
  107. data/vendor/libressl/include/compat/dirent_msvc.h +611 -0
  108. data/vendor/libressl/include/compat/endian.h +161 -0
  109. data/vendor/libressl/include/compat/err.h +95 -0
  110. data/vendor/libressl/include/compat/fcntl.h +32 -0
  111. data/vendor/libressl/include/compat/getopt.h +50 -0
  112. data/vendor/libressl/include/compat/limits.h +25 -0
  113. data/vendor/libressl/include/compat/netdb.h +10 -0
  114. data/vendor/libressl/include/compat/netinet/in.h +19 -0
  115. data/vendor/libressl/include/compat/netinet/ip.h +49 -0
  116. data/vendor/libressl/include/compat/netinet/tcp.h +10 -0
  117. data/vendor/libressl/include/compat/poll.h +63 -0
  118. data/vendor/libressl/include/compat/pthread.h +122 -0
  119. data/vendor/libressl/include/compat/readpassphrase.h +44 -0
  120. data/vendor/libressl/include/compat/resolv.h +24 -0
  121. data/vendor/libressl/include/compat/stdint.h +31 -0
  122. data/vendor/libressl/include/compat/stdio.h +65 -0
  123. data/vendor/libressl/include/compat/stdlib.h +57 -0
  124. data/vendor/libressl/include/compat/string.h +98 -0
  125. data/vendor/libressl/include/compat/sys/_null.h +18 -0
  126. data/vendor/libressl/include/compat/sys/ioctl.h +11 -0
  127. data/vendor/libressl/include/compat/sys/mman.h +19 -0
  128. data/vendor/libressl/include/compat/sys/param.h +15 -0
  129. data/vendor/libressl/include/compat/sys/queue.h +536 -0
  130. data/vendor/libressl/include/compat/sys/select.h +10 -0
  131. data/vendor/libressl/include/compat/sys/socket.h +18 -0
  132. data/vendor/libressl/include/compat/sys/stat.h +129 -0
  133. data/vendor/libressl/include/compat/sys/time.h +37 -0
  134. data/vendor/libressl/include/compat/sys/tree.h +1006 -0
  135. data/vendor/libressl/include/compat/sys/types.h +69 -0
  136. data/vendor/libressl/include/compat/sys/uio.h +17 -0
  137. data/vendor/libressl/include/compat/syslog.h +38 -0
  138. data/vendor/libressl/include/compat/time.h +59 -0
  139. data/vendor/libressl/include/compat/unistd.h +83 -0
  140. data/vendor/libressl/include/compat/win32netcompat.h +57 -0
  141. data/vendor/libressl/include/openssl/Makefile.am.tpl +45 -0
  142. data/vendor/libressl/libcrypto.pc.in +28 -0
  143. data/vendor/libressl/libressl.pub +2 -0
  144. data/vendor/libressl/libssl.pc.in +28 -0
  145. data/vendor/libressl/libtls.pc.in +28 -0
  146. data/vendor/libressl/m4/ax_add_fortify_source.m4 +80 -0
  147. data/vendor/libressl/m4/ax_check_compile_flag.m4 +53 -0
  148. data/vendor/libressl/m4/check-hardening-options.m4 +110 -0
  149. data/vendor/libressl/m4/check-libc.m4 +189 -0
  150. data/vendor/libressl/m4/check-os-options.m4 +181 -0
  151. data/vendor/libressl/m4/disable-compiler-warnings.m4 +44 -0
  152. data/vendor/libressl/man/CMakeLists.txt +26 -0
  153. data/vendor/libressl/man/links +2780 -0
  154. data/vendor/libressl/man/update_links.sh +25 -0
  155. data/vendor/libressl/openssl.pc.in +11 -0
  156. data/vendor/libressl/patches/bn_shift.patch +34 -0
  157. data/vendor/libressl/patches/crypto_arch.h.patch +34 -0
  158. data/vendor/libressl/patches/crypto_namespace.h.patch +22 -0
  159. data/vendor/libressl/patches/netcat.c.patch +178 -0
  160. data/vendor/libressl/patches/openssl.c.patch +12 -0
  161. data/vendor/libressl/patches/opensslfeatures.h.patch +49 -0
  162. data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +20 -0
  163. data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +20 -0
  164. data/vendor/libressl/patches/speed.c.patch +114 -0
  165. data/vendor/libressl/patches/ssl_namespace.h.patch +21 -0
  166. data/vendor/libressl/patches/tls.h.patch +16 -0
  167. data/vendor/libressl/patches/tls_config.c.patch +15 -0
  168. data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +28 -0
  169. data/vendor/libressl/patches/windows_headers.patch +80 -0
  170. data/vendor/libressl/scripts/config.guess +1774 -0
  171. data/vendor/libressl/scripts/config.sub +1907 -0
  172. data/vendor/libressl/scripts/i686-w64-mingw32.cmake +9 -0
  173. data/vendor/libressl/scripts/test +210 -0
  174. data/vendor/libressl/scripts/wrap-compiler-for-flag-check +31 -0
  175. data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +9 -0
  176. data/vendor/libressl/ssl/CMakeLists.txt +183 -0
  177. data/vendor/libressl/ssl/Makefile.am +187 -0
  178. data/vendor/libressl/tests/CMakeLists.txt +970 -0
  179. data/vendor/libressl/tests/Makefile.am +944 -0
  180. data/vendor/libressl/tests/aeadtest.sh +30 -0
  181. data/vendor/libressl/tests/arc4randomforktest.sh +21 -0
  182. data/vendor/libressl/tests/asn1time_small.test +10 -0
  183. data/vendor/libressl/tests/cmake/CMakeLists.txt +52 -0
  184. data/vendor/libressl/tests/cmake/crypto.c +7 -0
  185. data/vendor/libressl/tests/cmake/ssl.c +6 -0
  186. data/vendor/libressl/tests/cmake/tls.c +6 -0
  187. data/vendor/libressl/tests/compat/pipe2.c +186 -0
  188. data/vendor/libressl/tests/dtlstest.sh +28 -0
  189. data/vendor/libressl/tests/evptest.sh +22 -0
  190. data/vendor/libressl/tests/keypairtest.sh +27 -0
  191. data/vendor/libressl/tests/mlkem_tests.sh +39 -0
  192. data/vendor/libressl/tests/ocsptest.bat +25 -0
  193. data/vendor/libressl/tests/ocsptest.sh +23 -0
  194. data/vendor/libressl/tests/openssl.cnf +29 -0
  195. data/vendor/libressl/tests/optionstest.c +381 -0
  196. data/vendor/libressl/tests/pidwraptest.c +85 -0
  197. data/vendor/libressl/tests/pidwraptest.sh +26 -0
  198. data/vendor/libressl/tests/quictest.bat +27 -0
  199. data/vendor/libressl/tests/quictest.sh +30 -0
  200. data/vendor/libressl/tests/renegotiation_test.bat +27 -0
  201. data/vendor/libressl/tests/renegotiation_test.sh +30 -0
  202. data/vendor/libressl/tests/rfc5280time_small.test +10 -0
  203. data/vendor/libressl/tests/servertest.bat +27 -0
  204. data/vendor/libressl/tests/servertest.sh +30 -0
  205. data/vendor/libressl/tests/shutdowntest.bat +27 -0
  206. data/vendor/libressl/tests/shutdowntest.sh +30 -0
  207. data/vendor/libressl/tests/ssltest.bat +32 -0
  208. data/vendor/libressl/tests/ssltest.sh +48 -0
  209. data/vendor/libressl/tests/testdsa.bat +47 -0
  210. data/vendor/libressl/tests/testdsa.sh +57 -0
  211. data/vendor/libressl/tests/testenc.bat +85 -0
  212. data/vendor/libressl/tests/testenc.sh +93 -0
  213. data/vendor/libressl/tests/testrsa.bat +47 -0
  214. data/vendor/libressl/tests/testrsa.sh +57 -0
  215. data/vendor/libressl/tests/testssl.bat +171 -0
  216. data/vendor/libressl/tests/tlstest.bat +27 -0
  217. data/vendor/libressl/tests/tlstest.sh +28 -0
  218. data/vendor/libressl/tls/CMakeLists.txt +125 -0
  219. data/vendor/libressl/tls/Makefile.am +76 -0
  220. data/vendor/libressl/tls/compat/ftruncate.c +17 -0
  221. data/vendor/libressl/tls/compat/pread.c +29 -0
  222. data/vendor/libressl/tls/compat/pwrite.c +29 -0
  223. data/vendor/libressl/update.sh +460 -0
  224. data/vendor/liburing/.github/workflows/ci.yml +8 -0
  225. data/vendor/liburing/configure +23 -2
  226. data/vendor/liburing/examples/helpers.c +1 -1
  227. data/vendor/liburing/examples/helpers.h +1 -1
  228. data/vendor/liburing/examples/reg-wait.c +3 -3
  229. data/vendor/liburing/examples/zcrx.c +5 -5
  230. data/vendor/liburing/liburing.spec +1 -1
  231. data/vendor/liburing/src/include/liburing/io_uring.h +16 -0
  232. data/vendor/liburing/src/include/liburing.h +20 -4
  233. data/vendor/liburing/src/lib.h +2 -4
  234. data/vendor/liburing/src/liburing-ffi.map +7 -0
  235. data/vendor/liburing/src/liburing.map +7 -0
  236. data/vendor/liburing/src/register.c +5 -0
  237. data/vendor/liburing/src/sanitize.c +5 -4
  238. data/vendor/liburing/src/setup.c +43 -28
  239. data/vendor/liburing/test/Makefile +7 -0
  240. data/vendor/liburing/test/cmd-discard.c +2 -2
  241. data/vendor/liburing/test/evfd-short-read.c +84 -0
  242. data/vendor/liburing/test/fdinfo-sqpoll.c +117 -0
  243. data/vendor/liburing/test/fdinfo.c +1 -1
  244. data/vendor/liburing/test/fixed-buf-merge.c +2 -2
  245. data/vendor/liburing/test/futex-kill.c +135 -0
  246. data/vendor/liburing/test/helpers.c +1 -1
  247. data/vendor/liburing/test/helpers.h +1 -1
  248. data/vendor/liburing/test/init-mem.c +50 -12
  249. data/vendor/liburing/test/io_uring_passthrough.c +25 -6
  250. data/vendor/liburing/test/msg-ring.c +123 -9
  251. data/vendor/liburing/test/recv-bundle-short-ooo.c +16 -1
  252. data/vendor/liburing/test/recv-inc-ooo.c +411 -0
  253. data/vendor/liburing/test/recv-mshot-fair.c +513 -0
  254. data/vendor/liburing/test/reg-wait.c +14 -14
  255. data/vendor/liburing/test/send-zerocopy.c +4 -4
  256. data/vendor/liburing/test/timerfd-short-read.c +81 -0
  257. data/vendor/liburing/test/timestamp.c +382 -0
  258. data/vendor/liburing/test/zcrx.c +22 -22
  259. metadata +222 -2
@@ -0,0 +1,1774 @@
1
+ #! /bin/sh
2
+ # Attempt to guess a canonical system name.
3
+ # Copyright 1992-2022 Free Software Foundation, Inc.
4
+
5
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
6
+
7
+ timestamp='2022-09-17'
8
+
9
+ # This file is free software; you can redistribute it and/or modify it
10
+ # under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation, either version 3 of the License, or
12
+ # (at your option) any later version.
13
+ #
14
+ # This program is distributed in the hope that it will be useful, but
15
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ # General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
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
26
+ # program. This Exception is an additional permission under section 7
27
+ # of the GNU General Public License, version 3 ("GPLv3").
28
+ #
29
+ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
30
+ #
31
+ # You can get the latest version of this script from:
32
+ # https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33
+ #
34
+ # Please send patches to <config-patches@gnu.org>.
35
+
36
+
37
+ # The "shellcheck disable" line above the timestamp inhibits complaints
38
+ # about features and limitations of the classic Bourne shell that were
39
+ # superseded or lifted in POSIX. However, this script identifies a wide
40
+ # variety of pre-POSIX systems that do not have POSIX shells at all, and
41
+ # even some reasonably current systems (Solaris 10 as case-in-point) still
42
+ # have a pre-POSIX /bin/sh.
43
+
44
+
45
+ me=`echo "$0" | sed -e 's,.*/,,'`
46
+
47
+ usage="\
48
+ Usage: $0 [OPTION]
49
+
50
+ Output the configuration name of the system \`$me' is run on.
51
+
52
+ Options:
53
+ -h, --help print this help, then exit
54
+ -t, --time-stamp print date of last modification, then exit
55
+ -v, --version print version number, then exit
56
+
57
+ Report bugs and patches to <config-patches@gnu.org>."
58
+
59
+ version="\
60
+ GNU config.guess ($timestamp)
61
+
62
+ Originally written by Per Bothner.
63
+ Copyright 1992-2022 Free Software Foundation, Inc.
64
+
65
+ This is free software; see the source for copying conditions. There is NO
66
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67
+
68
+ help="
69
+ Try \`$me --help' for more information."
70
+
71
+ # Parse command line
72
+ while test $# -gt 0 ; do
73
+ case $1 in
74
+ --time-stamp | --time* | -t )
75
+ echo "$timestamp" ; exit ;;
76
+ --version | -v )
77
+ echo "$version" ; exit ;;
78
+ --help | --h* | -h )
79
+ echo "$usage"; exit ;;
80
+ -- ) # Stop option processing
81
+ shift; break ;;
82
+ - ) # Use stdin as input.
83
+ break ;;
84
+ -* )
85
+ echo "$me: invalid option $1$help" >&2
86
+ exit 1 ;;
87
+ * )
88
+ break ;;
89
+ esac
90
+ done
91
+
92
+ if test $# != 0; then
93
+ echo "$me: too many arguments$help" >&2
94
+ exit 1
95
+ fi
96
+
97
+ # Just in case it came from the environment.
98
+ GUESS=
99
+
100
+ # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101
+ # compiler to aid in system detection is discouraged as it requires
102
+ # temporary files to be created and, as you can see below, it is a
103
+ # headache to deal with in a portable fashion.
104
+
105
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106
+ # use `HOST_CC' if defined, but it is deprecated.
107
+
108
+ # Portable tmp directory creation inspired by the Autoconf team.
109
+
110
+ tmp=
111
+ # shellcheck disable=SC2172
112
+ trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113
+
114
+ set_cc_for_build() {
115
+ # prevent multiple calls if $tmp is already set
116
+ test "$tmp" && return 0
117
+ : "${TMPDIR=/tmp}"
118
+ # shellcheck disable=SC2039,SC3028
119
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123
+ dummy=$tmp/dummy
124
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125
+ ,,) echo "int x;" > "$dummy.c"
126
+ for driver in cc gcc c89 c99 ; do
127
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128
+ CC_FOR_BUILD=$driver
129
+ break
130
+ fi
131
+ done
132
+ if test x"$CC_FOR_BUILD" = x ; then
133
+ CC_FOR_BUILD=no_compiler_found
134
+ fi
135
+ ;;
136
+ ,,*) CC_FOR_BUILD=$CC ;;
137
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
138
+ esac
139
+ }
140
+
141
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
142
+ # (ghazi@noc.rutgers.edu 1994-08-24)
143
+ if test -f /.attbin/uname ; then
144
+ PATH=$PATH:/.attbin ; export PATH
145
+ fi
146
+
147
+ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
148
+ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
150
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
151
+
152
+ case $UNAME_SYSTEM in
153
+ Linux|GNU|GNU/*)
154
+ LIBC=unknown
155
+
156
+ set_cc_for_build
157
+ cat <<-EOF > "$dummy.c"
158
+ #include <features.h>
159
+ #if defined(__UCLIBC__)
160
+ LIBC=uclibc
161
+ #elif defined(__dietlibc__)
162
+ LIBC=dietlibc
163
+ #elif defined(__GLIBC__)
164
+ LIBC=gnu
165
+ #else
166
+ #include <stdarg.h>
167
+ /* First heuristic to detect musl libc. */
168
+ #ifdef __DEFINED_va_list
169
+ LIBC=musl
170
+ #endif
171
+ #endif
172
+ EOF
173
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174
+ eval "$cc_set_libc"
175
+
176
+ # Second heuristic to detect musl libc.
177
+ if [ "$LIBC" = unknown ] &&
178
+ command -v ldd >/dev/null &&
179
+ ldd --version 2>&1 | grep -q ^musl; then
180
+ LIBC=musl
181
+ fi
182
+
183
+ # If the system lacks a compiler, then just pick glibc.
184
+ # We could probably try harder.
185
+ if [ "$LIBC" = unknown ]; then
186
+ LIBC=gnu
187
+ fi
188
+ ;;
189
+ esac
190
+
191
+ # Note: order is significant - the case branches are not exclusive.
192
+
193
+ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
194
+ *:NetBSD:*:*)
195
+ # NetBSD (nbsd) targets should (where applicable) match one or
196
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
197
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
198
+ # switched to ELF, *-*-netbsd* would select the old
199
+ # object file format. This provides both forward
200
+ # compatibility and a consistent mechanism for selecting the
201
+ # object file format.
202
+ #
203
+ # Note: NetBSD doesn't particularly care about the vendor
204
+ # portion of the name. We always set it to "unknown".
205
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
206
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
207
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
208
+ echo unknown)`
209
+ case $UNAME_MACHINE_ARCH in
210
+ aarch64eb) machine=aarch64_be-unknown ;;
211
+ armeb) machine=armeb-unknown ;;
212
+ arm*) machine=arm-unknown ;;
213
+ sh3el) machine=shl-unknown ;;
214
+ sh3eb) machine=sh-unknown ;;
215
+ sh5el) machine=sh5le-unknown ;;
216
+ earmv*)
217
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
218
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
219
+ machine=${arch}${endian}-unknown
220
+ ;;
221
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
222
+ esac
223
+ # The Operating System including object format, if it has switched
224
+ # to ELF recently (or will in the future) and ABI.
225
+ case $UNAME_MACHINE_ARCH in
226
+ earm*)
227
+ os=netbsdelf
228
+ ;;
229
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
230
+ set_cc_for_build
231
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
232
+ | grep -q __ELF__
233
+ then
234
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
235
+ # Return netbsd for either. FIX?
236
+ os=netbsd
237
+ else
238
+ os=netbsdelf
239
+ fi
240
+ ;;
241
+ *)
242
+ os=netbsd
243
+ ;;
244
+ esac
245
+ # Determine ABI tags.
246
+ case $UNAME_MACHINE_ARCH in
247
+ earm*)
248
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
249
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
250
+ ;;
251
+ esac
252
+ # The OS release
253
+ # Debian GNU/NetBSD machines have a different userland, and
254
+ # thus, need a distinct triplet. However, they do not need
255
+ # kernel version information, so it can be replaced with a
256
+ # suitable tag, in the style of linux-gnu.
257
+ case $UNAME_VERSION in
258
+ Debian*)
259
+ release='-gnu'
260
+ ;;
261
+ *)
262
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
263
+ ;;
264
+ esac
265
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
266
+ # contains redundant information, the shorter form:
267
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
268
+ GUESS=$machine-${os}${release}${abi-}
269
+ ;;
270
+ *:Bitrig:*:*)
271
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
272
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
273
+ ;;
274
+ *:OpenBSD:*:*)
275
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
276
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
277
+ ;;
278
+ *:SecBSD:*:*)
279
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
280
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
281
+ ;;
282
+ *:LibertyBSD:*:*)
283
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
284
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
285
+ ;;
286
+ *:MidnightBSD:*:*)
287
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
288
+ ;;
289
+ *:ekkoBSD:*:*)
290
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
291
+ ;;
292
+ *:SolidBSD:*:*)
293
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
294
+ ;;
295
+ *:OS108:*:*)
296
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
297
+ ;;
298
+ macppc:MirBSD:*:*)
299
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
300
+ ;;
301
+ *:MirBSD:*:*)
302
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
303
+ ;;
304
+ *:Sortix:*:*)
305
+ GUESS=$UNAME_MACHINE-unknown-sortix
306
+ ;;
307
+ *:Twizzler:*:*)
308
+ GUESS=$UNAME_MACHINE-unknown-twizzler
309
+ ;;
310
+ *:Redox:*:*)
311
+ GUESS=$UNAME_MACHINE-unknown-redox
312
+ ;;
313
+ mips:OSF1:*.*)
314
+ GUESS=mips-dec-osf1
315
+ ;;
316
+ alpha:OSF1:*:*)
317
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
318
+ trap '' 0
319
+ case $UNAME_RELEASE in
320
+ *4.0)
321
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
322
+ ;;
323
+ *5.*)
324
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
325
+ ;;
326
+ esac
327
+ # According to Compaq, /usr/sbin/psrinfo has been available on
328
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
329
+ # covers most systems running today. This code pipes the CPU
330
+ # types through head -n 1, so we only detect the type of CPU 0.
331
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
332
+ case $ALPHA_CPU_TYPE in
333
+ "EV4 (21064)")
334
+ UNAME_MACHINE=alpha ;;
335
+ "EV4.5 (21064)")
336
+ UNAME_MACHINE=alpha ;;
337
+ "LCA4 (21066/21068)")
338
+ UNAME_MACHINE=alpha ;;
339
+ "EV5 (21164)")
340
+ UNAME_MACHINE=alphaev5 ;;
341
+ "EV5.6 (21164A)")
342
+ UNAME_MACHINE=alphaev56 ;;
343
+ "EV5.6 (21164PC)")
344
+ UNAME_MACHINE=alphapca56 ;;
345
+ "EV5.7 (21164PC)")
346
+ UNAME_MACHINE=alphapca57 ;;
347
+ "EV6 (21264)")
348
+ UNAME_MACHINE=alphaev6 ;;
349
+ "EV6.7 (21264A)")
350
+ UNAME_MACHINE=alphaev67 ;;
351
+ "EV6.8CB (21264C)")
352
+ UNAME_MACHINE=alphaev68 ;;
353
+ "EV6.8AL (21264B)")
354
+ UNAME_MACHINE=alphaev68 ;;
355
+ "EV6.8CX (21264D)")
356
+ UNAME_MACHINE=alphaev68 ;;
357
+ "EV6.9A (21264/EV69A)")
358
+ UNAME_MACHINE=alphaev69 ;;
359
+ "EV7 (21364)")
360
+ UNAME_MACHINE=alphaev7 ;;
361
+ "EV7.9 (21364A)")
362
+ UNAME_MACHINE=alphaev79 ;;
363
+ esac
364
+ # A Pn.n version is a patched version.
365
+ # A Vn.n version is a released version.
366
+ # A Tn.n version is a released field test version.
367
+ # A Xn.n version is an unreleased experimental baselevel.
368
+ # 1.2 uses "1.2" for uname -r.
369
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
370
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
371
+ ;;
372
+ Amiga*:UNIX_System_V:4.0:*)
373
+ GUESS=m68k-unknown-sysv4
374
+ ;;
375
+ *:[Aa]miga[Oo][Ss]:*:*)
376
+ GUESS=$UNAME_MACHINE-unknown-amigaos
377
+ ;;
378
+ *:[Mm]orph[Oo][Ss]:*:*)
379
+ GUESS=$UNAME_MACHINE-unknown-morphos
380
+ ;;
381
+ *:OS/390:*:*)
382
+ GUESS=i370-ibm-openedition
383
+ ;;
384
+ *:z/VM:*:*)
385
+ GUESS=s390-ibm-zvmoe
386
+ ;;
387
+ *:OS400:*:*)
388
+ GUESS=powerpc-ibm-os400
389
+ ;;
390
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
391
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
392
+ ;;
393
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
394
+ GUESS=arm-unknown-riscos
395
+ ;;
396
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
397
+ GUESS=hppa1.1-hitachi-hiuxmpp
398
+ ;;
399
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
400
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
401
+ case `(/bin/universe) 2>/dev/null` in
402
+ att) GUESS=pyramid-pyramid-sysv3 ;;
403
+ *) GUESS=pyramid-pyramid-bsd ;;
404
+ esac
405
+ ;;
406
+ NILE*:*:*:dcosx)
407
+ GUESS=pyramid-pyramid-svr4
408
+ ;;
409
+ DRS?6000:unix:4.0:6*)
410
+ GUESS=sparc-icl-nx6
411
+ ;;
412
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
413
+ case `/usr/bin/uname -p` in
414
+ sparc) GUESS=sparc-icl-nx7 ;;
415
+ esac
416
+ ;;
417
+ s390x:SunOS:*:*)
418
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
419
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
420
+ ;;
421
+ sun4H:SunOS:5.*:*)
422
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
423
+ GUESS=sparc-hal-solaris2$SUN_REL
424
+ ;;
425
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
426
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
427
+ GUESS=sparc-sun-solaris2$SUN_REL
428
+ ;;
429
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
430
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
431
+ ;;
432
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
433
+ set_cc_for_build
434
+ SUN_ARCH=i386
435
+ # If there is a compiler, see if it is configured for 64-bit objects.
436
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
437
+ # This test works for both compilers.
438
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
439
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
440
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
441
+ grep IS_64BIT_ARCH >/dev/null
442
+ then
443
+ SUN_ARCH=x86_64
444
+ fi
445
+ fi
446
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
447
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
448
+ ;;
449
+ sun4*:SunOS:6*:*)
450
+ # According to config.sub, this is the proper way to canonicalize
451
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
452
+ # it's likely to be more like Solaris than SunOS4.
453
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
454
+ GUESS=sparc-sun-solaris3$SUN_REL
455
+ ;;
456
+ sun4*:SunOS:*:*)
457
+ case `/usr/bin/arch -k` in
458
+ Series*|S4*)
459
+ UNAME_RELEASE=`uname -v`
460
+ ;;
461
+ esac
462
+ # Japanese Language versions have a version number like `4.1.3-JL'.
463
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
464
+ GUESS=sparc-sun-sunos$SUN_REL
465
+ ;;
466
+ sun3*:SunOS:*:*)
467
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
468
+ ;;
469
+ sun*:*:4.2BSD:*)
470
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
471
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
472
+ case `/bin/arch` in
473
+ sun3)
474
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
475
+ ;;
476
+ sun4)
477
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
478
+ ;;
479
+ esac
480
+ ;;
481
+ aushp:SunOS:*:*)
482
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
483
+ ;;
484
+ # The situation for MiNT is a little confusing. The machine name
485
+ # can be virtually everything (everything which is not
486
+ # "atarist" or "atariste" at least should have a processor
487
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
488
+ # to the lowercase version "mint" (or "freemint"). Finally
489
+ # the system name "TOS" denotes a system which is actually not
490
+ # MiNT. But MiNT is downward compatible to TOS, so this should
491
+ # be no problem.
492
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
493
+ GUESS=m68k-atari-mint$UNAME_RELEASE
494
+ ;;
495
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
496
+ GUESS=m68k-atari-mint$UNAME_RELEASE
497
+ ;;
498
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
499
+ GUESS=m68k-atari-mint$UNAME_RELEASE
500
+ ;;
501
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
502
+ GUESS=m68k-milan-mint$UNAME_RELEASE
503
+ ;;
504
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
505
+ GUESS=m68k-hades-mint$UNAME_RELEASE
506
+ ;;
507
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
508
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
509
+ ;;
510
+ m68k:machten:*:*)
511
+ GUESS=m68k-apple-machten$UNAME_RELEASE
512
+ ;;
513
+ powerpc:machten:*:*)
514
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
515
+ ;;
516
+ RISC*:Mach:*:*)
517
+ GUESS=mips-dec-mach_bsd4.3
518
+ ;;
519
+ RISC*:ULTRIX:*:*)
520
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
521
+ ;;
522
+ VAX*:ULTRIX*:*:*)
523
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
524
+ ;;
525
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
526
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
527
+ ;;
528
+ mips:*:*:UMIPS | mips:*:*:RISCos)
529
+ set_cc_for_build
530
+ sed 's/^ //' << EOF > "$dummy.c"
531
+ #ifdef __cplusplus
532
+ #include <stdio.h> /* for printf() prototype */
533
+ int main (int argc, char *argv[]) {
534
+ #else
535
+ int main (argc, argv) int argc; char *argv[]; {
536
+ #endif
537
+ #if defined (host_mips) && defined (MIPSEB)
538
+ #if defined (SYSTYPE_SYSV)
539
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
540
+ #endif
541
+ #if defined (SYSTYPE_SVR4)
542
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
543
+ #endif
544
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
545
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
546
+ #endif
547
+ #endif
548
+ exit (-1);
549
+ }
550
+ EOF
551
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
552
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
553
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
554
+ { echo "$SYSTEM_NAME"; exit; }
555
+ GUESS=mips-mips-riscos$UNAME_RELEASE
556
+ ;;
557
+ Motorola:PowerMAX_OS:*:*)
558
+ GUESS=powerpc-motorola-powermax
559
+ ;;
560
+ Motorola:*:4.3:PL8-*)
561
+ GUESS=powerpc-harris-powermax
562
+ ;;
563
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
564
+ GUESS=powerpc-harris-powermax
565
+ ;;
566
+ Night_Hawk:Power_UNIX:*:*)
567
+ GUESS=powerpc-harris-powerunix
568
+ ;;
569
+ m88k:CX/UX:7*:*)
570
+ GUESS=m88k-harris-cxux7
571
+ ;;
572
+ m88k:*:4*:R4*)
573
+ GUESS=m88k-motorola-sysv4
574
+ ;;
575
+ m88k:*:3*:R3*)
576
+ GUESS=m88k-motorola-sysv3
577
+ ;;
578
+ AViiON:dgux:*:*)
579
+ # DG/UX returns AViiON for all architectures
580
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
581
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
582
+ then
583
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
584
+ test "$TARGET_BINARY_INTERFACE"x = x
585
+ then
586
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
587
+ else
588
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
589
+ fi
590
+ else
591
+ GUESS=i586-dg-dgux$UNAME_RELEASE
592
+ fi
593
+ ;;
594
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
595
+ GUESS=m88k-dolphin-sysv3
596
+ ;;
597
+ M88*:*:R3*:*)
598
+ # Delta 88k system running SVR3
599
+ GUESS=m88k-motorola-sysv3
600
+ ;;
601
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
602
+ GUESS=m88k-tektronix-sysv3
603
+ ;;
604
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
605
+ GUESS=m68k-tektronix-bsd
606
+ ;;
607
+ *:IRIX*:*:*)
608
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
609
+ GUESS=mips-sgi-irix$IRIX_REL
610
+ ;;
611
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
612
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
613
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
614
+ i*86:AIX:*:*)
615
+ GUESS=i386-ibm-aix
616
+ ;;
617
+ ia64:AIX:*:*)
618
+ if test -x /usr/bin/oslevel ; then
619
+ IBM_REV=`/usr/bin/oslevel`
620
+ else
621
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
622
+ fi
623
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
624
+ ;;
625
+ *:AIX:2:3)
626
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
627
+ set_cc_for_build
628
+ sed 's/^ //' << EOF > "$dummy.c"
629
+ #include <sys/systemcfg.h>
630
+
631
+ main()
632
+ {
633
+ if (!__power_pc())
634
+ exit(1);
635
+ puts("powerpc-ibm-aix3.2.5");
636
+ exit(0);
637
+ }
638
+ EOF
639
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
640
+ then
641
+ GUESS=$SYSTEM_NAME
642
+ else
643
+ GUESS=rs6000-ibm-aix3.2.5
644
+ fi
645
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
646
+ GUESS=rs6000-ibm-aix3.2.4
647
+ else
648
+ GUESS=rs6000-ibm-aix3.2
649
+ fi
650
+ ;;
651
+ *:AIX:*:[4567])
652
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
653
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
654
+ IBM_ARCH=rs6000
655
+ else
656
+ IBM_ARCH=powerpc
657
+ fi
658
+ if test -x /usr/bin/lslpp ; then
659
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
660
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
661
+ else
662
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
663
+ fi
664
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
665
+ ;;
666
+ *:AIX:*:*)
667
+ GUESS=rs6000-ibm-aix
668
+ ;;
669
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
670
+ GUESS=romp-ibm-bsd4.4
671
+ ;;
672
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
673
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
674
+ ;; # report: romp-ibm BSD 4.3
675
+ *:BOSX:*:*)
676
+ GUESS=rs6000-bull-bosx
677
+ ;;
678
+ DPX/2?00:B.O.S.:*:*)
679
+ GUESS=m68k-bull-sysv3
680
+ ;;
681
+ 9000/[34]??:4.3bsd:1.*:*)
682
+ GUESS=m68k-hp-bsd
683
+ ;;
684
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
685
+ GUESS=m68k-hp-bsd4.4
686
+ ;;
687
+ 9000/[34678]??:HP-UX:*:*)
688
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
689
+ case $UNAME_MACHINE in
690
+ 9000/31?) HP_ARCH=m68000 ;;
691
+ 9000/[34]??) HP_ARCH=m68k ;;
692
+ 9000/[678][0-9][0-9])
693
+ if test -x /usr/bin/getconf; then
694
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
695
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
696
+ case $sc_cpu_version in
697
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
698
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
699
+ 532) # CPU_PA_RISC2_0
700
+ case $sc_kernel_bits in
701
+ 32) HP_ARCH=hppa2.0n ;;
702
+ 64) HP_ARCH=hppa2.0w ;;
703
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
704
+ esac ;;
705
+ esac
706
+ fi
707
+ if test "$HP_ARCH" = ""; then
708
+ set_cc_for_build
709
+ sed 's/^ //' << EOF > "$dummy.c"
710
+
711
+ #define _HPUX_SOURCE
712
+ #include <stdlib.h>
713
+ #include <unistd.h>
714
+
715
+ int main ()
716
+ {
717
+ #if defined(_SC_KERNEL_BITS)
718
+ long bits = sysconf(_SC_KERNEL_BITS);
719
+ #endif
720
+ long cpu = sysconf (_SC_CPU_VERSION);
721
+
722
+ switch (cpu)
723
+ {
724
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
725
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
726
+ case CPU_PA_RISC2_0:
727
+ #if defined(_SC_KERNEL_BITS)
728
+ switch (bits)
729
+ {
730
+ case 64: puts ("hppa2.0w"); break;
731
+ case 32: puts ("hppa2.0n"); break;
732
+ default: puts ("hppa2.0"); break;
733
+ } break;
734
+ #else /* !defined(_SC_KERNEL_BITS) */
735
+ puts ("hppa2.0"); break;
736
+ #endif
737
+ default: puts ("hppa1.0"); break;
738
+ }
739
+ exit (0);
740
+ }
741
+ EOF
742
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
743
+ test -z "$HP_ARCH" && HP_ARCH=hppa
744
+ fi ;;
745
+ esac
746
+ if test "$HP_ARCH" = hppa2.0w
747
+ then
748
+ set_cc_for_build
749
+
750
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
751
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
752
+ # generating 64-bit code. GNU and HP use different nomenclature:
753
+ #
754
+ # $ CC_FOR_BUILD=cc ./config.guess
755
+ # => hppa2.0w-hp-hpux11.23
756
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
757
+ # => hppa64-hp-hpux11.23
758
+
759
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
760
+ grep -q __LP64__
761
+ then
762
+ HP_ARCH=hppa2.0w
763
+ else
764
+ HP_ARCH=hppa64
765
+ fi
766
+ fi
767
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
768
+ ;;
769
+ ia64:HP-UX:*:*)
770
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
771
+ GUESS=ia64-hp-hpux$HPUX_REV
772
+ ;;
773
+ 3050*:HI-UX:*:*)
774
+ set_cc_for_build
775
+ sed 's/^ //' << EOF > "$dummy.c"
776
+ #include <unistd.h>
777
+ int
778
+ main ()
779
+ {
780
+ long cpu = sysconf (_SC_CPU_VERSION);
781
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
782
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
783
+ results, however. */
784
+ if (CPU_IS_PA_RISC (cpu))
785
+ {
786
+ switch (cpu)
787
+ {
788
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
789
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
790
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
791
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
792
+ }
793
+ }
794
+ else if (CPU_IS_HP_MC68K (cpu))
795
+ puts ("m68k-hitachi-hiuxwe2");
796
+ else puts ("unknown-hitachi-hiuxwe2");
797
+ exit (0);
798
+ }
799
+ EOF
800
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
801
+ { echo "$SYSTEM_NAME"; exit; }
802
+ GUESS=unknown-hitachi-hiuxwe2
803
+ ;;
804
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
805
+ GUESS=hppa1.1-hp-bsd
806
+ ;;
807
+ 9000/8??:4.3bsd:*:*)
808
+ GUESS=hppa1.0-hp-bsd
809
+ ;;
810
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
811
+ GUESS=hppa1.0-hp-mpeix
812
+ ;;
813
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
814
+ GUESS=hppa1.1-hp-osf
815
+ ;;
816
+ hp8??:OSF1:*:*)
817
+ GUESS=hppa1.0-hp-osf
818
+ ;;
819
+ i*86:OSF1:*:*)
820
+ if test -x /usr/sbin/sysversion ; then
821
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
822
+ else
823
+ GUESS=$UNAME_MACHINE-unknown-osf1
824
+ fi
825
+ ;;
826
+ parisc*:Lites*:*:*)
827
+ GUESS=hppa1.1-hp-lites
828
+ ;;
829
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
830
+ GUESS=c1-convex-bsd
831
+ ;;
832
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
833
+ if getsysinfo -f scalar_acc
834
+ then echo c32-convex-bsd
835
+ else echo c2-convex-bsd
836
+ fi
837
+ exit ;;
838
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
839
+ GUESS=c34-convex-bsd
840
+ ;;
841
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
842
+ GUESS=c38-convex-bsd
843
+ ;;
844
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
845
+ GUESS=c4-convex-bsd
846
+ ;;
847
+ CRAY*Y-MP:*:*:*)
848
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
849
+ GUESS=ymp-cray-unicos$CRAY_REL
850
+ ;;
851
+ CRAY*[A-Z]90:*:*:*)
852
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
853
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
854
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
855
+ -e 's/\.[^.]*$/.X/'
856
+ exit ;;
857
+ CRAY*TS:*:*:*)
858
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
859
+ GUESS=t90-cray-unicos$CRAY_REL
860
+ ;;
861
+ CRAY*T3E:*:*:*)
862
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
863
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
864
+ ;;
865
+ CRAY*SV1:*:*:*)
866
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867
+ GUESS=sv1-cray-unicos$CRAY_REL
868
+ ;;
869
+ *:UNICOS/mp:*:*)
870
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871
+ GUESS=craynv-cray-unicosmp$CRAY_REL
872
+ ;;
873
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
874
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
875
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
876
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
877
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
878
+ ;;
879
+ 5000:UNIX_System_V:4.*:*)
880
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
881
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
882
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
883
+ ;;
884
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
885
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
886
+ ;;
887
+ sparc*:BSD/OS:*:*)
888
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
889
+ ;;
890
+ *:BSD/OS:*:*)
891
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
892
+ ;;
893
+ arm:FreeBSD:*:*)
894
+ UNAME_PROCESSOR=`uname -p`
895
+ set_cc_for_build
896
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
897
+ | grep -q __ARM_PCS_VFP
898
+ then
899
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
900
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
901
+ else
902
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
903
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
904
+ fi
905
+ ;;
906
+ *:FreeBSD:*:*)
907
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
908
+ case $UNAME_PROCESSOR in
909
+ amd64)
910
+ UNAME_PROCESSOR=x86_64 ;;
911
+ i386)
912
+ UNAME_PROCESSOR=i586 ;;
913
+ esac
914
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
915
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
916
+ ;;
917
+ i*:CYGWIN*:*)
918
+ GUESS=$UNAME_MACHINE-pc-cygwin
919
+ ;;
920
+ *:MINGW64*:*)
921
+ GUESS=$UNAME_MACHINE-pc-mingw64
922
+ ;;
923
+ *:MINGW*:*)
924
+ GUESS=$UNAME_MACHINE-pc-mingw32
925
+ ;;
926
+ *:MSYS*:*)
927
+ GUESS=$UNAME_MACHINE-pc-msys
928
+ ;;
929
+ i*:PW*:*)
930
+ GUESS=$UNAME_MACHINE-pc-pw32
931
+ ;;
932
+ *:SerenityOS:*:*)
933
+ GUESS=$UNAME_MACHINE-pc-serenity
934
+ ;;
935
+ *:Interix*:*)
936
+ case $UNAME_MACHINE in
937
+ x86)
938
+ GUESS=i586-pc-interix$UNAME_RELEASE
939
+ ;;
940
+ authenticamd | genuineintel | EM64T)
941
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
942
+ ;;
943
+ IA64)
944
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
945
+ ;;
946
+ esac ;;
947
+ i*:UWIN*:*)
948
+ GUESS=$UNAME_MACHINE-pc-uwin
949
+ ;;
950
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
951
+ GUESS=x86_64-pc-cygwin
952
+ ;;
953
+ prep*:SunOS:5.*:*)
954
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
955
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
956
+ ;;
957
+ *:GNU:*:*)
958
+ # the GNU system
959
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
960
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
961
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
962
+ ;;
963
+ *:GNU/*:*:*)
964
+ # other systems with GNU libc and userland
965
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
966
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
967
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
968
+ ;;
969
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
970
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
971
+ ;;
972
+ *:[Mm]anagarm:*:*)
973
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
974
+ ;;
975
+ *:Minix:*:*)
976
+ GUESS=$UNAME_MACHINE-unknown-minix
977
+ ;;
978
+ aarch64:Linux:*:*)
979
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
980
+ ;;
981
+ aarch64_be:Linux:*:*)
982
+ UNAME_MACHINE=aarch64_be
983
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
984
+ ;;
985
+ alpha:Linux:*:*)
986
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
987
+ EV5) UNAME_MACHINE=alphaev5 ;;
988
+ EV56) UNAME_MACHINE=alphaev56 ;;
989
+ PCA56) UNAME_MACHINE=alphapca56 ;;
990
+ PCA57) UNAME_MACHINE=alphapca56 ;;
991
+ EV6) UNAME_MACHINE=alphaev6 ;;
992
+ EV67) UNAME_MACHINE=alphaev67 ;;
993
+ EV68*) UNAME_MACHINE=alphaev68 ;;
994
+ esac
995
+ objdump --private-headers /bin/sh | grep -q ld.so.1
996
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
997
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
998
+ ;;
999
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1000
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1001
+ ;;
1002
+ arm*:Linux:*:*)
1003
+ set_cc_for_build
1004
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
1005
+ | grep -q __ARM_EABI__
1006
+ then
1007
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1008
+ else
1009
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
1010
+ | grep -q __ARM_PCS_VFP
1011
+ then
1012
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
1013
+ else
1014
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
1015
+ fi
1016
+ fi
1017
+ ;;
1018
+ avr32*:Linux:*:*)
1019
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1020
+ ;;
1021
+ cris:Linux:*:*)
1022
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1023
+ ;;
1024
+ crisv32:Linux:*:*)
1025
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1026
+ ;;
1027
+ e2k:Linux:*:*)
1028
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029
+ ;;
1030
+ frv:Linux:*:*)
1031
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1032
+ ;;
1033
+ hexagon:Linux:*:*)
1034
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1035
+ ;;
1036
+ i*86:Linux:*:*)
1037
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1038
+ ;;
1039
+ ia64:Linux:*:*)
1040
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1041
+ ;;
1042
+ k1om:Linux:*:*)
1043
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1044
+ ;;
1045
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1046
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1047
+ ;;
1048
+ m32r*:Linux:*:*)
1049
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1050
+ ;;
1051
+ m68*:Linux:*:*)
1052
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1053
+ ;;
1054
+ mips:Linux:*:* | mips64:Linux:*:*)
1055
+ set_cc_for_build
1056
+ IS_GLIBC=0
1057
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
1058
+ sed 's/^ //' << EOF > "$dummy.c"
1059
+ #undef CPU
1060
+ #undef mips
1061
+ #undef mipsel
1062
+ #undef mips64
1063
+ #undef mips64el
1064
+ #if ${IS_GLIBC} && defined(_ABI64)
1065
+ LIBCABI=gnuabi64
1066
+ #else
1067
+ #if ${IS_GLIBC} && defined(_ABIN32)
1068
+ LIBCABI=gnuabin32
1069
+ #else
1070
+ LIBCABI=${LIBC}
1071
+ #endif
1072
+ #endif
1073
+
1074
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1075
+ CPU=mipsisa64r6
1076
+ #else
1077
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1078
+ CPU=mipsisa32r6
1079
+ #else
1080
+ #if defined(__mips64)
1081
+ CPU=mips64
1082
+ #else
1083
+ CPU=mips
1084
+ #endif
1085
+ #endif
1086
+ #endif
1087
+
1088
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1089
+ MIPS_ENDIAN=el
1090
+ #else
1091
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1092
+ MIPS_ENDIAN=
1093
+ #else
1094
+ MIPS_ENDIAN=
1095
+ #endif
1096
+ #endif
1097
+ EOF
1098
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1099
+ eval "$cc_set_vars"
1100
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1101
+ ;;
1102
+ mips64el:Linux:*:*)
1103
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1104
+ ;;
1105
+ openrisc*:Linux:*:*)
1106
+ GUESS=or1k-unknown-linux-$LIBC
1107
+ ;;
1108
+ or32:Linux:*:* | or1k*:Linux:*:*)
1109
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1110
+ ;;
1111
+ padre:Linux:*:*)
1112
+ GUESS=sparc-unknown-linux-$LIBC
1113
+ ;;
1114
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
1115
+ GUESS=hppa64-unknown-linux-$LIBC
1116
+ ;;
1117
+ parisc:Linux:*:* | hppa:Linux:*:*)
1118
+ # Look for CPU level
1119
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1120
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1121
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1122
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
1123
+ esac
1124
+ ;;
1125
+ ppc64:Linux:*:*)
1126
+ GUESS=powerpc64-unknown-linux-$LIBC
1127
+ ;;
1128
+ ppc:Linux:*:*)
1129
+ GUESS=powerpc-unknown-linux-$LIBC
1130
+ ;;
1131
+ ppc64le:Linux:*:*)
1132
+ GUESS=powerpc64le-unknown-linux-$LIBC
1133
+ ;;
1134
+ ppcle:Linux:*:*)
1135
+ GUESS=powerpcle-unknown-linux-$LIBC
1136
+ ;;
1137
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1138
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139
+ ;;
1140
+ s390:Linux:*:* | s390x:Linux:*:*)
1141
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1142
+ ;;
1143
+ sh64*:Linux:*:*)
1144
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145
+ ;;
1146
+ sh*:Linux:*:*)
1147
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1148
+ ;;
1149
+ sparc:Linux:*:* | sparc64:Linux:*:*)
1150
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1151
+ ;;
1152
+ tile*:Linux:*:*)
1153
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1154
+ ;;
1155
+ vax:Linux:*:*)
1156
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1157
+ ;;
1158
+ x86_64:Linux:*:*)
1159
+ set_cc_for_build
1160
+ CPU=$UNAME_MACHINE
1161
+ LIBCABI=$LIBC
1162
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1163
+ ABI=64
1164
+ sed 's/^ //' << EOF > "$dummy.c"
1165
+ #ifdef __i386__
1166
+ ABI=x86
1167
+ #else
1168
+ #ifdef __ILP32__
1169
+ ABI=x32
1170
+ #endif
1171
+ #endif
1172
+ EOF
1173
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1174
+ eval "$cc_set_abi"
1175
+ case $ABI in
1176
+ x86) CPU=i686 ;;
1177
+ x32) LIBCABI=${LIBC}x32 ;;
1178
+ esac
1179
+ fi
1180
+ GUESS=$CPU-pc-linux-$LIBCABI
1181
+ ;;
1182
+ xtensa*:Linux:*:*)
1183
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1184
+ ;;
1185
+ i*86:DYNIX/ptx:4*:*)
1186
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1187
+ # earlier versions are messed up and put the nodename in both
1188
+ # sysname and nodename.
1189
+ GUESS=i386-sequent-sysv4
1190
+ ;;
1191
+ i*86:UNIX_SV:4.2MP:2.*)
1192
+ # Unixware is an offshoot of SVR4, but it has its own version
1193
+ # number series starting with 2...
1194
+ # I am not positive that other SVR4 systems won't match this,
1195
+ # I just have to hope. -- rms.
1196
+ # Use sysv4.2uw... so that sysv4* matches it.
1197
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1198
+ ;;
1199
+ i*86:OS/2:*:*)
1200
+ # If we were able to find `uname', then EMX Unix compatibility
1201
+ # is probably installed.
1202
+ GUESS=$UNAME_MACHINE-pc-os2-emx
1203
+ ;;
1204
+ i*86:XTS-300:*:STOP)
1205
+ GUESS=$UNAME_MACHINE-unknown-stop
1206
+ ;;
1207
+ i*86:atheos:*:*)
1208
+ GUESS=$UNAME_MACHINE-unknown-atheos
1209
+ ;;
1210
+ i*86:syllable:*:*)
1211
+ GUESS=$UNAME_MACHINE-pc-syllable
1212
+ ;;
1213
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1214
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
1215
+ ;;
1216
+ i*86:*DOS:*:*)
1217
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1218
+ ;;
1219
+ i*86:*:4.*:*)
1220
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1221
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1222
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1223
+ else
1224
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1225
+ fi
1226
+ ;;
1227
+ i*86:*:5:[678]*)
1228
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
1229
+ case `/bin/uname -X | grep "^Machine"` in
1230
+ *486*) UNAME_MACHINE=i486 ;;
1231
+ *Pentium) UNAME_MACHINE=i586 ;;
1232
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1233
+ esac
1234
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1235
+ ;;
1236
+ i*86:*:3.2:*)
1237
+ if test -f /usr/options/cb.name; then
1238
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1239
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1240
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
1241
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1242
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1243
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1244
+ && UNAME_MACHINE=i586
1245
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1246
+ && UNAME_MACHINE=i686
1247
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1248
+ && UNAME_MACHINE=i686
1249
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1250
+ else
1251
+ GUESS=$UNAME_MACHINE-pc-sysv32
1252
+ fi
1253
+ ;;
1254
+ pc:*:*:*)
1255
+ # Left here for compatibility:
1256
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
1257
+ # the processor, so we play safe by assuming i586.
1258
+ # Note: whatever this is, it MUST be the same as what config.sub
1259
+ # prints for the "djgpp" host, or else GDB configure will decide that
1260
+ # this is a cross-build.
1261
+ GUESS=i586-pc-msdosdjgpp
1262
+ ;;
1263
+ Intel:Mach:3*:*)
1264
+ GUESS=i386-pc-mach3
1265
+ ;;
1266
+ paragon:*:*:*)
1267
+ GUESS=i860-intel-osf1
1268
+ ;;
1269
+ i860:*:4.*:*) # i860-SVR4
1270
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1271
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
1272
+ else # Add other i860-SVR4 vendors below as they are discovered.
1273
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
1274
+ fi
1275
+ ;;
1276
+ mini*:CTIX:SYS*5:*)
1277
+ # "miniframe"
1278
+ GUESS=m68010-convergent-sysv
1279
+ ;;
1280
+ mc68k:UNIX:SYSTEM5:3.51m)
1281
+ GUESS=m68k-convergent-sysv
1282
+ ;;
1283
+ M680?0:D-NIX:5.3:*)
1284
+ GUESS=m68k-diab-dnix
1285
+ ;;
1286
+ M68*:*:R3V[5678]*:*)
1287
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1288
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1289
+ OS_REL=''
1290
+ test -r /etc/.relid \
1291
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1292
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1293
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1294
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1295
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1296
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1297
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1298
+ && { echo i486-ncr-sysv4; exit; } ;;
1299
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1300
+ OS_REL='.3'
1301
+ test -r /etc/.relid \
1302
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1303
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1304
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1305
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1306
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1307
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1308
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1309
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1310
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1311
+ ;;
1312
+ mc68030:UNIX_System_V:4.*:*)
1313
+ GUESS=m68k-atari-sysv4
1314
+ ;;
1315
+ TSUNAMI:LynxOS:2.*:*)
1316
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1317
+ ;;
1318
+ rs6000:LynxOS:2.*:*)
1319
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1320
+ ;;
1321
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1322
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1323
+ ;;
1324
+ SM[BE]S:UNIX_SV:*:*)
1325
+ GUESS=mips-dde-sysv$UNAME_RELEASE
1326
+ ;;
1327
+ RM*:ReliantUNIX-*:*:*)
1328
+ GUESS=mips-sni-sysv4
1329
+ ;;
1330
+ RM*:SINIX-*:*:*)
1331
+ GUESS=mips-sni-sysv4
1332
+ ;;
1333
+ *:SINIX-*:*:*)
1334
+ if uname -p 2>/dev/null >/dev/null ; then
1335
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1336
+ GUESS=$UNAME_MACHINE-sni-sysv4
1337
+ else
1338
+ GUESS=ns32k-sni-sysv
1339
+ fi
1340
+ ;;
1341
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1342
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
1343
+ GUESS=i586-unisys-sysv4
1344
+ ;;
1345
+ *:UNIX_System_V:4*:FTX*)
1346
+ # From Gerald Hewes <hewes@openmarket.com>.
1347
+ # How about differentiating between stratus architectures? -djm
1348
+ GUESS=hppa1.1-stratus-sysv4
1349
+ ;;
1350
+ *:*:*:FTX*)
1351
+ # From seanf@swdc.stratus.com.
1352
+ GUESS=i860-stratus-sysv4
1353
+ ;;
1354
+ i*86:VOS:*:*)
1355
+ # From Paul.Green@stratus.com.
1356
+ GUESS=$UNAME_MACHINE-stratus-vos
1357
+ ;;
1358
+ *:VOS:*:*)
1359
+ # From Paul.Green@stratus.com.
1360
+ GUESS=hppa1.1-stratus-vos
1361
+ ;;
1362
+ mc68*:A/UX:*:*)
1363
+ GUESS=m68k-apple-aux$UNAME_RELEASE
1364
+ ;;
1365
+ news*:NEWS-OS:6*:*)
1366
+ GUESS=mips-sony-newsos6
1367
+ ;;
1368
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1369
+ if test -d /usr/nec; then
1370
+ GUESS=mips-nec-sysv$UNAME_RELEASE
1371
+ else
1372
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
1373
+ fi
1374
+ ;;
1375
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1376
+ GUESS=powerpc-be-beos
1377
+ ;;
1378
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1379
+ GUESS=powerpc-apple-beos
1380
+ ;;
1381
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1382
+ GUESS=i586-pc-beos
1383
+ ;;
1384
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1385
+ GUESS=i586-pc-haiku
1386
+ ;;
1387
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
1388
+ GUESS=powerpc-apple-haiku
1389
+ ;;
1390
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
1391
+ GUESS=$UNAME_MACHINE-unknown-haiku
1392
+ ;;
1393
+ SX-4:SUPER-UX:*:*)
1394
+ GUESS=sx4-nec-superux$UNAME_RELEASE
1395
+ ;;
1396
+ SX-5:SUPER-UX:*:*)
1397
+ GUESS=sx5-nec-superux$UNAME_RELEASE
1398
+ ;;
1399
+ SX-6:SUPER-UX:*:*)
1400
+ GUESS=sx6-nec-superux$UNAME_RELEASE
1401
+ ;;
1402
+ SX-7:SUPER-UX:*:*)
1403
+ GUESS=sx7-nec-superux$UNAME_RELEASE
1404
+ ;;
1405
+ SX-8:SUPER-UX:*:*)
1406
+ GUESS=sx8-nec-superux$UNAME_RELEASE
1407
+ ;;
1408
+ SX-8R:SUPER-UX:*:*)
1409
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
1410
+ ;;
1411
+ SX-ACE:SUPER-UX:*:*)
1412
+ GUESS=sxace-nec-superux$UNAME_RELEASE
1413
+ ;;
1414
+ Power*:Rhapsody:*:*)
1415
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1416
+ ;;
1417
+ *:Rhapsody:*:*)
1418
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1419
+ ;;
1420
+ arm64:Darwin:*:*)
1421
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
1422
+ ;;
1423
+ *:Darwin:*:*)
1424
+ UNAME_PROCESSOR=`uname -p`
1425
+ case $UNAME_PROCESSOR in
1426
+ unknown) UNAME_PROCESSOR=powerpc ;;
1427
+ esac
1428
+ if command -v xcode-select > /dev/null 2> /dev/null && \
1429
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
1430
+ # Avoid executing cc if there is no toolchain installed as
1431
+ # cc will be a stub that puts up a graphical alert
1432
+ # prompting the user to install developer tools.
1433
+ CC_FOR_BUILD=no_compiler_found
1434
+ else
1435
+ set_cc_for_build
1436
+ fi
1437
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1438
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1439
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1440
+ grep IS_64BIT_ARCH >/dev/null
1441
+ then
1442
+ case $UNAME_PROCESSOR in
1443
+ i386) UNAME_PROCESSOR=x86_64 ;;
1444
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
1445
+ esac
1446
+ fi
1447
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1448
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1449
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1450
+ grep IS_PPC >/dev/null
1451
+ then
1452
+ UNAME_PROCESSOR=powerpc
1453
+ fi
1454
+ elif test "$UNAME_PROCESSOR" = i386 ; then
1455
+ # uname -m returns i386 or x86_64
1456
+ UNAME_PROCESSOR=$UNAME_MACHINE
1457
+ fi
1458
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1459
+ ;;
1460
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
1461
+ UNAME_PROCESSOR=`uname -p`
1462
+ if test "$UNAME_PROCESSOR" = x86; then
1463
+ UNAME_PROCESSOR=i386
1464
+ UNAME_MACHINE=pc
1465
+ fi
1466
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1467
+ ;;
1468
+ *:QNX:*:4*)
1469
+ GUESS=i386-pc-qnx
1470
+ ;;
1471
+ NEO-*:NONSTOP_KERNEL:*:*)
1472
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
1473
+ ;;
1474
+ NSE-*:NONSTOP_KERNEL:*:*)
1475
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
1476
+ ;;
1477
+ NSR-*:NONSTOP_KERNEL:*:*)
1478
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
1479
+ ;;
1480
+ NSV-*:NONSTOP_KERNEL:*:*)
1481
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
1482
+ ;;
1483
+ NSX-*:NONSTOP_KERNEL:*:*)
1484
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
1485
+ ;;
1486
+ *:NonStop-UX:*:*)
1487
+ GUESS=mips-compaq-nonstopux
1488
+ ;;
1489
+ BS2000:POSIX*:*:*)
1490
+ GUESS=bs2000-siemens-sysv
1491
+ ;;
1492
+ DS/*:UNIX_System_V:*:*)
1493
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1494
+ ;;
1495
+ *:Plan9:*:*)
1496
+ # "uname -m" is not consistent, so use $cputype instead. 386
1497
+ # is converted to i386 for consistency with other x86
1498
+ # operating systems.
1499
+ if test "${cputype-}" = 386; then
1500
+ UNAME_MACHINE=i386
1501
+ elif test "x${cputype-}" != x; then
1502
+ UNAME_MACHINE=$cputype
1503
+ fi
1504
+ GUESS=$UNAME_MACHINE-unknown-plan9
1505
+ ;;
1506
+ *:TOPS-10:*:*)
1507
+ GUESS=pdp10-unknown-tops10
1508
+ ;;
1509
+ *:TENEX:*:*)
1510
+ GUESS=pdp10-unknown-tenex
1511
+ ;;
1512
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1513
+ GUESS=pdp10-dec-tops20
1514
+ ;;
1515
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1516
+ GUESS=pdp10-xkl-tops20
1517
+ ;;
1518
+ *:TOPS-20:*:*)
1519
+ GUESS=pdp10-unknown-tops20
1520
+ ;;
1521
+ *:ITS:*:*)
1522
+ GUESS=pdp10-unknown-its
1523
+ ;;
1524
+ SEI:*:*:SEIUX)
1525
+ GUESS=mips-sei-seiux$UNAME_RELEASE
1526
+ ;;
1527
+ *:DragonFly:*:*)
1528
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1529
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1530
+ ;;
1531
+ *:*VMS:*:*)
1532
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1533
+ case $UNAME_MACHINE in
1534
+ A*) GUESS=alpha-dec-vms ;;
1535
+ I*) GUESS=ia64-dec-vms ;;
1536
+ V*) GUESS=vax-dec-vms ;;
1537
+ esac ;;
1538
+ *:XENIX:*:SysV)
1539
+ GUESS=i386-pc-xenix
1540
+ ;;
1541
+ i*86:skyos:*:*)
1542
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1543
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1544
+ ;;
1545
+ i*86:rdos:*:*)
1546
+ GUESS=$UNAME_MACHINE-pc-rdos
1547
+ ;;
1548
+ i*86:Fiwix:*:*)
1549
+ GUESS=$UNAME_MACHINE-pc-fiwix
1550
+ ;;
1551
+ *:AROS:*:*)
1552
+ GUESS=$UNAME_MACHINE-unknown-aros
1553
+ ;;
1554
+ x86_64:VMkernel:*:*)
1555
+ GUESS=$UNAME_MACHINE-unknown-esx
1556
+ ;;
1557
+ amd64:Isilon\ OneFS:*:*)
1558
+ GUESS=x86_64-unknown-onefs
1559
+ ;;
1560
+ *:Unleashed:*:*)
1561
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1562
+ ;;
1563
+ esac
1564
+
1565
+ # Do we have a guess based on uname results?
1566
+ if test "x$GUESS" != x; then
1567
+ echo "$GUESS"
1568
+ exit
1569
+ fi
1570
+
1571
+ # No uname command or uname output not recognized.
1572
+ set_cc_for_build
1573
+ cat > "$dummy.c" <<EOF
1574
+ #ifdef _SEQUENT_
1575
+ #include <sys/types.h>
1576
+ #include <sys/utsname.h>
1577
+ #endif
1578
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1579
+ #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1580
+ #include <signal.h>
1581
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1582
+ #include <sys/utsname.h>
1583
+ #endif
1584
+ #endif
1585
+ #endif
1586
+ main ()
1587
+ {
1588
+ #if defined (sony)
1589
+ #if defined (MIPSEB)
1590
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1591
+ I don't know.... */
1592
+ printf ("mips-sony-bsd\n"); exit (0);
1593
+ #else
1594
+ #include <sys/param.h>
1595
+ printf ("m68k-sony-newsos%s\n",
1596
+ #ifdef NEWSOS4
1597
+ "4"
1598
+ #else
1599
+ ""
1600
+ #endif
1601
+ ); exit (0);
1602
+ #endif
1603
+ #endif
1604
+
1605
+ #if defined (NeXT)
1606
+ #if !defined (__ARCHITECTURE__)
1607
+ #define __ARCHITECTURE__ "m68k"
1608
+ #endif
1609
+ int version;
1610
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1611
+ if (version < 4)
1612
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1613
+ else
1614
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1615
+ exit (0);
1616
+ #endif
1617
+
1618
+ #if defined (MULTIMAX) || defined (n16)
1619
+ #if defined (UMAXV)
1620
+ printf ("ns32k-encore-sysv\n"); exit (0);
1621
+ #else
1622
+ #if defined (CMU)
1623
+ printf ("ns32k-encore-mach\n"); exit (0);
1624
+ #else
1625
+ printf ("ns32k-encore-bsd\n"); exit (0);
1626
+ #endif
1627
+ #endif
1628
+ #endif
1629
+
1630
+ #if defined (__386BSD__)
1631
+ printf ("i386-pc-bsd\n"); exit (0);
1632
+ #endif
1633
+
1634
+ #if defined (sequent)
1635
+ #if defined (i386)
1636
+ printf ("i386-sequent-dynix\n"); exit (0);
1637
+ #endif
1638
+ #if defined (ns32000)
1639
+ printf ("ns32k-sequent-dynix\n"); exit (0);
1640
+ #endif
1641
+ #endif
1642
+
1643
+ #if defined (_SEQUENT_)
1644
+ struct utsname un;
1645
+
1646
+ uname(&un);
1647
+ if (strncmp(un.version, "V2", 2) == 0) {
1648
+ printf ("i386-sequent-ptx2\n"); exit (0);
1649
+ }
1650
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1651
+ printf ("i386-sequent-ptx1\n"); exit (0);
1652
+ }
1653
+ printf ("i386-sequent-ptx\n"); exit (0);
1654
+ #endif
1655
+
1656
+ #if defined (vax)
1657
+ #if !defined (ultrix)
1658
+ #include <sys/param.h>
1659
+ #if defined (BSD)
1660
+ #if BSD == 43
1661
+ printf ("vax-dec-bsd4.3\n"); exit (0);
1662
+ #else
1663
+ #if BSD == 199006
1664
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
1665
+ #else
1666
+ printf ("vax-dec-bsd\n"); exit (0);
1667
+ #endif
1668
+ #endif
1669
+ #else
1670
+ printf ("vax-dec-bsd\n"); exit (0);
1671
+ #endif
1672
+ #else
1673
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1674
+ struct utsname un;
1675
+ uname (&un);
1676
+ printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1677
+ #else
1678
+ printf ("vax-dec-ultrix\n"); exit (0);
1679
+ #endif
1680
+ #endif
1681
+ #endif
1682
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1683
+ #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1684
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1685
+ struct utsname *un;
1686
+ uname (&un);
1687
+ printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1688
+ #else
1689
+ printf ("mips-dec-ultrix\n"); exit (0);
1690
+ #endif
1691
+ #endif
1692
+ #endif
1693
+
1694
+ #if defined (alliant) && defined (i860)
1695
+ printf ("i860-alliant-bsd\n"); exit (0);
1696
+ #endif
1697
+
1698
+ exit (1);
1699
+ }
1700
+ EOF
1701
+
1702
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1703
+ { echo "$SYSTEM_NAME"; exit; }
1704
+
1705
+ # Apollos put the system type in the environment.
1706
+ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1707
+
1708
+ echo "$0: unable to guess system type" >&2
1709
+
1710
+ case $UNAME_MACHINE:$UNAME_SYSTEM in
1711
+ mips:Linux | mips64:Linux)
1712
+ # If we got here on MIPS GNU/Linux, output extra information.
1713
+ cat >&2 <<EOF
1714
+
1715
+ NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1716
+ the system type. Please install a C compiler and try again.
1717
+ EOF
1718
+ ;;
1719
+ esac
1720
+
1721
+ cat >&2 <<EOF
1722
+
1723
+ This script (version $timestamp), has failed to recognize the
1724
+ operating system you are using. If your script is old, overwrite *all*
1725
+ copies of config.guess and config.sub with the latest versions from:
1726
+
1727
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
1728
+ and
1729
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1730
+ EOF
1731
+
1732
+ our_year=`echo $timestamp | sed 's,-.*,,'`
1733
+ thisyear=`date +%Y`
1734
+ # shellcheck disable=SC2003
1735
+ script_age=`expr "$thisyear" - "$our_year"`
1736
+ if test "$script_age" -lt 3 ; then
1737
+ cat >&2 <<EOF
1738
+
1739
+ If $0 has already been updated, send the following data and any
1740
+ information you think might be pertinent to config-patches@gnu.org to
1741
+ provide the necessary information to handle your system.
1742
+
1743
+ config.guess timestamp = $timestamp
1744
+
1745
+ uname -m = `(uname -m) 2>/dev/null || echo unknown`
1746
+ uname -r = `(uname -r) 2>/dev/null || echo unknown`
1747
+ uname -s = `(uname -s) 2>/dev/null || echo unknown`
1748
+ uname -v = `(uname -v) 2>/dev/null || echo unknown`
1749
+
1750
+ /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1751
+ /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1752
+
1753
+ hostinfo = `(hostinfo) 2>/dev/null`
1754
+ /bin/universe = `(/bin/universe) 2>/dev/null`
1755
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1756
+ /bin/arch = `(/bin/arch) 2>/dev/null`
1757
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1758
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1759
+
1760
+ UNAME_MACHINE = "$UNAME_MACHINE"
1761
+ UNAME_RELEASE = "$UNAME_RELEASE"
1762
+ UNAME_SYSTEM = "$UNAME_SYSTEM"
1763
+ UNAME_VERSION = "$UNAME_VERSION"
1764
+ EOF
1765
+ fi
1766
+
1767
+ exit 1
1768
+
1769
+ # Local variables:
1770
+ # eval: (add-hook 'before-save-hook 'time-stamp)
1771
+ # time-stamp-start: "timestamp='"
1772
+ # time-stamp-format: "%:y-%02m-%02d"
1773
+ # time-stamp-end: "'"
1774
+ # End: