1444c061aSmrg#! /bin/sh 2444c061aSmrg# Attempt to guess a canonical system name. 335525df4Smrg# Copyright 1992-2024 Free Software Foundation, Inc. 4444c061aSmrg 5fdf6a26fSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 6fdf6a26fSmrg 735525df4Smrgtimestamp='2024-07-27' 8444c061aSmrg 9444c061aSmrg# This file is free software; you can redistribute it and/or modify it 10444c061aSmrg# under the terms of the GNU General Public License as published by 11fdf6a26fSmrg# the Free Software Foundation, either version 3 of the License, or 12444c061aSmrg# (at your option) any later version. 13444c061aSmrg# 14444c061aSmrg# This program is distributed in the hope that it will be useful, but 15444c061aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16444c061aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17444c061aSmrg# General Public License for more details. 18444c061aSmrg# 19444c061aSmrg# You should have received a copy of the GNU General Public License 200568f49bSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21444c061aSmrg# 22444c061aSmrg# As a special exception to the GNU General Public License, if you 23444c061aSmrg# distribute this file as part of a program that contains a 24444c061aSmrg# configuration script generated by Autoconf, you may include it under 259e7bcd65Smrg# the same distribution terms that you use for the rest of that 269e7bcd65Smrg# program. This Exception is an additional permission under section 7 279e7bcd65Smrg# of the GNU General Public License, version 3 ("GPLv3"). 28444c061aSmrg# 29339a7c43Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30444c061aSmrg# 311477040fSmrg# You can get the latest version of this script from: 32fdf6a26fSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 339e7bcd65Smrg# 34339a7c43Smrg# Please send patches to <config-patches@gnu.org>. 359e7bcd65Smrg 36444c061aSmrg 37fdf6a26fSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 38fdf6a26fSmrg# about features and limitations of the classic Bourne shell that were 39fdf6a26fSmrg# superseded or lifted in POSIX. However, this script identifies a wide 40fdf6a26fSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 41fdf6a26fSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 42fdf6a26fSmrg# have a pre-POSIX /bin/sh. 43fdf6a26fSmrg 44fdf6a26fSmrg 45444c061aSmrgme=`echo "$0" | sed -e 's,.*/,,'` 46444c061aSmrg 47444c061aSmrgusage="\ 48444c061aSmrgUsage: $0 [OPTION] 49444c061aSmrg 5035525df4SmrgOutput the configuration name of the system '$me' is run on. 51444c061aSmrg 520568f49bSmrgOptions: 53444c061aSmrg -h, --help print this help, then exit 54444c061aSmrg -t, --time-stamp print date of last modification, then exit 55444c061aSmrg -v, --version print version number, then exit 56444c061aSmrg 57444c061aSmrgReport bugs and patches to <config-patches@gnu.org>." 58444c061aSmrg 59444c061aSmrgversion="\ 60444c061aSmrgGNU config.guess ($timestamp) 61444c061aSmrg 62444c061aSmrgOriginally written by Per Bothner. 6335525df4SmrgCopyright 1992-2024 Free Software Foundation, Inc. 64444c061aSmrg 65444c061aSmrgThis is free software; see the source for copying conditions. There is NO 66444c061aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67444c061aSmrg 68444c061aSmrghelp=" 6935525df4SmrgTry '$me --help' for more information." 70444c061aSmrg 71444c061aSmrg# Parse command line 72444c061aSmrgwhile test $# -gt 0 ; do 73444c061aSmrg case $1 in 74444c061aSmrg --time-stamp | --time* | -t ) 75444c061aSmrg echo "$timestamp" ; exit ;; 76444c061aSmrg --version | -v ) 77444c061aSmrg echo "$version" ; exit ;; 78444c061aSmrg --help | --h* | -h ) 79444c061aSmrg echo "$usage"; exit ;; 80444c061aSmrg -- ) # Stop option processing 81444c061aSmrg shift; break ;; 82444c061aSmrg - ) # Use stdin as input. 83444c061aSmrg break ;; 84444c061aSmrg -* ) 85444c061aSmrg echo "$me: invalid option $1$help" >&2 86444c061aSmrg exit 1 ;; 87444c061aSmrg * ) 88444c061aSmrg break ;; 89444c061aSmrg esac 90444c061aSmrgdone 91444c061aSmrg 92444c061aSmrgif test $# != 0; then 93444c061aSmrg echo "$me: too many arguments$help" >&2 94444c061aSmrg exit 1 95444c061aSmrgfi 96444c061aSmrg 97fdf6a26fSmrg# Just in case it came from the environment. 98fdf6a26fSmrgGUESS= 99fdf6a26fSmrg 100444c061aSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101444c061aSmrg# compiler to aid in system detection is discouraged as it requires 102444c061aSmrg# temporary files to be created and, as you can see below, it is a 103444c061aSmrg# headache to deal with in a portable fashion. 104444c061aSmrg 10535525df4Smrg# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still 10635525df4Smrg# use 'HOST_CC' if defined, but it is deprecated. 107444c061aSmrg 108444c061aSmrg# Portable tmp directory creation inspired by the Autoconf team. 109444c061aSmrg 110a3bd7f05Smrgtmp= 111a3bd7f05Smrg# shellcheck disable=SC2172 112a3bd7f05Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 113a3bd7f05Smrg 114a3bd7f05Smrgset_cc_for_build() { 115a3bd7f05Smrg # prevent multiple calls if $tmp is already set 116a3bd7f05Smrg test "$tmp" && return 0 117a3bd7f05Smrg : "${TMPDIR=/tmp}" 118fdf6a26fSmrg # shellcheck disable=SC2039,SC3028 119a3bd7f05Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 120a3bd7f05Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 121a3bd7f05Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 122a3bd7f05Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 123a3bd7f05Smrg dummy=$tmp/dummy 124a3bd7f05Smrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 125a3bd7f05Smrg ,,) echo "int x;" > "$dummy.c" 12635525df4Smrg for driver in cc gcc c17 c99 c89 ; do 127a3bd7f05Smrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 128fdf6a26fSmrg CC_FOR_BUILD=$driver 129a3bd7f05Smrg break 130a3bd7f05Smrg fi 131a3bd7f05Smrg done 132a3bd7f05Smrg if test x"$CC_FOR_BUILD" = x ; then 133a3bd7f05Smrg CC_FOR_BUILD=no_compiler_found 134a3bd7f05Smrg fi 135a3bd7f05Smrg ;; 136a3bd7f05Smrg ,,*) CC_FOR_BUILD=$CC ;; 137a3bd7f05Smrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 138a3bd7f05Smrg esac 139a3bd7f05Smrg} 140444c061aSmrg 141444c061aSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142444c061aSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 143a3bd7f05Smrgif test -f /.attbin/uname ; then 144444c061aSmrg PATH=$PATH:/.attbin ; export PATH 145444c061aSmrgfi 146444c061aSmrg 147444c061aSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148444c061aSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 149fdf6a26fSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150444c061aSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151444c061aSmrg 152fdf6a26fSmrgcase $UNAME_SYSTEM in 153339a7c43SmrgLinux|GNU|GNU/*) 154fdf6a26fSmrg LIBC=unknown 155339a7c43Smrg 156a3bd7f05Smrg set_cc_for_build 1570568f49bSmrg cat <<-EOF > "$dummy.c" 15835525df4Smrg #if defined(__ANDROID__) 15935525df4Smrg LIBC=android 16035525df4Smrg #else 161339a7c43Smrg #include <features.h> 162339a7c43Smrg #if defined(__UCLIBC__) 163339a7c43Smrg LIBC=uclibc 164339a7c43Smrg #elif defined(__dietlibc__) 165339a7c43Smrg LIBC=dietlibc 166fdf6a26fSmrg #elif defined(__GLIBC__) 167339a7c43Smrg LIBC=gnu 16835525df4Smrg #elif defined(__LLVM_LIBC__) 16935525df4Smrg LIBC=llvm 170fdf6a26fSmrg #else 171fdf6a26fSmrg #include <stdarg.h> 172fdf6a26fSmrg /* First heuristic to detect musl libc. */ 173fdf6a26fSmrg #ifdef __DEFINED_va_list 174fdf6a26fSmrg LIBC=musl 175fdf6a26fSmrg #endif 176339a7c43Smrg #endif 17735525df4Smrg #endif 178339a7c43Smrg EOF 179fdf6a26fSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 180fdf6a26fSmrg eval "$cc_set_libc" 1810568f49bSmrg 182fdf6a26fSmrg # Second heuristic to detect musl libc. 183fdf6a26fSmrg if [ "$LIBC" = unknown ] && 184fdf6a26fSmrg command -v ldd >/dev/null && 185fdf6a26fSmrg ldd --version 2>&1 | grep -q ^musl; then 186fdf6a26fSmrg LIBC=musl 187fdf6a26fSmrg fi 188fdf6a26fSmrg 189fdf6a26fSmrg # If the system lacks a compiler, then just pick glibc. 190fdf6a26fSmrg # We could probably try harder. 191fdf6a26fSmrg if [ "$LIBC" = unknown ]; then 192fdf6a26fSmrg LIBC=gnu 1930568f49bSmrg fi 194339a7c43Smrg ;; 195339a7c43Smrgesac 196339a7c43Smrg 197444c061aSmrg# Note: order is significant - the case branches are not exclusive. 198444c061aSmrg 199fdf6a26fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 200444c061aSmrg *:NetBSD:*:*) 201444c061aSmrg # NetBSD (nbsd) targets should (where applicable) match one or 2029e7bcd65Smrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 203444c061aSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 204444c061aSmrg # switched to ELF, *-*-netbsd* would select the old 205444c061aSmrg # object file format. This provides both forward 206444c061aSmrg # compatibility and a consistent mechanism for selecting the 207444c061aSmrg # object file format. 208444c061aSmrg # 209444c061aSmrg # Note: NetBSD doesn't particularly care about the vendor 210444c061aSmrg # portion of the name. We always set it to "unknown". 2110568f49bSmrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 212fdf6a26fSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 213fdf6a26fSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 2140568f49bSmrg echo unknown)` 215fdf6a26fSmrg case $UNAME_MACHINE_ARCH in 216fdf6a26fSmrg aarch64eb) machine=aarch64_be-unknown ;; 217444c061aSmrg armeb) machine=armeb-unknown ;; 218444c061aSmrg arm*) machine=arm-unknown ;; 219444c061aSmrg sh3el) machine=shl-unknown ;; 220444c061aSmrg sh3eb) machine=sh-unknown ;; 2212265a131Smrg sh5el) machine=sh5le-unknown ;; 2220568f49bSmrg earmv*) 2230568f49bSmrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 2240568f49bSmrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 225fdf6a26fSmrg machine=${arch}${endian}-unknown 2260568f49bSmrg ;; 227fdf6a26fSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 228444c061aSmrg esac 229444c061aSmrg # The Operating System including object format, if it has switched 2300568f49bSmrg # to ELF recently (or will in the future) and ABI. 231fdf6a26fSmrg case $UNAME_MACHINE_ARCH in 2320568f49bSmrg earm*) 2330568f49bSmrg os=netbsdelf 2340568f49bSmrg ;; 235444c061aSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 236a3bd7f05Smrg set_cc_for_build 237444c061aSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 2381477040fSmrg | grep -q __ELF__ 239444c061aSmrg then 240444c061aSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 241444c061aSmrg # Return netbsd for either. FIX? 242444c061aSmrg os=netbsd 243444c061aSmrg else 244444c061aSmrg os=netbsdelf 245444c061aSmrg fi 246444c061aSmrg ;; 247444c061aSmrg *) 2489e7bcd65Smrg os=netbsd 249444c061aSmrg ;; 250444c061aSmrg esac 2510568f49bSmrg # Determine ABI tags. 252fdf6a26fSmrg case $UNAME_MACHINE_ARCH in 2530568f49bSmrg earm*) 2540568f49bSmrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 2550568f49bSmrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 2560568f49bSmrg ;; 2570568f49bSmrg esac 258444c061aSmrg # The OS release 259444c061aSmrg # Debian GNU/NetBSD machines have a different userland, and 260444c061aSmrg # thus, need a distinct triplet. However, they do not need 261444c061aSmrg # kernel version information, so it can be replaced with a 262444c061aSmrg # suitable tag, in the style of linux-gnu. 263fdf6a26fSmrg case $UNAME_VERSION in 264444c061aSmrg Debian*) 265444c061aSmrg release='-gnu' 266444c061aSmrg ;; 267444c061aSmrg *) 2680568f49bSmrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 269444c061aSmrg ;; 270444c061aSmrg esac 271444c061aSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 272444c061aSmrg # contains redundant information, the shorter form: 273444c061aSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 274fdf6a26fSmrg GUESS=$machine-${os}${release}${abi-} 275fdf6a26fSmrg ;; 2769e7bcd65Smrg *:Bitrig:*:*) 2779e7bcd65Smrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 278fdf6a26fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 279fdf6a26fSmrg ;; 280444c061aSmrg *:OpenBSD:*:*) 281444c061aSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 282fdf6a26fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 283fdf6a26fSmrg ;; 284fdf6a26fSmrg *:SecBSD:*:*) 285fdf6a26fSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 286fdf6a26fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 287fdf6a26fSmrg ;; 2880568f49bSmrg *:LibertyBSD:*:*) 2890568f49bSmrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 290fdf6a26fSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 291fdf6a26fSmrg ;; 2920568f49bSmrg *:MidnightBSD:*:*) 293fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 294fdf6a26fSmrg ;; 295444c061aSmrg *:ekkoBSD:*:*) 296fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 297fdf6a26fSmrg ;; 2982265a131Smrg *:SolidBSD:*:*) 299fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 300fdf6a26fSmrg ;; 301a3bd7f05Smrg *:OS108:*:*) 302fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 303fdf6a26fSmrg ;; 304444c061aSmrg macppc:MirBSD:*:*) 305fdf6a26fSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 306fdf6a26fSmrg ;; 307444c061aSmrg *:MirBSD:*:*) 308fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 309fdf6a26fSmrg ;; 3100568f49bSmrg *:Sortix:*:*) 311fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-sortix 312fdf6a26fSmrg ;; 313a3bd7f05Smrg *:Twizzler:*:*) 314fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 315fdf6a26fSmrg ;; 3160568f49bSmrg *:Redox:*:*) 317fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-redox 318fdf6a26fSmrg ;; 3190568f49bSmrg mips:OSF1:*.*) 320fdf6a26fSmrg GUESS=mips-dec-osf1 321fdf6a26fSmrg ;; 322444c061aSmrg alpha:OSF1:*:*) 323fdf6a26fSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 324fdf6a26fSmrg trap '' 0 325444c061aSmrg case $UNAME_RELEASE in 326444c061aSmrg *4.0) 327444c061aSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 328444c061aSmrg ;; 329444c061aSmrg *5.*) 3309e7bcd65Smrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 331444c061aSmrg ;; 332444c061aSmrg esac 333444c061aSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 334444c061aSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 335444c061aSmrg # covers most systems running today. This code pipes the CPU 336444c061aSmrg # types through head -n 1, so we only detect the type of CPU 0. 337444c061aSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 338fdf6a26fSmrg case $ALPHA_CPU_TYPE in 339444c061aSmrg "EV4 (21064)") 3400568f49bSmrg UNAME_MACHINE=alpha ;; 341444c061aSmrg "EV4.5 (21064)") 3420568f49bSmrg UNAME_MACHINE=alpha ;; 343444c061aSmrg "LCA4 (21066/21068)") 3440568f49bSmrg UNAME_MACHINE=alpha ;; 345444c061aSmrg "EV5 (21164)") 3460568f49bSmrg UNAME_MACHINE=alphaev5 ;; 347444c061aSmrg "EV5.6 (21164A)") 3480568f49bSmrg UNAME_MACHINE=alphaev56 ;; 349444c061aSmrg "EV5.6 (21164PC)") 3500568f49bSmrg UNAME_MACHINE=alphapca56 ;; 351444c061aSmrg "EV5.7 (21164PC)") 3520568f49bSmrg UNAME_MACHINE=alphapca57 ;; 353444c061aSmrg "EV6 (21264)") 3540568f49bSmrg UNAME_MACHINE=alphaev6 ;; 355444c061aSmrg "EV6.7 (21264A)") 3560568f49bSmrg UNAME_MACHINE=alphaev67 ;; 357444c061aSmrg "EV6.8CB (21264C)") 3580568f49bSmrg UNAME_MACHINE=alphaev68 ;; 359444c061aSmrg "EV6.8AL (21264B)") 3600568f49bSmrg UNAME_MACHINE=alphaev68 ;; 361444c061aSmrg "EV6.8CX (21264D)") 3620568f49bSmrg UNAME_MACHINE=alphaev68 ;; 363444c061aSmrg "EV6.9A (21264/EV69A)") 3640568f49bSmrg UNAME_MACHINE=alphaev69 ;; 365444c061aSmrg "EV7 (21364)") 3660568f49bSmrg UNAME_MACHINE=alphaev7 ;; 367444c061aSmrg "EV7.9 (21364A)") 3680568f49bSmrg UNAME_MACHINE=alphaev79 ;; 369444c061aSmrg esac 370444c061aSmrg # A Pn.n version is a patched version. 371444c061aSmrg # A Vn.n version is a released version. 372444c061aSmrg # A Tn.n version is a released field test version. 373444c061aSmrg # A Xn.n version is an unreleased experimental baselevel. 374444c061aSmrg # 1.2 uses "1.2" for uname -r. 375fdf6a26fSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 376fdf6a26fSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 377fdf6a26fSmrg ;; 378444c061aSmrg Amiga*:UNIX_System_V:4.0:*) 379fdf6a26fSmrg GUESS=m68k-unknown-sysv4 380fdf6a26fSmrg ;; 381444c061aSmrg *:[Aa]miga[Oo][Ss]:*:*) 382fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 383fdf6a26fSmrg ;; 384444c061aSmrg *:[Mm]orph[Oo][Ss]:*:*) 385fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-morphos 386fdf6a26fSmrg ;; 387444c061aSmrg *:OS/390:*:*) 388fdf6a26fSmrg GUESS=i370-ibm-openedition 389fdf6a26fSmrg ;; 390444c061aSmrg *:z/VM:*:*) 391fdf6a26fSmrg GUESS=s390-ibm-zvmoe 392fdf6a26fSmrg ;; 393444c061aSmrg *:OS400:*:*) 394fdf6a26fSmrg GUESS=powerpc-ibm-os400 395fdf6a26fSmrg ;; 396444c061aSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 397fdf6a26fSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 398fdf6a26fSmrg ;; 3999e7bcd65Smrg arm*:riscos:*:*|arm*:RISCOS:*:*) 400fdf6a26fSmrg GUESS=arm-unknown-riscos 401fdf6a26fSmrg ;; 402444c061aSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 403fdf6a26fSmrg GUESS=hppa1.1-hitachi-hiuxmpp 404fdf6a26fSmrg ;; 405444c061aSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 406444c061aSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 407fdf6a26fSmrg case `(/bin/universe) 2>/dev/null` in 408fdf6a26fSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 409fdf6a26fSmrg *) GUESS=pyramid-pyramid-bsd ;; 410fdf6a26fSmrg esac 411fdf6a26fSmrg ;; 412444c061aSmrg NILE*:*:*:dcosx) 413fdf6a26fSmrg GUESS=pyramid-pyramid-svr4 414fdf6a26fSmrg ;; 415444c061aSmrg DRS?6000:unix:4.0:6*) 416fdf6a26fSmrg GUESS=sparc-icl-nx6 417fdf6a26fSmrg ;; 418444c061aSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 419444c061aSmrg case `/usr/bin/uname -p` in 420fdf6a26fSmrg sparc) GUESS=sparc-icl-nx7 ;; 421fdf6a26fSmrg esac 422fdf6a26fSmrg ;; 4231477040fSmrg s390x:SunOS:*:*) 424fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 425fdf6a26fSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 426fdf6a26fSmrg ;; 427444c061aSmrg sun4H:SunOS:5.*:*) 428fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 429fdf6a26fSmrg GUESS=sparc-hal-solaris2$SUN_REL 430fdf6a26fSmrg ;; 431444c061aSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 432fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 433fdf6a26fSmrg GUESS=sparc-sun-solaris2$SUN_REL 434fdf6a26fSmrg ;; 4351477040fSmrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 436fdf6a26fSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 437fdf6a26fSmrg ;; 4382265a131Smrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 439a3bd7f05Smrg set_cc_for_build 4400568f49bSmrg SUN_ARCH=i386 4411477040fSmrg # If there is a compiler, see if it is configured for 64-bit objects. 4421477040fSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 4431477040fSmrg # This test works for both compilers. 444fdf6a26fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 4451477040fSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 446fdf6a26fSmrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 4471477040fSmrg grep IS_64BIT_ARCH >/dev/null 4481477040fSmrg then 4490568f49bSmrg SUN_ARCH=x86_64 4501477040fSmrg fi 4511477040fSmrg fi 452fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 453fdf6a26fSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 454fdf6a26fSmrg ;; 455444c061aSmrg sun4*:SunOS:6*:*) 456444c061aSmrg # According to config.sub, this is the proper way to canonicalize 457444c061aSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 458444c061aSmrg # it's likely to be more like Solaris than SunOS4. 459fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 460fdf6a26fSmrg GUESS=sparc-sun-solaris3$SUN_REL 461fdf6a26fSmrg ;; 462444c061aSmrg sun4*:SunOS:*:*) 463fdf6a26fSmrg case `/usr/bin/arch -k` in 464444c061aSmrg Series*|S4*) 465444c061aSmrg UNAME_RELEASE=`uname -v` 466444c061aSmrg ;; 467444c061aSmrg esac 46835525df4Smrg # Japanese Language versions have a version number like '4.1.3-JL'. 469fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 470fdf6a26fSmrg GUESS=sparc-sun-sunos$SUN_REL 471fdf6a26fSmrg ;; 472444c061aSmrg sun3*:SunOS:*:*) 473fdf6a26fSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 474fdf6a26fSmrg ;; 475444c061aSmrg sun*:*:4.2BSD:*) 476444c061aSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 4770568f49bSmrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 478fdf6a26fSmrg case `/bin/arch` in 479444c061aSmrg sun3) 480fdf6a26fSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 481444c061aSmrg ;; 482444c061aSmrg sun4) 483fdf6a26fSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 484444c061aSmrg ;; 485444c061aSmrg esac 486fdf6a26fSmrg ;; 487444c061aSmrg aushp:SunOS:*:*) 488fdf6a26fSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 489fdf6a26fSmrg ;; 490444c061aSmrg # The situation for MiNT is a little confusing. The machine name 491444c061aSmrg # can be virtually everything (everything which is not 492444c061aSmrg # "atarist" or "atariste" at least should have a processor 493444c061aSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 494444c061aSmrg # to the lowercase version "mint" (or "freemint"). Finally 495444c061aSmrg # the system name "TOS" denotes a system which is actually not 496444c061aSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 497444c061aSmrg # be no problem. 498444c061aSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 499fdf6a26fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 500fdf6a26fSmrg ;; 501444c061aSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 502fdf6a26fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 503fdf6a26fSmrg ;; 504444c061aSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 505fdf6a26fSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 506fdf6a26fSmrg ;; 507444c061aSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 508fdf6a26fSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 509fdf6a26fSmrg ;; 510444c061aSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 511fdf6a26fSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 512fdf6a26fSmrg ;; 513444c061aSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 514fdf6a26fSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 515fdf6a26fSmrg ;; 516444c061aSmrg m68k:machten:*:*) 517fdf6a26fSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 518fdf6a26fSmrg ;; 519444c061aSmrg powerpc:machten:*:*) 520fdf6a26fSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 521fdf6a26fSmrg ;; 522444c061aSmrg RISC*:Mach:*:*) 523fdf6a26fSmrg GUESS=mips-dec-mach_bsd4.3 524fdf6a26fSmrg ;; 525444c061aSmrg RISC*:ULTRIX:*:*) 526fdf6a26fSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 527fdf6a26fSmrg ;; 528444c061aSmrg VAX*:ULTRIX*:*:*) 529fdf6a26fSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 530fdf6a26fSmrg ;; 531444c061aSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 532fdf6a26fSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 533fdf6a26fSmrg ;; 534444c061aSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 535a3bd7f05Smrg set_cc_for_build 5360568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 537444c061aSmrg#ifdef __cplusplus 538444c061aSmrg#include <stdio.h> /* for printf() prototype */ 539444c061aSmrg int main (int argc, char *argv[]) { 540444c061aSmrg#else 541444c061aSmrg int main (argc, argv) int argc; char *argv[]; { 542444c061aSmrg#endif 543444c061aSmrg #if defined (host_mips) && defined (MIPSEB) 544444c061aSmrg #if defined (SYSTYPE_SYSV) 5450568f49bSmrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 546444c061aSmrg #endif 547444c061aSmrg #if defined (SYSTYPE_SVR4) 5480568f49bSmrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 549444c061aSmrg #endif 550444c061aSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 5510568f49bSmrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 552444c061aSmrg #endif 553444c061aSmrg #endif 554444c061aSmrg exit (-1); 555444c061aSmrg } 556444c061aSmrgEOF 5570568f49bSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 5580568f49bSmrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 5590568f49bSmrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 560444c061aSmrg { echo "$SYSTEM_NAME"; exit; } 561fdf6a26fSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 562fdf6a26fSmrg ;; 563444c061aSmrg Motorola:PowerMAX_OS:*:*) 564fdf6a26fSmrg GUESS=powerpc-motorola-powermax 565fdf6a26fSmrg ;; 566444c061aSmrg Motorola:*:4.3:PL8-*) 567fdf6a26fSmrg GUESS=powerpc-harris-powermax 568fdf6a26fSmrg ;; 569444c061aSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 570fdf6a26fSmrg GUESS=powerpc-harris-powermax 571fdf6a26fSmrg ;; 572444c061aSmrg Night_Hawk:Power_UNIX:*:*) 573fdf6a26fSmrg GUESS=powerpc-harris-powerunix 574fdf6a26fSmrg ;; 575444c061aSmrg m88k:CX/UX:7*:*) 576fdf6a26fSmrg GUESS=m88k-harris-cxux7 577fdf6a26fSmrg ;; 578444c061aSmrg m88k:*:4*:R4*) 579fdf6a26fSmrg GUESS=m88k-motorola-sysv4 580fdf6a26fSmrg ;; 581444c061aSmrg m88k:*:3*:R3*) 582fdf6a26fSmrg GUESS=m88k-motorola-sysv3 583fdf6a26fSmrg ;; 584444c061aSmrg AViiON:dgux:*:*) 5859e7bcd65Smrg # DG/UX returns AViiON for all architectures 5869e7bcd65Smrg UNAME_PROCESSOR=`/usr/bin/uname -p` 587fdf6a26fSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 588444c061aSmrg then 589fdf6a26fSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 590fdf6a26fSmrg test "$TARGET_BINARY_INTERFACE"x = x 591444c061aSmrg then 592fdf6a26fSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 593444c061aSmrg else 594fdf6a26fSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 595444c061aSmrg fi 596444c061aSmrg else 597fdf6a26fSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 598444c061aSmrg fi 599fdf6a26fSmrg ;; 600444c061aSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 601fdf6a26fSmrg GUESS=m88k-dolphin-sysv3 602fdf6a26fSmrg ;; 603444c061aSmrg M88*:*:R3*:*) 604444c061aSmrg # Delta 88k system running SVR3 605fdf6a26fSmrg GUESS=m88k-motorola-sysv3 606fdf6a26fSmrg ;; 607444c061aSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 608fdf6a26fSmrg GUESS=m88k-tektronix-sysv3 609fdf6a26fSmrg ;; 610444c061aSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 611fdf6a26fSmrg GUESS=m68k-tektronix-bsd 612fdf6a26fSmrg ;; 613444c061aSmrg *:IRIX*:*:*) 614fdf6a26fSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 615fdf6a26fSmrg GUESS=mips-sgi-irix$IRIX_REL 616fdf6a26fSmrg ;; 617444c061aSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 618fdf6a26fSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 619fdf6a26fSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 620444c061aSmrg i*86:AIX:*:*) 621fdf6a26fSmrg GUESS=i386-ibm-aix 622fdf6a26fSmrg ;; 623444c061aSmrg ia64:AIX:*:*) 624fdf6a26fSmrg if test -x /usr/bin/oslevel ; then 625444c061aSmrg IBM_REV=`/usr/bin/oslevel` 626444c061aSmrg else 627fdf6a26fSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 628444c061aSmrg fi 629fdf6a26fSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 630fdf6a26fSmrg ;; 631444c061aSmrg *:AIX:2:3) 632444c061aSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 633a3bd7f05Smrg set_cc_for_build 6340568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 635444c061aSmrg #include <sys/systemcfg.h> 636444c061aSmrg 63735525df4Smrg int 63835525df4Smrg main () 639444c061aSmrg { 640444c061aSmrg if (!__power_pc()) 641444c061aSmrg exit(1); 642444c061aSmrg puts("powerpc-ibm-aix3.2.5"); 643444c061aSmrg exit(0); 644444c061aSmrg } 645444c061aSmrgEOF 6460568f49bSmrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 647444c061aSmrg then 648fdf6a26fSmrg GUESS=$SYSTEM_NAME 649444c061aSmrg else 650fdf6a26fSmrg GUESS=rs6000-ibm-aix3.2.5 651444c061aSmrg fi 652444c061aSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 653fdf6a26fSmrg GUESS=rs6000-ibm-aix3.2.4 654444c061aSmrg else 655fdf6a26fSmrg GUESS=rs6000-ibm-aix3.2 656444c061aSmrg fi 657fdf6a26fSmrg ;; 6589e7bcd65Smrg *:AIX:*:[4567]) 659444c061aSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 6600568f49bSmrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 661444c061aSmrg IBM_ARCH=rs6000 662444c061aSmrg else 663444c061aSmrg IBM_ARCH=powerpc 664444c061aSmrg fi 665fdf6a26fSmrg if test -x /usr/bin/lslpp ; then 666fdf6a26fSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 667339a7c43Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 668444c061aSmrg else 669fdf6a26fSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 670444c061aSmrg fi 671fdf6a26fSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 672fdf6a26fSmrg ;; 673444c061aSmrg *:AIX:*:*) 674fdf6a26fSmrg GUESS=rs6000-ibm-aix 675fdf6a26fSmrg ;; 6760568f49bSmrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 677fdf6a26fSmrg GUESS=romp-ibm-bsd4.4 678fdf6a26fSmrg ;; 679444c061aSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 680fdf6a26fSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 681fdf6a26fSmrg ;; # report: romp-ibm BSD 4.3 682444c061aSmrg *:BOSX:*:*) 683fdf6a26fSmrg GUESS=rs6000-bull-bosx 684fdf6a26fSmrg ;; 685444c061aSmrg DPX/2?00:B.O.S.:*:*) 686fdf6a26fSmrg GUESS=m68k-bull-sysv3 687fdf6a26fSmrg ;; 688444c061aSmrg 9000/[34]??:4.3bsd:1.*:*) 689fdf6a26fSmrg GUESS=m68k-hp-bsd 690fdf6a26fSmrg ;; 691444c061aSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 692fdf6a26fSmrg GUESS=m68k-hp-bsd4.4 693fdf6a26fSmrg ;; 694444c061aSmrg 9000/[34678]??:HP-UX:*:*) 695fdf6a26fSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 696fdf6a26fSmrg case $UNAME_MACHINE in 6970568f49bSmrg 9000/31?) HP_ARCH=m68000 ;; 6980568f49bSmrg 9000/[34]??) HP_ARCH=m68k ;; 699444c061aSmrg 9000/[678][0-9][0-9]) 700fdf6a26fSmrg if test -x /usr/bin/getconf; then 701444c061aSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 7029e7bcd65Smrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 703fdf6a26fSmrg case $sc_cpu_version in 7040568f49bSmrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 7050568f49bSmrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 7069e7bcd65Smrg 532) # CPU_PA_RISC2_0 707fdf6a26fSmrg case $sc_kernel_bits in 7080568f49bSmrg 32) HP_ARCH=hppa2.0n ;; 7090568f49bSmrg 64) HP_ARCH=hppa2.0w ;; 7100568f49bSmrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 7119e7bcd65Smrg esac ;; 7129e7bcd65Smrg esac 713444c061aSmrg fi 714fdf6a26fSmrg if test "$HP_ARCH" = ""; then 715a3bd7f05Smrg set_cc_for_build 7160568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 717444c061aSmrg 7189e7bcd65Smrg #define _HPUX_SOURCE 7199e7bcd65Smrg #include <stdlib.h> 7209e7bcd65Smrg #include <unistd.h> 721444c061aSmrg 72235525df4Smrg int 72335525df4Smrg main () 7249e7bcd65Smrg { 7259e7bcd65Smrg #if defined(_SC_KERNEL_BITS) 7269e7bcd65Smrg long bits = sysconf(_SC_KERNEL_BITS); 7279e7bcd65Smrg #endif 7289e7bcd65Smrg long cpu = sysconf (_SC_CPU_VERSION); 729444c061aSmrg 7309e7bcd65Smrg switch (cpu) 7319e7bcd65Smrg { 7329e7bcd65Smrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 7339e7bcd65Smrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 7349e7bcd65Smrg case CPU_PA_RISC2_0: 7359e7bcd65Smrg #if defined(_SC_KERNEL_BITS) 7369e7bcd65Smrg switch (bits) 7379e7bcd65Smrg { 7389e7bcd65Smrg case 64: puts ("hppa2.0w"); break; 7399e7bcd65Smrg case 32: puts ("hppa2.0n"); break; 7409e7bcd65Smrg default: puts ("hppa2.0"); break; 7419e7bcd65Smrg } break; 7429e7bcd65Smrg #else /* !defined(_SC_KERNEL_BITS) */ 7439e7bcd65Smrg puts ("hppa2.0"); break; 7449e7bcd65Smrg #endif 7459e7bcd65Smrg default: puts ("hppa1.0"); break; 7469e7bcd65Smrg } 7479e7bcd65Smrg exit (0); 7489e7bcd65Smrg } 749444c061aSmrgEOF 7500568f49bSmrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 751444c061aSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 752444c061aSmrg fi ;; 753444c061aSmrg esac 754fdf6a26fSmrg if test "$HP_ARCH" = hppa2.0w 755444c061aSmrg then 756a3bd7f05Smrg set_cc_for_build 757444c061aSmrg 758444c061aSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 759444c061aSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 760444c061aSmrg # generating 64-bit code. GNU and HP use different nomenclature: 761444c061aSmrg # 762444c061aSmrg # $ CC_FOR_BUILD=cc ./config.guess 763444c061aSmrg # => hppa2.0w-hp-hpux11.23 764444c061aSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 765444c061aSmrg # => hppa64-hp-hpux11.23 766444c061aSmrg 7670568f49bSmrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 7681477040fSmrg grep -q __LP64__ 769444c061aSmrg then 7700568f49bSmrg HP_ARCH=hppa2.0w 771444c061aSmrg else 7720568f49bSmrg HP_ARCH=hppa64 773444c061aSmrg fi 774444c061aSmrg fi 775fdf6a26fSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 776fdf6a26fSmrg ;; 777444c061aSmrg ia64:HP-UX:*:*) 778fdf6a26fSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 779fdf6a26fSmrg GUESS=ia64-hp-hpux$HPUX_REV 780fdf6a26fSmrg ;; 781444c061aSmrg 3050*:HI-UX:*:*) 782a3bd7f05Smrg set_cc_for_build 7830568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 784444c061aSmrg #include <unistd.h> 785444c061aSmrg int 786444c061aSmrg main () 787444c061aSmrg { 788444c061aSmrg long cpu = sysconf (_SC_CPU_VERSION); 789444c061aSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 790444c061aSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 791444c061aSmrg results, however. */ 792444c061aSmrg if (CPU_IS_PA_RISC (cpu)) 793444c061aSmrg { 794444c061aSmrg switch (cpu) 795444c061aSmrg { 796444c061aSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 797444c061aSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 798444c061aSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 799444c061aSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 800444c061aSmrg } 801444c061aSmrg } 802444c061aSmrg else if (CPU_IS_HP_MC68K (cpu)) 803444c061aSmrg puts ("m68k-hitachi-hiuxwe2"); 804444c061aSmrg else puts ("unknown-hitachi-hiuxwe2"); 805444c061aSmrg exit (0); 806444c061aSmrg } 807444c061aSmrgEOF 8080568f49bSmrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 809444c061aSmrg { echo "$SYSTEM_NAME"; exit; } 810fdf6a26fSmrg GUESS=unknown-hitachi-hiuxwe2 811fdf6a26fSmrg ;; 8120568f49bSmrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 813fdf6a26fSmrg GUESS=hppa1.1-hp-bsd 814fdf6a26fSmrg ;; 815444c061aSmrg 9000/8??:4.3bsd:*:*) 816fdf6a26fSmrg GUESS=hppa1.0-hp-bsd 817fdf6a26fSmrg ;; 818444c061aSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 819fdf6a26fSmrg GUESS=hppa1.0-hp-mpeix 820fdf6a26fSmrg ;; 8210568f49bSmrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 822fdf6a26fSmrg GUESS=hppa1.1-hp-osf 823fdf6a26fSmrg ;; 824444c061aSmrg hp8??:OSF1:*:*) 825fdf6a26fSmrg GUESS=hppa1.0-hp-osf 826fdf6a26fSmrg ;; 827444c061aSmrg i*86:OSF1:*:*) 828fdf6a26fSmrg if test -x /usr/sbin/sysversion ; then 829fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 830444c061aSmrg else 831fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-osf1 832444c061aSmrg fi 833fdf6a26fSmrg ;; 834444c061aSmrg parisc*:Lites*:*:*) 835fdf6a26fSmrg GUESS=hppa1.1-hp-lites 836fdf6a26fSmrg ;; 837444c061aSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 838fdf6a26fSmrg GUESS=c1-convex-bsd 839fdf6a26fSmrg ;; 840444c061aSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 841444c061aSmrg if getsysinfo -f scalar_acc 842444c061aSmrg then echo c32-convex-bsd 843444c061aSmrg else echo c2-convex-bsd 844444c061aSmrg fi 8459e7bcd65Smrg exit ;; 846444c061aSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 847fdf6a26fSmrg GUESS=c34-convex-bsd 848fdf6a26fSmrg ;; 849444c061aSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 850fdf6a26fSmrg GUESS=c38-convex-bsd 851fdf6a26fSmrg ;; 852444c061aSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 853fdf6a26fSmrg GUESS=c4-convex-bsd 854fdf6a26fSmrg ;; 855444c061aSmrg CRAY*Y-MP:*:*:*) 856fdf6a26fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 857fdf6a26fSmrg GUESS=ymp-cray-unicos$CRAY_REL 858fdf6a26fSmrg ;; 859444c061aSmrg CRAY*[A-Z]90:*:*:*) 8600568f49bSmrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 861444c061aSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 862444c061aSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 863444c061aSmrg -e 's/\.[^.]*$/.X/' 864444c061aSmrg exit ;; 865444c061aSmrg CRAY*TS:*:*:*) 866fdf6a26fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 867fdf6a26fSmrg GUESS=t90-cray-unicos$CRAY_REL 868fdf6a26fSmrg ;; 869444c061aSmrg CRAY*T3E:*:*:*) 870fdf6a26fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 871fdf6a26fSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 872fdf6a26fSmrg ;; 873444c061aSmrg CRAY*SV1:*:*:*) 874fdf6a26fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 875fdf6a26fSmrg GUESS=sv1-cray-unicos$CRAY_REL 876fdf6a26fSmrg ;; 877444c061aSmrg *:UNICOS/mp:*:*) 878fdf6a26fSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 879fdf6a26fSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 880fdf6a26fSmrg ;; 881444c061aSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 8820568f49bSmrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 8830568f49bSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8840568f49bSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 885fdf6a26fSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 886fdf6a26fSmrg ;; 887444c061aSmrg 5000:UNIX_System_V:4.*:*) 8880568f49bSmrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 8890568f49bSmrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 890fdf6a26fSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 891fdf6a26fSmrg ;; 892444c061aSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 893fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 894fdf6a26fSmrg ;; 895444c061aSmrg sparc*:BSD/OS:*:*) 896fdf6a26fSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 897fdf6a26fSmrg ;; 898444c061aSmrg *:BSD/OS:*:*) 899fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 900fdf6a26fSmrg ;; 901a3bd7f05Smrg arm:FreeBSD:*:*) 902a3bd7f05Smrg UNAME_PROCESSOR=`uname -p` 903a3bd7f05Smrg set_cc_for_build 904a3bd7f05Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 905a3bd7f05Smrg | grep -q __ARM_PCS_VFP 906a3bd7f05Smrg then 907fdf6a26fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 908fdf6a26fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 909a3bd7f05Smrg else 910fdf6a26fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 911fdf6a26fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 912a3bd7f05Smrg fi 913fdf6a26fSmrg ;; 914444c061aSmrg *:FreeBSD:*:*) 91535525df4Smrg UNAME_PROCESSOR=`uname -p` 916fdf6a26fSmrg case $UNAME_PROCESSOR in 9172265a131Smrg amd64) 9180568f49bSmrg UNAME_PROCESSOR=x86_64 ;; 9190568f49bSmrg i386) 9200568f49bSmrg UNAME_PROCESSOR=i586 ;; 9212265a131Smrg esac 922fdf6a26fSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 923fdf6a26fSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 924fdf6a26fSmrg ;; 925444c061aSmrg i*:CYGWIN*:*) 926fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-cygwin 927fdf6a26fSmrg ;; 9289e7bcd65Smrg *:MINGW64*:*) 929fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-mingw64 930fdf6a26fSmrg ;; 9312265a131Smrg *:MINGW*:*) 932fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-mingw32 933fdf6a26fSmrg ;; 934339a7c43Smrg *:MSYS*:*) 935fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-msys 936fdf6a26fSmrg ;; 937444c061aSmrg i*:PW*:*) 938fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-pw32 939fdf6a26fSmrg ;; 940fdf6a26fSmrg *:SerenityOS:*:*) 941fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-serenity 942fdf6a26fSmrg ;; 9431477040fSmrg *:Interix*:*) 944fdf6a26fSmrg case $UNAME_MACHINE in 9452265a131Smrg x86) 946fdf6a26fSmrg GUESS=i586-pc-interix$UNAME_RELEASE 947fdf6a26fSmrg ;; 9481477040fSmrg authenticamd | genuineintel | EM64T) 949fdf6a26fSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 950fdf6a26fSmrg ;; 9512265a131Smrg IA64) 952fdf6a26fSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 953fdf6a26fSmrg ;; 9542265a131Smrg esac ;; 955444c061aSmrg i*:UWIN*:*) 956fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-uwin 957fdf6a26fSmrg ;; 958444c061aSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 959fdf6a26fSmrg GUESS=x86_64-pc-cygwin 960fdf6a26fSmrg ;; 961444c061aSmrg prep*:SunOS:5.*:*) 962fdf6a26fSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 963fdf6a26fSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 964fdf6a26fSmrg ;; 965444c061aSmrg *:GNU:*:*) 966444c061aSmrg # the GNU system 967fdf6a26fSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 968fdf6a26fSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 969fdf6a26fSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 970fdf6a26fSmrg ;; 971444c061aSmrg *:GNU/*:*:*) 972444c061aSmrg # other systems with GNU libc and userland 973fdf6a26fSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 974fdf6a26fSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 975fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 976fdf6a26fSmrg ;; 977fdf6a26fSmrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 978fdf6a26fSmrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 979fdf6a26fSmrg ;; 980fdf6a26fSmrg *:[Mm]anagarm:*:*) 981fdf6a26fSmrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 982fdf6a26fSmrg ;; 983a3bd7f05Smrg *:Minix:*:*) 984fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-minix 985fdf6a26fSmrg ;; 9869e7bcd65Smrg aarch64:Linux:*:*) 98735525df4Smrg set_cc_for_build 98835525df4Smrg CPU=$UNAME_MACHINE 98935525df4Smrg LIBCABI=$LIBC 99035525df4Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 99135525df4Smrg ABI=64 99235525df4Smrg sed 's/^ //' << EOF > "$dummy.c" 99335525df4Smrg #ifdef __ARM_EABI__ 99435525df4Smrg #ifdef __ARM_PCS_VFP 99535525df4Smrg ABI=eabihf 99635525df4Smrg #else 99735525df4Smrg ABI=eabi 99835525df4Smrg #endif 99935525df4Smrg #endif 100035525df4SmrgEOF 100135525df4Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 100235525df4Smrg eval "$cc_set_abi" 100335525df4Smrg case $ABI in 100435525df4Smrg eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; 100535525df4Smrg esac 100635525df4Smrg fi 100735525df4Smrg GUESS=$CPU-unknown-linux-$LIBCABI 1008fdf6a26fSmrg ;; 10099e7bcd65Smrg aarch64_be:Linux:*:*) 10109e7bcd65Smrg UNAME_MACHINE=aarch64_be 1011fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1012fdf6a26fSmrg ;; 10131477040fSmrg alpha:Linux:*:*) 1014a3bd7f05Smrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 10151477040fSmrg EV5) UNAME_MACHINE=alphaev5 ;; 10161477040fSmrg EV56) UNAME_MACHINE=alphaev56 ;; 10171477040fSmrg PCA56) UNAME_MACHINE=alphapca56 ;; 10181477040fSmrg PCA57) UNAME_MACHINE=alphapca56 ;; 10191477040fSmrg EV6) UNAME_MACHINE=alphaev6 ;; 10201477040fSmrg EV67) UNAME_MACHINE=alphaev67 ;; 10211477040fSmrg EV68*) UNAME_MACHINE=alphaev68 ;; 10229e7bcd65Smrg esac 10231477040fSmrg objdump --private-headers /bin/sh | grep -q ld.so.1 10240568f49bSmrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 1025fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1026fdf6a26fSmrg ;; 1027fdf6a26fSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 1028fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1029fdf6a26fSmrg ;; 1030444c061aSmrg arm*:Linux:*:*) 1031a3bd7f05Smrg set_cc_for_build 10322265a131Smrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 10332265a131Smrg | grep -q __ARM_EABI__ 10342265a131Smrg then 1035fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 10362265a131Smrg else 10379e7bcd65Smrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 10389e7bcd65Smrg | grep -q __ARM_PCS_VFP 10399e7bcd65Smrg then 1040fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 10419e7bcd65Smrg else 1042fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 10439e7bcd65Smrg fi 10442265a131Smrg fi 1045fdf6a26fSmrg ;; 10462265a131Smrg avr32*:Linux:*:*) 1047fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1048fdf6a26fSmrg ;; 1049444c061aSmrg cris:Linux:*:*) 1050fdf6a26fSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1051fdf6a26fSmrg ;; 1052444c061aSmrg crisv32:Linux:*:*) 1053fdf6a26fSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 1054fdf6a26fSmrg ;; 10550568f49bSmrg e2k:Linux:*:*) 1056fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1057fdf6a26fSmrg ;; 1058444c061aSmrg frv:Linux:*:*) 1059fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1060fdf6a26fSmrg ;; 10619e7bcd65Smrg hexagon:Linux:*:*) 1062fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1063fdf6a26fSmrg ;; 10641477040fSmrg i*86:Linux:*:*) 1065fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 1066fdf6a26fSmrg ;; 1067444c061aSmrg ia64:Linux:*:*) 1068fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1069fdf6a26fSmrg ;; 10700568f49bSmrg k1om:Linux:*:*) 1071fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1072fdf6a26fSmrg ;; 107335525df4Smrg kvx:Linux:*:*) 107435525df4Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 107535525df4Smrg ;; 107635525df4Smrg kvx:cos:*:*) 107735525df4Smrg GUESS=$UNAME_MACHINE-unknown-cos 107835525df4Smrg ;; 107935525df4Smrg kvx:mbr:*:*) 108035525df4Smrg GUESS=$UNAME_MACHINE-unknown-mbr 108135525df4Smrg ;; 1082fdf6a26fSmrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 1083fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1084fdf6a26fSmrg ;; 1085444c061aSmrg m32r*:Linux:*:*) 1086fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1087fdf6a26fSmrg ;; 1088444c061aSmrg m68*:Linux:*:*) 1089fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1090fdf6a26fSmrg ;; 10911477040fSmrg mips:Linux:*:* | mips64:Linux:*:*) 1092a3bd7f05Smrg set_cc_for_build 1093a3bd7f05Smrg IS_GLIBC=0 1094a3bd7f05Smrg test x"${LIBC}" = xgnu && IS_GLIBC=1 10950568f49bSmrg sed 's/^ //' << EOF > "$dummy.c" 1096444c061aSmrg #undef CPU 1097a3bd7f05Smrg #undef mips 1098a3bd7f05Smrg #undef mipsel 1099a3bd7f05Smrg #undef mips64 1100a3bd7f05Smrg #undef mips64el 1101a3bd7f05Smrg #if ${IS_GLIBC} && defined(_ABI64) 1102a3bd7f05Smrg LIBCABI=gnuabi64 1103a3bd7f05Smrg #else 1104a3bd7f05Smrg #if ${IS_GLIBC} && defined(_ABIN32) 1105a3bd7f05Smrg LIBCABI=gnuabin32 1106a3bd7f05Smrg #else 1107a3bd7f05Smrg LIBCABI=${LIBC} 1108a3bd7f05Smrg #endif 1109a3bd7f05Smrg #endif 1110a3bd7f05Smrg 1111a3bd7f05Smrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1112a3bd7f05Smrg CPU=mipsisa64r6 1113a3bd7f05Smrg #else 1114a3bd7f05Smrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 1115a3bd7f05Smrg CPU=mipsisa32r6 1116a3bd7f05Smrg #else 1117a3bd7f05Smrg #if defined(__mips64) 1118a3bd7f05Smrg CPU=mips64 1119a3bd7f05Smrg #else 1120a3bd7f05Smrg CPU=mips 1121a3bd7f05Smrg #endif 1122a3bd7f05Smrg #endif 1123a3bd7f05Smrg #endif 1124a3bd7f05Smrg 1125444c061aSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 1126a3bd7f05Smrg MIPS_ENDIAN=el 1127444c061aSmrg #else 1128444c061aSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 1129a3bd7f05Smrg MIPS_ENDIAN= 1130444c061aSmrg #else 1131a3bd7f05Smrg MIPS_ENDIAN= 1132444c061aSmrg #endif 1133444c061aSmrg #endif 1134444c061aSmrgEOF 1135fdf6a26fSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 1136fdf6a26fSmrg eval "$cc_set_vars" 1137a3bd7f05Smrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1138444c061aSmrg ;; 11390568f49bSmrg mips64el:Linux:*:*) 1140fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1141fdf6a26fSmrg ;; 1142339a7c43Smrg openrisc*:Linux:*:*) 1143fdf6a26fSmrg GUESS=or1k-unknown-linux-$LIBC 1144fdf6a26fSmrg ;; 1145339a7c43Smrg or32:Linux:*:* | or1k*:Linux:*:*) 1146fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1147fdf6a26fSmrg ;; 11481477040fSmrg padre:Linux:*:*) 1149fdf6a26fSmrg GUESS=sparc-unknown-linux-$LIBC 1150fdf6a26fSmrg ;; 11511477040fSmrg parisc64:Linux:*:* | hppa64:Linux:*:*) 1152fdf6a26fSmrg GUESS=hppa64-unknown-linux-$LIBC 1153fdf6a26fSmrg ;; 1154444c061aSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1155444c061aSmrg # Look for CPU level 1156444c061aSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 1157fdf6a26fSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 1158fdf6a26fSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 1159fdf6a26fSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1160444c061aSmrg esac 1161fdf6a26fSmrg ;; 11621477040fSmrg ppc64:Linux:*:*) 1163fdf6a26fSmrg GUESS=powerpc64-unknown-linux-$LIBC 1164fdf6a26fSmrg ;; 11651477040fSmrg ppc:Linux:*:*) 1166fdf6a26fSmrg GUESS=powerpc-unknown-linux-$LIBC 1167fdf6a26fSmrg ;; 1168339a7c43Smrg ppc64le:Linux:*:*) 1169fdf6a26fSmrg GUESS=powerpc64le-unknown-linux-$LIBC 1170fdf6a26fSmrg ;; 1171339a7c43Smrg ppcle:Linux:*:*) 1172fdf6a26fSmrg GUESS=powerpcle-unknown-linux-$LIBC 1173fdf6a26fSmrg ;; 1174fdf6a26fSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 1175fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1176fdf6a26fSmrg ;; 1177444c061aSmrg s390:Linux:*:* | s390x:Linux:*:*) 1178fdf6a26fSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 1179fdf6a26fSmrg ;; 1180444c061aSmrg sh64*:Linux:*:*) 1181fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1182fdf6a26fSmrg ;; 1183444c061aSmrg sh*:Linux:*:*) 1184fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1185fdf6a26fSmrg ;; 1186444c061aSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 1187fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1188fdf6a26fSmrg ;; 11899e7bcd65Smrg tile*:Linux:*:*) 1190fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1191fdf6a26fSmrg ;; 1192444c061aSmrg vax:Linux:*:*) 1193fdf6a26fSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 1194fdf6a26fSmrg ;; 1195444c061aSmrg x86_64:Linux:*:*) 1196a3bd7f05Smrg set_cc_for_build 1197fdf6a26fSmrg CPU=$UNAME_MACHINE 1198a3bd7f05Smrg LIBCABI=$LIBC 1199fdf6a26fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1200fdf6a26fSmrg ABI=64 1201fdf6a26fSmrg sed 's/^ //' << EOF > "$dummy.c" 1202fdf6a26fSmrg #ifdef __i386__ 1203fdf6a26fSmrg ABI=x86 1204fdf6a26fSmrg #else 1205fdf6a26fSmrg #ifdef __ILP32__ 1206fdf6a26fSmrg ABI=x32 1207fdf6a26fSmrg #endif 1208fdf6a26fSmrg #endif 1209fdf6a26fSmrgEOF 1210fdf6a26fSmrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 1211fdf6a26fSmrg eval "$cc_set_abi" 1212fdf6a26fSmrg case $ABI in 1213fdf6a26fSmrg x86) CPU=i686 ;; 1214fdf6a26fSmrg x32) LIBCABI=${LIBC}x32 ;; 1215fdf6a26fSmrg esac 12160568f49bSmrg fi 1217fdf6a26fSmrg GUESS=$CPU-pc-linux-$LIBCABI 1218fdf6a26fSmrg ;; 12192265a131Smrg xtensa*:Linux:*:*) 1220fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1221fdf6a26fSmrg ;; 1222444c061aSmrg i*86:DYNIX/ptx:4*:*) 1223444c061aSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1224444c061aSmrg # earlier versions are messed up and put the nodename in both 1225444c061aSmrg # sysname and nodename. 1226fdf6a26fSmrg GUESS=i386-sequent-sysv4 1227fdf6a26fSmrg ;; 1228444c061aSmrg i*86:UNIX_SV:4.2MP:2.*) 12299e7bcd65Smrg # Unixware is an offshoot of SVR4, but it has its own version 12309e7bcd65Smrg # number series starting with 2... 12319e7bcd65Smrg # I am not positive that other SVR4 systems won't match this, 1232444c061aSmrg # I just have to hope. -- rms. 12339e7bcd65Smrg # Use sysv4.2uw... so that sysv4* matches it. 1234fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 1235fdf6a26fSmrg ;; 1236444c061aSmrg i*86:OS/2:*:*) 123735525df4Smrg # If we were able to find 'uname', then EMX Unix compatibility 1238444c061aSmrg # is probably installed. 1239fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 1240fdf6a26fSmrg ;; 1241444c061aSmrg i*86:XTS-300:*:STOP) 1242fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-stop 1243fdf6a26fSmrg ;; 1244444c061aSmrg i*86:atheos:*:*) 1245fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-atheos 1246fdf6a26fSmrg ;; 1247444c061aSmrg i*86:syllable:*:*) 1248fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-syllable 1249fdf6a26fSmrg ;; 12501477040fSmrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 1251fdf6a26fSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 1252fdf6a26fSmrg ;; 1253444c061aSmrg i*86:*DOS:*:*) 1254fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 1255fdf6a26fSmrg ;; 12560568f49bSmrg i*86:*:4.*:*) 12570568f49bSmrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1258444c061aSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 1259fdf6a26fSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1260444c061aSmrg else 1261fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1262444c061aSmrg fi 1263fdf6a26fSmrg ;; 1264444c061aSmrg i*86:*:5:[678]*) 12659e7bcd65Smrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1266444c061aSmrg case `/bin/uname -X | grep "^Machine"` in 1267444c061aSmrg *486*) UNAME_MACHINE=i486 ;; 1268444c061aSmrg *Pentium) UNAME_MACHINE=i586 ;; 1269444c061aSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1270444c061aSmrg esac 1271fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1272fdf6a26fSmrg ;; 1273444c061aSmrg i*86:*:3.2:*) 1274444c061aSmrg if test -f /usr/options/cb.name; then 1275444c061aSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 1276fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1277444c061aSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1278444c061aSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1279444c061aSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1280444c061aSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1281444c061aSmrg && UNAME_MACHINE=i586 1282444c061aSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1283444c061aSmrg && UNAME_MACHINE=i686 1284444c061aSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1285444c061aSmrg && UNAME_MACHINE=i686 1286fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1287444c061aSmrg else 1288fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-sysv32 1289444c061aSmrg fi 1290fdf6a26fSmrg ;; 1291444c061aSmrg pc:*:*:*) 1292444c061aSmrg # Left here for compatibility: 12939e7bcd65Smrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 12949e7bcd65Smrg # the processor, so we play safe by assuming i586. 12951477040fSmrg # Note: whatever this is, it MUST be the same as what config.sub 12960568f49bSmrg # prints for the "djgpp" host, or else GDB configure will decide that 12971477040fSmrg # this is a cross-build. 1298fdf6a26fSmrg GUESS=i586-pc-msdosdjgpp 1299fdf6a26fSmrg ;; 1300444c061aSmrg Intel:Mach:3*:*) 1301fdf6a26fSmrg GUESS=i386-pc-mach3 1302fdf6a26fSmrg ;; 1303444c061aSmrg paragon:*:*:*) 1304fdf6a26fSmrg GUESS=i860-intel-osf1 1305fdf6a26fSmrg ;; 1306444c061aSmrg i860:*:4.*:*) # i860-SVR4 1307444c061aSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 1308fdf6a26fSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1309444c061aSmrg else # Add other i860-SVR4 vendors below as they are discovered. 1310fdf6a26fSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1311444c061aSmrg fi 1312fdf6a26fSmrg ;; 1313444c061aSmrg mini*:CTIX:SYS*5:*) 1314444c061aSmrg # "miniframe" 1315fdf6a26fSmrg GUESS=m68010-convergent-sysv 1316fdf6a26fSmrg ;; 1317444c061aSmrg mc68k:UNIX:SYSTEM5:3.51m) 1318fdf6a26fSmrg GUESS=m68k-convergent-sysv 1319fdf6a26fSmrg ;; 1320444c061aSmrg M680?0:D-NIX:5.3:*) 1321fdf6a26fSmrg GUESS=m68k-diab-dnix 1322fdf6a26fSmrg ;; 1323444c061aSmrg M68*:*:R3V[5678]*:*) 1324444c061aSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1325444c061aSmrg 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) 1326444c061aSmrg OS_REL='' 1327444c061aSmrg test -r /etc/.relid \ 1328444c061aSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1329444c061aSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 13300568f49bSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1331444c061aSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 13320568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1333444c061aSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 13349e7bcd65Smrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 13359e7bcd65Smrg && { echo i486-ncr-sysv4; exit; } ;; 13361477040fSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 13371477040fSmrg OS_REL='.3' 13381477040fSmrg test -r /etc/.relid \ 13391477040fSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 13401477040fSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 13410568f49bSmrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 13421477040fSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 13430568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 13441477040fSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 13450568f49bSmrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1346444c061aSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1347fdf6a26fSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 1348fdf6a26fSmrg ;; 1349444c061aSmrg mc68030:UNIX_System_V:4.*:*) 1350fdf6a26fSmrg GUESS=m68k-atari-sysv4 1351fdf6a26fSmrg ;; 1352444c061aSmrg TSUNAMI:LynxOS:2.*:*) 1353fdf6a26fSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 1354fdf6a26fSmrg ;; 1355444c061aSmrg rs6000:LynxOS:2.*:*) 1356fdf6a26fSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 1357fdf6a26fSmrg ;; 13581477040fSmrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 1359fdf6a26fSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 1360fdf6a26fSmrg ;; 1361444c061aSmrg SM[BE]S:UNIX_SV:*:*) 1362fdf6a26fSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 1363fdf6a26fSmrg ;; 1364444c061aSmrg RM*:ReliantUNIX-*:*:*) 1365fdf6a26fSmrg GUESS=mips-sni-sysv4 1366fdf6a26fSmrg ;; 1367444c061aSmrg RM*:SINIX-*:*:*) 1368fdf6a26fSmrg GUESS=mips-sni-sysv4 1369fdf6a26fSmrg ;; 1370444c061aSmrg *:SINIX-*:*:*) 1371444c061aSmrg if uname -p 2>/dev/null >/dev/null ; then 1372444c061aSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1373fdf6a26fSmrg GUESS=$UNAME_MACHINE-sni-sysv4 1374444c061aSmrg else 1375fdf6a26fSmrg GUESS=ns32k-sni-sysv 1376444c061aSmrg fi 1377fdf6a26fSmrg ;; 137835525df4Smrg PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort 13799e7bcd65Smrg # says <Richard.M.Bartel@ccMail.Census.GOV> 1380fdf6a26fSmrg GUESS=i586-unisys-sysv4 1381fdf6a26fSmrg ;; 1382444c061aSmrg *:UNIX_System_V:4*:FTX*) 1383444c061aSmrg # From Gerald Hewes <hewes@openmarket.com>. 1384444c061aSmrg # How about differentiating between stratus architectures? -djm 1385fdf6a26fSmrg GUESS=hppa1.1-stratus-sysv4 1386fdf6a26fSmrg ;; 1387444c061aSmrg *:*:*:FTX*) 1388444c061aSmrg # From seanf@swdc.stratus.com. 1389fdf6a26fSmrg GUESS=i860-stratus-sysv4 1390fdf6a26fSmrg ;; 1391444c061aSmrg i*86:VOS:*:*) 1392444c061aSmrg # From Paul.Green@stratus.com. 1393fdf6a26fSmrg GUESS=$UNAME_MACHINE-stratus-vos 1394fdf6a26fSmrg ;; 1395444c061aSmrg *:VOS:*:*) 1396444c061aSmrg # From Paul.Green@stratus.com. 1397fdf6a26fSmrg GUESS=hppa1.1-stratus-vos 1398fdf6a26fSmrg ;; 1399444c061aSmrg mc68*:A/UX:*:*) 1400fdf6a26fSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 1401fdf6a26fSmrg ;; 1402444c061aSmrg news*:NEWS-OS:6*:*) 1403fdf6a26fSmrg GUESS=mips-sony-newsos6 1404fdf6a26fSmrg ;; 1405444c061aSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1406fdf6a26fSmrg if test -d /usr/nec; then 1407fdf6a26fSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 1408444c061aSmrg else 1409fdf6a26fSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1410444c061aSmrg fi 1411fdf6a26fSmrg ;; 1412444c061aSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1413fdf6a26fSmrg GUESS=powerpc-be-beos 1414fdf6a26fSmrg ;; 1415444c061aSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1416fdf6a26fSmrg GUESS=powerpc-apple-beos 1417fdf6a26fSmrg ;; 1418444c061aSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1419fdf6a26fSmrg GUESS=i586-pc-beos 1420fdf6a26fSmrg ;; 14211477040fSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 1422fdf6a26fSmrg GUESS=i586-pc-haiku 1423fdf6a26fSmrg ;; 1424fdf6a26fSmrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 1425fdf6a26fSmrg GUESS=powerpc-apple-haiku 1426fdf6a26fSmrg ;; 1427fdf6a26fSmrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 1428fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-haiku 1429fdf6a26fSmrg ;; 1430444c061aSmrg SX-4:SUPER-UX:*:*) 1431fdf6a26fSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 1432fdf6a26fSmrg ;; 1433444c061aSmrg SX-5:SUPER-UX:*:*) 1434fdf6a26fSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 1435fdf6a26fSmrg ;; 1436444c061aSmrg SX-6:SUPER-UX:*:*) 1437fdf6a26fSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 1438fdf6a26fSmrg ;; 14392265a131Smrg SX-7:SUPER-UX:*:*) 1440fdf6a26fSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 1441fdf6a26fSmrg ;; 14422265a131Smrg SX-8:SUPER-UX:*:*) 1443fdf6a26fSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 1444fdf6a26fSmrg ;; 14452265a131Smrg SX-8R:SUPER-UX:*:*) 1446fdf6a26fSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 1447fdf6a26fSmrg ;; 14480568f49bSmrg SX-ACE:SUPER-UX:*:*) 1449fdf6a26fSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 1450fdf6a26fSmrg ;; 1451444c061aSmrg Power*:Rhapsody:*:*) 1452fdf6a26fSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 1453fdf6a26fSmrg ;; 1454444c061aSmrg *:Rhapsody:*:*) 1455fdf6a26fSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 1456fdf6a26fSmrg ;; 1457fdf6a26fSmrg arm64:Darwin:*:*) 1458fdf6a26fSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 1459fdf6a26fSmrg ;; 1460444c061aSmrg *:Darwin:*:*) 1461a3bd7f05Smrg UNAME_PROCESSOR=`uname -p` 1462a3bd7f05Smrg case $UNAME_PROCESSOR in 1463a3bd7f05Smrg unknown) UNAME_PROCESSOR=powerpc ;; 1464a3bd7f05Smrg esac 1465a3bd7f05Smrg if command -v xcode-select > /dev/null 2> /dev/null && \ 1466a3bd7f05Smrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 1467a3bd7f05Smrg # Avoid executing cc if there is no toolchain installed as 1468a3bd7f05Smrg # cc will be a stub that puts up a graphical alert 1469a3bd7f05Smrg # prompting the user to install developer tools. 1470a3bd7f05Smrg CC_FOR_BUILD=no_compiler_found 1471a3bd7f05Smrg else 1472a3bd7f05Smrg set_cc_for_build 1473339a7c43Smrg fi 1474fdf6a26fSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1475a3bd7f05Smrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 1476a3bd7f05Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1477a3bd7f05Smrg grep IS_64BIT_ARCH >/dev/null 1478a3bd7f05Smrg then 1479a3bd7f05Smrg case $UNAME_PROCESSOR in 1480a3bd7f05Smrg i386) UNAME_PROCESSOR=x86_64 ;; 1481a3bd7f05Smrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 1482a3bd7f05Smrg esac 1483a3bd7f05Smrg fi 1484a3bd7f05Smrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 1485a3bd7f05Smrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 1486a3bd7f05Smrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 1487a3bd7f05Smrg grep IS_PPC >/dev/null 1488a3bd7f05Smrg then 1489a3bd7f05Smrg UNAME_PROCESSOR=powerpc 1490339a7c43Smrg fi 1491339a7c43Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 1492a3bd7f05Smrg # uname -m returns i386 or x86_64 1493a3bd7f05Smrg UNAME_PROCESSOR=$UNAME_MACHINE 1494339a7c43Smrg fi 1495fdf6a26fSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 1496fdf6a26fSmrg ;; 1497444c061aSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1498444c061aSmrg UNAME_PROCESSOR=`uname -p` 14990568f49bSmrg if test "$UNAME_PROCESSOR" = x86; then 1500444c061aSmrg UNAME_PROCESSOR=i386 1501444c061aSmrg UNAME_MACHINE=pc 1502444c061aSmrg fi 1503fdf6a26fSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 1504fdf6a26fSmrg ;; 1505444c061aSmrg *:QNX:*:4*) 1506fdf6a26fSmrg GUESS=i386-pc-qnx 1507fdf6a26fSmrg ;; 15080568f49bSmrg NEO-*:NONSTOP_KERNEL:*:*) 1509fdf6a26fSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 1510fdf6a26fSmrg ;; 15119e7bcd65Smrg NSE-*:NONSTOP_KERNEL:*:*) 1512fdf6a26fSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 1513fdf6a26fSmrg ;; 15140568f49bSmrg NSR-*:NONSTOP_KERNEL:*:*) 1515fdf6a26fSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 1516fdf6a26fSmrg ;; 15170568f49bSmrg NSV-*:NONSTOP_KERNEL:*:*) 1518fdf6a26fSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 1519fdf6a26fSmrg ;; 15200568f49bSmrg NSX-*:NONSTOP_KERNEL:*:*) 1521fdf6a26fSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 1522fdf6a26fSmrg ;; 1523444c061aSmrg *:NonStop-UX:*:*) 1524fdf6a26fSmrg GUESS=mips-compaq-nonstopux 1525fdf6a26fSmrg ;; 1526444c061aSmrg BS2000:POSIX*:*:*) 1527fdf6a26fSmrg GUESS=bs2000-siemens-sysv 1528fdf6a26fSmrg ;; 1529444c061aSmrg DS/*:UNIX_System_V:*:*) 1530fdf6a26fSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 1531fdf6a26fSmrg ;; 1532444c061aSmrg *:Plan9:*:*) 1533444c061aSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1534444c061aSmrg # is converted to i386 for consistency with other x86 1535444c061aSmrg # operating systems. 1536fdf6a26fSmrg if test "${cputype-}" = 386; then 1537444c061aSmrg UNAME_MACHINE=i386 1538fdf6a26fSmrg elif test "x${cputype-}" != x; then 1539fdf6a26fSmrg UNAME_MACHINE=$cputype 1540444c061aSmrg fi 1541fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-plan9 1542fdf6a26fSmrg ;; 1543444c061aSmrg *:TOPS-10:*:*) 1544fdf6a26fSmrg GUESS=pdp10-unknown-tops10 1545fdf6a26fSmrg ;; 1546444c061aSmrg *:TENEX:*:*) 1547fdf6a26fSmrg GUESS=pdp10-unknown-tenex 1548fdf6a26fSmrg ;; 1549444c061aSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1550fdf6a26fSmrg GUESS=pdp10-dec-tops20 1551fdf6a26fSmrg ;; 1552444c061aSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1553fdf6a26fSmrg GUESS=pdp10-xkl-tops20 1554fdf6a26fSmrg ;; 1555444c061aSmrg *:TOPS-20:*:*) 1556fdf6a26fSmrg GUESS=pdp10-unknown-tops20 1557fdf6a26fSmrg ;; 1558444c061aSmrg *:ITS:*:*) 1559fdf6a26fSmrg GUESS=pdp10-unknown-its 1560fdf6a26fSmrg ;; 1561444c061aSmrg SEI:*:*:SEIUX) 1562fdf6a26fSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 1563fdf6a26fSmrg ;; 1564444c061aSmrg *:DragonFly:*:*) 1565fdf6a26fSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 1566fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 1567fdf6a26fSmrg ;; 1568444c061aSmrg *:*VMS:*:*) 15699e7bcd65Smrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 1570fdf6a26fSmrg case $UNAME_MACHINE in 1571fdf6a26fSmrg A*) GUESS=alpha-dec-vms ;; 1572fdf6a26fSmrg I*) GUESS=ia64-dec-vms ;; 1573fdf6a26fSmrg V*) GUESS=vax-dec-vms ;; 1574444c061aSmrg esac ;; 1575444c061aSmrg *:XENIX:*:SysV) 1576fdf6a26fSmrg GUESS=i386-pc-xenix 1577fdf6a26fSmrg ;; 1578444c061aSmrg i*86:skyos:*:*) 1579fdf6a26fSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 1580fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 1581fdf6a26fSmrg ;; 1582444c061aSmrg i*86:rdos:*:*) 1583fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-rdos 1584fdf6a26fSmrg ;; 1585fdf6a26fSmrg i*86:Fiwix:*:*) 1586fdf6a26fSmrg GUESS=$UNAME_MACHINE-pc-fiwix 1587fdf6a26fSmrg ;; 1588fdf6a26fSmrg *:AROS:*:*) 1589fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-aros 1590fdf6a26fSmrg ;; 15919e7bcd65Smrg x86_64:VMkernel:*:*) 1592fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-esx 1593fdf6a26fSmrg ;; 15940568f49bSmrg amd64:Isilon\ OneFS:*:*) 1595fdf6a26fSmrg GUESS=x86_64-unknown-onefs 1596fdf6a26fSmrg ;; 1597a3bd7f05Smrg *:Unleashed:*:*) 1598fdf6a26fSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 1599fdf6a26fSmrg ;; 160035525df4Smrg *:Ironclad:*:*) 160135525df4Smrg GUESS=$UNAME_MACHINE-unknown-ironclad 160235525df4Smrg ;; 1603444c061aSmrgesac 1604444c061aSmrg 1605fdf6a26fSmrg# Do we have a guess based on uname results? 1606fdf6a26fSmrgif test "x$GUESS" != x; then 1607fdf6a26fSmrg echo "$GUESS" 1608fdf6a26fSmrg exit 1609fdf6a26fSmrgfi 1610fdf6a26fSmrg 1611a3bd7f05Smrg# No uname command or uname output not recognized. 1612a3bd7f05Smrgset_cc_for_build 1613a3bd7f05Smrgcat > "$dummy.c" <<EOF 1614a3bd7f05Smrg#ifdef _SEQUENT_ 1615a3bd7f05Smrg#include <sys/types.h> 1616a3bd7f05Smrg#include <sys/utsname.h> 1617a3bd7f05Smrg#endif 1618a3bd7f05Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1619a3bd7f05Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1620a3bd7f05Smrg#include <signal.h> 1621a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1622a3bd7f05Smrg#include <sys/utsname.h> 1623a3bd7f05Smrg#endif 1624a3bd7f05Smrg#endif 1625a3bd7f05Smrg#endif 162635525df4Smrgint 1627a3bd7f05Smrgmain () 1628a3bd7f05Smrg{ 1629a3bd7f05Smrg#if defined (sony) 1630a3bd7f05Smrg#if defined (MIPSEB) 1631a3bd7f05Smrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 1632a3bd7f05Smrg I don't know.... */ 1633a3bd7f05Smrg printf ("mips-sony-bsd\n"); exit (0); 1634a3bd7f05Smrg#else 1635a3bd7f05Smrg#include <sys/param.h> 1636a3bd7f05Smrg printf ("m68k-sony-newsos%s\n", 1637a3bd7f05Smrg#ifdef NEWSOS4 1638a3bd7f05Smrg "4" 1639a3bd7f05Smrg#else 1640a3bd7f05Smrg "" 1641a3bd7f05Smrg#endif 1642a3bd7f05Smrg ); exit (0); 1643a3bd7f05Smrg#endif 1644a3bd7f05Smrg#endif 1645a3bd7f05Smrg 1646a3bd7f05Smrg#if defined (NeXT) 1647a3bd7f05Smrg#if !defined (__ARCHITECTURE__) 1648a3bd7f05Smrg#define __ARCHITECTURE__ "m68k" 1649a3bd7f05Smrg#endif 1650a3bd7f05Smrg int version; 1651a3bd7f05Smrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 1652a3bd7f05Smrg if (version < 4) 1653a3bd7f05Smrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 1654a3bd7f05Smrg else 1655a3bd7f05Smrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 1656a3bd7f05Smrg exit (0); 1657a3bd7f05Smrg#endif 1658a3bd7f05Smrg 1659a3bd7f05Smrg#if defined (MULTIMAX) || defined (n16) 1660a3bd7f05Smrg#if defined (UMAXV) 1661a3bd7f05Smrg printf ("ns32k-encore-sysv\n"); exit (0); 1662a3bd7f05Smrg#else 1663a3bd7f05Smrg#if defined (CMU) 1664a3bd7f05Smrg printf ("ns32k-encore-mach\n"); exit (0); 1665a3bd7f05Smrg#else 1666a3bd7f05Smrg printf ("ns32k-encore-bsd\n"); exit (0); 1667a3bd7f05Smrg#endif 1668a3bd7f05Smrg#endif 1669a3bd7f05Smrg#endif 1670a3bd7f05Smrg 1671a3bd7f05Smrg#if defined (__386BSD__) 1672a3bd7f05Smrg printf ("i386-pc-bsd\n"); exit (0); 1673a3bd7f05Smrg#endif 1674a3bd7f05Smrg 1675a3bd7f05Smrg#if defined (sequent) 1676a3bd7f05Smrg#if defined (i386) 1677a3bd7f05Smrg printf ("i386-sequent-dynix\n"); exit (0); 1678a3bd7f05Smrg#endif 1679a3bd7f05Smrg#if defined (ns32000) 1680a3bd7f05Smrg printf ("ns32k-sequent-dynix\n"); exit (0); 1681a3bd7f05Smrg#endif 1682a3bd7f05Smrg#endif 1683a3bd7f05Smrg 1684a3bd7f05Smrg#if defined (_SEQUENT_) 1685a3bd7f05Smrg struct utsname un; 1686a3bd7f05Smrg 1687a3bd7f05Smrg uname(&un); 1688a3bd7f05Smrg if (strncmp(un.version, "V2", 2) == 0) { 1689a3bd7f05Smrg printf ("i386-sequent-ptx2\n"); exit (0); 1690a3bd7f05Smrg } 1691a3bd7f05Smrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 1692a3bd7f05Smrg printf ("i386-sequent-ptx1\n"); exit (0); 1693a3bd7f05Smrg } 1694a3bd7f05Smrg printf ("i386-sequent-ptx\n"); exit (0); 1695a3bd7f05Smrg#endif 1696a3bd7f05Smrg 1697a3bd7f05Smrg#if defined (vax) 1698a3bd7f05Smrg#if !defined (ultrix) 1699a3bd7f05Smrg#include <sys/param.h> 1700a3bd7f05Smrg#if defined (BSD) 1701a3bd7f05Smrg#if BSD == 43 1702a3bd7f05Smrg printf ("vax-dec-bsd4.3\n"); exit (0); 1703a3bd7f05Smrg#else 1704a3bd7f05Smrg#if BSD == 199006 1705a3bd7f05Smrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 1706a3bd7f05Smrg#else 1707a3bd7f05Smrg printf ("vax-dec-bsd\n"); exit (0); 1708a3bd7f05Smrg#endif 1709a3bd7f05Smrg#endif 1710a3bd7f05Smrg#else 1711a3bd7f05Smrg printf ("vax-dec-bsd\n"); exit (0); 1712a3bd7f05Smrg#endif 1713a3bd7f05Smrg#else 1714a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1715a3bd7f05Smrg struct utsname un; 1716a3bd7f05Smrg uname (&un); 1717a3bd7f05Smrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 1718a3bd7f05Smrg#else 1719a3bd7f05Smrg printf ("vax-dec-ultrix\n"); exit (0); 1720a3bd7f05Smrg#endif 1721a3bd7f05Smrg#endif 1722a3bd7f05Smrg#endif 1723a3bd7f05Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 1724a3bd7f05Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 1725a3bd7f05Smrg#if defined(_SIZE_T_) || defined(SIGLOST) 1726a3bd7f05Smrg struct utsname *un; 1727a3bd7f05Smrg uname (&un); 1728a3bd7f05Smrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 1729a3bd7f05Smrg#else 1730a3bd7f05Smrg printf ("mips-dec-ultrix\n"); exit (0); 1731a3bd7f05Smrg#endif 1732a3bd7f05Smrg#endif 1733a3bd7f05Smrg#endif 1734a3bd7f05Smrg 1735a3bd7f05Smrg#if defined (alliant) && defined (i860) 1736a3bd7f05Smrg printf ("i860-alliant-bsd\n"); exit (0); 1737a3bd7f05Smrg#endif 1738a3bd7f05Smrg 1739a3bd7f05Smrg exit (1); 1740a3bd7f05Smrg} 1741a3bd7f05SmrgEOF 1742a3bd7f05Smrg 1743fdf6a26fSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 1744a3bd7f05Smrg { echo "$SYSTEM_NAME"; exit; } 1745a3bd7f05Smrg 1746a3bd7f05Smrg# Apollos put the system type in the environment. 1747a3bd7f05Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 1748a3bd7f05Smrg 17490568f49bSmrgecho "$0: unable to guess system type" >&2 17500568f49bSmrg 1751fdf6a26fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 17520568f49bSmrg mips:Linux | mips64:Linux) 17530568f49bSmrg # If we got here on MIPS GNU/Linux, output extra information. 17540568f49bSmrg cat >&2 <<EOF 17550568f49bSmrg 17560568f49bSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 17570568f49bSmrgthe system type. Please install a C compiler and try again. 17580568f49bSmrgEOF 17590568f49bSmrg ;; 17600568f49bSmrgesac 17610568f49bSmrg 1762444c061aSmrgcat >&2 <<EOF 1763444c061aSmrg 17640568f49bSmrgThis script (version $timestamp), has failed to recognize the 17650568f49bSmrgoperating system you are using. If your script is old, overwrite *all* 17660568f49bSmrgcopies of config.guess and config.sub with the latest versions from: 1767444c061aSmrg 1768fdf6a26fSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1769444c061aSmrgand 1770fdf6a26fSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 1771a3bd7f05SmrgEOF 1772a3bd7f05Smrg 1773fdf6a26fSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 1774fdf6a26fSmrgthisyear=`date +%Y` 1775a3bd7f05Smrg# shellcheck disable=SC2003 1776fdf6a26fSmrgscript_age=`expr "$thisyear" - "$our_year"` 1777fdf6a26fSmrgif test "$script_age" -lt 3 ; then 1778a3bd7f05Smrg cat >&2 <<EOF 1779444c061aSmrg 17800568f49bSmrgIf $0 has already been updated, send the following data and any 17810568f49bSmrginformation you think might be pertinent to config-patches@gnu.org to 17820568f49bSmrgprovide the necessary information to handle your system. 1783444c061aSmrg 1784444c061aSmrgconfig.guess timestamp = $timestamp 1785444c061aSmrg 1786444c061aSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1787444c061aSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1788444c061aSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1789444c061aSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1790444c061aSmrg 1791444c061aSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1792444c061aSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1793444c061aSmrg 1794444c061aSmrghostinfo = `(hostinfo) 2>/dev/null` 1795444c061aSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1796444c061aSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1797444c061aSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1798444c061aSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1799444c061aSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1800444c061aSmrg 18010568f49bSmrgUNAME_MACHINE = "$UNAME_MACHINE" 18020568f49bSmrgUNAME_RELEASE = "$UNAME_RELEASE" 18030568f49bSmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 18040568f49bSmrgUNAME_VERSION = "$UNAME_VERSION" 1805444c061aSmrgEOF 1806a3bd7f05Smrgfi 1807444c061aSmrg 1808444c061aSmrgexit 1 1809444c061aSmrg 1810444c061aSmrg# Local variables: 1811a3bd7f05Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 1812444c061aSmrg# time-stamp-start: "timestamp='" 1813444c061aSmrg# time-stamp-format: "%:y-%02m-%02d" 1814444c061aSmrg# time-stamp-end: "'" 1815444c061aSmrg# End: 1816