125dbecb6Smrg#!/usr/bin/sh
26df26cacSmrg# Attempt to guess a canonical system name.
325dbecb6Smrg#   Copyright 1992-2022 Free Software Foundation, Inc.
46df26cacSmrg
525dbecb6Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale
625dbecb6Smrg
725dbecb6Smrgtimestamp='2022-05-25'
86df26cacSmrg
96df26cacSmrg# This file is free software; you can redistribute it and/or modify it
106df26cacSmrg# under the terms of the GNU General Public License as published by
1125dbecb6Smrg# the Free Software Foundation, either version 3 of the License, or
126df26cacSmrg# (at your option) any later version.
136df26cacSmrg#
146df26cacSmrg# This program is distributed in the hope that it will be useful, but
156df26cacSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
166df26cacSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
176df26cacSmrg# General Public License for more details.
186df26cacSmrg#
196df26cacSmrg# You should have received a copy of the GNU General Public License
2025dbecb6Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
216df26cacSmrg#
226df26cacSmrg# As a special exception to the GNU General Public License, if you
236df26cacSmrg# distribute this file as part of a program that contains a
246df26cacSmrg# configuration script generated by Autoconf, you may include it under
2525dbecb6Smrg# the same distribution terms that you use for the rest of that
2625dbecb6Smrg# program.  This Exception is an additional permission under section 7
2725dbecb6Smrg# of the GNU General Public License, version 3 ("GPLv3").
2825dbecb6Smrg#
2925dbecb6Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
306df26cacSmrg#
3125dbecb6Smrg# You can get the latest version of this script from:
3225dbecb6Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
336df26cacSmrg#
3425dbecb6Smrg# Please send patches to <config-patches@gnu.org>.
3525dbecb6Smrg
3625dbecb6Smrg
3725dbecb6Smrg# The "shellcheck disable" line above the timestamp inhibits complaints
3825dbecb6Smrg# about features and limitations of the classic Bourne shell that were
3925dbecb6Smrg# superseded or lifted in POSIX.  However, this script identifies a wide
4025dbecb6Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
4125dbecb6Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still
4225dbecb6Smrg# have a pre-POSIX /bin/sh.
4325dbecb6Smrg
446df26cacSmrg
456df26cacSmrgme=`echo "$0" | sed -e 's,.*/,,'`
466df26cacSmrg
476df26cacSmrgusage="\
486df26cacSmrgUsage: $0 [OPTION]
496df26cacSmrg
506df26cacSmrgOutput the configuration name of the system \`$me' is run on.
516df26cacSmrg
5225dbecb6SmrgOptions:
536df26cacSmrg  -h, --help         print this help, then exit
546df26cacSmrg  -t, --time-stamp   print date of last modification, then exit
556df26cacSmrg  -v, --version      print version number, then exit
566df26cacSmrg
576df26cacSmrgReport bugs and patches to <config-patches@gnu.org>."
586df26cacSmrg
596df26cacSmrgversion="\
606df26cacSmrgGNU config.guess ($timestamp)
616df26cacSmrg
626df26cacSmrgOriginally written by Per Bothner.
6325dbecb6SmrgCopyright 1992-2022 Free Software Foundation, Inc.
646df26cacSmrg
656df26cacSmrgThis is free software; see the source for copying conditions.  There is NO
666df26cacSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
676df26cacSmrg
686df26cacSmrghelp="
696df26cacSmrgTry \`$me --help' for more information."
706df26cacSmrg
716df26cacSmrg# Parse command line
726df26cacSmrgwhile test $# -gt 0 ; do
736df26cacSmrg  case $1 in
746df26cacSmrg    --time-stamp | --time* | -t )
756df26cacSmrg       echo "$timestamp" ; exit ;;
766df26cacSmrg    --version | -v )
776df26cacSmrg       echo "$version" ; exit ;;
786df26cacSmrg    --help | --h* | -h )
796df26cacSmrg       echo "$usage"; exit ;;
806df26cacSmrg    -- )     # Stop option processing
816df26cacSmrg       shift; break ;;
826df26cacSmrg    - )	# Use stdin as input.
836df26cacSmrg       break ;;
846df26cacSmrg    -* )
856df26cacSmrg       echo "$me: invalid option $1$help" >&2
866df26cacSmrg       exit 1 ;;
876df26cacSmrg    * )
886df26cacSmrg       break ;;
896df26cacSmrg  esac
906df26cacSmrgdone
916df26cacSmrg
926df26cacSmrgif test $# != 0; then
936df26cacSmrg  echo "$me: too many arguments$help" >&2
946df26cacSmrg  exit 1
956df26cacSmrgfi
966df26cacSmrg
9725dbecb6Smrg# Just in case it came from the environment.
9825dbecb6SmrgGUESS=
996df26cacSmrg
1006df26cacSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
1016df26cacSmrg# compiler to aid in system detection is discouraged as it requires
1026df26cacSmrg# temporary files to be created and, as you can see below, it is a
1036df26cacSmrg# headache to deal with in a portable fashion.
1046df26cacSmrg
1056df26cacSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1066df26cacSmrg# use `HOST_CC' if defined, but it is deprecated.
1076df26cacSmrg
1086df26cacSmrg# Portable tmp directory creation inspired by the Autoconf team.
1096df26cacSmrg
11025dbecb6Smrgtmp=
11125dbecb6Smrg# shellcheck disable=SC2172
11225dbecb6Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
11325dbecb6Smrg
11425dbecb6Smrgset_cc_for_build() {
11525dbecb6Smrg    # prevent multiple calls if $tmp is already set
11625dbecb6Smrg    test "$tmp" && return 0
11725dbecb6Smrg    : "${TMPDIR=/tmp}"
11825dbecb6Smrg    # shellcheck disable=SC2039,SC3028
11925dbecb6Smrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
12025dbecb6Smrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
12125dbecb6Smrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
12225dbecb6Smrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
12325dbecb6Smrg    dummy=$tmp/dummy
12425dbecb6Smrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
12525dbecb6Smrg	,,)    echo "int x;" > "$dummy.c"
12625dbecb6Smrg	       for driver in cc gcc c89 c99 ; do
12725dbecb6Smrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
12825dbecb6Smrg		       CC_FOR_BUILD=$driver
12925dbecb6Smrg		       break
13025dbecb6Smrg		   fi
13125dbecb6Smrg	       done
13225dbecb6Smrg	       if test x"$CC_FOR_BUILD" = x ; then
13325dbecb6Smrg		   CC_FOR_BUILD=no_compiler_found
13425dbecb6Smrg	       fi
13525dbecb6Smrg	       ;;
13625dbecb6Smrg	,,*)   CC_FOR_BUILD=$CC ;;
13725dbecb6Smrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
13825dbecb6Smrg    esac
13925dbecb6Smrg}
1406df26cacSmrg
1416df26cacSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1426df26cacSmrg# (ghazi@noc.rutgers.edu 1994-08-24)
14325dbecb6Smrgif test -f /.attbin/uname ; then
1446df26cacSmrg	PATH=$PATH:/.attbin ; export PATH
1456df26cacSmrgfi
1466df26cacSmrg
1476df26cacSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1486df26cacSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
14925dbecb6SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
1506df26cacSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1516df26cacSmrg
15225dbecb6Smrgcase $UNAME_SYSTEM in
15325dbecb6SmrgLinux|GNU|GNU/*)
15425dbecb6Smrg	LIBC=unknown
15525dbecb6Smrg
15625dbecb6Smrg	set_cc_for_build
15725dbecb6Smrg	cat <<-EOF > "$dummy.c"
15825dbecb6Smrg	#include <features.h>
15925dbecb6Smrg	#if defined(__UCLIBC__)
16025dbecb6Smrg	LIBC=uclibc
16125dbecb6Smrg	#elif defined(__dietlibc__)
16225dbecb6Smrg	LIBC=dietlibc
16325dbecb6Smrg	#elif defined(__GLIBC__)
16425dbecb6Smrg	LIBC=gnu
16525dbecb6Smrg	#else
16625dbecb6Smrg	#include <stdarg.h>
16725dbecb6Smrg	/* First heuristic to detect musl libc.  */
16825dbecb6Smrg	#ifdef __DEFINED_va_list
16925dbecb6Smrg	LIBC=musl
17025dbecb6Smrg	#endif
17125dbecb6Smrg	#endif
17225dbecb6Smrg	EOF
17325dbecb6Smrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
17425dbecb6Smrg	eval "$cc_set_libc"
17525dbecb6Smrg
17625dbecb6Smrg	# Second heuristic to detect musl libc.
17725dbecb6Smrg	if [ "$LIBC" = unknown ] &&
17825dbecb6Smrg	   command -v ldd >/dev/null &&
17925dbecb6Smrg	   ldd --version 2>&1 | grep -q ^musl; then
18025dbecb6Smrg		LIBC=musl
18125dbecb6Smrg	fi
18225dbecb6Smrg
18325dbecb6Smrg	# If the system lacks a compiler, then just pick glibc.
18425dbecb6Smrg	# We could probably try harder.
18525dbecb6Smrg	if [ "$LIBC" = unknown ]; then
18625dbecb6Smrg		LIBC=gnu
18725dbecb6Smrg	fi
18825dbecb6Smrg	;;
18925dbecb6Smrgesac
19025dbecb6Smrg
1916df26cacSmrg# Note: order is significant - the case branches are not exclusive.
1926df26cacSmrg
19325dbecb6Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
1946df26cacSmrg    *:NetBSD:*:*)
1956df26cacSmrg	# NetBSD (nbsd) targets should (where applicable) match one or
19625dbecb6Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
1976df26cacSmrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1986df26cacSmrg	# switched to ELF, *-*-netbsd* would select the old
1996df26cacSmrg	# object file format.  This provides both forward
2006df26cacSmrg	# compatibility and a consistent mechanism for selecting the
2016df26cacSmrg	# object file format.
2026df26cacSmrg	#
2036df26cacSmrg	# Note: NetBSD doesn't particularly care about the vendor
2046df26cacSmrg	# portion of the name.  We always set it to "unknown".
20525dbecb6Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
20625dbecb6Smrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
20725dbecb6Smrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
20825dbecb6Smrg	    echo unknown)`
20925dbecb6Smrg	case $UNAME_MACHINE_ARCH in
21025dbecb6Smrg	    aarch64eb) machine=aarch64_be-unknown ;;
2116df26cacSmrg	    armeb) machine=armeb-unknown ;;
2126df26cacSmrg	    arm*) machine=arm-unknown ;;
2136df26cacSmrg	    sh3el) machine=shl-unknown ;;
2146df26cacSmrg	    sh3eb) machine=sh-unknown ;;
21516fd1166Smrg	    sh5el) machine=sh5le-unknown ;;
21625dbecb6Smrg	    earmv*)
21725dbecb6Smrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
21825dbecb6Smrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
21925dbecb6Smrg		machine=${arch}${endian}-unknown
22025dbecb6Smrg		;;
22125dbecb6Smrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
2226df26cacSmrg	esac
2236df26cacSmrg	# The Operating System including object format, if it has switched
22425dbecb6Smrg	# to ELF recently (or will in the future) and ABI.
22525dbecb6Smrg	case $UNAME_MACHINE_ARCH in
22625dbecb6Smrg	    earm*)
22725dbecb6Smrg		os=netbsdelf
22825dbecb6Smrg		;;
2296df26cacSmrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
23025dbecb6Smrg		set_cc_for_build
2316df26cacSmrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
23225dbecb6Smrg			| grep -q __ELF__
2336df26cacSmrg		then
2346df26cacSmrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
2356df26cacSmrg		    # Return netbsd for either.  FIX?
2366df26cacSmrg		    os=netbsd
2376df26cacSmrg		else
2386df26cacSmrg		    os=netbsdelf
2396df26cacSmrg		fi
2406df26cacSmrg		;;
2416df26cacSmrg	    *)
24225dbecb6Smrg		os=netbsd
24325dbecb6Smrg		;;
24425dbecb6Smrg	esac
24525dbecb6Smrg	# Determine ABI tags.
24625dbecb6Smrg	case $UNAME_MACHINE_ARCH in
24725dbecb6Smrg	    earm*)
24825dbecb6Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
24925dbecb6Smrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
2506df26cacSmrg		;;
2516df26cacSmrg	esac
2526df26cacSmrg	# The OS release
2536df26cacSmrg	# Debian GNU/NetBSD machines have a different userland, and
2546df26cacSmrg	# thus, need a distinct triplet. However, they do not need
2556df26cacSmrg	# kernel version information, so it can be replaced with a
2566df26cacSmrg	# suitable tag, in the style of linux-gnu.
25725dbecb6Smrg	case $UNAME_VERSION in
2586df26cacSmrg	    Debian*)
2596df26cacSmrg		release='-gnu'
2606df26cacSmrg		;;
2616df26cacSmrg	    *)
26225dbecb6Smrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
2636df26cacSmrg		;;
2646df26cacSmrg	esac
2656df26cacSmrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2666df26cacSmrg	# contains redundant information, the shorter form:
2676df26cacSmrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
26825dbecb6Smrg	GUESS=$machine-${os}${release}${abi-}
26925dbecb6Smrg	;;
27025dbecb6Smrg    *:Bitrig:*:*)
27125dbecb6Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
27225dbecb6Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
27325dbecb6Smrg	;;
2746df26cacSmrg    *:OpenBSD:*:*)
2756df26cacSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
27625dbecb6Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
27725dbecb6Smrg	;;
27825dbecb6Smrg    *:SecBSD:*:*)
27925dbecb6Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
28025dbecb6Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
28125dbecb6Smrg	;;
28225dbecb6Smrg    *:LibertyBSD:*:*)
28325dbecb6Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
28425dbecb6Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
28525dbecb6Smrg	;;
28625dbecb6Smrg    *:MidnightBSD:*:*)
28725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
28825dbecb6Smrg	;;
2896df26cacSmrg    *:ekkoBSD:*:*)
29025dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
29125dbecb6Smrg	;;
2926df26cacSmrg    *:SolidBSD:*:*)
29325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
29425dbecb6Smrg	;;
29525dbecb6Smrg    *:OS108:*:*)
29625dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
29725dbecb6Smrg	;;
2986df26cacSmrg    macppc:MirBSD:*:*)
29925dbecb6Smrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
30025dbecb6Smrg	;;
3016df26cacSmrg    *:MirBSD:*:*)
30225dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
30325dbecb6Smrg	;;
30425dbecb6Smrg    *:Sortix:*:*)
30525dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-sortix
30625dbecb6Smrg	;;
30725dbecb6Smrg    *:Twizzler:*:*)
30825dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-twizzler
30925dbecb6Smrg	;;
31025dbecb6Smrg    *:Redox:*:*)
31125dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-redox
31225dbecb6Smrg	;;
31325dbecb6Smrg    mips:OSF1:*.*)
31425dbecb6Smrg	GUESS=mips-dec-osf1
31525dbecb6Smrg	;;
3166df26cacSmrg    alpha:OSF1:*:*)
31725dbecb6Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
31825dbecb6Smrg	trap '' 0
3196df26cacSmrg	case $UNAME_RELEASE in
3206df26cacSmrg	*4.0)
3216df26cacSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
3226df26cacSmrg		;;
3236df26cacSmrg	*5.*)
32425dbecb6Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
3256df26cacSmrg		;;
3266df26cacSmrg	esac
3276df26cacSmrg	# According to Compaq, /usr/sbin/psrinfo has been available on
3286df26cacSmrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
3296df26cacSmrg	# covers most systems running today.  This code pipes the CPU
3306df26cacSmrg	# types through head -n 1, so we only detect the type of CPU 0.
3316df26cacSmrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
33225dbecb6Smrg	case $ALPHA_CPU_TYPE in
3336df26cacSmrg	    "EV4 (21064)")
33425dbecb6Smrg		UNAME_MACHINE=alpha ;;
3356df26cacSmrg	    "EV4.5 (21064)")
33625dbecb6Smrg		UNAME_MACHINE=alpha ;;
3376df26cacSmrg	    "LCA4 (21066/21068)")
33825dbecb6Smrg		UNAME_MACHINE=alpha ;;
3396df26cacSmrg	    "EV5 (21164)")
34025dbecb6Smrg		UNAME_MACHINE=alphaev5 ;;
3416df26cacSmrg	    "EV5.6 (21164A)")
34225dbecb6Smrg		UNAME_MACHINE=alphaev56 ;;
3436df26cacSmrg	    "EV5.6 (21164PC)")
34425dbecb6Smrg		UNAME_MACHINE=alphapca56 ;;
3456df26cacSmrg	    "EV5.7 (21164PC)")
34625dbecb6Smrg		UNAME_MACHINE=alphapca57 ;;
3476df26cacSmrg	    "EV6 (21264)")
34825dbecb6Smrg		UNAME_MACHINE=alphaev6 ;;
3496df26cacSmrg	    "EV6.7 (21264A)")
35025dbecb6Smrg		UNAME_MACHINE=alphaev67 ;;
3516df26cacSmrg	    "EV6.8CB (21264C)")
35225dbecb6Smrg		UNAME_MACHINE=alphaev68 ;;
3536df26cacSmrg	    "EV6.8AL (21264B)")
35425dbecb6Smrg		UNAME_MACHINE=alphaev68 ;;
3556df26cacSmrg	    "EV6.8CX (21264D)")
35625dbecb6Smrg		UNAME_MACHINE=alphaev68 ;;
3576df26cacSmrg	    "EV6.9A (21264/EV69A)")
35825dbecb6Smrg		UNAME_MACHINE=alphaev69 ;;
3596df26cacSmrg	    "EV7 (21364)")
36025dbecb6Smrg		UNAME_MACHINE=alphaev7 ;;
3616df26cacSmrg	    "EV7.9 (21364A)")
36225dbecb6Smrg		UNAME_MACHINE=alphaev79 ;;
3636df26cacSmrg	esac
3646df26cacSmrg	# A Pn.n version is a patched version.
3656df26cacSmrg	# A Vn.n version is a released version.
3666df26cacSmrg	# A Tn.n version is a released field test version.
3676df26cacSmrg	# A Xn.n version is an unreleased experimental baselevel.
3686df26cacSmrg	# 1.2 uses "1.2" for uname -r.
36925dbecb6Smrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
37025dbecb6Smrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
37125dbecb6Smrg	;;
3726df26cacSmrg    Amiga*:UNIX_System_V:4.0:*)
37325dbecb6Smrg	GUESS=m68k-unknown-sysv4
37425dbecb6Smrg	;;
3756df26cacSmrg    *:[Aa]miga[Oo][Ss]:*:*)
37625dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-amigaos
37725dbecb6Smrg	;;
3786df26cacSmrg    *:[Mm]orph[Oo][Ss]:*:*)
37925dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-morphos
38025dbecb6Smrg	;;
3816df26cacSmrg    *:OS/390:*:*)
38225dbecb6Smrg	GUESS=i370-ibm-openedition
38325dbecb6Smrg	;;
3846df26cacSmrg    *:z/VM:*:*)
38525dbecb6Smrg	GUESS=s390-ibm-zvmoe
38625dbecb6Smrg	;;
3876df26cacSmrg    *:OS400:*:*)
38825dbecb6Smrg	GUESS=powerpc-ibm-os400
38925dbecb6Smrg	;;
3906df26cacSmrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
39125dbecb6Smrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
39225dbecb6Smrg	;;
39325dbecb6Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
39425dbecb6Smrg	GUESS=arm-unknown-riscos
39525dbecb6Smrg	;;
3966df26cacSmrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
39725dbecb6Smrg	GUESS=hppa1.1-hitachi-hiuxmpp
39825dbecb6Smrg	;;
3996df26cacSmrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
4006df26cacSmrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
40125dbecb6Smrg	case `(/bin/universe) 2>/dev/null` in
40225dbecb6Smrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
40325dbecb6Smrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
40425dbecb6Smrg	esac
40525dbecb6Smrg	;;
4066df26cacSmrg    NILE*:*:*:dcosx)
40725dbecb6Smrg	GUESS=pyramid-pyramid-svr4
40825dbecb6Smrg	;;
4096df26cacSmrg    DRS?6000:unix:4.0:6*)
41025dbecb6Smrg	GUESS=sparc-icl-nx6
41125dbecb6Smrg	;;
4126df26cacSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
4136df26cacSmrg	case `/usr/bin/uname -p` in
41425dbecb6Smrg	    sparc) GUESS=sparc-icl-nx7 ;;
41525dbecb6Smrg	esac
41625dbecb6Smrg	;;
41725dbecb6Smrg    s390x:SunOS:*:*)
41825dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
41925dbecb6Smrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
42025dbecb6Smrg	;;
4216df26cacSmrg    sun4H:SunOS:5.*:*)
42225dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
42325dbecb6Smrg	GUESS=sparc-hal-solaris2$SUN_REL
42425dbecb6Smrg	;;
4256df26cacSmrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
42625dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
42725dbecb6Smrg	GUESS=sparc-sun-solaris2$SUN_REL
42825dbecb6Smrg	;;
42925dbecb6Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
43025dbecb6Smrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
43125dbecb6Smrg	;;
432b68e1f86Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
43325dbecb6Smrg	set_cc_for_build
43425dbecb6Smrg	SUN_ARCH=i386
43525dbecb6Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
43625dbecb6Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
43725dbecb6Smrg	# This test works for both compilers.
43825dbecb6Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
43925dbecb6Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
44025dbecb6Smrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
44125dbecb6Smrg		grep IS_64BIT_ARCH >/dev/null
44225dbecb6Smrg	    then
44325dbecb6Smrg		SUN_ARCH=x86_64
44425dbecb6Smrg	    fi
44525dbecb6Smrg	fi
44625dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
44725dbecb6Smrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
44825dbecb6Smrg	;;
4496df26cacSmrg    sun4*:SunOS:6*:*)
4506df26cacSmrg	# According to config.sub, this is the proper way to canonicalize
4516df26cacSmrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
4526df26cacSmrg	# it's likely to be more like Solaris than SunOS4.
45325dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
45425dbecb6Smrg	GUESS=sparc-sun-solaris3$SUN_REL
45525dbecb6Smrg	;;
4566df26cacSmrg    sun4*:SunOS:*:*)
45725dbecb6Smrg	case `/usr/bin/arch -k` in
4586df26cacSmrg	    Series*|S4*)
4596df26cacSmrg		UNAME_RELEASE=`uname -v`
4606df26cacSmrg		;;
4616df26cacSmrg	esac
4626df26cacSmrg	# Japanese Language versions have a version number like `4.1.3-JL'.
46325dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
46425dbecb6Smrg	GUESS=sparc-sun-sunos$SUN_REL
46525dbecb6Smrg	;;
4666df26cacSmrg    sun3*:SunOS:*:*)
46725dbecb6Smrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
46825dbecb6Smrg	;;
4696df26cacSmrg    sun*:*:4.2BSD:*)
4706df26cacSmrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
47125dbecb6Smrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
47225dbecb6Smrg	case `/bin/arch` in
4736df26cacSmrg	    sun3)
47425dbecb6Smrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
4756df26cacSmrg		;;
4766df26cacSmrg	    sun4)
47725dbecb6Smrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
4786df26cacSmrg		;;
4796df26cacSmrg	esac
48025dbecb6Smrg	;;
4816df26cacSmrg    aushp:SunOS:*:*)
48225dbecb6Smrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
48325dbecb6Smrg	;;
4846df26cacSmrg    # The situation for MiNT is a little confusing.  The machine name
4856df26cacSmrg    # can be virtually everything (everything which is not
4866df26cacSmrg    # "atarist" or "atariste" at least should have a processor
4876df26cacSmrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
4886df26cacSmrg    # to the lowercase version "mint" (or "freemint").  Finally
4896df26cacSmrg    # the system name "TOS" denotes a system which is actually not
4906df26cacSmrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
4916df26cacSmrg    # be no problem.
4926df26cacSmrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
49325dbecb6Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
49425dbecb6Smrg	;;
4956df26cacSmrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
49625dbecb6Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
49725dbecb6Smrg	;;
4986df26cacSmrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
49925dbecb6Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
50025dbecb6Smrg	;;
5016df26cacSmrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
50225dbecb6Smrg	GUESS=m68k-milan-mint$UNAME_RELEASE
50325dbecb6Smrg	;;
5046df26cacSmrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
50525dbecb6Smrg	GUESS=m68k-hades-mint$UNAME_RELEASE
50625dbecb6Smrg	;;
5076df26cacSmrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
50825dbecb6Smrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
50925dbecb6Smrg	;;
5106df26cacSmrg    m68k:machten:*:*)
51125dbecb6Smrg	GUESS=m68k-apple-machten$UNAME_RELEASE
51225dbecb6Smrg	;;
5136df26cacSmrg    powerpc:machten:*:*)
51425dbecb6Smrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
51525dbecb6Smrg	;;
5166df26cacSmrg    RISC*:Mach:*:*)
51725dbecb6Smrg	GUESS=mips-dec-mach_bsd4.3
51825dbecb6Smrg	;;
5196df26cacSmrg    RISC*:ULTRIX:*:*)
52025dbecb6Smrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
52125dbecb6Smrg	;;
5226df26cacSmrg    VAX*:ULTRIX*:*:*)
52325dbecb6Smrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
52425dbecb6Smrg	;;
5256df26cacSmrg    2020:CLIX:*:* | 2430:CLIX:*:*)
52625dbecb6Smrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
52725dbecb6Smrg	;;
5286df26cacSmrg    mips:*:*:UMIPS | mips:*:*:RISCos)
52925dbecb6Smrg	set_cc_for_build
53025dbecb6Smrg	sed 's/^	//' << EOF > "$dummy.c"
5316df26cacSmrg#ifdef __cplusplus
5326df26cacSmrg#include <stdio.h>  /* for printf() prototype */
5336df26cacSmrg	int main (int argc, char *argv[]) {
5346df26cacSmrg#else
5356df26cacSmrg	int main (argc, argv) int argc; char *argv[]; {
5366df26cacSmrg#endif
5376df26cacSmrg	#if defined (host_mips) && defined (MIPSEB)
5386df26cacSmrg	#if defined (SYSTYPE_SYSV)
53925dbecb6Smrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
5406df26cacSmrg	#endif
5416df26cacSmrg	#if defined (SYSTYPE_SVR4)
54225dbecb6Smrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
5436df26cacSmrg	#endif
5446df26cacSmrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
54525dbecb6Smrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
5466df26cacSmrg	#endif
5476df26cacSmrg	#endif
5486df26cacSmrg	  exit (-1);
5496df26cacSmrg	}
5506df26cacSmrgEOF
55125dbecb6Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
55225dbecb6Smrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
55325dbecb6Smrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5546df26cacSmrg	    { echo "$SYSTEM_NAME"; exit; }
55525dbecb6Smrg	GUESS=mips-mips-riscos$UNAME_RELEASE
55625dbecb6Smrg	;;
5576df26cacSmrg    Motorola:PowerMAX_OS:*:*)
55825dbecb6Smrg	GUESS=powerpc-motorola-powermax
55925dbecb6Smrg	;;
5606df26cacSmrg    Motorola:*:4.3:PL8-*)
56125dbecb6Smrg	GUESS=powerpc-harris-powermax
56225dbecb6Smrg	;;
5636df26cacSmrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
56425dbecb6Smrg	GUESS=powerpc-harris-powermax
56525dbecb6Smrg	;;
5666df26cacSmrg    Night_Hawk:Power_UNIX:*:*)
56725dbecb6Smrg	GUESS=powerpc-harris-powerunix
56825dbecb6Smrg	;;
5696df26cacSmrg    m88k:CX/UX:7*:*)
57025dbecb6Smrg	GUESS=m88k-harris-cxux7
57125dbecb6Smrg	;;
5726df26cacSmrg    m88k:*:4*:R4*)
57325dbecb6Smrg	GUESS=m88k-motorola-sysv4
57425dbecb6Smrg	;;
5756df26cacSmrg    m88k:*:3*:R3*)
57625dbecb6Smrg	GUESS=m88k-motorola-sysv3
57725dbecb6Smrg	;;
5786df26cacSmrg    AViiON:dgux:*:*)
57925dbecb6Smrg	# DG/UX returns AViiON for all architectures
58025dbecb6Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
58125dbecb6Smrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
5826df26cacSmrg	then
58325dbecb6Smrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
58425dbecb6Smrg	       test "$TARGET_BINARY_INTERFACE"x = x
5856df26cacSmrg	    then
58625dbecb6Smrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
5876df26cacSmrg	    else
58825dbecb6Smrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
5896df26cacSmrg	    fi
5906df26cacSmrg	else
59125dbecb6Smrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
5926df26cacSmrg	fi
59325dbecb6Smrg	;;
5946df26cacSmrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
59525dbecb6Smrg	GUESS=m88k-dolphin-sysv3
59625dbecb6Smrg	;;
5976df26cacSmrg    M88*:*:R3*:*)
5986df26cacSmrg	# Delta 88k system running SVR3
59925dbecb6Smrg	GUESS=m88k-motorola-sysv3
60025dbecb6Smrg	;;
6016df26cacSmrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
60225dbecb6Smrg	GUESS=m88k-tektronix-sysv3
60325dbecb6Smrg	;;
6046df26cacSmrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
60525dbecb6Smrg	GUESS=m68k-tektronix-bsd
60625dbecb6Smrg	;;
6076df26cacSmrg    *:IRIX*:*:*)
60825dbecb6Smrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
60925dbecb6Smrg	GUESS=mips-sgi-irix$IRIX_REL
61025dbecb6Smrg	;;
6116df26cacSmrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
61225dbecb6Smrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
61325dbecb6Smrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
6146df26cacSmrg    i*86:AIX:*:*)
61525dbecb6Smrg	GUESS=i386-ibm-aix
61625dbecb6Smrg	;;
6176df26cacSmrg    ia64:AIX:*:*)
61825dbecb6Smrg	if test -x /usr/bin/oslevel ; then
6196df26cacSmrg		IBM_REV=`/usr/bin/oslevel`
6206df26cacSmrg	else
62125dbecb6Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6226df26cacSmrg	fi
62325dbecb6Smrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
62425dbecb6Smrg	;;
6256df26cacSmrg    *:AIX:2:3)
6266df26cacSmrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
62725dbecb6Smrg		set_cc_for_build
62825dbecb6Smrg		sed 's/^		//' << EOF > "$dummy.c"
6296df26cacSmrg		#include <sys/systemcfg.h>
6306df26cacSmrg
6316df26cacSmrg		main()
6326df26cacSmrg			{
6336df26cacSmrg			if (!__power_pc())
6346df26cacSmrg				exit(1);
6356df26cacSmrg			puts("powerpc-ibm-aix3.2.5");
6366df26cacSmrg			exit(0);
6376df26cacSmrg			}
6386df26cacSmrgEOF
63925dbecb6Smrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6406df26cacSmrg		then
64125dbecb6Smrg			GUESS=$SYSTEM_NAME
6426df26cacSmrg		else
64325dbecb6Smrg			GUESS=rs6000-ibm-aix3.2.5
6446df26cacSmrg		fi
6456df26cacSmrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
64625dbecb6Smrg		GUESS=rs6000-ibm-aix3.2.4
6476df26cacSmrg	else
64825dbecb6Smrg		GUESS=rs6000-ibm-aix3.2
6496df26cacSmrg	fi
65025dbecb6Smrg	;;
65125dbecb6Smrg    *:AIX:*:[4567])
6526df26cacSmrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
65325dbecb6Smrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
6546df26cacSmrg		IBM_ARCH=rs6000
6556df26cacSmrg	else
6566df26cacSmrg		IBM_ARCH=powerpc
6576df26cacSmrg	fi
65825dbecb6Smrg	if test -x /usr/bin/lslpp ; then
65925dbecb6Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
66025dbecb6Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
6616df26cacSmrg	else
66225dbecb6Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6636df26cacSmrg	fi
66425dbecb6Smrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
66525dbecb6Smrg	;;
6666df26cacSmrg    *:AIX:*:*)
66725dbecb6Smrg	GUESS=rs6000-ibm-aix
66825dbecb6Smrg	;;
66925dbecb6Smrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
67025dbecb6Smrg	GUESS=romp-ibm-bsd4.4
67125dbecb6Smrg	;;
6726df26cacSmrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
67325dbecb6Smrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
67425dbecb6Smrg	;;                                  # report: romp-ibm BSD 4.3
6756df26cacSmrg    *:BOSX:*:*)
67625dbecb6Smrg	GUESS=rs6000-bull-bosx
67725dbecb6Smrg	;;
6786df26cacSmrg    DPX/2?00:B.O.S.:*:*)
67925dbecb6Smrg	GUESS=m68k-bull-sysv3
68025dbecb6Smrg	;;
6816df26cacSmrg    9000/[34]??:4.3bsd:1.*:*)
68225dbecb6Smrg	GUESS=m68k-hp-bsd
68325dbecb6Smrg	;;
6846df26cacSmrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
68525dbecb6Smrg	GUESS=m68k-hp-bsd4.4
68625dbecb6Smrg	;;
6876df26cacSmrg    9000/[34678]??:HP-UX:*:*)
68825dbecb6Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
68925dbecb6Smrg	case $UNAME_MACHINE in
69025dbecb6Smrg	    9000/31?)            HP_ARCH=m68000 ;;
69125dbecb6Smrg	    9000/[34]??)         HP_ARCH=m68k ;;
6926df26cacSmrg	    9000/[678][0-9][0-9])
69325dbecb6Smrg		if test -x /usr/bin/getconf; then
6946df26cacSmrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
69525dbecb6Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
69625dbecb6Smrg		    case $sc_cpu_version in
69725dbecb6Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
69825dbecb6Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
69925dbecb6Smrg		      532)                      # CPU_PA_RISC2_0
70025dbecb6Smrg			case $sc_kernel_bits in
70125dbecb6Smrg			  32) HP_ARCH=hppa2.0n ;;
70225dbecb6Smrg			  64) HP_ARCH=hppa2.0w ;;
70325dbecb6Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
70425dbecb6Smrg			esac ;;
70525dbecb6Smrg		    esac
7066df26cacSmrg		fi
70725dbecb6Smrg		if test "$HP_ARCH" = ""; then
70825dbecb6Smrg		    set_cc_for_build
70925dbecb6Smrg		    sed 's/^		//' << EOF > "$dummy.c"
71025dbecb6Smrg
71125dbecb6Smrg		#define _HPUX_SOURCE
71225dbecb6Smrg		#include <stdlib.h>
71325dbecb6Smrg		#include <unistd.h>
71425dbecb6Smrg
71525dbecb6Smrg		int main ()
71625dbecb6Smrg		{
71725dbecb6Smrg		#if defined(_SC_KERNEL_BITS)
71825dbecb6Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
71925dbecb6Smrg		#endif
72025dbecb6Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
72125dbecb6Smrg
72225dbecb6Smrg		    switch (cpu)
72325dbecb6Smrg			{
72425dbecb6Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
72525dbecb6Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
72625dbecb6Smrg			case CPU_PA_RISC2_0:
72725dbecb6Smrg		#if defined(_SC_KERNEL_BITS)
72825dbecb6Smrg			    switch (bits)
72925dbecb6Smrg				{
73025dbecb6Smrg				case 64: puts ("hppa2.0w"); break;
73125dbecb6Smrg				case 32: puts ("hppa2.0n"); break;
73225dbecb6Smrg				default: puts ("hppa2.0"); break;
73325dbecb6Smrg				} break;
73425dbecb6Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
73525dbecb6Smrg			    puts ("hppa2.0"); break;
73625dbecb6Smrg		#endif
73725dbecb6Smrg			default: puts ("hppa1.0"); break;
73825dbecb6Smrg			}
73925dbecb6Smrg		    exit (0);
74025dbecb6Smrg		}
7416df26cacSmrgEOF
74225dbecb6Smrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
7436df26cacSmrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
7446df26cacSmrg		fi ;;
7456df26cacSmrg	esac
74625dbecb6Smrg	if test "$HP_ARCH" = hppa2.0w
7476df26cacSmrg	then
74825dbecb6Smrg	    set_cc_for_build
7496df26cacSmrg
7506df26cacSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7516df26cacSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7526df26cacSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
7536df26cacSmrg	    #
7546df26cacSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
7556df26cacSmrg	    # => hppa2.0w-hp-hpux11.23
7566df26cacSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7576df26cacSmrg	    # => hppa64-hp-hpux11.23
7586df26cacSmrg
75925dbecb6Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
76025dbecb6Smrg		grep -q __LP64__
7616df26cacSmrg	    then
76225dbecb6Smrg		HP_ARCH=hppa2.0w
7636df26cacSmrg	    else
76425dbecb6Smrg		HP_ARCH=hppa64
7656df26cacSmrg	    fi
7666df26cacSmrg	fi
76725dbecb6Smrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
76825dbecb6Smrg	;;
7696df26cacSmrg    ia64:HP-UX:*:*)
77025dbecb6Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
77125dbecb6Smrg	GUESS=ia64-hp-hpux$HPUX_REV
77225dbecb6Smrg	;;
7736df26cacSmrg    3050*:HI-UX:*:*)
77425dbecb6Smrg	set_cc_for_build
77525dbecb6Smrg	sed 's/^	//' << EOF > "$dummy.c"
7766df26cacSmrg	#include <unistd.h>
7776df26cacSmrg	int
7786df26cacSmrg	main ()
7796df26cacSmrg	{
7806df26cacSmrg	  long cpu = sysconf (_SC_CPU_VERSION);
7816df26cacSmrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7826df26cacSmrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7836df26cacSmrg	     results, however.  */
7846df26cacSmrg	  if (CPU_IS_PA_RISC (cpu))
7856df26cacSmrg	    {
7866df26cacSmrg	      switch (cpu)
7876df26cacSmrg		{
7886df26cacSmrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7896df26cacSmrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7906df26cacSmrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7916df26cacSmrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7926df26cacSmrg		}
7936df26cacSmrg	    }
7946df26cacSmrg	  else if (CPU_IS_HP_MC68K (cpu))
7956df26cacSmrg	    puts ("m68k-hitachi-hiuxwe2");
7966df26cacSmrg	  else puts ("unknown-hitachi-hiuxwe2");
7976df26cacSmrg	  exit (0);
7986df26cacSmrg	}
7996df26cacSmrgEOF
80025dbecb6Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
8016df26cacSmrg		{ echo "$SYSTEM_NAME"; exit; }
80225dbecb6Smrg	GUESS=unknown-hitachi-hiuxwe2
80325dbecb6Smrg	;;
80425dbecb6Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
80525dbecb6Smrg	GUESS=hppa1.1-hp-bsd
80625dbecb6Smrg	;;
8076df26cacSmrg    9000/8??:4.3bsd:*:*)
80825dbecb6Smrg	GUESS=hppa1.0-hp-bsd
80925dbecb6Smrg	;;
8106df26cacSmrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
81125dbecb6Smrg	GUESS=hppa1.0-hp-mpeix
81225dbecb6Smrg	;;
81325dbecb6Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
81425dbecb6Smrg	GUESS=hppa1.1-hp-osf
81525dbecb6Smrg	;;
8166df26cacSmrg    hp8??:OSF1:*:*)
81725dbecb6Smrg	GUESS=hppa1.0-hp-osf
81825dbecb6Smrg	;;
8196df26cacSmrg    i*86:OSF1:*:*)
82025dbecb6Smrg	if test -x /usr/sbin/sysversion ; then
82125dbecb6Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
8226df26cacSmrg	else
82325dbecb6Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1
8246df26cacSmrg	fi
82525dbecb6Smrg	;;
8266df26cacSmrg    parisc*:Lites*:*:*)
82725dbecb6Smrg	GUESS=hppa1.1-hp-lites
82825dbecb6Smrg	;;
8296df26cacSmrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
83025dbecb6Smrg	GUESS=c1-convex-bsd
83125dbecb6Smrg	;;
8326df26cacSmrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
8336df26cacSmrg	if getsysinfo -f scalar_acc
8346df26cacSmrg	then echo c32-convex-bsd
8356df26cacSmrg	else echo c2-convex-bsd
8366df26cacSmrg	fi
83725dbecb6Smrg	exit ;;
8386df26cacSmrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
83925dbecb6Smrg	GUESS=c34-convex-bsd
84025dbecb6Smrg	;;
8416df26cacSmrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
84225dbecb6Smrg	GUESS=c38-convex-bsd
84325dbecb6Smrg	;;
8446df26cacSmrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
84525dbecb6Smrg	GUESS=c4-convex-bsd
84625dbecb6Smrg	;;
8476df26cacSmrg    CRAY*Y-MP:*:*:*)
84825dbecb6Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
84925dbecb6Smrg	GUESS=ymp-cray-unicos$CRAY_REL
85025dbecb6Smrg	;;
8516df26cacSmrg    CRAY*[A-Z]90:*:*:*)
85225dbecb6Smrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
8536df26cacSmrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
8546df26cacSmrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
8556df26cacSmrg	      -e 's/\.[^.]*$/.X/'
8566df26cacSmrg	exit ;;
8576df26cacSmrg    CRAY*TS:*:*:*)
85825dbecb6Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
85925dbecb6Smrg	GUESS=t90-cray-unicos$CRAY_REL
86025dbecb6Smrg	;;
8616df26cacSmrg    CRAY*T3E:*:*:*)
86225dbecb6Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
86325dbecb6Smrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
86425dbecb6Smrg	;;
8656df26cacSmrg    CRAY*SV1:*:*:*)
86625dbecb6Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
86725dbecb6Smrg	GUESS=sv1-cray-unicos$CRAY_REL
86825dbecb6Smrg	;;
8696df26cacSmrg    *:UNICOS/mp:*:*)
87025dbecb6Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
87125dbecb6Smrg	GUESS=craynv-cray-unicosmp$CRAY_REL
87225dbecb6Smrg	;;
8736df26cacSmrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
87425dbecb6Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
87525dbecb6Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
87625dbecb6Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
87725dbecb6Smrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
87825dbecb6Smrg	;;
8796df26cacSmrg    5000:UNIX_System_V:4.*:*)
88025dbecb6Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
88125dbecb6Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
88225dbecb6Smrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
88325dbecb6Smrg	;;
8846df26cacSmrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
88525dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
88625dbecb6Smrg	;;
8876df26cacSmrg    sparc*:BSD/OS:*:*)
88825dbecb6Smrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
88925dbecb6Smrg	;;
8906df26cacSmrg    *:BSD/OS:*:*)
89125dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
89225dbecb6Smrg	;;
89325dbecb6Smrg    arm:FreeBSD:*:*)
89425dbecb6Smrg	UNAME_PROCESSOR=`uname -p`
89525dbecb6Smrg	set_cc_for_build
89625dbecb6Smrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
89725dbecb6Smrg	    | grep -q __ARM_PCS_VFP
89825dbecb6Smrg	then
89925dbecb6Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
90025dbecb6Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
90125dbecb6Smrg	else
90225dbecb6Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
90325dbecb6Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
90425dbecb6Smrg	fi
90525dbecb6Smrg	;;
9066df26cacSmrg    *:FreeBSD:*:*)
90725dbecb6Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
90825dbecb6Smrg	case $UNAME_PROCESSOR in
9096df26cacSmrg	    amd64)
91025dbecb6Smrg		UNAME_PROCESSOR=x86_64 ;;
91125dbecb6Smrg	    i386)
91225dbecb6Smrg		UNAME_PROCESSOR=i586 ;;
9136df26cacSmrg	esac
91425dbecb6Smrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
91525dbecb6Smrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
91625dbecb6Smrg	;;
9176df26cacSmrg    i*:CYGWIN*:*)
91825dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-cygwin
91925dbecb6Smrg	;;
92025dbecb6Smrg    *:MINGW64*:*)
92125dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-mingw64
92225dbecb6Smrg	;;
92316fd1166Smrg    *:MINGW*:*)
92425dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-mingw32
92525dbecb6Smrg	;;
92625dbecb6Smrg    *:MSYS*:*)
92725dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-msys
92825dbecb6Smrg	;;
9296df26cacSmrg    i*:PW*:*)
93025dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-pw32
93125dbecb6Smrg	;;
93225dbecb6Smrg    *:SerenityOS:*:*)
93325dbecb6Smrg        GUESS=$UNAME_MACHINE-pc-serenity
93425dbecb6Smrg        ;;
93525dbecb6Smrg    *:Interix*:*)
93625dbecb6Smrg	case $UNAME_MACHINE in
937b68e1f86Smrg	    x86)
93825dbecb6Smrg		GUESS=i586-pc-interix$UNAME_RELEASE
93925dbecb6Smrg		;;
94025dbecb6Smrg	    authenticamd | genuineintel | EM64T)
94125dbecb6Smrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
94225dbecb6Smrg		;;
943b68e1f86Smrg	    IA64)
94425dbecb6Smrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
94525dbecb6Smrg		;;
94616fd1166Smrg	esac ;;
9476df26cacSmrg    i*:UWIN*:*)
94825dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-uwin
94925dbecb6Smrg	;;
9506df26cacSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
95125dbecb6Smrg	GUESS=x86_64-pc-cygwin
95225dbecb6Smrg	;;
9536df26cacSmrg    prep*:SunOS:5.*:*)
95425dbecb6Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
95525dbecb6Smrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
95625dbecb6Smrg	;;
9576df26cacSmrg    *:GNU:*:*)
9586df26cacSmrg	# the GNU system
95925dbecb6Smrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
96025dbecb6Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
96125dbecb6Smrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
96225dbecb6Smrg	;;
9636df26cacSmrg    *:GNU/*:*:*)
9646df26cacSmrg	# other systems with GNU libc and userland
96525dbecb6Smrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
96625dbecb6Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
96725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
96825dbecb6Smrg	;;
96925dbecb6Smrg    *:Minix:*:*)
97025dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-minix
97125dbecb6Smrg	;;
97225dbecb6Smrg    aarch64:Linux:*:*)
97325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
97425dbecb6Smrg	;;
97525dbecb6Smrg    aarch64_be:Linux:*:*)
97625dbecb6Smrg	UNAME_MACHINE=aarch64_be
97725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
97825dbecb6Smrg	;;
97925dbecb6Smrg    alpha:Linux:*:*)
98025dbecb6Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
98125dbecb6Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
98225dbecb6Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
98325dbecb6Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
98425dbecb6Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
98525dbecb6Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
98625dbecb6Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
98725dbecb6Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
98825dbecb6Smrg	esac
98925dbecb6Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
99025dbecb6Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
99125dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
99225dbecb6Smrg	;;
99325dbecb6Smrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
99425dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
99525dbecb6Smrg	;;
9966df26cacSmrg    arm*:Linux:*:*)
99725dbecb6Smrg	set_cc_for_build
998b68e1f86Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
999b68e1f86Smrg	    | grep -q __ARM_EABI__
1000b68e1f86Smrg	then
100125dbecb6Smrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1002b68e1f86Smrg	else
100325dbecb6Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
100425dbecb6Smrg		| grep -q __ARM_PCS_VFP
100525dbecb6Smrg	    then
100625dbecb6Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
100725dbecb6Smrg	    else
100825dbecb6Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
100925dbecb6Smrg	    fi
1010b68e1f86Smrg	fi
101125dbecb6Smrg	;;
10126df26cacSmrg    avr32*:Linux:*:*)
101325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
101425dbecb6Smrg	;;
10156df26cacSmrg    cris:Linux:*:*)
101625dbecb6Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
101725dbecb6Smrg	;;
10186df26cacSmrg    crisv32:Linux:*:*)
101925dbecb6Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
102025dbecb6Smrg	;;
102125dbecb6Smrg    e2k:Linux:*:*)
102225dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102325dbecb6Smrg	;;
10246df26cacSmrg    frv:Linux:*:*)
102525dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102625dbecb6Smrg	;;
102725dbecb6Smrg    hexagon:Linux:*:*)
102825dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102925dbecb6Smrg	;;
103025dbecb6Smrg    i*86:Linux:*:*)
103125dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
103225dbecb6Smrg	;;
10336df26cacSmrg    ia64:Linux:*:*)
103425dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103525dbecb6Smrg	;;
103625dbecb6Smrg    k1om:Linux:*:*)
103725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103825dbecb6Smrg	;;
103925dbecb6Smrg    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
104025dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
104125dbecb6Smrg	;;
10426df26cacSmrg    m32r*:Linux:*:*)
104325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
104425dbecb6Smrg	;;
10456df26cacSmrg    m68*:Linux:*:*)
104625dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
104725dbecb6Smrg	;;
104825dbecb6Smrg    mips:Linux:*:* | mips64:Linux:*:*)
104925dbecb6Smrg	set_cc_for_build
105025dbecb6Smrg	IS_GLIBC=0
105125dbecb6Smrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
105225dbecb6Smrg	sed 's/^	//' << EOF > "$dummy.c"
1053a241306cSmrg	#undef CPU
105434a0776dSmrg	#undef mips
105534a0776dSmrg	#undef mipsel
105625dbecb6Smrg	#undef mips64
105725dbecb6Smrg	#undef mips64el
105825dbecb6Smrg	#if ${IS_GLIBC} && defined(_ABI64)
105925dbecb6Smrg	LIBCABI=gnuabi64
1060a241306cSmrg	#else
106125dbecb6Smrg	#if ${IS_GLIBC} && defined(_ABIN32)
106225dbecb6Smrg	LIBCABI=gnuabin32
1063a241306cSmrg	#else
106425dbecb6Smrg	LIBCABI=${LIBC}
1065a241306cSmrg	#endif
1066a241306cSmrg	#endif
106725dbecb6Smrg
106825dbecb6Smrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
106925dbecb6Smrg	CPU=mipsisa64r6
107025dbecb6Smrg	#else
107125dbecb6Smrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
107225dbecb6Smrg	CPU=mipsisa32r6
107325dbecb6Smrg	#else
107425dbecb6Smrg	#if defined(__mips64)
107525dbecb6Smrg	CPU=mips64
107625dbecb6Smrg	#else
107725dbecb6Smrg	CPU=mips
107825dbecb6Smrg	#endif
107925dbecb6Smrg	#endif
108025dbecb6Smrg	#endif
108125dbecb6Smrg
108234a0776dSmrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
108325dbecb6Smrg	MIPS_ENDIAN=el
108434a0776dSmrg	#else
108534a0776dSmrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
108625dbecb6Smrg	MIPS_ENDIAN=
108734a0776dSmrg	#else
108825dbecb6Smrg	MIPS_ENDIAN=
108934a0776dSmrg	#endif
109034a0776dSmrg	#endif
109134a0776dSmrgEOF
109225dbecb6Smrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
109325dbecb6Smrg	eval "$cc_set_vars"
109425dbecb6Smrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
109525dbecb6Smrg	;;
109625dbecb6Smrg    mips64el:Linux:*:*)
109725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
109825dbecb6Smrg	;;
109925dbecb6Smrg    openrisc*:Linux:*:*)
110025dbecb6Smrg	GUESS=or1k-unknown-linux-$LIBC
110125dbecb6Smrg	;;
110225dbecb6Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
110325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
110425dbecb6Smrg	;;
110525dbecb6Smrg    padre:Linux:*:*)
110625dbecb6Smrg	GUESS=sparc-unknown-linux-$LIBC
110725dbecb6Smrg	;;
110825dbecb6Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
110925dbecb6Smrg	GUESS=hppa64-unknown-linux-$LIBC
111025dbecb6Smrg	;;
11116df26cacSmrg    parisc:Linux:*:* | hppa:Linux:*:*)
11126df26cacSmrg	# Look for CPU level
11136df26cacSmrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
111425dbecb6Smrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
111525dbecb6Smrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
111625dbecb6Smrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
11176df26cacSmrg	esac
111825dbecb6Smrg	;;
111925dbecb6Smrg    ppc64:Linux:*:*)
112025dbecb6Smrg	GUESS=powerpc64-unknown-linux-$LIBC
112125dbecb6Smrg	;;
112225dbecb6Smrg    ppc:Linux:*:*)
112325dbecb6Smrg	GUESS=powerpc-unknown-linux-$LIBC
112425dbecb6Smrg	;;
112525dbecb6Smrg    ppc64le:Linux:*:*)
112625dbecb6Smrg	GUESS=powerpc64le-unknown-linux-$LIBC
112725dbecb6Smrg	;;
112825dbecb6Smrg    ppcle:Linux:*:*)
112925dbecb6Smrg	GUESS=powerpcle-unknown-linux-$LIBC
113025dbecb6Smrg	;;
113125dbecb6Smrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
113225dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
113325dbecb6Smrg	;;
11346df26cacSmrg    s390:Linux:*:* | s390x:Linux:*:*)
113525dbecb6Smrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
113625dbecb6Smrg	;;
11376df26cacSmrg    sh64*:Linux:*:*)
113825dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
113925dbecb6Smrg	;;
11406df26cacSmrg    sh*:Linux:*:*)
114125dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
114225dbecb6Smrg	;;
11436df26cacSmrg    sparc:Linux:*:* | sparc64:Linux:*:*)
114425dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
114525dbecb6Smrg	;;
114625dbecb6Smrg    tile*:Linux:*:*)
114725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
114825dbecb6Smrg	;;
11496df26cacSmrg    vax:Linux:*:*)
115025dbecb6Smrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
115125dbecb6Smrg	;;
11526df26cacSmrg    x86_64:Linux:*:*)
115325dbecb6Smrg	set_cc_for_build
115425dbecb6Smrg	CPU=$UNAME_MACHINE
115525dbecb6Smrg	LIBCABI=$LIBC
115625dbecb6Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
115725dbecb6Smrg	    ABI=64
115825dbecb6Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
115925dbecb6Smrg	    #ifdef __i386__
116025dbecb6Smrg	    ABI=x86
116125dbecb6Smrg	    #else
116225dbecb6Smrg	    #ifdef __ILP32__
116325dbecb6Smrg	    ABI=x32
116425dbecb6Smrg	    #endif
116525dbecb6Smrg	    #endif
116634a0776dSmrgEOF
116725dbecb6Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
116825dbecb6Smrg	    eval "$cc_set_abi"
116925dbecb6Smrg	    case $ABI in
117025dbecb6Smrg		x86) CPU=i686 ;;
117125dbecb6Smrg		x32) LIBCABI=${LIBC}x32 ;;
117225dbecb6Smrg	    esac
117325dbecb6Smrg	fi
117425dbecb6Smrg	GUESS=$CPU-pc-linux-$LIBCABI
117525dbecb6Smrg	;;
117625dbecb6Smrg    xtensa*:Linux:*:*)
117725dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
117834a0776dSmrg	;;
11796df26cacSmrg    i*86:DYNIX/ptx:4*:*)
11806df26cacSmrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
11816df26cacSmrg	# earlier versions are messed up and put the nodename in both
11826df26cacSmrg	# sysname and nodename.
118325dbecb6Smrg	GUESS=i386-sequent-sysv4
118425dbecb6Smrg	;;
11856df26cacSmrg    i*86:UNIX_SV:4.2MP:2.*)
118625dbecb6Smrg	# Unixware is an offshoot of SVR4, but it has its own version
118725dbecb6Smrg	# number series starting with 2...
118825dbecb6Smrg	# I am not positive that other SVR4 systems won't match this,
11896df26cacSmrg	# I just have to hope.  -- rms.
119025dbecb6Smrg	# Use sysv4.2uw... so that sysv4* matches it.
119125dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
119225dbecb6Smrg	;;
11936df26cacSmrg    i*86:OS/2:*:*)
11946df26cacSmrg	# If we were able to find `uname', then EMX Unix compatibility
11956df26cacSmrg	# is probably installed.
119625dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-os2-emx
119725dbecb6Smrg	;;
11986df26cacSmrg    i*86:XTS-300:*:STOP)
119925dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-stop
120025dbecb6Smrg	;;
12016df26cacSmrg    i*86:atheos:*:*)
120225dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-atheos
120325dbecb6Smrg	;;
12046df26cacSmrg    i*86:syllable:*:*)
120525dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-syllable
120625dbecb6Smrg	;;
120725dbecb6Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
120825dbecb6Smrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
120925dbecb6Smrg	;;
12106df26cacSmrg    i*86:*DOS:*:*)
121125dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
121225dbecb6Smrg	;;
121325dbecb6Smrg    i*86:*:4.*:*)
121425dbecb6Smrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
12156df26cacSmrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
121625dbecb6Smrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
12176df26cacSmrg	else
121825dbecb6Smrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
12196df26cacSmrg	fi
122025dbecb6Smrg	;;
12216df26cacSmrg    i*86:*:5:[678]*)
122225dbecb6Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
12236df26cacSmrg	case `/bin/uname -X | grep "^Machine"` in
12246df26cacSmrg	    *486*)	     UNAME_MACHINE=i486 ;;
12256df26cacSmrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
12266df26cacSmrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
12276df26cacSmrg	esac
122825dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
122925dbecb6Smrg	;;
12306df26cacSmrg    i*86:*:3.2:*)
12316df26cacSmrg	if test -f /usr/options/cb.name; then
12326df26cacSmrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
123325dbecb6Smrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
12346df26cacSmrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
12356df26cacSmrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
12366df26cacSmrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
12376df26cacSmrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
12386df26cacSmrg			&& UNAME_MACHINE=i586
12396df26cacSmrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
12406df26cacSmrg			&& UNAME_MACHINE=i686
12416df26cacSmrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
12426df26cacSmrg			&& UNAME_MACHINE=i686
124325dbecb6Smrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
12446df26cacSmrg	else
124525dbecb6Smrg		GUESS=$UNAME_MACHINE-pc-sysv32
12466df26cacSmrg	fi
124725dbecb6Smrg	;;
12486df26cacSmrg    pc:*:*:*)
12496df26cacSmrg	# Left here for compatibility:
125025dbecb6Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
125125dbecb6Smrg	# the processor, so we play safe by assuming i586.
125225dbecb6Smrg	# Note: whatever this is, it MUST be the same as what config.sub
125325dbecb6Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
125425dbecb6Smrg	# this is a cross-build.
125525dbecb6Smrg	GUESS=i586-pc-msdosdjgpp
125625dbecb6Smrg	;;
12576df26cacSmrg    Intel:Mach:3*:*)
125825dbecb6Smrg	GUESS=i386-pc-mach3
125925dbecb6Smrg	;;
12606df26cacSmrg    paragon:*:*:*)
126125dbecb6Smrg	GUESS=i860-intel-osf1
126225dbecb6Smrg	;;
12636df26cacSmrg    i860:*:4.*:*) # i860-SVR4
12646df26cacSmrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
126525dbecb6Smrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
12666df26cacSmrg	else # Add other i860-SVR4 vendors below as they are discovered.
126725dbecb6Smrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
12686df26cacSmrg	fi
126925dbecb6Smrg	;;
12706df26cacSmrg    mini*:CTIX:SYS*5:*)
12716df26cacSmrg	# "miniframe"
127225dbecb6Smrg	GUESS=m68010-convergent-sysv
127325dbecb6Smrg	;;
12746df26cacSmrg    mc68k:UNIX:SYSTEM5:3.51m)
127525dbecb6Smrg	GUESS=m68k-convergent-sysv
127625dbecb6Smrg	;;
12776df26cacSmrg    M680?0:D-NIX:5.3:*)
127825dbecb6Smrg	GUESS=m68k-diab-dnix
127925dbecb6Smrg	;;
12806df26cacSmrg    M68*:*:R3V[5678]*:*)
12816df26cacSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
12826df26cacSmrg    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)
12836df26cacSmrg	OS_REL=''
12846df26cacSmrg	test -r /etc/.relid \
12856df26cacSmrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
12866df26cacSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
128725dbecb6Smrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
12886df26cacSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
128925dbecb6Smrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
12906df26cacSmrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
129125dbecb6Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
129225dbecb6Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
129325dbecb6Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
129425dbecb6Smrg	OS_REL='.3'
129525dbecb6Smrg	test -r /etc/.relid \
129625dbecb6Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
129725dbecb6Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
129825dbecb6Smrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
129925dbecb6Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
130025dbecb6Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
130125dbecb6Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
130225dbecb6Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
13036df26cacSmrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
130425dbecb6Smrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
130525dbecb6Smrg	;;
13066df26cacSmrg    mc68030:UNIX_System_V:4.*:*)
130725dbecb6Smrg	GUESS=m68k-atari-sysv4
130825dbecb6Smrg	;;
13096df26cacSmrg    TSUNAMI:LynxOS:2.*:*)
131025dbecb6Smrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
131125dbecb6Smrg	;;
13126df26cacSmrg    rs6000:LynxOS:2.*:*)
131325dbecb6Smrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
131425dbecb6Smrg	;;
131525dbecb6Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
131625dbecb6Smrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
131725dbecb6Smrg	;;
13186df26cacSmrg    SM[BE]S:UNIX_SV:*:*)
131925dbecb6Smrg	GUESS=mips-dde-sysv$UNAME_RELEASE
132025dbecb6Smrg	;;
13216df26cacSmrg    RM*:ReliantUNIX-*:*:*)
132225dbecb6Smrg	GUESS=mips-sni-sysv4
132325dbecb6Smrg	;;
13246df26cacSmrg    RM*:SINIX-*:*:*)
132525dbecb6Smrg	GUESS=mips-sni-sysv4
132625dbecb6Smrg	;;
13276df26cacSmrg    *:SINIX-*:*:*)
13286df26cacSmrg	if uname -p 2>/dev/null >/dev/null ; then
13296df26cacSmrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
133025dbecb6Smrg		GUESS=$UNAME_MACHINE-sni-sysv4
13316df26cacSmrg	else
133225dbecb6Smrg		GUESS=ns32k-sni-sysv
13336df26cacSmrg	fi
133425dbecb6Smrg	;;
133525dbecb6Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
133625dbecb6Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
133725dbecb6Smrg	GUESS=i586-unisys-sysv4
133825dbecb6Smrg	;;
13396df26cacSmrg    *:UNIX_System_V:4*:FTX*)
13406df26cacSmrg	# From Gerald Hewes <hewes@openmarket.com>.
13416df26cacSmrg	# How about differentiating between stratus architectures? -djm
134225dbecb6Smrg	GUESS=hppa1.1-stratus-sysv4
134325dbecb6Smrg	;;
13446df26cacSmrg    *:*:*:FTX*)
13456df26cacSmrg	# From seanf@swdc.stratus.com.
134625dbecb6Smrg	GUESS=i860-stratus-sysv4
134725dbecb6Smrg	;;
13486df26cacSmrg    i*86:VOS:*:*)
13496df26cacSmrg	# From Paul.Green@stratus.com.
135025dbecb6Smrg	GUESS=$UNAME_MACHINE-stratus-vos
135125dbecb6Smrg	;;
13526df26cacSmrg    *:VOS:*:*)
13536df26cacSmrg	# From Paul.Green@stratus.com.
135425dbecb6Smrg	GUESS=hppa1.1-stratus-vos
135525dbecb6Smrg	;;
13566df26cacSmrg    mc68*:A/UX:*:*)
135725dbecb6Smrg	GUESS=m68k-apple-aux$UNAME_RELEASE
135825dbecb6Smrg	;;
13596df26cacSmrg    news*:NEWS-OS:6*:*)
136025dbecb6Smrg	GUESS=mips-sony-newsos6
136125dbecb6Smrg	;;
13626df26cacSmrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
136325dbecb6Smrg	if test -d /usr/nec; then
136425dbecb6Smrg		GUESS=mips-nec-sysv$UNAME_RELEASE
13656df26cacSmrg	else
136625dbecb6Smrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
13676df26cacSmrg	fi
136825dbecb6Smrg	;;
13696df26cacSmrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
137025dbecb6Smrg	GUESS=powerpc-be-beos
137125dbecb6Smrg	;;
13726df26cacSmrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
137325dbecb6Smrg	GUESS=powerpc-apple-beos
137425dbecb6Smrg	;;
13756df26cacSmrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
137625dbecb6Smrg	GUESS=i586-pc-beos
137725dbecb6Smrg	;;
137825dbecb6Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
137925dbecb6Smrg	GUESS=i586-pc-haiku
138025dbecb6Smrg	;;
138125dbecb6Smrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
138225dbecb6Smrg	GUESS=powerpc-apple-haiku
138325dbecb6Smrg	;;
138425dbecb6Smrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
138525dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-haiku
138625dbecb6Smrg	;;
13876df26cacSmrg    SX-4:SUPER-UX:*:*)
138825dbecb6Smrg	GUESS=sx4-nec-superux$UNAME_RELEASE
138925dbecb6Smrg	;;
13906df26cacSmrg    SX-5:SUPER-UX:*:*)
139125dbecb6Smrg	GUESS=sx5-nec-superux$UNAME_RELEASE
139225dbecb6Smrg	;;
13936df26cacSmrg    SX-6:SUPER-UX:*:*)
139425dbecb6Smrg	GUESS=sx6-nec-superux$UNAME_RELEASE
139525dbecb6Smrg	;;
139616fd1166Smrg    SX-7:SUPER-UX:*:*)
139725dbecb6Smrg	GUESS=sx7-nec-superux$UNAME_RELEASE
139825dbecb6Smrg	;;
139916fd1166Smrg    SX-8:SUPER-UX:*:*)
140025dbecb6Smrg	GUESS=sx8-nec-superux$UNAME_RELEASE
140125dbecb6Smrg	;;
140216fd1166Smrg    SX-8R:SUPER-UX:*:*)
140325dbecb6Smrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
140425dbecb6Smrg	;;
140525dbecb6Smrg    SX-ACE:SUPER-UX:*:*)
140625dbecb6Smrg	GUESS=sxace-nec-superux$UNAME_RELEASE
140725dbecb6Smrg	;;
14086df26cacSmrg    Power*:Rhapsody:*:*)
140925dbecb6Smrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
141025dbecb6Smrg	;;
14116df26cacSmrg    *:Rhapsody:*:*)
141225dbecb6Smrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
141325dbecb6Smrg	;;
141425dbecb6Smrg    arm64:Darwin:*:*)
141525dbecb6Smrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
141625dbecb6Smrg	;;
14176df26cacSmrg    *:Darwin:*:*)
141825dbecb6Smrg	UNAME_PROCESSOR=`uname -p`
14196df26cacSmrg	case $UNAME_PROCESSOR in
14206df26cacSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
14216df26cacSmrg	esac
142225dbecb6Smrg	if command -v xcode-select > /dev/null 2> /dev/null && \
142325dbecb6Smrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
142425dbecb6Smrg	    # Avoid executing cc if there is no toolchain installed as
142525dbecb6Smrg	    # cc will be a stub that puts up a graphical alert
142625dbecb6Smrg	    # prompting the user to install developer tools.
142725dbecb6Smrg	    CC_FOR_BUILD=no_compiler_found
142825dbecb6Smrg	else
142925dbecb6Smrg	    set_cc_for_build
143025dbecb6Smrg	fi
143125dbecb6Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
143225dbecb6Smrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
143325dbecb6Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
143425dbecb6Smrg		   grep IS_64BIT_ARCH >/dev/null
143525dbecb6Smrg	    then
143625dbecb6Smrg		case $UNAME_PROCESSOR in
143725dbecb6Smrg		    i386) UNAME_PROCESSOR=x86_64 ;;
143825dbecb6Smrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
143925dbecb6Smrg		esac
144025dbecb6Smrg	    fi
144125dbecb6Smrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
144225dbecb6Smrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
144325dbecb6Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
144425dbecb6Smrg		   grep IS_PPC >/dev/null
144525dbecb6Smrg	    then
144625dbecb6Smrg		UNAME_PROCESSOR=powerpc
144725dbecb6Smrg	    fi
144825dbecb6Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
144925dbecb6Smrg	    # uname -m returns i386 or x86_64
145025dbecb6Smrg	    UNAME_PROCESSOR=$UNAME_MACHINE
145125dbecb6Smrg	fi
145225dbecb6Smrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
145325dbecb6Smrg	;;
14546df26cacSmrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
14556df26cacSmrg	UNAME_PROCESSOR=`uname -p`
145625dbecb6Smrg	if test "$UNAME_PROCESSOR" = x86; then
14576df26cacSmrg		UNAME_PROCESSOR=i386
14586df26cacSmrg		UNAME_MACHINE=pc
14596df26cacSmrg	fi
146025dbecb6Smrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
146125dbecb6Smrg	;;
14626df26cacSmrg    *:QNX:*:4*)
146325dbecb6Smrg	GUESS=i386-pc-qnx
146425dbecb6Smrg	;;
146525dbecb6Smrg    NEO-*:NONSTOP_KERNEL:*:*)
146625dbecb6Smrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
146725dbecb6Smrg	;;
146825dbecb6Smrg    NSE-*:NONSTOP_KERNEL:*:*)
146925dbecb6Smrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
147025dbecb6Smrg	;;
147125dbecb6Smrg    NSR-*:NONSTOP_KERNEL:*:*)
147225dbecb6Smrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
147325dbecb6Smrg	;;
147425dbecb6Smrg    NSV-*:NONSTOP_KERNEL:*:*)
147525dbecb6Smrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
147625dbecb6Smrg	;;
147725dbecb6Smrg    NSX-*:NONSTOP_KERNEL:*:*)
147825dbecb6Smrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
147925dbecb6Smrg	;;
14806df26cacSmrg    *:NonStop-UX:*:*)
148125dbecb6Smrg	GUESS=mips-compaq-nonstopux
148225dbecb6Smrg	;;
14836df26cacSmrg    BS2000:POSIX*:*:*)
148425dbecb6Smrg	GUESS=bs2000-siemens-sysv
148525dbecb6Smrg	;;
14866df26cacSmrg    DS/*:UNIX_System_V:*:*)
148725dbecb6Smrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
148825dbecb6Smrg	;;
14896df26cacSmrg    *:Plan9:*:*)
14906df26cacSmrg	# "uname -m" is not consistent, so use $cputype instead. 386
14916df26cacSmrg	# is converted to i386 for consistency with other x86
14926df26cacSmrg	# operating systems.
149325dbecb6Smrg	if test "${cputype-}" = 386; then
14946df26cacSmrg	    UNAME_MACHINE=i386
149525dbecb6Smrg	elif test "x${cputype-}" != x; then
149625dbecb6Smrg	    UNAME_MACHINE=$cputype
14976df26cacSmrg	fi
149825dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-plan9
149925dbecb6Smrg	;;
15006df26cacSmrg    *:TOPS-10:*:*)
150125dbecb6Smrg	GUESS=pdp10-unknown-tops10
150225dbecb6Smrg	;;
15036df26cacSmrg    *:TENEX:*:*)
150425dbecb6Smrg	GUESS=pdp10-unknown-tenex
150525dbecb6Smrg	;;
15066df26cacSmrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
150725dbecb6Smrg	GUESS=pdp10-dec-tops20
150825dbecb6Smrg	;;
15096df26cacSmrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
151025dbecb6Smrg	GUESS=pdp10-xkl-tops20
151125dbecb6Smrg	;;
15126df26cacSmrg    *:TOPS-20:*:*)
151325dbecb6Smrg	GUESS=pdp10-unknown-tops20
151425dbecb6Smrg	;;
15156df26cacSmrg    *:ITS:*:*)
151625dbecb6Smrg	GUESS=pdp10-unknown-its
151725dbecb6Smrg	;;
15186df26cacSmrg    SEI:*:*:SEIUX)
151925dbecb6Smrg	GUESS=mips-sei-seiux$UNAME_RELEASE
152025dbecb6Smrg	;;
15216df26cacSmrg    *:DragonFly:*:*)
152225dbecb6Smrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
152325dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
152425dbecb6Smrg	;;
15256df26cacSmrg    *:*VMS:*:*)
152625dbecb6Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
152725dbecb6Smrg	case $UNAME_MACHINE in
152825dbecb6Smrg	    A*) GUESS=alpha-dec-vms ;;
152925dbecb6Smrg	    I*) GUESS=ia64-dec-vms ;;
153025dbecb6Smrg	    V*) GUESS=vax-dec-vms ;;
15316df26cacSmrg	esac ;;
15326df26cacSmrg    *:XENIX:*:SysV)
153325dbecb6Smrg	GUESS=i386-pc-xenix
153425dbecb6Smrg	;;
15356df26cacSmrg    i*86:skyos:*:*)
153625dbecb6Smrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
153725dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
153825dbecb6Smrg	;;
15396df26cacSmrg    i*86:rdos:*:*)
154025dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-rdos
154125dbecb6Smrg	;;
154225dbecb6Smrg    i*86:Fiwix:*:*)
154325dbecb6Smrg	GUESS=$UNAME_MACHINE-pc-fiwix
154425dbecb6Smrg	;;
154525dbecb6Smrg    *:AROS:*:*)
154625dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-aros
154725dbecb6Smrg	;;
154825dbecb6Smrg    x86_64:VMkernel:*:*)
154925dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-esx
155025dbecb6Smrg	;;
155125dbecb6Smrg    amd64:Isilon\ OneFS:*:*)
155225dbecb6Smrg	GUESS=x86_64-unknown-onefs
155325dbecb6Smrg	;;
155425dbecb6Smrg    *:Unleashed:*:*)
155525dbecb6Smrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
155625dbecb6Smrg	;;
15576df26cacSmrgesac
15586df26cacSmrg
155925dbecb6Smrg# Do we have a guess based on uname results?
156025dbecb6Smrgif test "x$GUESS" != x; then
156125dbecb6Smrg    echo "$GUESS"
156225dbecb6Smrg    exit
156325dbecb6Smrgfi
15646df26cacSmrg
156525dbecb6Smrg# No uname command or uname output not recognized.
156625dbecb6Smrgset_cc_for_build
156725dbecb6Smrgcat > "$dummy.c" <<EOF
15686df26cacSmrg#ifdef _SEQUENT_
156925dbecb6Smrg#include <sys/types.h>
157025dbecb6Smrg#include <sys/utsname.h>
157125dbecb6Smrg#endif
157225dbecb6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
157325dbecb6Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
157425dbecb6Smrg#include <signal.h>
157525dbecb6Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
157625dbecb6Smrg#include <sys/utsname.h>
157725dbecb6Smrg#endif
157825dbecb6Smrg#endif
15796df26cacSmrg#endif
15806df26cacSmrgmain ()
15816df26cacSmrg{
15826df26cacSmrg#if defined (sony)
15836df26cacSmrg#if defined (MIPSEB)
15846df26cacSmrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
15856df26cacSmrg     I don't know....  */
15866df26cacSmrg  printf ("mips-sony-bsd\n"); exit (0);
15876df26cacSmrg#else
15886df26cacSmrg#include <sys/param.h>
15896df26cacSmrg  printf ("m68k-sony-newsos%s\n",
15906df26cacSmrg#ifdef NEWSOS4
159125dbecb6Smrg  "4"
15926df26cacSmrg#else
159325dbecb6Smrg  ""
15946df26cacSmrg#endif
159525dbecb6Smrg  ); exit (0);
15966df26cacSmrg#endif
15976df26cacSmrg#endif
15986df26cacSmrg
15996df26cacSmrg#if defined (NeXT)
16006df26cacSmrg#if !defined (__ARCHITECTURE__)
16016df26cacSmrg#define __ARCHITECTURE__ "m68k"
16026df26cacSmrg#endif
16036df26cacSmrg  int version;
16046df26cacSmrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
16056df26cacSmrg  if (version < 4)
16066df26cacSmrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
16076df26cacSmrg  else
16086df26cacSmrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
16096df26cacSmrg  exit (0);
16106df26cacSmrg#endif
16116df26cacSmrg
16126df26cacSmrg#if defined (MULTIMAX) || defined (n16)
16136df26cacSmrg#if defined (UMAXV)
16146df26cacSmrg  printf ("ns32k-encore-sysv\n"); exit (0);
16156df26cacSmrg#else
16166df26cacSmrg#if defined (CMU)
16176df26cacSmrg  printf ("ns32k-encore-mach\n"); exit (0);
16186df26cacSmrg#else
16196df26cacSmrg  printf ("ns32k-encore-bsd\n"); exit (0);
16206df26cacSmrg#endif
16216df26cacSmrg#endif
16226df26cacSmrg#endif
16236df26cacSmrg
16246df26cacSmrg#if defined (__386BSD__)
16256df26cacSmrg  printf ("i386-pc-bsd\n"); exit (0);
16266df26cacSmrg#endif
16276df26cacSmrg
16286df26cacSmrg#if defined (sequent)
16296df26cacSmrg#if defined (i386)
16306df26cacSmrg  printf ("i386-sequent-dynix\n"); exit (0);
16316df26cacSmrg#endif
16326df26cacSmrg#if defined (ns32000)
16336df26cacSmrg  printf ("ns32k-sequent-dynix\n"); exit (0);
16346df26cacSmrg#endif
16356df26cacSmrg#endif
16366df26cacSmrg
16376df26cacSmrg#if defined (_SEQUENT_)
163825dbecb6Smrg  struct utsname un;
16396df26cacSmrg
164025dbecb6Smrg  uname(&un);
164125dbecb6Smrg  if (strncmp(un.version, "V2", 2) == 0) {
164225dbecb6Smrg    printf ("i386-sequent-ptx2\n"); exit (0);
164325dbecb6Smrg  }
164425dbecb6Smrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
164525dbecb6Smrg    printf ("i386-sequent-ptx1\n"); exit (0);
164625dbecb6Smrg  }
164725dbecb6Smrg  printf ("i386-sequent-ptx\n"); exit (0);
16486df26cacSmrg#endif
16496df26cacSmrg
16506df26cacSmrg#if defined (vax)
165125dbecb6Smrg#if !defined (ultrix)
165225dbecb6Smrg#include <sys/param.h>
165325dbecb6Smrg#if defined (BSD)
165425dbecb6Smrg#if BSD == 43
165525dbecb6Smrg  printf ("vax-dec-bsd4.3\n"); exit (0);
165625dbecb6Smrg#else
165725dbecb6Smrg#if BSD == 199006
165825dbecb6Smrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
165925dbecb6Smrg#else
166025dbecb6Smrg  printf ("vax-dec-bsd\n"); exit (0);
166125dbecb6Smrg#endif
166225dbecb6Smrg#endif
166325dbecb6Smrg#else
166425dbecb6Smrg  printf ("vax-dec-bsd\n"); exit (0);
166525dbecb6Smrg#endif
166625dbecb6Smrg#else
166725dbecb6Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
166825dbecb6Smrg  struct utsname un;
166925dbecb6Smrg  uname (&un);
167025dbecb6Smrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
167125dbecb6Smrg#else
167225dbecb6Smrg  printf ("vax-dec-ultrix\n"); exit (0);
167325dbecb6Smrg#endif
167425dbecb6Smrg#endif
167525dbecb6Smrg#endif
167625dbecb6Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
167725dbecb6Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
167825dbecb6Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
167925dbecb6Smrg  struct utsname *un;
168025dbecb6Smrg  uname (&un);
168125dbecb6Smrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
168225dbecb6Smrg#else
168325dbecb6Smrg  printf ("mips-dec-ultrix\n"); exit (0);
168425dbecb6Smrg#endif
168525dbecb6Smrg#endif
16866df26cacSmrg#endif
16876df26cacSmrg
16886df26cacSmrg#if defined (alliant) && defined (i860)
16896df26cacSmrg  printf ("i860-alliant-bsd\n"); exit (0);
16906df26cacSmrg#endif
16916df26cacSmrg
16926df26cacSmrg  exit (1);
16936df26cacSmrg}
16946df26cacSmrgEOF
16956df26cacSmrg
169625dbecb6Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
16976df26cacSmrg	{ echo "$SYSTEM_NAME"; exit; }
16986df26cacSmrg
16996df26cacSmrg# Apollos put the system type in the environment.
170025dbecb6Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
17016df26cacSmrg
170225dbecb6Smrgecho "$0: unable to guess system type" >&2
17036df26cacSmrg
170425dbecb6Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
170525dbecb6Smrg    mips:Linux | mips64:Linux)
170625dbecb6Smrg	# If we got here on MIPS GNU/Linux, output extra information.
170725dbecb6Smrg	cat >&2 <<EOF
17086df26cacSmrg
170925dbecb6SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
171025dbecb6Smrgthe system type. Please install a C compiler and try again.
171125dbecb6SmrgEOF
171225dbecb6Smrg	;;
171325dbecb6Smrgesac
17146df26cacSmrg
17156df26cacSmrgcat >&2 <<EOF
17166df26cacSmrg
171725dbecb6SmrgThis script (version $timestamp), has failed to recognize the
171825dbecb6Smrgoperating system you are using. If your script is old, overwrite *all*
171925dbecb6Smrgcopies of config.guess and config.sub with the latest versions from:
17206df26cacSmrg
172125dbecb6Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
17226df26cacSmrgand
172325dbecb6Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
172425dbecb6SmrgEOF
17256df26cacSmrg
172625dbecb6Smrgour_year=`echo $timestamp | sed 's,-.*,,'`
172725dbecb6Smrgthisyear=`date +%Y`
172825dbecb6Smrg# shellcheck disable=SC2003
172925dbecb6Smrgscript_age=`expr "$thisyear" - "$our_year"`
173025dbecb6Smrgif test "$script_age" -lt 3 ; then
173125dbecb6Smrg   cat >&2 <<EOF
173225dbecb6Smrg
173325dbecb6SmrgIf $0 has already been updated, send the following data and any
173425dbecb6Smrginformation you think might be pertinent to config-patches@gnu.org to
173525dbecb6Smrgprovide the necessary information to handle your system.
17366df26cacSmrg
17376df26cacSmrgconfig.guess timestamp = $timestamp
17386df26cacSmrg
17396df26cacSmrguname -m = `(uname -m) 2>/dev/null || echo unknown`
17406df26cacSmrguname -r = `(uname -r) 2>/dev/null || echo unknown`
17416df26cacSmrguname -s = `(uname -s) 2>/dev/null || echo unknown`
17426df26cacSmrguname -v = `(uname -v) 2>/dev/null || echo unknown`
17436df26cacSmrg
17446df26cacSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
17456df26cacSmrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
17466df26cacSmrg
17476df26cacSmrghostinfo               = `(hostinfo) 2>/dev/null`
17486df26cacSmrg/bin/universe          = `(/bin/universe) 2>/dev/null`
17496df26cacSmrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
17506df26cacSmrg/bin/arch              = `(/bin/arch) 2>/dev/null`
17516df26cacSmrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
17526df26cacSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
17536df26cacSmrg
175425dbecb6SmrgUNAME_MACHINE = "$UNAME_MACHINE"
175525dbecb6SmrgUNAME_RELEASE = "$UNAME_RELEASE"
175625dbecb6SmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
175725dbecb6SmrgUNAME_VERSION = "$UNAME_VERSION"
17586df26cacSmrgEOF
175925dbecb6Smrgfi
17606df26cacSmrg
17616df26cacSmrgexit 1
17626df26cacSmrg
17636df26cacSmrg# Local variables:
176425dbecb6Smrg# eval: (add-hook 'before-save-hook 'time-stamp)
17656df26cacSmrg# time-stamp-start: "timestamp='"
17666df26cacSmrg# time-stamp-format: "%:y-%02m-%02d"
17676df26cacSmrg# time-stamp-end: "'"
17686df26cacSmrg# End:
1769