1fc89c0fbSmrg#! /bin/sh 2fc89c0fbSmrg# Attempt to guess a canonical system name. 3c8df0c59Smrg# Copyright 1992-2024 Free Software Foundation, Inc. 4fc89c0fbSmrg 549bee38cSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale 649bee38cSmrg 7c8df0c59Smrgtimestamp='2024-01-01' 8fc89c0fbSmrg 9fc89c0fbSmrg# This file is free software; you can redistribute it and/or modify it 10fc89c0fbSmrg# under the terms of the GNU General Public License as published by 11c8df0c59Smrg# the Free Software Foundation, either version 3 of the License, or 12fc89c0fbSmrg# (at your option) any later version. 13fc89c0fbSmrg# 14fc89c0fbSmrg# This program is distributed in the hope that it will be useful, but 15fc89c0fbSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16fc89c0fbSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17fc89c0fbSmrg# General Public License for more details. 18fc89c0fbSmrg# 19fc89c0fbSmrg# You should have received a copy of the GNU General Public License 2081676fe2Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 21fc89c0fbSmrg# 22fc89c0fbSmrg# As a special exception to the GNU General Public License, if you 23fc89c0fbSmrg# distribute this file as part of a program that contains a 24fc89c0fbSmrg# configuration script generated by Autoconf, you may include it under 25576bbdfcSmrg# the same distribution terms that you use for the rest of that 26576bbdfcSmrg# program. This Exception is an additional permission under section 7 27576bbdfcSmrg# of the GNU General Public License, version 3 ("GPLv3"). 28fc89c0fbSmrg# 2981676fe2Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. 30fc89c0fbSmrg# 31a0996ce0Smrg# You can get the latest version of this script from: 3249bee38cSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 33576bbdfcSmrg# 3481676fe2Smrg# Please send patches to <config-patches@gnu.org>. 35576bbdfcSmrg 36fc89c0fbSmrg 3749bee38cSmrg# The "shellcheck disable" line above the timestamp inhibits complaints 3849bee38cSmrg# about features and limitations of the classic Bourne shell that were 3949bee38cSmrg# superseded or lifted in POSIX. However, this script identifies a wide 4049bee38cSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and 4149bee38cSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still 4249bee38cSmrg# have a pre-POSIX /bin/sh. 4349bee38cSmrg 4449bee38cSmrg 45fc89c0fbSmrgme=`echo "$0" | sed -e 's,.*/,,'` 46fc89c0fbSmrg 47fc89c0fbSmrgusage="\ 48fc89c0fbSmrgUsage: $0 [OPTION] 49fc89c0fbSmrg 50c8df0c59SmrgOutput the configuration name of the system '$me' is run on. 51fc89c0fbSmrg 5281676fe2SmrgOptions: 53fc89c0fbSmrg -h, --help print this help, then exit 54fc89c0fbSmrg -t, --time-stamp print date of last modification, then exit 55fc89c0fbSmrg -v, --version print version number, then exit 56fc89c0fbSmrg 57fc89c0fbSmrgReport bugs and patches to <config-patches@gnu.org>." 58fc89c0fbSmrg 59fc89c0fbSmrgversion="\ 60fc89c0fbSmrgGNU config.guess ($timestamp) 61fc89c0fbSmrg 62fc89c0fbSmrgOriginally written by Per Bothner. 63c8df0c59SmrgCopyright 1992-2024 Free Software Foundation, Inc. 64fc89c0fbSmrg 65fc89c0fbSmrgThis is free software; see the source for copying conditions. There is NO 66fc89c0fbSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 67fc89c0fbSmrg 68fc89c0fbSmrghelp=" 69c8df0c59SmrgTry '$me --help' for more information." 70fc89c0fbSmrg 71fc89c0fbSmrg# Parse command line 72fc89c0fbSmrgwhile test $# -gt 0 ; do 73fc89c0fbSmrg case $1 in 74fc89c0fbSmrg --time-stamp | --time* | -t ) 75fc89c0fbSmrg echo "$timestamp" ; exit ;; 76fc89c0fbSmrg --version | -v ) 77fc89c0fbSmrg echo "$version" ; exit ;; 78fc89c0fbSmrg --help | --h* | -h ) 79fc89c0fbSmrg echo "$usage"; exit ;; 80fc89c0fbSmrg -- ) # Stop option processing 81fc89c0fbSmrg shift; break ;; 82fc89c0fbSmrg - ) # Use stdin as input. 83fc89c0fbSmrg break ;; 84fc89c0fbSmrg -* ) 85fc89c0fbSmrg echo "$me: invalid option $1$help" >&2 86fc89c0fbSmrg exit 1 ;; 87fc89c0fbSmrg * ) 88fc89c0fbSmrg break ;; 89fc89c0fbSmrg esac 90fc89c0fbSmrgdone 91fc89c0fbSmrg 92fc89c0fbSmrgif test $# != 0; then 93fc89c0fbSmrg echo "$me: too many arguments$help" >&2 94fc89c0fbSmrg exit 1 95fc89c0fbSmrgfi 96fc89c0fbSmrg 9749bee38cSmrg# Just in case it came from the environment. 9849bee38cSmrgGUESS= 99fc89c0fbSmrg 100fc89c0fbSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a 101fc89c0fbSmrg# compiler to aid in system detection is discouraged as it requires 102fc89c0fbSmrg# temporary files to be created and, as you can see below, it is a 103fc89c0fbSmrg# headache to deal with in a portable fashion. 104fc89c0fbSmrg 105c8df0c59Smrg# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still 106c8df0c59Smrg# use 'HOST_CC' if defined, but it is deprecated. 107fc89c0fbSmrg 108fc89c0fbSmrg# Portable tmp directory creation inspired by the Autoconf team. 109fc89c0fbSmrg 11049bee38cSmrgtmp= 11149bee38cSmrg# shellcheck disable=SC2172 11249bee38cSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 11349bee38cSmrg 11449bee38cSmrgset_cc_for_build() { 11549bee38cSmrg # prevent multiple calls if $tmp is already set 11649bee38cSmrg test "$tmp" && return 0 11749bee38cSmrg : "${TMPDIR=/tmp}" 11849bee38cSmrg # shellcheck disable=SC2039,SC3028 11949bee38cSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || 12049bee38cSmrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || 12149bee38cSmrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || 12249bee38cSmrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } 12349bee38cSmrg dummy=$tmp/dummy 12449bee38cSmrg case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in 12549bee38cSmrg ,,) echo "int x;" > "$dummy.c" 12649bee38cSmrg for driver in cc gcc c89 c99 ; do 12749bee38cSmrg if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then 12849bee38cSmrg CC_FOR_BUILD=$driver 12949bee38cSmrg break 13049bee38cSmrg fi 13149bee38cSmrg done 13249bee38cSmrg if test x"$CC_FOR_BUILD" = x ; then 13349bee38cSmrg CC_FOR_BUILD=no_compiler_found 13449bee38cSmrg fi 13549bee38cSmrg ;; 13649bee38cSmrg ,,*) CC_FOR_BUILD=$CC ;; 13749bee38cSmrg ,*,*) CC_FOR_BUILD=$HOST_CC ;; 13849bee38cSmrg esac 13949bee38cSmrg} 140fc89c0fbSmrg 141fc89c0fbSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe. 142fc89c0fbSmrg# (ghazi@noc.rutgers.edu 1994-08-24) 14349bee38cSmrgif test -f /.attbin/uname ; then 144fc89c0fbSmrg PATH=$PATH:/.attbin ; export PATH 145fc89c0fbSmrgfi 146fc89c0fbSmrg 147fc89c0fbSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown 148fc89c0fbSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown 14949bee38cSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 150fc89c0fbSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 151fc89c0fbSmrg 15249bee38cSmrgcase $UNAME_SYSTEM in 153576bbdfcSmrgLinux|GNU|GNU/*) 15449bee38cSmrg LIBC=unknown 155576bbdfcSmrg 15649bee38cSmrg set_cc_for_build 15781676fe2Smrg cat <<-EOF > "$dummy.c" 158c8df0c59Smrg #if defined(__ANDROID__) 159c8df0c59Smrg LIBC=android 160c8df0c59Smrg #else 161576bbdfcSmrg #include <features.h> 162576bbdfcSmrg #if defined(__UCLIBC__) 163576bbdfcSmrg LIBC=uclibc 164576bbdfcSmrg #elif defined(__dietlibc__) 165576bbdfcSmrg LIBC=dietlibc 16649bee38cSmrg #elif defined(__GLIBC__) 167576bbdfcSmrg LIBC=gnu 168c8df0c59Smrg #elif defined(__LLVM_LIBC__) 169c8df0c59Smrg LIBC=llvm 17049bee38cSmrg #else 17149bee38cSmrg #include <stdarg.h> 17249bee38cSmrg /* First heuristic to detect musl libc. */ 17349bee38cSmrg #ifdef __DEFINED_va_list 17449bee38cSmrg LIBC=musl 17549bee38cSmrg #endif 176576bbdfcSmrg #endif 177c8df0c59Smrg #endif 178576bbdfcSmrg EOF 17949bee38cSmrg cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` 18049bee38cSmrg eval "$cc_set_libc" 18181676fe2Smrg 18249bee38cSmrg # Second heuristic to detect musl libc. 18349bee38cSmrg if [ "$LIBC" = unknown ] && 18449bee38cSmrg command -v ldd >/dev/null && 18549bee38cSmrg ldd --version 2>&1 | grep -q ^musl; then 18649bee38cSmrg LIBC=musl 18749bee38cSmrg fi 18849bee38cSmrg 18949bee38cSmrg # If the system lacks a compiler, then just pick glibc. 19049bee38cSmrg # We could probably try harder. 19149bee38cSmrg if [ "$LIBC" = unknown ]; then 19249bee38cSmrg LIBC=gnu 19381676fe2Smrg fi 194576bbdfcSmrg ;; 195576bbdfcSmrgesac 196576bbdfcSmrg 197fc89c0fbSmrg# Note: order is significant - the case branches are not exclusive. 198fc89c0fbSmrg 19949bee38cSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in 200fc89c0fbSmrg *:NetBSD:*:*) 201fc89c0fbSmrg # NetBSD (nbsd) targets should (where applicable) match one or 202576bbdfcSmrg # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, 203fc89c0fbSmrg # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently 204fc89c0fbSmrg # switched to ELF, *-*-netbsd* would select the old 205fc89c0fbSmrg # object file format. This provides both forward 206fc89c0fbSmrg # compatibility and a consistent mechanism for selecting the 207fc89c0fbSmrg # object file format. 208fc89c0fbSmrg # 209fc89c0fbSmrg # Note: NetBSD doesn't particularly care about the vendor 210fc89c0fbSmrg # portion of the name. We always set it to "unknown". 21181676fe2Smrg UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ 21249bee38cSmrg /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 21349bee38cSmrg /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ 21481676fe2Smrg echo unknown)` 21549bee38cSmrg case $UNAME_MACHINE_ARCH in 21649bee38cSmrg aarch64eb) machine=aarch64_be-unknown ;; 217fc89c0fbSmrg armeb) machine=armeb-unknown ;; 218fc89c0fbSmrg arm*) machine=arm-unknown ;; 219fc89c0fbSmrg sh3el) machine=shl-unknown ;; 220fc89c0fbSmrg sh3eb) machine=sh-unknown ;; 22191ec45ceSmrg sh5el) machine=sh5le-unknown ;; 22281676fe2Smrg earmv*) 22381676fe2Smrg arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` 22481676fe2Smrg endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` 22549bee38cSmrg machine=${arch}${endian}-unknown 22681676fe2Smrg ;; 22749bee38cSmrg *) machine=$UNAME_MACHINE_ARCH-unknown ;; 228fc89c0fbSmrg esac 229fc89c0fbSmrg # The Operating System including object format, if it has switched 23081676fe2Smrg # to ELF recently (or will in the future) and ABI. 23149bee38cSmrg case $UNAME_MACHINE_ARCH in 23281676fe2Smrg earm*) 23381676fe2Smrg os=netbsdelf 23481676fe2Smrg ;; 235fc89c0fbSmrg arm*|i386|m68k|ns32k|sh3*|sparc|vax) 23649bee38cSmrg set_cc_for_build 237fc89c0fbSmrg if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 238a0996ce0Smrg | grep -q __ELF__ 239fc89c0fbSmrg then 240fc89c0fbSmrg # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). 241fc89c0fbSmrg # Return netbsd for either. FIX? 242fc89c0fbSmrg os=netbsd 243fc89c0fbSmrg else 244fc89c0fbSmrg os=netbsdelf 245fc89c0fbSmrg fi 246fc89c0fbSmrg ;; 247fc89c0fbSmrg *) 248576bbdfcSmrg os=netbsd 249fc89c0fbSmrg ;; 250fc89c0fbSmrg esac 25181676fe2Smrg # Determine ABI tags. 25249bee38cSmrg case $UNAME_MACHINE_ARCH in 25381676fe2Smrg earm*) 25481676fe2Smrg expr='s/^earmv[0-9]/-eabi/;s/eb$//' 25581676fe2Smrg abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` 25681676fe2Smrg ;; 25781676fe2Smrg esac 258fc89c0fbSmrg # The OS release 259fc89c0fbSmrg # Debian GNU/NetBSD machines have a different userland, and 260fc89c0fbSmrg # thus, need a distinct triplet. However, they do not need 261fc89c0fbSmrg # kernel version information, so it can be replaced with a 262fc89c0fbSmrg # suitable tag, in the style of linux-gnu. 26349bee38cSmrg case $UNAME_VERSION in 264fc89c0fbSmrg Debian*) 265fc89c0fbSmrg release='-gnu' 266fc89c0fbSmrg ;; 267fc89c0fbSmrg *) 26881676fe2Smrg release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` 269fc89c0fbSmrg ;; 270fc89c0fbSmrg esac 271fc89c0fbSmrg # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: 272fc89c0fbSmrg # contains redundant information, the shorter form: 273fc89c0fbSmrg # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 27449bee38cSmrg GUESS=$machine-${os}${release}${abi-} 27549bee38cSmrg ;; 276576bbdfcSmrg *:Bitrig:*:*) 277576bbdfcSmrg UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` 27849bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE 27949bee38cSmrg ;; 280fc89c0fbSmrg *:OpenBSD:*:*) 281fc89c0fbSmrg UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` 28249bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE 28349bee38cSmrg ;; 28449bee38cSmrg *:SecBSD:*:*) 28549bee38cSmrg UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` 28649bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE 28749bee38cSmrg ;; 28881676fe2Smrg *:LibertyBSD:*:*) 28981676fe2Smrg UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` 29049bee38cSmrg GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE 29149bee38cSmrg ;; 29281676fe2Smrg *:MidnightBSD:*:*) 29349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE 29449bee38cSmrg ;; 295fc89c0fbSmrg *:ekkoBSD:*:*) 29649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE 29749bee38cSmrg ;; 298fc89c0fbSmrg *:SolidBSD:*:*) 29949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE 30049bee38cSmrg ;; 30149bee38cSmrg *:OS108:*:*) 30249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE 30349bee38cSmrg ;; 304fc89c0fbSmrg macppc:MirBSD:*:*) 30549bee38cSmrg GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE 30649bee38cSmrg ;; 307fc89c0fbSmrg *:MirBSD:*:*) 30849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE 30949bee38cSmrg ;; 31081676fe2Smrg *:Sortix:*:*) 31149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-sortix 31249bee38cSmrg ;; 31349bee38cSmrg *:Twizzler:*:*) 31449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-twizzler 31549bee38cSmrg ;; 31681676fe2Smrg *:Redox:*:*) 31749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-redox 31849bee38cSmrg ;; 31981676fe2Smrg mips:OSF1:*.*) 32049bee38cSmrg GUESS=mips-dec-osf1 32149bee38cSmrg ;; 322fc89c0fbSmrg alpha:OSF1:*:*) 32349bee38cSmrg # Reset EXIT trap before exiting to avoid spurious non-zero exit code. 32449bee38cSmrg trap '' 0 325fc89c0fbSmrg case $UNAME_RELEASE in 326fc89c0fbSmrg *4.0) 327fc89c0fbSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` 328fc89c0fbSmrg ;; 329fc89c0fbSmrg *5.*) 330576bbdfcSmrg UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` 331fc89c0fbSmrg ;; 332fc89c0fbSmrg esac 333fc89c0fbSmrg # According to Compaq, /usr/sbin/psrinfo has been available on 334fc89c0fbSmrg # OSF/1 and Tru64 systems produced since 1995. I hope that 335fc89c0fbSmrg # covers most systems running today. This code pipes the CPU 336fc89c0fbSmrg # types through head -n 1, so we only detect the type of CPU 0. 337fc89c0fbSmrg ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` 33849bee38cSmrg case $ALPHA_CPU_TYPE in 339fc89c0fbSmrg "EV4 (21064)") 34081676fe2Smrg UNAME_MACHINE=alpha ;; 341fc89c0fbSmrg "EV4.5 (21064)") 34281676fe2Smrg UNAME_MACHINE=alpha ;; 343fc89c0fbSmrg "LCA4 (21066/21068)") 34481676fe2Smrg UNAME_MACHINE=alpha ;; 345fc89c0fbSmrg "EV5 (21164)") 34681676fe2Smrg UNAME_MACHINE=alphaev5 ;; 347fc89c0fbSmrg "EV5.6 (21164A)") 34881676fe2Smrg UNAME_MACHINE=alphaev56 ;; 349fc89c0fbSmrg "EV5.6 (21164PC)") 35081676fe2Smrg UNAME_MACHINE=alphapca56 ;; 351fc89c0fbSmrg "EV5.7 (21164PC)") 35281676fe2Smrg UNAME_MACHINE=alphapca57 ;; 353fc89c0fbSmrg "EV6 (21264)") 35481676fe2Smrg UNAME_MACHINE=alphaev6 ;; 355fc89c0fbSmrg "EV6.7 (21264A)") 35681676fe2Smrg UNAME_MACHINE=alphaev67 ;; 357fc89c0fbSmrg "EV6.8CB (21264C)") 35881676fe2Smrg UNAME_MACHINE=alphaev68 ;; 359fc89c0fbSmrg "EV6.8AL (21264B)") 36081676fe2Smrg UNAME_MACHINE=alphaev68 ;; 361fc89c0fbSmrg "EV6.8CX (21264D)") 36281676fe2Smrg UNAME_MACHINE=alphaev68 ;; 363fc89c0fbSmrg "EV6.9A (21264/EV69A)") 36481676fe2Smrg UNAME_MACHINE=alphaev69 ;; 365fc89c0fbSmrg "EV7 (21364)") 36681676fe2Smrg UNAME_MACHINE=alphaev7 ;; 367fc89c0fbSmrg "EV7.9 (21364A)") 36881676fe2Smrg UNAME_MACHINE=alphaev79 ;; 369fc89c0fbSmrg esac 370fc89c0fbSmrg # A Pn.n version is a patched version. 371fc89c0fbSmrg # A Vn.n version is a released version. 372fc89c0fbSmrg # A Tn.n version is a released field test version. 373fc89c0fbSmrg # A Xn.n version is an unreleased experimental baselevel. 374fc89c0fbSmrg # 1.2 uses "1.2" for uname -r. 37549bee38cSmrg OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 37649bee38cSmrg GUESS=$UNAME_MACHINE-dec-osf$OSF_REL 37749bee38cSmrg ;; 378fc89c0fbSmrg Amiga*:UNIX_System_V:4.0:*) 37949bee38cSmrg GUESS=m68k-unknown-sysv4 38049bee38cSmrg ;; 381fc89c0fbSmrg *:[Aa]miga[Oo][Ss]:*:*) 38249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-amigaos 38349bee38cSmrg ;; 384fc89c0fbSmrg *:[Mm]orph[Oo][Ss]:*:*) 38549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-morphos 38649bee38cSmrg ;; 387fc89c0fbSmrg *:OS/390:*:*) 38849bee38cSmrg GUESS=i370-ibm-openedition 38949bee38cSmrg ;; 390fc89c0fbSmrg *:z/VM:*:*) 39149bee38cSmrg GUESS=s390-ibm-zvmoe 39249bee38cSmrg ;; 393fc89c0fbSmrg *:OS400:*:*) 39449bee38cSmrg GUESS=powerpc-ibm-os400 39549bee38cSmrg ;; 396fc89c0fbSmrg arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 39749bee38cSmrg GUESS=arm-acorn-riscix$UNAME_RELEASE 39849bee38cSmrg ;; 399576bbdfcSmrg arm*:riscos:*:*|arm*:RISCOS:*:*) 40049bee38cSmrg GUESS=arm-unknown-riscos 40149bee38cSmrg ;; 402fc89c0fbSmrg SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 40349bee38cSmrg GUESS=hppa1.1-hitachi-hiuxmpp 40449bee38cSmrg ;; 405fc89c0fbSmrg Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 406fc89c0fbSmrg # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. 40749bee38cSmrg case `(/bin/universe) 2>/dev/null` in 40849bee38cSmrg att) GUESS=pyramid-pyramid-sysv3 ;; 40949bee38cSmrg *) GUESS=pyramid-pyramid-bsd ;; 41049bee38cSmrg esac 41149bee38cSmrg ;; 412fc89c0fbSmrg NILE*:*:*:dcosx) 41349bee38cSmrg GUESS=pyramid-pyramid-svr4 41449bee38cSmrg ;; 415fc89c0fbSmrg DRS?6000:unix:4.0:6*) 41649bee38cSmrg GUESS=sparc-icl-nx6 41749bee38cSmrg ;; 418fc89c0fbSmrg DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 419fc89c0fbSmrg case `/usr/bin/uname -p` in 42049bee38cSmrg sparc) GUESS=sparc-icl-nx7 ;; 42149bee38cSmrg esac 42249bee38cSmrg ;; 42391ec45ceSmrg s390x:SunOS:*:*) 42449bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42549bee38cSmrg GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL 42649bee38cSmrg ;; 427fc89c0fbSmrg sun4H:SunOS:5.*:*) 42849bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 42949bee38cSmrg GUESS=sparc-hal-solaris2$SUN_REL 43049bee38cSmrg ;; 431fc89c0fbSmrg sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 43249bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 43349bee38cSmrg GUESS=sparc-sun-solaris2$SUN_REL 43449bee38cSmrg ;; 435a0996ce0Smrg i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) 43649bee38cSmrg GUESS=i386-pc-auroraux$UNAME_RELEASE 43749bee38cSmrg ;; 43891ec45ceSmrg i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) 43949bee38cSmrg set_cc_for_build 44081676fe2Smrg SUN_ARCH=i386 44191ec45ceSmrg # If there is a compiler, see if it is configured for 64-bit objects. 44291ec45ceSmrg # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. 44391ec45ceSmrg # This test works for both compilers. 44449bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 44591ec45ceSmrg if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ 446c8df0c59Smrg (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ 44791ec45ceSmrg grep IS_64BIT_ARCH >/dev/null 44891ec45ceSmrg then 44981676fe2Smrg SUN_ARCH=x86_64 45091ec45ceSmrg fi 45191ec45ceSmrg fi 45249bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 45349bee38cSmrg GUESS=$SUN_ARCH-pc-solaris2$SUN_REL 45449bee38cSmrg ;; 455fc89c0fbSmrg sun4*:SunOS:6*:*) 456fc89c0fbSmrg # According to config.sub, this is the proper way to canonicalize 457fc89c0fbSmrg # SunOS6. Hard to guess exactly what SunOS6 will be like, but 458fc89c0fbSmrg # it's likely to be more like Solaris than SunOS4. 45949bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 46049bee38cSmrg GUESS=sparc-sun-solaris3$SUN_REL 46149bee38cSmrg ;; 462fc89c0fbSmrg sun4*:SunOS:*:*) 46349bee38cSmrg case `/usr/bin/arch -k` in 464fc89c0fbSmrg Series*|S4*) 465fc89c0fbSmrg UNAME_RELEASE=`uname -v` 466fc89c0fbSmrg ;; 467fc89c0fbSmrg esac 468c8df0c59Smrg # Japanese Language versions have a version number like '4.1.3-JL'. 46949bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` 47049bee38cSmrg GUESS=sparc-sun-sunos$SUN_REL 47149bee38cSmrg ;; 472fc89c0fbSmrg sun3*:SunOS:*:*) 47349bee38cSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 47449bee38cSmrg ;; 475fc89c0fbSmrg sun*:*:4.2BSD:*) 476fc89c0fbSmrg UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` 47781676fe2Smrg test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 47849bee38cSmrg case `/bin/arch` in 479fc89c0fbSmrg sun3) 48049bee38cSmrg GUESS=m68k-sun-sunos$UNAME_RELEASE 481fc89c0fbSmrg ;; 482fc89c0fbSmrg sun4) 48349bee38cSmrg GUESS=sparc-sun-sunos$UNAME_RELEASE 484fc89c0fbSmrg ;; 485fc89c0fbSmrg esac 48649bee38cSmrg ;; 487fc89c0fbSmrg aushp:SunOS:*:*) 48849bee38cSmrg GUESS=sparc-auspex-sunos$UNAME_RELEASE 48949bee38cSmrg ;; 490fc89c0fbSmrg # The situation for MiNT is a little confusing. The machine name 491fc89c0fbSmrg # can be virtually everything (everything which is not 492fc89c0fbSmrg # "atarist" or "atariste" at least should have a processor 493fc89c0fbSmrg # > m68000). The system name ranges from "MiNT" over "FreeMiNT" 494fc89c0fbSmrg # to the lowercase version "mint" (or "freemint"). Finally 495fc89c0fbSmrg # the system name "TOS" denotes a system which is actually not 496fc89c0fbSmrg # MiNT. But MiNT is downward compatible to TOS, so this should 497fc89c0fbSmrg # be no problem. 498fc89c0fbSmrg atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 49949bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 50049bee38cSmrg ;; 501fc89c0fbSmrg atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 50249bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 50349bee38cSmrg ;; 504fc89c0fbSmrg *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 50549bee38cSmrg GUESS=m68k-atari-mint$UNAME_RELEASE 50649bee38cSmrg ;; 507fc89c0fbSmrg milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 50849bee38cSmrg GUESS=m68k-milan-mint$UNAME_RELEASE 50949bee38cSmrg ;; 510fc89c0fbSmrg hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 51149bee38cSmrg GUESS=m68k-hades-mint$UNAME_RELEASE 51249bee38cSmrg ;; 513fc89c0fbSmrg *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 51449bee38cSmrg GUESS=m68k-unknown-mint$UNAME_RELEASE 51549bee38cSmrg ;; 516fc89c0fbSmrg m68k:machten:*:*) 51749bee38cSmrg GUESS=m68k-apple-machten$UNAME_RELEASE 51849bee38cSmrg ;; 519fc89c0fbSmrg powerpc:machten:*:*) 52049bee38cSmrg GUESS=powerpc-apple-machten$UNAME_RELEASE 52149bee38cSmrg ;; 522fc89c0fbSmrg RISC*:Mach:*:*) 52349bee38cSmrg GUESS=mips-dec-mach_bsd4.3 52449bee38cSmrg ;; 525fc89c0fbSmrg RISC*:ULTRIX:*:*) 52649bee38cSmrg GUESS=mips-dec-ultrix$UNAME_RELEASE 52749bee38cSmrg ;; 528fc89c0fbSmrg VAX*:ULTRIX*:*:*) 52949bee38cSmrg GUESS=vax-dec-ultrix$UNAME_RELEASE 53049bee38cSmrg ;; 531fc89c0fbSmrg 2020:CLIX:*:* | 2430:CLIX:*:*) 53249bee38cSmrg GUESS=clipper-intergraph-clix$UNAME_RELEASE 53349bee38cSmrg ;; 534fc89c0fbSmrg mips:*:*:UMIPS | mips:*:*:RISCos) 53549bee38cSmrg set_cc_for_build 53681676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 537fc89c0fbSmrg#ifdef __cplusplus 538fc89c0fbSmrg#include <stdio.h> /* for printf() prototype */ 539fc89c0fbSmrg int main (int argc, char *argv[]) { 540fc89c0fbSmrg#else 541fc89c0fbSmrg int main (argc, argv) int argc; char *argv[]; { 542fc89c0fbSmrg#endif 543fc89c0fbSmrg #if defined (host_mips) && defined (MIPSEB) 544fc89c0fbSmrg #if defined (SYSTYPE_SYSV) 54581676fe2Smrg printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); 546fc89c0fbSmrg #endif 547fc89c0fbSmrg #if defined (SYSTYPE_SVR4) 54881676fe2Smrg printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); 549fc89c0fbSmrg #endif 550fc89c0fbSmrg #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) 55181676fe2Smrg printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); 552fc89c0fbSmrg #endif 553fc89c0fbSmrg #endif 554fc89c0fbSmrg exit (-1); 555fc89c0fbSmrg } 556fc89c0fbSmrgEOF 55781676fe2Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && 55881676fe2Smrg dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && 55981676fe2Smrg SYSTEM_NAME=`"$dummy" "$dummyarg"` && 560fc89c0fbSmrg { echo "$SYSTEM_NAME"; exit; } 56149bee38cSmrg GUESS=mips-mips-riscos$UNAME_RELEASE 56249bee38cSmrg ;; 563fc89c0fbSmrg Motorola:PowerMAX_OS:*:*) 56449bee38cSmrg GUESS=powerpc-motorola-powermax 56549bee38cSmrg ;; 566fc89c0fbSmrg Motorola:*:4.3:PL8-*) 56749bee38cSmrg GUESS=powerpc-harris-powermax 56849bee38cSmrg ;; 569fc89c0fbSmrg Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 57049bee38cSmrg GUESS=powerpc-harris-powermax 57149bee38cSmrg ;; 572fc89c0fbSmrg Night_Hawk:Power_UNIX:*:*) 57349bee38cSmrg GUESS=powerpc-harris-powerunix 57449bee38cSmrg ;; 575fc89c0fbSmrg m88k:CX/UX:7*:*) 57649bee38cSmrg GUESS=m88k-harris-cxux7 57749bee38cSmrg ;; 578fc89c0fbSmrg m88k:*:4*:R4*) 57949bee38cSmrg GUESS=m88k-motorola-sysv4 58049bee38cSmrg ;; 581fc89c0fbSmrg m88k:*:3*:R3*) 58249bee38cSmrg GUESS=m88k-motorola-sysv3 58349bee38cSmrg ;; 584fc89c0fbSmrg AViiON:dgux:*:*) 585576bbdfcSmrg # DG/UX returns AViiON for all architectures 586576bbdfcSmrg UNAME_PROCESSOR=`/usr/bin/uname -p` 58749bee38cSmrg if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 588fc89c0fbSmrg then 58949bee38cSmrg if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ 59049bee38cSmrg test "$TARGET_BINARY_INTERFACE"x = x 591fc89c0fbSmrg then 59249bee38cSmrg GUESS=m88k-dg-dgux$UNAME_RELEASE 593fc89c0fbSmrg else 59449bee38cSmrg GUESS=m88k-dg-dguxbcs$UNAME_RELEASE 595fc89c0fbSmrg fi 596fc89c0fbSmrg else 59749bee38cSmrg GUESS=i586-dg-dgux$UNAME_RELEASE 598fc89c0fbSmrg fi 59949bee38cSmrg ;; 600fc89c0fbSmrg M88*:DolphinOS:*:*) # DolphinOS (SVR3) 60149bee38cSmrg GUESS=m88k-dolphin-sysv3 60249bee38cSmrg ;; 603fc89c0fbSmrg M88*:*:R3*:*) 604fc89c0fbSmrg # Delta 88k system running SVR3 60549bee38cSmrg GUESS=m88k-motorola-sysv3 60649bee38cSmrg ;; 607fc89c0fbSmrg XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 60849bee38cSmrg GUESS=m88k-tektronix-sysv3 60949bee38cSmrg ;; 610fc89c0fbSmrg Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 61149bee38cSmrg GUESS=m68k-tektronix-bsd 61249bee38cSmrg ;; 613fc89c0fbSmrg *:IRIX*:*:*) 61449bee38cSmrg IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` 61549bee38cSmrg GUESS=mips-sgi-irix$IRIX_REL 61649bee38cSmrg ;; 617fc89c0fbSmrg ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 61849bee38cSmrg GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id 61949bee38cSmrg ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 620fc89c0fbSmrg i*86:AIX:*:*) 62149bee38cSmrg GUESS=i386-ibm-aix 62249bee38cSmrg ;; 623fc89c0fbSmrg ia64:AIX:*:*) 62449bee38cSmrg if test -x /usr/bin/oslevel ; then 625fc89c0fbSmrg IBM_REV=`/usr/bin/oslevel` 626fc89c0fbSmrg else 62749bee38cSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 628fc89c0fbSmrg fi 62949bee38cSmrg GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV 63049bee38cSmrg ;; 631fc89c0fbSmrg *:AIX:2:3) 632fc89c0fbSmrg if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then 63349bee38cSmrg set_cc_for_build 63481676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 635fc89c0fbSmrg #include <sys/systemcfg.h> 636fc89c0fbSmrg 637fc89c0fbSmrg main() 638fc89c0fbSmrg { 639fc89c0fbSmrg if (!__power_pc()) 640fc89c0fbSmrg exit(1); 641fc89c0fbSmrg puts("powerpc-ibm-aix3.2.5"); 642fc89c0fbSmrg exit(0); 643fc89c0fbSmrg } 644fc89c0fbSmrgEOF 64581676fe2Smrg if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` 646fc89c0fbSmrg then 64749bee38cSmrg GUESS=$SYSTEM_NAME 648fc89c0fbSmrg else 64949bee38cSmrg GUESS=rs6000-ibm-aix3.2.5 650fc89c0fbSmrg fi 651fc89c0fbSmrg elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 65249bee38cSmrg GUESS=rs6000-ibm-aix3.2.4 653fc89c0fbSmrg else 65449bee38cSmrg GUESS=rs6000-ibm-aix3.2 655fc89c0fbSmrg fi 65649bee38cSmrg ;; 657a0996ce0Smrg *:AIX:*:[4567]) 658fc89c0fbSmrg IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` 65981676fe2Smrg if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then 660fc89c0fbSmrg IBM_ARCH=rs6000 661fc89c0fbSmrg else 662fc89c0fbSmrg IBM_ARCH=powerpc 663fc89c0fbSmrg fi 66449bee38cSmrg if test -x /usr/bin/lslpp ; then 66549bee38cSmrg IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ 66681676fe2Smrg awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` 667fc89c0fbSmrg else 66849bee38cSmrg IBM_REV=$UNAME_VERSION.$UNAME_RELEASE 669fc89c0fbSmrg fi 67049bee38cSmrg GUESS=$IBM_ARCH-ibm-aix$IBM_REV 67149bee38cSmrg ;; 672fc89c0fbSmrg *:AIX:*:*) 67349bee38cSmrg GUESS=rs6000-ibm-aix 67449bee38cSmrg ;; 67581676fe2Smrg ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) 67649bee38cSmrg GUESS=romp-ibm-bsd4.4 67749bee38cSmrg ;; 678fc89c0fbSmrg ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 67949bee38cSmrg GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to 68049bee38cSmrg ;; # report: romp-ibm BSD 4.3 681fc89c0fbSmrg *:BOSX:*:*) 68249bee38cSmrg GUESS=rs6000-bull-bosx 68349bee38cSmrg ;; 684fc89c0fbSmrg DPX/2?00:B.O.S.:*:*) 68549bee38cSmrg GUESS=m68k-bull-sysv3 68649bee38cSmrg ;; 687fc89c0fbSmrg 9000/[34]??:4.3bsd:1.*:*) 68849bee38cSmrg GUESS=m68k-hp-bsd 68949bee38cSmrg ;; 690fc89c0fbSmrg hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 69149bee38cSmrg GUESS=m68k-hp-bsd4.4 69249bee38cSmrg ;; 693fc89c0fbSmrg 9000/[34678]??:HP-UX:*:*) 69449bee38cSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 69549bee38cSmrg case $UNAME_MACHINE in 69681676fe2Smrg 9000/31?) HP_ARCH=m68000 ;; 69781676fe2Smrg 9000/[34]??) HP_ARCH=m68k ;; 698fc89c0fbSmrg 9000/[678][0-9][0-9]) 69949bee38cSmrg if test -x /usr/bin/getconf; then 700fc89c0fbSmrg sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` 701576bbdfcSmrg sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` 70249bee38cSmrg case $sc_cpu_version in 70381676fe2Smrg 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 70481676fe2Smrg 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 705576bbdfcSmrg 532) # CPU_PA_RISC2_0 70649bee38cSmrg case $sc_kernel_bits in 70781676fe2Smrg 32) HP_ARCH=hppa2.0n ;; 70881676fe2Smrg 64) HP_ARCH=hppa2.0w ;; 70981676fe2Smrg '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 710576bbdfcSmrg esac ;; 711576bbdfcSmrg esac 712fc89c0fbSmrg fi 71349bee38cSmrg if test "$HP_ARCH" = ""; then 71449bee38cSmrg set_cc_for_build 71581676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 716fc89c0fbSmrg 717576bbdfcSmrg #define _HPUX_SOURCE 718576bbdfcSmrg #include <stdlib.h> 719576bbdfcSmrg #include <unistd.h> 720fc89c0fbSmrg 721576bbdfcSmrg int main () 722576bbdfcSmrg { 723576bbdfcSmrg #if defined(_SC_KERNEL_BITS) 724576bbdfcSmrg long bits = sysconf(_SC_KERNEL_BITS); 725576bbdfcSmrg #endif 726576bbdfcSmrg long cpu = sysconf (_SC_CPU_VERSION); 727fc89c0fbSmrg 728576bbdfcSmrg switch (cpu) 729576bbdfcSmrg { 730576bbdfcSmrg case CPU_PA_RISC1_0: puts ("hppa1.0"); break; 731576bbdfcSmrg case CPU_PA_RISC1_1: puts ("hppa1.1"); break; 732576bbdfcSmrg case CPU_PA_RISC2_0: 733576bbdfcSmrg #if defined(_SC_KERNEL_BITS) 734576bbdfcSmrg switch (bits) 735576bbdfcSmrg { 736576bbdfcSmrg case 64: puts ("hppa2.0w"); break; 737576bbdfcSmrg case 32: puts ("hppa2.0n"); break; 738576bbdfcSmrg default: puts ("hppa2.0"); break; 739576bbdfcSmrg } break; 740576bbdfcSmrg #else /* !defined(_SC_KERNEL_BITS) */ 741576bbdfcSmrg puts ("hppa2.0"); break; 742576bbdfcSmrg #endif 743576bbdfcSmrg default: puts ("hppa1.0"); break; 744576bbdfcSmrg } 745576bbdfcSmrg exit (0); 746576bbdfcSmrg } 747fc89c0fbSmrgEOF 74881676fe2Smrg (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` 749fc89c0fbSmrg test -z "$HP_ARCH" && HP_ARCH=hppa 750fc89c0fbSmrg fi ;; 751fc89c0fbSmrg esac 75249bee38cSmrg if test "$HP_ARCH" = hppa2.0w 753fc89c0fbSmrg then 75449bee38cSmrg set_cc_for_build 755fc89c0fbSmrg 756fc89c0fbSmrg # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 757fc89c0fbSmrg # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 758fc89c0fbSmrg # generating 64-bit code. GNU and HP use different nomenclature: 759fc89c0fbSmrg # 760fc89c0fbSmrg # $ CC_FOR_BUILD=cc ./config.guess 761fc89c0fbSmrg # => hppa2.0w-hp-hpux11.23 762fc89c0fbSmrg # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 763fc89c0fbSmrg # => hppa64-hp-hpux11.23 764fc89c0fbSmrg 76581676fe2Smrg if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | 766a0996ce0Smrg grep -q __LP64__ 767fc89c0fbSmrg then 76881676fe2Smrg HP_ARCH=hppa2.0w 769fc89c0fbSmrg else 77081676fe2Smrg HP_ARCH=hppa64 771fc89c0fbSmrg fi 772fc89c0fbSmrg fi 77349bee38cSmrg GUESS=$HP_ARCH-hp-hpux$HPUX_REV 77449bee38cSmrg ;; 775fc89c0fbSmrg ia64:HP-UX:*:*) 77649bee38cSmrg HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` 77749bee38cSmrg GUESS=ia64-hp-hpux$HPUX_REV 77849bee38cSmrg ;; 779fc89c0fbSmrg 3050*:HI-UX:*:*) 78049bee38cSmrg set_cc_for_build 78181676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 782fc89c0fbSmrg #include <unistd.h> 783fc89c0fbSmrg int 784fc89c0fbSmrg main () 785fc89c0fbSmrg { 786fc89c0fbSmrg long cpu = sysconf (_SC_CPU_VERSION); 787fc89c0fbSmrg /* The order matters, because CPU_IS_HP_MC68K erroneously returns 788fc89c0fbSmrg true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct 789fc89c0fbSmrg results, however. */ 790fc89c0fbSmrg if (CPU_IS_PA_RISC (cpu)) 791fc89c0fbSmrg { 792fc89c0fbSmrg switch (cpu) 793fc89c0fbSmrg { 794fc89c0fbSmrg case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; 795fc89c0fbSmrg case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; 796fc89c0fbSmrg case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; 797fc89c0fbSmrg default: puts ("hppa-hitachi-hiuxwe2"); break; 798fc89c0fbSmrg } 799fc89c0fbSmrg } 800fc89c0fbSmrg else if (CPU_IS_HP_MC68K (cpu)) 801fc89c0fbSmrg puts ("m68k-hitachi-hiuxwe2"); 802fc89c0fbSmrg else puts ("unknown-hitachi-hiuxwe2"); 803fc89c0fbSmrg exit (0); 804fc89c0fbSmrg } 805fc89c0fbSmrgEOF 80681676fe2Smrg $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && 807fc89c0fbSmrg { echo "$SYSTEM_NAME"; exit; } 80849bee38cSmrg GUESS=unknown-hitachi-hiuxwe2 80949bee38cSmrg ;; 81081676fe2Smrg 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) 81149bee38cSmrg GUESS=hppa1.1-hp-bsd 81249bee38cSmrg ;; 813fc89c0fbSmrg 9000/8??:4.3bsd:*:*) 81449bee38cSmrg GUESS=hppa1.0-hp-bsd 81549bee38cSmrg ;; 816fc89c0fbSmrg *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 81749bee38cSmrg GUESS=hppa1.0-hp-mpeix 81849bee38cSmrg ;; 81981676fe2Smrg hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) 82049bee38cSmrg GUESS=hppa1.1-hp-osf 82149bee38cSmrg ;; 822fc89c0fbSmrg hp8??:OSF1:*:*) 82349bee38cSmrg GUESS=hppa1.0-hp-osf 82449bee38cSmrg ;; 825fc89c0fbSmrg i*86:OSF1:*:*) 82649bee38cSmrg if test -x /usr/sbin/sysversion ; then 82749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-osf1mk 828fc89c0fbSmrg else 82949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-osf1 830fc89c0fbSmrg fi 83149bee38cSmrg ;; 832fc89c0fbSmrg parisc*:Lites*:*:*) 83349bee38cSmrg GUESS=hppa1.1-hp-lites 83449bee38cSmrg ;; 835fc89c0fbSmrg C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 83649bee38cSmrg GUESS=c1-convex-bsd 83749bee38cSmrg ;; 838fc89c0fbSmrg C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 839fc89c0fbSmrg if getsysinfo -f scalar_acc 840fc89c0fbSmrg then echo c32-convex-bsd 841fc89c0fbSmrg else echo c2-convex-bsd 842fc89c0fbSmrg fi 843576bbdfcSmrg exit ;; 844fc89c0fbSmrg C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 84549bee38cSmrg GUESS=c34-convex-bsd 84649bee38cSmrg ;; 847fc89c0fbSmrg C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 84849bee38cSmrg GUESS=c38-convex-bsd 84949bee38cSmrg ;; 850fc89c0fbSmrg C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 85149bee38cSmrg GUESS=c4-convex-bsd 85249bee38cSmrg ;; 853fc89c0fbSmrg CRAY*Y-MP:*:*:*) 85449bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 85549bee38cSmrg GUESS=ymp-cray-unicos$CRAY_REL 85649bee38cSmrg ;; 857fc89c0fbSmrg CRAY*[A-Z]90:*:*:*) 85881676fe2Smrg echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ 859fc89c0fbSmrg | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ 860fc89c0fbSmrg -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 861fc89c0fbSmrg -e 's/\.[^.]*$/.X/' 862fc89c0fbSmrg exit ;; 863fc89c0fbSmrg CRAY*TS:*:*:*) 86449bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86549bee38cSmrg GUESS=t90-cray-unicos$CRAY_REL 86649bee38cSmrg ;; 867fc89c0fbSmrg CRAY*T3E:*:*:*) 86849bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 86949bee38cSmrg GUESS=alphaev5-cray-unicosmk$CRAY_REL 87049bee38cSmrg ;; 871fc89c0fbSmrg CRAY*SV1:*:*:*) 87249bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87349bee38cSmrg GUESS=sv1-cray-unicos$CRAY_REL 87449bee38cSmrg ;; 875fc89c0fbSmrg *:UNICOS/mp:*:*) 87649bee38cSmrg CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` 87749bee38cSmrg GUESS=craynv-cray-unicosmp$CRAY_REL 87849bee38cSmrg ;; 879fc89c0fbSmrg F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 88081676fe2Smrg FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` 88181676fe2Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88281676fe2Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` 88349bee38cSmrg GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88449bee38cSmrg ;; 885fc89c0fbSmrg 5000:UNIX_System_V:4.*:*) 88681676fe2Smrg FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` 88781676fe2Smrg FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` 88849bee38cSmrg GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} 88949bee38cSmrg ;; 890fc89c0fbSmrg i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 89149bee38cSmrg GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE 89249bee38cSmrg ;; 893fc89c0fbSmrg sparc*:BSD/OS:*:*) 89449bee38cSmrg GUESS=sparc-unknown-bsdi$UNAME_RELEASE 89549bee38cSmrg ;; 896fc89c0fbSmrg *:BSD/OS:*:*) 89749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE 89849bee38cSmrg ;; 89949bee38cSmrg arm:FreeBSD:*:*) 90049bee38cSmrg UNAME_PROCESSOR=`uname -p` 90149bee38cSmrg set_cc_for_build 90249bee38cSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 90349bee38cSmrg | grep -q __ARM_PCS_VFP 90449bee38cSmrg then 90549bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90649bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi 90749bee38cSmrg else 90849bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 90949bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf 91049bee38cSmrg fi 91149bee38cSmrg ;; 912fc89c0fbSmrg *:FreeBSD:*:*) 913c8df0c59Smrg UNAME_PROCESSOR=`uname -p` 91449bee38cSmrg case $UNAME_PROCESSOR in 915fc89c0fbSmrg amd64) 91681676fe2Smrg UNAME_PROCESSOR=x86_64 ;; 91781676fe2Smrg i386) 91881676fe2Smrg UNAME_PROCESSOR=i586 ;; 919fc89c0fbSmrg esac 92049bee38cSmrg FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 92149bee38cSmrg GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL 92249bee38cSmrg ;; 923fc89c0fbSmrg i*:CYGWIN*:*) 92449bee38cSmrg GUESS=$UNAME_MACHINE-pc-cygwin 92549bee38cSmrg ;; 926576bbdfcSmrg *:MINGW64*:*) 92749bee38cSmrg GUESS=$UNAME_MACHINE-pc-mingw64 92849bee38cSmrg ;; 92991ec45ceSmrg *:MINGW*:*) 93049bee38cSmrg GUESS=$UNAME_MACHINE-pc-mingw32 93149bee38cSmrg ;; 93281676fe2Smrg *:MSYS*:*) 93349bee38cSmrg GUESS=$UNAME_MACHINE-pc-msys 93449bee38cSmrg ;; 935fc89c0fbSmrg i*:PW*:*) 93649bee38cSmrg GUESS=$UNAME_MACHINE-pc-pw32 93749bee38cSmrg ;; 938c8df0c59Smrg *:SerenityOS:*:*) 939c8df0c59Smrg GUESS=$UNAME_MACHINE-pc-serenity 940c8df0c59Smrg ;; 941a0996ce0Smrg *:Interix*:*) 94249bee38cSmrg case $UNAME_MACHINE in 94391ec45ceSmrg x86) 94449bee38cSmrg GUESS=i586-pc-interix$UNAME_RELEASE 94549bee38cSmrg ;; 946a0996ce0Smrg authenticamd | genuineintel | EM64T) 94749bee38cSmrg GUESS=x86_64-unknown-interix$UNAME_RELEASE 94849bee38cSmrg ;; 94991ec45ceSmrg IA64) 95049bee38cSmrg GUESS=ia64-unknown-interix$UNAME_RELEASE 95149bee38cSmrg ;; 95291ec45ceSmrg esac ;; 953fc89c0fbSmrg i*:UWIN*:*) 95449bee38cSmrg GUESS=$UNAME_MACHINE-pc-uwin 95549bee38cSmrg ;; 956fc89c0fbSmrg amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) 95749bee38cSmrg GUESS=x86_64-pc-cygwin 95849bee38cSmrg ;; 959fc89c0fbSmrg prep*:SunOS:5.*:*) 96049bee38cSmrg SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` 96149bee38cSmrg GUESS=powerpcle-unknown-solaris2$SUN_REL 96249bee38cSmrg ;; 963fc89c0fbSmrg *:GNU:*:*) 964fc89c0fbSmrg # the GNU system 96549bee38cSmrg GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` 96649bee38cSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` 96749bee38cSmrg GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL 96849bee38cSmrg ;; 969fc89c0fbSmrg *:GNU/*:*:*) 970fc89c0fbSmrg # other systems with GNU libc and userland 97149bee38cSmrg GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` 97249bee38cSmrg GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 97349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC 97449bee38cSmrg ;; 975c8df0c59Smrg x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) 976c8df0c59Smrg GUESS="$UNAME_MACHINE-pc-managarm-mlibc" 977c8df0c59Smrg ;; 978c8df0c59Smrg *:[Mm]anagarm:*:*) 979c8df0c59Smrg GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" 980c8df0c59Smrg ;; 98149bee38cSmrg *:Minix:*:*) 98249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-minix 98349bee38cSmrg ;; 984576bbdfcSmrg aarch64:Linux:*:*) 985c8df0c59Smrg set_cc_for_build 986c8df0c59Smrg CPU=$UNAME_MACHINE 987c8df0c59Smrg LIBCABI=$LIBC 988c8df0c59Smrg if test "$CC_FOR_BUILD" != no_compiler_found; then 989c8df0c59Smrg ABI=64 990c8df0c59Smrg sed 's/^ //' << EOF > "$dummy.c" 991c8df0c59Smrg #ifdef __ARM_EABI__ 992c8df0c59Smrg #ifdef __ARM_PCS_VFP 993c8df0c59Smrg ABI=eabihf 994c8df0c59Smrg #else 995c8df0c59Smrg ABI=eabi 996c8df0c59Smrg #endif 997c8df0c59Smrg #endif 998c8df0c59SmrgEOF 999c8df0c59Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 1000c8df0c59Smrg eval "$cc_set_abi" 1001c8df0c59Smrg case $ABI in 1002c8df0c59Smrg eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;; 1003c8df0c59Smrg esac 1004c8df0c59Smrg fi 1005c8df0c59Smrg GUESS=$CPU-unknown-linux-$LIBCABI 100649bee38cSmrg ;; 1007576bbdfcSmrg aarch64_be:Linux:*:*) 1008576bbdfcSmrg UNAME_MACHINE=aarch64_be 100949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 101049bee38cSmrg ;; 1011a0996ce0Smrg alpha:Linux:*:*) 101249bee38cSmrg case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in 1013a0996ce0Smrg EV5) UNAME_MACHINE=alphaev5 ;; 1014a0996ce0Smrg EV56) UNAME_MACHINE=alphaev56 ;; 1015a0996ce0Smrg PCA56) UNAME_MACHINE=alphapca56 ;; 1016a0996ce0Smrg PCA57) UNAME_MACHINE=alphapca56 ;; 1017a0996ce0Smrg EV6) UNAME_MACHINE=alphaev6 ;; 1018a0996ce0Smrg EV67) UNAME_MACHINE=alphaev67 ;; 1019a0996ce0Smrg EV68*) UNAME_MACHINE=alphaev68 ;; 1020576bbdfcSmrg esac 1021a0996ce0Smrg objdump --private-headers /bin/sh | grep -q ld.so.1 102281676fe2Smrg if test "$?" = 0 ; then LIBC=gnulibc1 ; fi 102349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102449bee38cSmrg ;; 102549bee38cSmrg arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) 102649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 102749bee38cSmrg ;; 1028fc89c0fbSmrg arm*:Linux:*:*) 102949bee38cSmrg set_cc_for_build 103091ec45ceSmrg if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ 103191ec45ceSmrg | grep -q __ARM_EABI__ 103291ec45ceSmrg then 103349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 103491ec45ceSmrg else 1035576bbdfcSmrg if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 1036576bbdfcSmrg | grep -q __ARM_PCS_VFP 1037576bbdfcSmrg then 103849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi 1039576bbdfcSmrg else 104049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf 1041576bbdfcSmrg fi 104291ec45ceSmrg fi 104349bee38cSmrg ;; 1044fc89c0fbSmrg avr32*:Linux:*:*) 104549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 104649bee38cSmrg ;; 1047fc89c0fbSmrg cris:Linux:*:*) 104849bee38cSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 104949bee38cSmrg ;; 1050fc89c0fbSmrg crisv32:Linux:*:*) 105149bee38cSmrg GUESS=$UNAME_MACHINE-axis-linux-$LIBC 105249bee38cSmrg ;; 105381676fe2Smrg e2k:Linux:*:*) 105449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105549bee38cSmrg ;; 1056fc89c0fbSmrg frv:Linux:*:*) 105749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 105849bee38cSmrg ;; 1059576bbdfcSmrg hexagon:Linux:*:*) 106049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 106149bee38cSmrg ;; 1062a0996ce0Smrg i*86:Linux:*:*) 106349bee38cSmrg GUESS=$UNAME_MACHINE-pc-linux-$LIBC 106449bee38cSmrg ;; 1065fc89c0fbSmrg ia64:Linux:*:*) 106649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 106749bee38cSmrg ;; 106881676fe2Smrg k1om:Linux:*:*) 106949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 107049bee38cSmrg ;; 1071c8df0c59Smrg kvx:Linux:*:*) 1072c8df0c59Smrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 1073c8df0c59Smrg ;; 1074c8df0c59Smrg kvx:cos:*:*) 1075c8df0c59Smrg GUESS=$UNAME_MACHINE-unknown-cos 1076c8df0c59Smrg ;; 1077c8df0c59Smrg kvx:mbr:*:*) 1078c8df0c59Smrg GUESS=$UNAME_MACHINE-unknown-mbr 1079c8df0c59Smrg ;; 1080c8df0c59Smrg loongarch32:Linux:*:* | loongarch64:Linux:*:*) 108149bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 108249bee38cSmrg ;; 1083fc89c0fbSmrg m32r*:Linux:*:*) 108449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 108549bee38cSmrg ;; 1086fc89c0fbSmrg m68*:Linux:*:*) 108749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 108849bee38cSmrg ;; 1089a0996ce0Smrg mips:Linux:*:* | mips64:Linux:*:*) 109049bee38cSmrg set_cc_for_build 109149bee38cSmrg IS_GLIBC=0 109249bee38cSmrg test x"${LIBC}" = xgnu && IS_GLIBC=1 109381676fe2Smrg sed 's/^ //' << EOF > "$dummy.c" 1094fc89c0fbSmrg #undef CPU 109549bee38cSmrg #undef mips 109649bee38cSmrg #undef mipsel 109749bee38cSmrg #undef mips64 109849bee38cSmrg #undef mips64el 109949bee38cSmrg #if ${IS_GLIBC} && defined(_ABI64) 110049bee38cSmrg LIBCABI=gnuabi64 110149bee38cSmrg #else 110249bee38cSmrg #if ${IS_GLIBC} && defined(_ABIN32) 110349bee38cSmrg LIBCABI=gnuabin32 110449bee38cSmrg #else 110549bee38cSmrg LIBCABI=${LIBC} 110649bee38cSmrg #endif 110749bee38cSmrg #endif 110849bee38cSmrg 110949bee38cSmrg #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 111049bee38cSmrg CPU=mipsisa64r6 111149bee38cSmrg #else 111249bee38cSmrg #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 111349bee38cSmrg CPU=mipsisa32r6 111449bee38cSmrg #else 111549bee38cSmrg #if defined(__mips64) 111649bee38cSmrg CPU=mips64 111749bee38cSmrg #else 111849bee38cSmrg CPU=mips 111949bee38cSmrg #endif 112049bee38cSmrg #endif 112149bee38cSmrg #endif 112249bee38cSmrg 1123fc89c0fbSmrg #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) 112449bee38cSmrg MIPS_ENDIAN=el 1125fc89c0fbSmrg #else 1126fc89c0fbSmrg #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) 112749bee38cSmrg MIPS_ENDIAN= 1128fc89c0fbSmrg #else 112949bee38cSmrg MIPS_ENDIAN= 1130fc89c0fbSmrg #endif 1131fc89c0fbSmrg #endif 1132fc89c0fbSmrgEOF 113349bee38cSmrg cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` 113449bee38cSmrg eval "$cc_set_vars" 113549bee38cSmrg test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } 1136fc89c0fbSmrg ;; 113781676fe2Smrg mips64el:Linux:*:*) 113849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 113949bee38cSmrg ;; 114081676fe2Smrg openrisc*:Linux:*:*) 114149bee38cSmrg GUESS=or1k-unknown-linux-$LIBC 114249bee38cSmrg ;; 114381676fe2Smrg or32:Linux:*:* | or1k*:Linux:*:*) 114449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 114549bee38cSmrg ;; 114691ec45ceSmrg padre:Linux:*:*) 114749bee38cSmrg GUESS=sparc-unknown-linux-$LIBC 114849bee38cSmrg ;; 1149a0996ce0Smrg parisc64:Linux:*:* | hppa64:Linux:*:*) 115049bee38cSmrg GUESS=hppa64-unknown-linux-$LIBC 115149bee38cSmrg ;; 1152fc89c0fbSmrg parisc:Linux:*:* | hppa:Linux:*:*) 1153fc89c0fbSmrg # Look for CPU level 1154fc89c0fbSmrg case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 115549bee38cSmrg PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; 115649bee38cSmrg PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; 115749bee38cSmrg *) GUESS=hppa-unknown-linux-$LIBC ;; 1158fc89c0fbSmrg esac 115949bee38cSmrg ;; 1160a0996ce0Smrg ppc64:Linux:*:*) 116149bee38cSmrg GUESS=powerpc64-unknown-linux-$LIBC 116249bee38cSmrg ;; 1163a0996ce0Smrg ppc:Linux:*:*) 116449bee38cSmrg GUESS=powerpc-unknown-linux-$LIBC 116549bee38cSmrg ;; 1166576bbdfcSmrg ppc64le:Linux:*:*) 116749bee38cSmrg GUESS=powerpc64le-unknown-linux-$LIBC 116849bee38cSmrg ;; 1169576bbdfcSmrg ppcle:Linux:*:*) 117049bee38cSmrg GUESS=powerpcle-unknown-linux-$LIBC 117149bee38cSmrg ;; 117249bee38cSmrg riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) 117349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 117449bee38cSmrg ;; 1175fc89c0fbSmrg s390:Linux:*:* | s390x:Linux:*:*) 117649bee38cSmrg GUESS=$UNAME_MACHINE-ibm-linux-$LIBC 117749bee38cSmrg ;; 1178fc89c0fbSmrg sh64*:Linux:*:*) 117949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118049bee38cSmrg ;; 1181fc89c0fbSmrg sh*:Linux:*:*) 118249bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118349bee38cSmrg ;; 1184fc89c0fbSmrg sparc:Linux:*:* | sparc64:Linux:*:*) 118549bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118649bee38cSmrg ;; 1187a0996ce0Smrg tile*:Linux:*:*) 118849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 118949bee38cSmrg ;; 1190fc89c0fbSmrg vax:Linux:*:*) 119149bee38cSmrg GUESS=$UNAME_MACHINE-dec-linux-$LIBC 119249bee38cSmrg ;; 1193fc89c0fbSmrg x86_64:Linux:*:*) 119449bee38cSmrg set_cc_for_build 1195c8df0c59Smrg CPU=$UNAME_MACHINE 119649bee38cSmrg LIBCABI=$LIBC 119749bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 1198c8df0c59Smrg ABI=64 1199c8df0c59Smrg sed 's/^ //' << EOF > "$dummy.c" 1200c8df0c59Smrg #ifdef __i386__ 1201c8df0c59Smrg ABI=x86 1202c8df0c59Smrg #else 1203c8df0c59Smrg #ifdef __ILP32__ 1204c8df0c59Smrg ABI=x32 1205c8df0c59Smrg #endif 1206c8df0c59Smrg #endif 1207c8df0c59SmrgEOF 1208c8df0c59Smrg cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` 1209c8df0c59Smrg eval "$cc_set_abi" 1210c8df0c59Smrg case $ABI in 1211c8df0c59Smrg x86) CPU=i686 ;; 1212c8df0c59Smrg x32) LIBCABI=${LIBC}x32 ;; 1213c8df0c59Smrg esac 1214f9c28e31Smrg fi 1215c8df0c59Smrg GUESS=$CPU-pc-linux-$LIBCABI 121649bee38cSmrg ;; 121791ec45ceSmrg xtensa*:Linux:*:*) 121849bee38cSmrg GUESS=$UNAME_MACHINE-unknown-linux-$LIBC 121949bee38cSmrg ;; 1220fc89c0fbSmrg i*86:DYNIX/ptx:4*:*) 1221fc89c0fbSmrg # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. 1222fc89c0fbSmrg # earlier versions are messed up and put the nodename in both 1223fc89c0fbSmrg # sysname and nodename. 122449bee38cSmrg GUESS=i386-sequent-sysv4 122549bee38cSmrg ;; 1226fc89c0fbSmrg i*86:UNIX_SV:4.2MP:2.*) 1227576bbdfcSmrg # Unixware is an offshoot of SVR4, but it has its own version 1228576bbdfcSmrg # number series starting with 2... 1229576bbdfcSmrg # I am not positive that other SVR4 systems won't match this, 1230fc89c0fbSmrg # I just have to hope. -- rms. 1231576bbdfcSmrg # Use sysv4.2uw... so that sysv4* matches it. 123249bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION 123349bee38cSmrg ;; 1234fc89c0fbSmrg i*86:OS/2:*:*) 1235c8df0c59Smrg # If we were able to find 'uname', then EMX Unix compatibility 1236fc89c0fbSmrg # is probably installed. 123749bee38cSmrg GUESS=$UNAME_MACHINE-pc-os2-emx 123849bee38cSmrg ;; 1239fc89c0fbSmrg i*86:XTS-300:*:STOP) 124049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-stop 124149bee38cSmrg ;; 1242fc89c0fbSmrg i*86:atheos:*:*) 124349bee38cSmrg GUESS=$UNAME_MACHINE-unknown-atheos 124449bee38cSmrg ;; 1245fc89c0fbSmrg i*86:syllable:*:*) 124649bee38cSmrg GUESS=$UNAME_MACHINE-pc-syllable 124749bee38cSmrg ;; 1248a0996ce0Smrg i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) 124949bee38cSmrg GUESS=i386-unknown-lynxos$UNAME_RELEASE 125049bee38cSmrg ;; 1251fc89c0fbSmrg i*86:*DOS:*:*) 125249bee38cSmrg GUESS=$UNAME_MACHINE-pc-msdosdjgpp 125349bee38cSmrg ;; 125481676fe2Smrg i*86:*:4.*:*) 125581676fe2Smrg UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` 1256fc89c0fbSmrg if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then 125749bee38cSmrg GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL 1258fc89c0fbSmrg else 125949bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL 1260fc89c0fbSmrg fi 126149bee38cSmrg ;; 1262fc89c0fbSmrg i*86:*:5:[678]*) 1263576bbdfcSmrg # UnixWare 7.x, OpenUNIX and OpenServer 6. 1264fc89c0fbSmrg case `/bin/uname -X | grep "^Machine"` in 1265fc89c0fbSmrg *486*) UNAME_MACHINE=i486 ;; 1266fc89c0fbSmrg *Pentium) UNAME_MACHINE=i586 ;; 1267fc89c0fbSmrg *Pent*|*Celeron) UNAME_MACHINE=i686 ;; 1268fc89c0fbSmrg esac 126949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 127049bee38cSmrg ;; 1271fc89c0fbSmrg i*86:*:3.2:*) 1272fc89c0fbSmrg if test -f /usr/options/cb.name; then 1273fc89c0fbSmrg UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 127449bee38cSmrg GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL 1275fc89c0fbSmrg elif /bin/uname -X 2>/dev/null >/dev/null ; then 1276fc89c0fbSmrg UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` 1277fc89c0fbSmrg (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 1278fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ 1279fc89c0fbSmrg && UNAME_MACHINE=i586 1280fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ 1281fc89c0fbSmrg && UNAME_MACHINE=i686 1282fc89c0fbSmrg (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ 1283fc89c0fbSmrg && UNAME_MACHINE=i686 128449bee38cSmrg GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL 1285fc89c0fbSmrg else 128649bee38cSmrg GUESS=$UNAME_MACHINE-pc-sysv32 1287fc89c0fbSmrg fi 128849bee38cSmrg ;; 1289fc89c0fbSmrg pc:*:*:*) 1290fc89c0fbSmrg # Left here for compatibility: 1291576bbdfcSmrg # uname -m prints for DJGPP always 'pc', but it prints nothing about 1292576bbdfcSmrg # the processor, so we play safe by assuming i586. 129391ec45ceSmrg # Note: whatever this is, it MUST be the same as what config.sub 129481676fe2Smrg # prints for the "djgpp" host, or else GDB configure will decide that 129591ec45ceSmrg # this is a cross-build. 129649bee38cSmrg GUESS=i586-pc-msdosdjgpp 129749bee38cSmrg ;; 1298fc89c0fbSmrg Intel:Mach:3*:*) 129949bee38cSmrg GUESS=i386-pc-mach3 130049bee38cSmrg ;; 1301fc89c0fbSmrg paragon:*:*:*) 130249bee38cSmrg GUESS=i860-intel-osf1 130349bee38cSmrg ;; 1304fc89c0fbSmrg i860:*:4.*:*) # i860-SVR4 1305fc89c0fbSmrg if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then 130649bee38cSmrg GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 1307fc89c0fbSmrg else # Add other i860-SVR4 vendors below as they are discovered. 130849bee38cSmrg GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 1309fc89c0fbSmrg fi 131049bee38cSmrg ;; 1311fc89c0fbSmrg mini*:CTIX:SYS*5:*) 1312fc89c0fbSmrg # "miniframe" 131349bee38cSmrg GUESS=m68010-convergent-sysv 131449bee38cSmrg ;; 1315fc89c0fbSmrg mc68k:UNIX:SYSTEM5:3.51m) 131649bee38cSmrg GUESS=m68k-convergent-sysv 131749bee38cSmrg ;; 1318fc89c0fbSmrg M680?0:D-NIX:5.3:*) 131949bee38cSmrg GUESS=m68k-diab-dnix 132049bee38cSmrg ;; 1321fc89c0fbSmrg M68*:*:R3V[5678]*:*) 1322fc89c0fbSmrg test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 1323fc89c0fbSmrg 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) 1324fc89c0fbSmrg OS_REL='' 1325fc89c0fbSmrg test -r /etc/.relid \ 1326fc89c0fbSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1327fc89c0fbSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 132881676fe2Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 1329fc89c0fbSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 133081676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1331fc89c0fbSmrg 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1332576bbdfcSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1333576bbdfcSmrg && { echo i486-ncr-sysv4; exit; } ;; 133491ec45ceSmrg NCR*:*:4.2:* | MPRAS*:*:4.2:*) 133591ec45ceSmrg OS_REL='.3' 133691ec45ceSmrg test -r /etc/.relid \ 133791ec45ceSmrg && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 133891ec45ceSmrg /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 133981676fe2Smrg && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } 134091ec45ceSmrg /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 134181676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } 134291ec45ceSmrg /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ 134381676fe2Smrg && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 1344fc89c0fbSmrg m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 134549bee38cSmrg GUESS=m68k-unknown-lynxos$UNAME_RELEASE 134649bee38cSmrg ;; 1347fc89c0fbSmrg mc68030:UNIX_System_V:4.*:*) 134849bee38cSmrg GUESS=m68k-atari-sysv4 134949bee38cSmrg ;; 1350fc89c0fbSmrg TSUNAMI:LynxOS:2.*:*) 135149bee38cSmrg GUESS=sparc-unknown-lynxos$UNAME_RELEASE 135249bee38cSmrg ;; 1353fc89c0fbSmrg rs6000:LynxOS:2.*:*) 135449bee38cSmrg GUESS=rs6000-unknown-lynxos$UNAME_RELEASE 135549bee38cSmrg ;; 1356a0996ce0Smrg PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) 135749bee38cSmrg GUESS=powerpc-unknown-lynxos$UNAME_RELEASE 135849bee38cSmrg ;; 1359fc89c0fbSmrg SM[BE]S:UNIX_SV:*:*) 136049bee38cSmrg GUESS=mips-dde-sysv$UNAME_RELEASE 136149bee38cSmrg ;; 1362fc89c0fbSmrg RM*:ReliantUNIX-*:*:*) 136349bee38cSmrg GUESS=mips-sni-sysv4 136449bee38cSmrg ;; 1365fc89c0fbSmrg RM*:SINIX-*:*:*) 136649bee38cSmrg GUESS=mips-sni-sysv4 136749bee38cSmrg ;; 1368fc89c0fbSmrg *:SINIX-*:*:*) 1369fc89c0fbSmrg if uname -p 2>/dev/null >/dev/null ; then 1370fc89c0fbSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 137149bee38cSmrg GUESS=$UNAME_MACHINE-sni-sysv4 1372fc89c0fbSmrg else 137349bee38cSmrg GUESS=ns32k-sni-sysv 1374fc89c0fbSmrg fi 137549bee38cSmrg ;; 1376c8df0c59Smrg PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort 1377576bbdfcSmrg # says <Richard.M.Bartel@ccMail.Census.GOV> 137849bee38cSmrg GUESS=i586-unisys-sysv4 137949bee38cSmrg ;; 1380fc89c0fbSmrg *:UNIX_System_V:4*:FTX*) 1381fc89c0fbSmrg # From Gerald Hewes <hewes@openmarket.com>. 1382fc89c0fbSmrg # How about differentiating between stratus architectures? -djm 138349bee38cSmrg GUESS=hppa1.1-stratus-sysv4 138449bee38cSmrg ;; 1385fc89c0fbSmrg *:*:*:FTX*) 1386fc89c0fbSmrg # From seanf@swdc.stratus.com. 138749bee38cSmrg GUESS=i860-stratus-sysv4 138849bee38cSmrg ;; 1389fc89c0fbSmrg i*86:VOS:*:*) 1390fc89c0fbSmrg # From Paul.Green@stratus.com. 139149bee38cSmrg GUESS=$UNAME_MACHINE-stratus-vos 139249bee38cSmrg ;; 1393fc89c0fbSmrg *:VOS:*:*) 1394fc89c0fbSmrg # From Paul.Green@stratus.com. 139549bee38cSmrg GUESS=hppa1.1-stratus-vos 139649bee38cSmrg ;; 1397fc89c0fbSmrg mc68*:A/UX:*:*) 139849bee38cSmrg GUESS=m68k-apple-aux$UNAME_RELEASE 139949bee38cSmrg ;; 1400fc89c0fbSmrg news*:NEWS-OS:6*:*) 140149bee38cSmrg GUESS=mips-sony-newsos6 140249bee38cSmrg ;; 1403fc89c0fbSmrg R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 140449bee38cSmrg if test -d /usr/nec; then 140549bee38cSmrg GUESS=mips-nec-sysv$UNAME_RELEASE 1406fc89c0fbSmrg else 140749bee38cSmrg GUESS=mips-unknown-sysv$UNAME_RELEASE 1408fc89c0fbSmrg fi 140949bee38cSmrg ;; 1410fc89c0fbSmrg BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 141149bee38cSmrg GUESS=powerpc-be-beos 141249bee38cSmrg ;; 1413fc89c0fbSmrg BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 141449bee38cSmrg GUESS=powerpc-apple-beos 141549bee38cSmrg ;; 1416fc89c0fbSmrg BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 141749bee38cSmrg GUESS=i586-pc-beos 141849bee38cSmrg ;; 141991ec45ceSmrg BePC:Haiku:*:*) # Haiku running on Intel PC compatible. 142049bee38cSmrg GUESS=i586-pc-haiku 142149bee38cSmrg ;; 1422c8df0c59Smrg ppc:Haiku:*:*) # Haiku running on Apple PowerPC 1423c8df0c59Smrg GUESS=powerpc-apple-haiku 1424c8df0c59Smrg ;; 1425c8df0c59Smrg *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) 1426c8df0c59Smrg GUESS=$UNAME_MACHINE-unknown-haiku 142749bee38cSmrg ;; 1428fc89c0fbSmrg SX-4:SUPER-UX:*:*) 142949bee38cSmrg GUESS=sx4-nec-superux$UNAME_RELEASE 143049bee38cSmrg ;; 1431fc89c0fbSmrg SX-5:SUPER-UX:*:*) 143249bee38cSmrg GUESS=sx5-nec-superux$UNAME_RELEASE 143349bee38cSmrg ;; 1434fc89c0fbSmrg SX-6:SUPER-UX:*:*) 143549bee38cSmrg GUESS=sx6-nec-superux$UNAME_RELEASE 143649bee38cSmrg ;; 143791ec45ceSmrg SX-7:SUPER-UX:*:*) 143849bee38cSmrg GUESS=sx7-nec-superux$UNAME_RELEASE 143949bee38cSmrg ;; 144091ec45ceSmrg SX-8:SUPER-UX:*:*) 144149bee38cSmrg GUESS=sx8-nec-superux$UNAME_RELEASE 144249bee38cSmrg ;; 144391ec45ceSmrg SX-8R:SUPER-UX:*:*) 144449bee38cSmrg GUESS=sx8r-nec-superux$UNAME_RELEASE 144549bee38cSmrg ;; 144681676fe2Smrg SX-ACE:SUPER-UX:*:*) 144749bee38cSmrg GUESS=sxace-nec-superux$UNAME_RELEASE 144849bee38cSmrg ;; 1449fc89c0fbSmrg Power*:Rhapsody:*:*) 145049bee38cSmrg GUESS=powerpc-apple-rhapsody$UNAME_RELEASE 145149bee38cSmrg ;; 1452fc89c0fbSmrg *:Rhapsody:*:*) 145349bee38cSmrg GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE 145449bee38cSmrg ;; 145549bee38cSmrg arm64:Darwin:*:*) 145649bee38cSmrg GUESS=aarch64-apple-darwin$UNAME_RELEASE 145749bee38cSmrg ;; 1458fc89c0fbSmrg *:Darwin:*:*) 145949bee38cSmrg UNAME_PROCESSOR=`uname -p` 146049bee38cSmrg case $UNAME_PROCESSOR in 146149bee38cSmrg unknown) UNAME_PROCESSOR=powerpc ;; 146249bee38cSmrg esac 146349bee38cSmrg if command -v xcode-select > /dev/null 2> /dev/null && \ 146449bee38cSmrg ! xcode-select --print-path > /dev/null 2> /dev/null ; then 146549bee38cSmrg # Avoid executing cc if there is no toolchain installed as 146649bee38cSmrg # cc will be a stub that puts up a graphical alert 146749bee38cSmrg # prompting the user to install developer tools. 146849bee38cSmrg CC_FOR_BUILD=no_compiler_found 146949bee38cSmrg else 147049bee38cSmrg set_cc_for_build 1471576bbdfcSmrg fi 147249bee38cSmrg if test "$CC_FOR_BUILD" != no_compiler_found; then 147349bee38cSmrg if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ 147449bee38cSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 147549bee38cSmrg grep IS_64BIT_ARCH >/dev/null 147649bee38cSmrg then 147749bee38cSmrg case $UNAME_PROCESSOR in 147849bee38cSmrg i386) UNAME_PROCESSOR=x86_64 ;; 147949bee38cSmrg powerpc) UNAME_PROCESSOR=powerpc64 ;; 148049bee38cSmrg esac 148149bee38cSmrg fi 148249bee38cSmrg # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc 148349bee38cSmrg if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ 148449bee38cSmrg (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ 148549bee38cSmrg grep IS_PPC >/dev/null 148649bee38cSmrg then 148749bee38cSmrg UNAME_PROCESSOR=powerpc 1488576bbdfcSmrg fi 148981676fe2Smrg elif test "$UNAME_PROCESSOR" = i386 ; then 149049bee38cSmrg # uname -m returns i386 or x86_64 149149bee38cSmrg UNAME_PROCESSOR=$UNAME_MACHINE 1492576bbdfcSmrg fi 149349bee38cSmrg GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE 149449bee38cSmrg ;; 1495fc89c0fbSmrg *:procnto*:*:* | *:QNX:[0123456789]*:*) 1496fc89c0fbSmrg UNAME_PROCESSOR=`uname -p` 149781676fe2Smrg if test "$UNAME_PROCESSOR" = x86; then 1498fc89c0fbSmrg UNAME_PROCESSOR=i386 1499fc89c0fbSmrg UNAME_MACHINE=pc 1500fc89c0fbSmrg fi 150149bee38cSmrg GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE 150249bee38cSmrg ;; 1503fc89c0fbSmrg *:QNX:*:4*) 150449bee38cSmrg GUESS=i386-pc-qnx 150549bee38cSmrg ;; 150681676fe2Smrg NEO-*:NONSTOP_KERNEL:*:*) 150749bee38cSmrg GUESS=neo-tandem-nsk$UNAME_RELEASE 150849bee38cSmrg ;; 1509576bbdfcSmrg NSE-*:NONSTOP_KERNEL:*:*) 151049bee38cSmrg GUESS=nse-tandem-nsk$UNAME_RELEASE 151149bee38cSmrg ;; 151281676fe2Smrg NSR-*:NONSTOP_KERNEL:*:*) 151349bee38cSmrg GUESS=nsr-tandem-nsk$UNAME_RELEASE 151449bee38cSmrg ;; 151581676fe2Smrg NSV-*:NONSTOP_KERNEL:*:*) 151649bee38cSmrg GUESS=nsv-tandem-nsk$UNAME_RELEASE 151749bee38cSmrg ;; 151881676fe2Smrg NSX-*:NONSTOP_KERNEL:*:*) 151949bee38cSmrg GUESS=nsx-tandem-nsk$UNAME_RELEASE 152049bee38cSmrg ;; 1521fc89c0fbSmrg *:NonStop-UX:*:*) 152249bee38cSmrg GUESS=mips-compaq-nonstopux 152349bee38cSmrg ;; 1524fc89c0fbSmrg BS2000:POSIX*:*:*) 152549bee38cSmrg GUESS=bs2000-siemens-sysv 152649bee38cSmrg ;; 1527fc89c0fbSmrg DS/*:UNIX_System_V:*:*) 152849bee38cSmrg GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE 152949bee38cSmrg ;; 1530fc89c0fbSmrg *:Plan9:*:*) 1531fc89c0fbSmrg # "uname -m" is not consistent, so use $cputype instead. 386 1532fc89c0fbSmrg # is converted to i386 for consistency with other x86 1533fc89c0fbSmrg # operating systems. 153449bee38cSmrg if test "${cputype-}" = 386; then 1535fc89c0fbSmrg UNAME_MACHINE=i386 153649bee38cSmrg elif test "x${cputype-}" != x; then 153749bee38cSmrg UNAME_MACHINE=$cputype 1538fc89c0fbSmrg fi 153949bee38cSmrg GUESS=$UNAME_MACHINE-unknown-plan9 154049bee38cSmrg ;; 1541fc89c0fbSmrg *:TOPS-10:*:*) 154249bee38cSmrg GUESS=pdp10-unknown-tops10 154349bee38cSmrg ;; 1544fc89c0fbSmrg *:TENEX:*:*) 154549bee38cSmrg GUESS=pdp10-unknown-tenex 154649bee38cSmrg ;; 1547fc89c0fbSmrg KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 154849bee38cSmrg GUESS=pdp10-dec-tops20 154949bee38cSmrg ;; 1550fc89c0fbSmrg XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 155149bee38cSmrg GUESS=pdp10-xkl-tops20 155249bee38cSmrg ;; 1553fc89c0fbSmrg *:TOPS-20:*:*) 155449bee38cSmrg GUESS=pdp10-unknown-tops20 155549bee38cSmrg ;; 1556fc89c0fbSmrg *:ITS:*:*) 155749bee38cSmrg GUESS=pdp10-unknown-its 155849bee38cSmrg ;; 1559fc89c0fbSmrg SEI:*:*:SEIUX) 156049bee38cSmrg GUESS=mips-sei-seiux$UNAME_RELEASE 156149bee38cSmrg ;; 1562fc89c0fbSmrg *:DragonFly:*:*) 156349bee38cSmrg DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` 156449bee38cSmrg GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL 156549bee38cSmrg ;; 1566fc89c0fbSmrg *:*VMS:*:*) 1567576bbdfcSmrg UNAME_MACHINE=`(uname -p) 2>/dev/null` 156849bee38cSmrg case $UNAME_MACHINE in 156949bee38cSmrg A*) GUESS=alpha-dec-vms ;; 157049bee38cSmrg I*) GUESS=ia64-dec-vms ;; 157149bee38cSmrg V*) GUESS=vax-dec-vms ;; 1572fc89c0fbSmrg esac ;; 1573fc89c0fbSmrg *:XENIX:*:SysV) 157449bee38cSmrg GUESS=i386-pc-xenix 157549bee38cSmrg ;; 1576fc89c0fbSmrg i*86:skyos:*:*) 157749bee38cSmrg SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` 157849bee38cSmrg GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL 157949bee38cSmrg ;; 1580fc89c0fbSmrg i*86:rdos:*:*) 158149bee38cSmrg GUESS=$UNAME_MACHINE-pc-rdos 158249bee38cSmrg ;; 1583c8df0c59Smrg i*86:Fiwix:*:*) 1584c8df0c59Smrg GUESS=$UNAME_MACHINE-pc-fiwix 1585c8df0c59Smrg ;; 158649bee38cSmrg *:AROS:*:*) 158749bee38cSmrg GUESS=$UNAME_MACHINE-unknown-aros 158849bee38cSmrg ;; 1589576bbdfcSmrg x86_64:VMkernel:*:*) 159049bee38cSmrg GUESS=$UNAME_MACHINE-unknown-esx 159149bee38cSmrg ;; 159281676fe2Smrg amd64:Isilon\ OneFS:*:*) 159349bee38cSmrg GUESS=x86_64-unknown-onefs 159449bee38cSmrg ;; 159549bee38cSmrg *:Unleashed:*:*) 159649bee38cSmrg GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE 159749bee38cSmrg ;; 1598c8df0c59Smrg *:Ironclad:*:*) 1599c8df0c59Smrg GUESS=$UNAME_MACHINE-unknown-ironclad 1600c8df0c59Smrg ;; 1601fc89c0fbSmrgesac 1602fc89c0fbSmrg 160349bee38cSmrg# Do we have a guess based on uname results? 160449bee38cSmrgif test "x$GUESS" != x; then 160549bee38cSmrg echo "$GUESS" 160649bee38cSmrg exit 160749bee38cSmrgfi 160849bee38cSmrg 160949bee38cSmrg# No uname command or uname output not recognized. 161049bee38cSmrgset_cc_for_build 161149bee38cSmrgcat > "$dummy.c" <<EOF 161249bee38cSmrg#ifdef _SEQUENT_ 161349bee38cSmrg#include <sys/types.h> 161449bee38cSmrg#include <sys/utsname.h> 161549bee38cSmrg#endif 161649bee38cSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 161749bee38cSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 161849bee38cSmrg#include <signal.h> 161949bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 162049bee38cSmrg#include <sys/utsname.h> 162149bee38cSmrg#endif 162249bee38cSmrg#endif 162349bee38cSmrg#endif 162449bee38cSmrgmain () 162549bee38cSmrg{ 162649bee38cSmrg#if defined (sony) 162749bee38cSmrg#if defined (MIPSEB) 162849bee38cSmrg /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, 162949bee38cSmrg I don't know.... */ 163049bee38cSmrg printf ("mips-sony-bsd\n"); exit (0); 163149bee38cSmrg#else 163249bee38cSmrg#include <sys/param.h> 163349bee38cSmrg printf ("m68k-sony-newsos%s\n", 163449bee38cSmrg#ifdef NEWSOS4 163549bee38cSmrg "4" 163649bee38cSmrg#else 163749bee38cSmrg "" 163849bee38cSmrg#endif 163949bee38cSmrg ); exit (0); 164049bee38cSmrg#endif 164149bee38cSmrg#endif 164249bee38cSmrg 164349bee38cSmrg#if defined (NeXT) 164449bee38cSmrg#if !defined (__ARCHITECTURE__) 164549bee38cSmrg#define __ARCHITECTURE__ "m68k" 164649bee38cSmrg#endif 164749bee38cSmrg int version; 164849bee38cSmrg version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; 164949bee38cSmrg if (version < 4) 165049bee38cSmrg printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); 165149bee38cSmrg else 165249bee38cSmrg printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); 165349bee38cSmrg exit (0); 165449bee38cSmrg#endif 165549bee38cSmrg 165649bee38cSmrg#if defined (MULTIMAX) || defined (n16) 165749bee38cSmrg#if defined (UMAXV) 165849bee38cSmrg printf ("ns32k-encore-sysv\n"); exit (0); 165949bee38cSmrg#else 166049bee38cSmrg#if defined (CMU) 166149bee38cSmrg printf ("ns32k-encore-mach\n"); exit (0); 166249bee38cSmrg#else 166349bee38cSmrg printf ("ns32k-encore-bsd\n"); exit (0); 166449bee38cSmrg#endif 166549bee38cSmrg#endif 166649bee38cSmrg#endif 166749bee38cSmrg 166849bee38cSmrg#if defined (__386BSD__) 166949bee38cSmrg printf ("i386-pc-bsd\n"); exit (0); 167049bee38cSmrg#endif 167149bee38cSmrg 167249bee38cSmrg#if defined (sequent) 167349bee38cSmrg#if defined (i386) 167449bee38cSmrg printf ("i386-sequent-dynix\n"); exit (0); 167549bee38cSmrg#endif 167649bee38cSmrg#if defined (ns32000) 167749bee38cSmrg printf ("ns32k-sequent-dynix\n"); exit (0); 167849bee38cSmrg#endif 167949bee38cSmrg#endif 168049bee38cSmrg 168149bee38cSmrg#if defined (_SEQUENT_) 168249bee38cSmrg struct utsname un; 168349bee38cSmrg 168449bee38cSmrg uname(&un); 168549bee38cSmrg if (strncmp(un.version, "V2", 2) == 0) { 168649bee38cSmrg printf ("i386-sequent-ptx2\n"); exit (0); 168749bee38cSmrg } 168849bee38cSmrg if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ 168949bee38cSmrg printf ("i386-sequent-ptx1\n"); exit (0); 169049bee38cSmrg } 169149bee38cSmrg printf ("i386-sequent-ptx\n"); exit (0); 169249bee38cSmrg#endif 169349bee38cSmrg 169449bee38cSmrg#if defined (vax) 169549bee38cSmrg#if !defined (ultrix) 169649bee38cSmrg#include <sys/param.h> 169749bee38cSmrg#if defined (BSD) 169849bee38cSmrg#if BSD == 43 169949bee38cSmrg printf ("vax-dec-bsd4.3\n"); exit (0); 170049bee38cSmrg#else 170149bee38cSmrg#if BSD == 199006 170249bee38cSmrg printf ("vax-dec-bsd4.3reno\n"); exit (0); 170349bee38cSmrg#else 170449bee38cSmrg printf ("vax-dec-bsd\n"); exit (0); 170549bee38cSmrg#endif 170649bee38cSmrg#endif 170749bee38cSmrg#else 170849bee38cSmrg printf ("vax-dec-bsd\n"); exit (0); 170949bee38cSmrg#endif 171049bee38cSmrg#else 171149bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 171249bee38cSmrg struct utsname un; 171349bee38cSmrg uname (&un); 171449bee38cSmrg printf ("vax-dec-ultrix%s\n", un.release); exit (0); 171549bee38cSmrg#else 171649bee38cSmrg printf ("vax-dec-ultrix\n"); exit (0); 171749bee38cSmrg#endif 171849bee38cSmrg#endif 171949bee38cSmrg#endif 172049bee38cSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) 172149bee38cSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) 172249bee38cSmrg#if defined(_SIZE_T_) || defined(SIGLOST) 172349bee38cSmrg struct utsname *un; 172449bee38cSmrg uname (&un); 172549bee38cSmrg printf ("mips-dec-ultrix%s\n", un.release); exit (0); 172649bee38cSmrg#else 172749bee38cSmrg printf ("mips-dec-ultrix\n"); exit (0); 172849bee38cSmrg#endif 172949bee38cSmrg#endif 173049bee38cSmrg#endif 173149bee38cSmrg 173249bee38cSmrg#if defined (alliant) && defined (i860) 173349bee38cSmrg printf ("i860-alliant-bsd\n"); exit (0); 173449bee38cSmrg#endif 173549bee38cSmrg 173649bee38cSmrg exit (1); 173749bee38cSmrg} 173849bee38cSmrgEOF 173949bee38cSmrg 174049bee38cSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && 174149bee38cSmrg { echo "$SYSTEM_NAME"; exit; } 174249bee38cSmrg 174349bee38cSmrg# Apollos put the system type in the environment. 174449bee38cSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } 174549bee38cSmrg 174681676fe2Smrgecho "$0: unable to guess system type" >&2 1747fc89c0fbSmrg 174849bee38cSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in 174981676fe2Smrg mips:Linux | mips64:Linux) 175081676fe2Smrg # If we got here on MIPS GNU/Linux, output extra information. 175181676fe2Smrg cat >&2 <<EOF 1752fc89c0fbSmrg 175381676fe2SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize 175481676fe2Smrgthe system type. Please install a C compiler and try again. 1755fc89c0fbSmrgEOF 175681676fe2Smrg ;; 175781676fe2Smrgesac 1758fc89c0fbSmrg 1759fc89c0fbSmrgcat >&2 <<EOF 1760fc89c0fbSmrg 176181676fe2SmrgThis script (version $timestamp), has failed to recognize the 176281676fe2Smrgoperating system you are using. If your script is old, overwrite *all* 176381676fe2Smrgcopies of config.guess and config.sub with the latest versions from: 1764fc89c0fbSmrg 176549bee38cSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.guess 1766fc89c0fbSmrgand 176749bee38cSmrg https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 176849bee38cSmrgEOF 176949bee38cSmrg 177049bee38cSmrgour_year=`echo $timestamp | sed 's,-.*,,'` 177149bee38cSmrgthisyear=`date +%Y` 177249bee38cSmrg# shellcheck disable=SC2003 177349bee38cSmrgscript_age=`expr "$thisyear" - "$our_year"` 177449bee38cSmrgif test "$script_age" -lt 3 ; then 177549bee38cSmrg cat >&2 <<EOF 1776fc89c0fbSmrg 177781676fe2SmrgIf $0 has already been updated, send the following data and any 177881676fe2Smrginformation you think might be pertinent to config-patches@gnu.org to 177981676fe2Smrgprovide the necessary information to handle your system. 1780fc89c0fbSmrg 1781fc89c0fbSmrgconfig.guess timestamp = $timestamp 1782fc89c0fbSmrg 1783fc89c0fbSmrguname -m = `(uname -m) 2>/dev/null || echo unknown` 1784fc89c0fbSmrguname -r = `(uname -r) 2>/dev/null || echo unknown` 1785fc89c0fbSmrguname -s = `(uname -s) 2>/dev/null || echo unknown` 1786fc89c0fbSmrguname -v = `(uname -v) 2>/dev/null || echo unknown` 1787fc89c0fbSmrg 1788fc89c0fbSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` 1789fc89c0fbSmrg/bin/uname -X = `(/bin/uname -X) 2>/dev/null` 1790fc89c0fbSmrg 1791fc89c0fbSmrghostinfo = `(hostinfo) 2>/dev/null` 1792fc89c0fbSmrg/bin/universe = `(/bin/universe) 2>/dev/null` 1793fc89c0fbSmrg/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` 1794fc89c0fbSmrg/bin/arch = `(/bin/arch) 2>/dev/null` 1795fc89c0fbSmrg/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` 1796fc89c0fbSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` 1797fc89c0fbSmrg 179881676fe2SmrgUNAME_MACHINE = "$UNAME_MACHINE" 179981676fe2SmrgUNAME_RELEASE = "$UNAME_RELEASE" 180081676fe2SmrgUNAME_SYSTEM = "$UNAME_SYSTEM" 180181676fe2SmrgUNAME_VERSION = "$UNAME_VERSION" 1802fc89c0fbSmrgEOF 180349bee38cSmrgfi 1804fc89c0fbSmrg 1805fc89c0fbSmrgexit 1 1806fc89c0fbSmrg 1807fc89c0fbSmrg# Local variables: 180849bee38cSmrg# eval: (add-hook 'before-save-hook 'time-stamp) 1809fc89c0fbSmrg# time-stamp-start: "timestamp='" 1810fc89c0fbSmrg# time-stamp-format: "%:y-%02m-%02d" 1811fc89c0fbSmrg# time-stamp-end: "'" 1812fc89c0fbSmrg# End: 1813