rice2 2.2.0

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