vinted-memcached 1.8.4 → 1.8.6

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