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