| 1 |
|
#! /bin/sh |
| 2 |
|
# Attempt to guess a canonical system name. |
| 3 |
< |
# Copyright 1992-2020 Free Software Foundation, Inc. |
| 3 |
> |
# Copyright 1992-2021 Free Software Foundation, Inc. |
| 4 |
|
|
| 5 |
< |
timestamp='2020-11-19' |
| 5 |
> |
timestamp='2021-05-24' |
| 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 |
| 50 |
|
GNU config.guess ($timestamp) |
| 51 |
|
|
| 52 |
|
Originally written by Per Bothner. |
| 53 |
< |
Copyright 1992-2020 Free Software Foundation, Inc. |
| 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." |
| 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 |
| 139 |
> |
case $UNAME_SYSTEM in |
| 140 |
|
Linux|GNU|GNU/*) |
| 141 |
|
LIBC=unknown |
| 142 |
|
|
| 176 |
|
|
| 177 |
|
# Note: order is significant - the case branches are not exclusive. |
| 178 |
|
|
| 179 |
< |
case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in |
| 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*, |
| 188 |
|
# |
| 189 |
|
# Note: NetBSD doesn't particularly care about the vendor |
| 190 |
|
# portion of the name. We always set it to "unknown". |
| 191 |
– |
sysctl="sysctl -n hw.machine_arch" |
| 191 |
|
UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \ |
| 192 |
< |
"/sbin/$sysctl" 2>/dev/null || \ |
| 193 |
< |
"/usr/sbin/$sysctl" 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 |
| 195 |
> |
case $UNAME_MACHINE_ARCH in |
| 196 |
|
aarch64eb) machine=aarch64_be-unknown ;; |
| 197 |
|
armeb) machine=armeb-unknown ;; |
| 198 |
|
arm*) machine=arm-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 |
| 211 |
> |
case $UNAME_MACHINE_ARCH in |
| 212 |
|
earm*) |
| 213 |
|
os=netbsdelf |
| 214 |
|
;; |
| 229 |
|
;; |
| 230 |
|
esac |
| 231 |
|
# Determine ABI tags. |
| 232 |
< |
case "$UNAME_MACHINE_ARCH" in |
| 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") |
| 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 |
| 243 |
> |
case $UNAME_VERSION in |
| 244 |
|
Debian*) |
| 245 |
|
release='-gnu' |
| 246 |
|
;; |
| 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" |
| 300 |
|
echo mips-dec-osf1 |
| 301 |
|
exit ;; |
| 302 |
|
alpha:OSF1:*:*) |
| 303 |
+ |
# Reset EXIT trap before exiting to avoid spurious non-zero exit code. |
| 304 |
+ |
trap '' 0 |
| 305 |
|
case $UNAME_RELEASE in |
| 306 |
|
*4.0) |
| 307 |
|
UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}') |
| 315 |
|
# covers most systems running today. This code pipes the CPU |
| 316 |
|
# types through head -n 1, so we only detect the type of CPU 0. |
| 317 |
|
ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1) |
| 318 |
< |
case "$ALPHA_CPU_TYPE" in |
| 318 |
> |
case $ALPHA_CPU_TYPE in |
| 319 |
|
"EV4 (21064)") |
| 320 |
|
UNAME_MACHINE=alpha ;; |
| 321 |
|
"EV4.5 (21064)") |
| 353 |
|
# A Xn.n version is an unreleased experimental baselevel. |
| 354 |
|
# 1.2 uses "1.2" for uname -r. |
| 355 |
|
echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)" |
| 356 |
< |
# Reset EXIT trap before exiting to avoid spurious non-zero exit code. |
| 352 |
< |
exitcode=$? |
| 353 |
< |
trap '' 0 |
| 354 |
< |
exit $exitcode ;; |
| 356 |
> |
exit ;; |
| 357 |
|
Amiga*:UNIX_System_V:4.0:*) |
| 358 |
|
echo m68k-unknown-sysv4 |
| 359 |
|
exit ;; |
| 434 |
|
echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')" |
| 435 |
|
exit ;; |
| 436 |
|
sun4*:SunOS:*:*) |
| 437 |
< |
case "$(/usr/bin/arch -k)" in |
| 437 |
> |
case $(/usr/bin/arch -k) in |
| 438 |
|
Series*|S4*) |
| 439 |
|
UNAME_RELEASE=$(uname -v) |
| 440 |
|
;; |
| 448 |
|
sun*:*:4.2BSD:*) |
| 449 |
|
UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null) |
| 450 |
|
test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 |
| 451 |
< |
case "$(/bin/arch)" in |
| 451 |
> |
case $(/bin/arch) in |
| 452 |
|
sun3) |
| 453 |
|
echo m68k-sun-sunos"$UNAME_RELEASE" |
| 454 |
|
;; |
| 664 |
|
exit ;; |
| 665 |
|
9000/[34678]??:HP-UX:*:*) |
| 666 |
|
HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//') |
| 667 |
< |
case "$UNAME_MACHINE" in |
| 667 |
> |
case $UNAME_MACHINE in |
| 668 |
|
9000/31?) HP_ARCH=m68000 ;; |
| 669 |
|
9000/[34]??) HP_ARCH=m68k ;; |
| 670 |
|
9000/[678][0-9][0-9]) |
| 671 |
|
if test -x /usr/bin/getconf; then |
| 672 |
|
sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null) |
| 673 |
|
sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null) |
| 674 |
< |
case "$sc_cpu_version" in |
| 674 |
> |
case $sc_cpu_version in |
| 675 |
|
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 |
| 676 |
|
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 |
| 677 |
|
532) # CPU_PA_RISC2_0 |
| 678 |
< |
case "$sc_kernel_bits" in |
| 678 |
> |
case $sc_kernel_bits in |
| 679 |
|
32) HP_ARCH=hppa2.0n ;; |
| 680 |
|
64) HP_ARCH=hppa2.0w ;; |
| 681 |
|
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 |
| 876 |
|
exit ;; |
| 877 |
|
*:FreeBSD:*:*) |
| 878 |
|
UNAME_PROCESSOR=$(/usr/bin/uname -p) |
| 879 |
< |
case "$UNAME_PROCESSOR" in |
| 879 |
> |
case $UNAME_PROCESSOR in |
| 880 |
|
amd64) |
| 881 |
|
UNAME_PROCESSOR=x86_64 ;; |
| 882 |
|
i386) |
| 900 |
|
echo "$UNAME_MACHINE"-pc-pw32 |
| 901 |
|
exit ;; |
| 902 |
|
*:Interix*:*) |
| 903 |
< |
case "$UNAME_MACHINE" in |
| 903 |
> |
case $UNAME_MACHINE in |
| 904 |
|
x86) |
| 905 |
|
echo i586-pc-interix"$UNAME_RELEASE" |
| 906 |
|
exit ;; |
| 952 |
|
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi |
| 953 |
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 954 |
|
exit ;; |
| 955 |
< |
arc:Linux:*:* | arceb:Linux:*:*) |
| 955 |
> |
arc:Linux:*:* | arceb:Linux:*:* | arc64:Linux:*:*) |
| 956 |
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 957 |
|
exit ;; |
| 958 |
|
arm*:Linux:*:*) |
| 998 |
|
k1om:Linux:*:*) |
| 999 |
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 1000 |
|
exit ;; |
| 1001 |
+ |
loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) |
| 1002 |
+ |
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 1003 |
+ |
exit ;; |
| 1004 |
|
m32r*:Linux:*:*) |
| 1005 |
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 1006 |
|
exit ;; |
| 1089 |
|
ppcle:Linux:*:*) |
| 1090 |
|
echo powerpcle-unknown-linux-"$LIBC" |
| 1091 |
|
exit ;; |
| 1092 |
< |
riscv32:Linux:*:* | riscv64:Linux:*:*) |
| 1092 |
> |
riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) |
| 1093 |
|
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" |
| 1094 |
|
exit ;; |
| 1095 |
|
s390:Linux:*:* | s390x:Linux:*:*) |
| 1437 |
|
# "uname -m" is not consistent, so use $cputype instead. 386 |
| 1438 |
|
# is converted to i386 for consistency with other x86 |
| 1439 |
|
# operating systems. |
| 1440 |
< |
# shellcheck disable=SC2154 |
| 1436 |
< |
if test "$cputype" = 386; then |
| 1440 |
> |
if test "${cputype-}" = 386; then |
| 1441 |
|
UNAME_MACHINE=i386 |
| 1442 |
< |
else |
| 1442 |
> |
elif test "x${cputype-}" != x; then |
| 1443 |
|
UNAME_MACHINE="$cputype" |
| 1444 |
|
fi |
| 1445 |
|
echo "$UNAME_MACHINE"-unknown-plan9 |
| 1470 |
|
exit ;; |
| 1471 |
|
*:*VMS:*:*) |
| 1472 |
|
UNAME_MACHINE=$( (uname -p) 2>/dev/null) |
| 1473 |
< |
case "$UNAME_MACHINE" in |
| 1473 |
> |
case $UNAME_MACHINE in |
| 1474 |
|
A*) echo alpha-dec-vms ; exit ;; |
| 1475 |
|
I*) echo ia64-dec-vms ; exit ;; |
| 1476 |
|
V*) echo vax-dec-vms ; exit ;; |
| 1484 |
|
i*86:rdos:*:*) |
| 1485 |
|
echo "$UNAME_MACHINE"-pc-rdos |
| 1486 |
|
exit ;; |
| 1487 |
< |
i*86:AROS:*:*) |
| 1488 |
< |
echo "$UNAME_MACHINE"-pc-aros |
| 1487 |
> |
*:AROS:*:*) |
| 1488 |
> |
echo "$UNAME_MACHINE"-unknown-aros |
| 1489 |
|
exit ;; |
| 1490 |
|
x86_64:VMkernel:*:*) |
| 1491 |
|
echo "$UNAME_MACHINE"-unknown-esx |
| 1637 |
|
|
| 1638 |
|
echo "$0: unable to guess system type" >&2 |
| 1639 |
|
|
| 1640 |
< |
case "$UNAME_MACHINE:$UNAME_SYSTEM" in |
| 1640 |
> |
case $UNAME_MACHINE:$UNAME_SYSTEM in |
| 1641 |
|
mips:Linux | mips64:Linux) |
| 1642 |
|
# If we got here on MIPS GNU/Linux, output extra information. |
| 1643 |
|
cat >&2 <<EOF |