15eefee25Smacallan#! /bin/sh
25eefee25Smacallan# Attempt to guess a canonical system name.
35c30ecadSmrg#   Copyright 1992-2021 Free Software Foundation, Inc.
45eefee25Smacallan
55c30ecadSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale
65c30ecadSmrg
75c30ecadSmrgtimestamp='2021-06-03'
85eefee25Smacallan
95eefee25Smacallan# This file is free software; you can redistribute it and/or modify it
105eefee25Smacallan# under the terms of the GNU General Public License as published by
115c30ecadSmrg# the Free Software Foundation; either version 3 of the License, or
125eefee25Smacallan# (at your option) any later version.
135eefee25Smacallan#
145eefee25Smacallan# This program is distributed in the hope that it will be useful, but
155eefee25Smacallan# WITHOUT ANY WARRANTY; without even the implied warranty of
165eefee25Smacallan# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
175eefee25Smacallan# General Public License for more details.
185eefee25Smacallan#
195eefee25Smacallan# You should have received a copy of the GNU General Public License
205c30ecadSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
215eefee25Smacallan#
225eefee25Smacallan# As a special exception to the GNU General Public License, if you
235eefee25Smacallan# distribute this file as part of a program that contains a
245eefee25Smacallan# configuration script generated by Autoconf, you may include it under
255c30ecadSmrg# the same distribution terms that you use for the rest of that
265c30ecadSmrg# program.  This Exception is an additional permission under section 7
275c30ecadSmrg# of the GNU General Public License, version 3 ("GPLv3").
285eefee25Smacallan#
295c30ecadSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
305eefee25Smacallan#
31dc99b369Smrg# You can get the latest version of this script from:
325c30ecadSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
335c30ecadSmrg#
345c30ecadSmrg# Please send patches to <config-patches@gnu.org>.
355c30ecadSmrg
365c30ecadSmrg
375c30ecadSmrg# The "shellcheck disable" line above the timestamp inhibits complaints
385c30ecadSmrg# about features and limitations of the classic Bourne shell that were
395c30ecadSmrg# superseded or lifted in POSIX.  However, this script identifies a wide
405c30ecadSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
415c30ecadSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still
425c30ecadSmrg# have a pre-POSIX /bin/sh.
435c30ecadSmrg
445eefee25Smacallan
455eefee25Smacallanme=`echo "$0" | sed -e 's,.*/,,'`
465eefee25Smacallan
475eefee25Smacallanusage="\
485eefee25SmacallanUsage: $0 [OPTION]
495eefee25Smacallan
505eefee25SmacallanOutput the configuration name of the system \`$me' is run on.
515eefee25Smacallan
525c30ecadSmrgOptions:
535eefee25Smacallan  -h, --help         print this help, then exit
545eefee25Smacallan  -t, --time-stamp   print date of last modification, then exit
555eefee25Smacallan  -v, --version      print version number, then exit
565eefee25Smacallan
575eefee25SmacallanReport bugs and patches to <config-patches@gnu.org>."
585eefee25Smacallan
595eefee25Smacallanversion="\
605eefee25SmacallanGNU config.guess ($timestamp)
615eefee25Smacallan
625eefee25SmacallanOriginally written by Per Bothner.
635c30ecadSmrgCopyright 1992-2021 Free Software Foundation, Inc.
645eefee25Smacallan
655eefee25SmacallanThis is free software; see the source for copying conditions.  There is NO
665eefee25Smacallanwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
675eefee25Smacallan
685eefee25Smacallanhelp="
695eefee25SmacallanTry \`$me --help' for more information."
705eefee25Smacallan
715eefee25Smacallan# Parse command line
725eefee25Smacallanwhile test $# -gt 0 ; do
735eefee25Smacallan  case $1 in
745eefee25Smacallan    --time-stamp | --time* | -t )
7562ab96baSmrg       echo "$timestamp" ; exit ;;
765eefee25Smacallan    --version | -v )
7762ab96baSmrg       echo "$version" ; exit ;;
785eefee25Smacallan    --help | --h* | -h )
7962ab96baSmrg       echo "$usage"; exit ;;
805eefee25Smacallan    -- )     # Stop option processing
815eefee25Smacallan       shift; break ;;
825eefee25Smacallan    - )	# Use stdin as input.
835eefee25Smacallan       break ;;
845eefee25Smacallan    -* )
855eefee25Smacallan       echo "$me: invalid option $1$help" >&2
865eefee25Smacallan       exit 1 ;;
875eefee25Smacallan    * )
885eefee25Smacallan       break ;;
895eefee25Smacallan  esac
905eefee25Smacallandone
915eefee25Smacallan
925eefee25Smacallanif test $# != 0; then
935eefee25Smacallan  echo "$me: too many arguments$help" >&2
945eefee25Smacallan  exit 1
955eefee25Smacallanfi
965eefee25Smacallan
975c30ecadSmrg# Just in case it came from the environment.
985c30ecadSmrgGUESS=
995eefee25Smacallan
1005eefee25Smacallan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
1015eefee25Smacallan# compiler to aid in system detection is discouraged as it requires
1025eefee25Smacallan# temporary files to be created and, as you can see below, it is a
1035eefee25Smacallan# headache to deal with in a portable fashion.
1045eefee25Smacallan
1055eefee25Smacallan# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1065eefee25Smacallan# use `HOST_CC' if defined, but it is deprecated.
1075eefee25Smacallan
1085eefee25Smacallan# Portable tmp directory creation inspired by the Autoconf team.
1095eefee25Smacallan
1105c30ecadSmrgtmp=
1115c30ecadSmrg# shellcheck disable=SC2172
1125c30ecadSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
1135c30ecadSmrg
1145c30ecadSmrgset_cc_for_build() {
1155c30ecadSmrg    # prevent multiple calls if $tmp is already set
1165c30ecadSmrg    test "$tmp" && return 0
1175c30ecadSmrg    : "${TMPDIR=/tmp}"
1185c30ecadSmrg    # shellcheck disable=SC2039,SC3028
1195c30ecadSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1205c30ecadSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
1215c30ecadSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1225c30ecadSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
1235c30ecadSmrg    dummy=$tmp/dummy
1245c30ecadSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
1255c30ecadSmrg	,,)    echo "int x;" > "$dummy.c"
1265c30ecadSmrg	       for driver in cc gcc c89 c99 ; do
1275c30ecadSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
1285c30ecadSmrg		       CC_FOR_BUILD=$driver
1295c30ecadSmrg		       break
1305c30ecadSmrg		   fi
1315c30ecadSmrg	       done
1325c30ecadSmrg	       if test x"$CC_FOR_BUILD" = x ; then
1335c30ecadSmrg		   CC_FOR_BUILD=no_compiler_found
1345c30ecadSmrg	       fi
1355c30ecadSmrg	       ;;
1365c30ecadSmrg	,,*)   CC_FOR_BUILD=$CC ;;
1375c30ecadSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1385c30ecadSmrg    esac
1395c30ecadSmrg}
1405eefee25Smacallan
1415eefee25Smacallan# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1425eefee25Smacallan# (ghazi@noc.rutgers.edu 1994-08-24)
1435c30ecadSmrgif test -f /.attbin/uname ; then
1445eefee25Smacallan	PATH=$PATH:/.attbin ; export PATH
1455eefee25Smacallanfi
1465eefee25Smacallan
1475eefee25SmacallanUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1485eefee25SmacallanUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1495c30ecadSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
1505eefee25SmacallanUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1515eefee25Smacallan
1525c30ecadSmrgcase $UNAME_SYSTEM in
1535c30ecadSmrgLinux|GNU|GNU/*)
1545c30ecadSmrg	LIBC=unknown
1555c30ecadSmrg
1565c30ecadSmrg	set_cc_for_build
1575c30ecadSmrg	cat <<-EOF > "$dummy.c"
158dc99b369Smrg	#include <features.h>
1595c30ecadSmrg	#if defined(__UCLIBC__)
160dc99b369Smrg	LIBC=uclibc
1615c30ecadSmrg	#elif defined(__dietlibc__)
162dc99b369Smrg	LIBC=dietlibc
1635c30ecadSmrg	#elif defined(__GLIBC__)
164dc99b369Smrg	LIBC=gnu
1655c30ecadSmrg	#else
1665c30ecadSmrg	#include <stdarg.h>
1675c30ecadSmrg	/* First heuristic to detect musl libc.  */
1685c30ecadSmrg	#ifdef __DEFINED_va_list
1695c30ecadSmrg	LIBC=musl
1705c30ecadSmrg	#endif
171dc99b369Smrg	#endif
172dc99b369Smrg	EOF
1735c30ecadSmrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
1745c30ecadSmrg	eval "$cc_set_libc"
1755c30ecadSmrg
1765c30ecadSmrg	# Second heuristic to detect musl libc.
1775c30ecadSmrg	if [ "$LIBC" = unknown ] &&
1785c30ecadSmrg	   command -v ldd >/dev/null &&
1795c30ecadSmrg	   ldd --version 2>&1 | grep -q ^musl; then
1805c30ecadSmrg		LIBC=musl
1815c30ecadSmrg	fi
1825c30ecadSmrg
1835c30ecadSmrg	# If the system lacks a compiler, then just pick glibc.
1845c30ecadSmrg	# We could probably try harder.
1855c30ecadSmrg	if [ "$LIBC" = unknown ]; then
1865c30ecadSmrg		LIBC=gnu
1875c30ecadSmrg	fi
188dc99b369Smrg	;;
189dc99b369Smrgesac
190dc99b369Smrg
1915eefee25Smacallan# Note: order is significant - the case branches are not exclusive.
1925eefee25Smacallan
1935c30ecadSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
1945eefee25Smacallan    *:NetBSD:*:*)
1955eefee25Smacallan	# NetBSD (nbsd) targets should (where applicable) match one or
196dc99b369Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
1975eefee25Smacallan	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1985eefee25Smacallan	# switched to ELF, *-*-netbsd* would select the old
1995eefee25Smacallan	# object file format.  This provides both forward
2005eefee25Smacallan	# compatibility and a consistent mechanism for selecting the
2015eefee25Smacallan	# object file format.
2025eefee25Smacallan	#
2035eefee25Smacallan	# Note: NetBSD doesn't particularly care about the vendor
2045eefee25Smacallan	# portion of the name.  We always set it to "unknown".
2055c30ecadSmrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
2065c30ecadSmrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2075c30ecadSmrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2085c30ecadSmrg	    echo unknown)`
2095c30ecadSmrg	case $UNAME_MACHINE_ARCH in
2105c30ecadSmrg	    aarch64eb) machine=aarch64_be-unknown ;;
2115eefee25Smacallan	    armeb) machine=armeb-unknown ;;
2125eefee25Smacallan	    arm*) machine=arm-unknown ;;
2135eefee25Smacallan	    sh3el) machine=shl-unknown ;;
2145eefee25Smacallan	    sh3eb) machine=sh-unknown ;;
21562ab96baSmrg	    sh5el) machine=sh5le-unknown ;;
2165c30ecadSmrg	    earmv*)
2175c30ecadSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
2185c30ecadSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
2195c30ecadSmrg		machine=${arch}${endian}-unknown
2205c30ecadSmrg		;;
2215c30ecadSmrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
2225eefee25Smacallan	esac
2235eefee25Smacallan	# The Operating System including object format, if it has switched
2245c30ecadSmrg	# to ELF recently (or will in the future) and ABI.
2255c30ecadSmrg	case $UNAME_MACHINE_ARCH in
2265c30ecadSmrg	    earm*)
2275c30ecadSmrg		os=netbsdelf
2285c30ecadSmrg		;;
2295eefee25Smacallan	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
2305c30ecadSmrg		set_cc_for_build
2315eefee25Smacallan		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
232dc99b369Smrg			| grep -q __ELF__
2335eefee25Smacallan		then
2345eefee25Smacallan		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
2355eefee25Smacallan		    # Return netbsd for either.  FIX?
2365eefee25Smacallan		    os=netbsd
2375eefee25Smacallan		else
2385eefee25Smacallan		    os=netbsdelf
2395eefee25Smacallan		fi
2405eefee25Smacallan		;;
2415eefee25Smacallan	    *)
242dc99b369Smrg		os=netbsd
2435eefee25Smacallan		;;
2445eefee25Smacallan	esac
2455c30ecadSmrg	# Determine ABI tags.
2465c30ecadSmrg	case $UNAME_MACHINE_ARCH in
2475c30ecadSmrg	    earm*)
2485c30ecadSmrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
2495c30ecadSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
2505c30ecadSmrg		;;
2515c30ecadSmrg	esac
2525eefee25Smacallan	# The OS release
2535eefee25Smacallan	# Debian GNU/NetBSD machines have a different userland, and
2545eefee25Smacallan	# thus, need a distinct triplet. However, they do not need
2555eefee25Smacallan	# kernel version information, so it can be replaced with a
2565eefee25Smacallan	# suitable tag, in the style of linux-gnu.
2575c30ecadSmrg	case $UNAME_VERSION in
2585eefee25Smacallan	    Debian*)
2595eefee25Smacallan		release='-gnu'
2605eefee25Smacallan		;;
2615eefee25Smacallan	    *)
2625c30ecadSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
2635eefee25Smacallan		;;
2645eefee25Smacallan	esac
2655eefee25Smacallan	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2665eefee25Smacallan	# contains redundant information, the shorter form:
2675eefee25Smacallan	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2685c30ecadSmrg	GUESS=$machine-${os}${release}${abi-}
2695c30ecadSmrg	;;
270dc99b369Smrg    *:Bitrig:*:*)
271dc99b369Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
2725c30ecadSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
2735c30ecadSmrg	;;
2745eefee25Smacallan    *:OpenBSD:*:*)
27562ab96baSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2765c30ecadSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
2775c30ecadSmrg	;;
2785c30ecadSmrg    *:SecBSD:*:*)
2795c30ecadSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
2805c30ecadSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
2815c30ecadSmrg	;;
2825c30ecadSmrg    *:LibertyBSD:*:*)
2835c30ecadSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
2845c30ecadSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
2855c30ecadSmrg	;;
2865c30ecadSmrg    *:MidnightBSD:*:*)
2875c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
2885c30ecadSmrg	;;
28962ab96baSmrg    *:ekkoBSD:*:*)
2905c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
2915c30ecadSmrg	;;
29262ab96baSmrg    *:SolidBSD:*:*)
2935c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
2945c30ecadSmrg	;;
2955c30ecadSmrg    *:OS108:*:*)
2965c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
2975c30ecadSmrg	;;
29862ab96baSmrg    macppc:MirBSD:*:*)
2995c30ecadSmrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
3005c30ecadSmrg	;;
30162ab96baSmrg    *:MirBSD:*:*)
3025c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
3035c30ecadSmrg	;;
3045c30ecadSmrg    *:Sortix:*:*)
3055c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-sortix
3065c30ecadSmrg	;;
3075c30ecadSmrg    *:Twizzler:*:*)
3085c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-twizzler
3095c30ecadSmrg	;;
3105c30ecadSmrg    *:Redox:*:*)
3115c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-redox
3125c30ecadSmrg	;;
3135c30ecadSmrg    mips:OSF1:*.*)
3145c30ecadSmrg	GUESS=mips-dec-osf1
3155c30ecadSmrg	;;
3165eefee25Smacallan    alpha:OSF1:*:*)
3175c30ecadSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
3185c30ecadSmrg	trap '' 0
31962ab96baSmrg	case $UNAME_RELEASE in
32062ab96baSmrg	*4.0)
3215eefee25Smacallan		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
32262ab96baSmrg		;;
32362ab96baSmrg	*5.*)
324dc99b369Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
32562ab96baSmrg		;;
32662ab96baSmrg	esac
3275eefee25Smacallan	# According to Compaq, /usr/sbin/psrinfo has been available on
3285eefee25Smacallan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
3295eefee25Smacallan	# covers most systems running today.  This code pipes the CPU
3305eefee25Smacallan	# types through head -n 1, so we only detect the type of CPU 0.
3315eefee25Smacallan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
3325c30ecadSmrg	case $ALPHA_CPU_TYPE in
3335eefee25Smacallan	    "EV4 (21064)")
3345c30ecadSmrg		UNAME_MACHINE=alpha ;;
3355eefee25Smacallan	    "EV4.5 (21064)")
3365c30ecadSmrg		UNAME_MACHINE=alpha ;;
3375eefee25Smacallan	    "LCA4 (21066/21068)")
3385c30ecadSmrg		UNAME_MACHINE=alpha ;;
3395eefee25Smacallan	    "EV5 (21164)")
3405c30ecadSmrg		UNAME_MACHINE=alphaev5 ;;
3415eefee25Smacallan	    "EV5.6 (21164A)")
3425c30ecadSmrg		UNAME_MACHINE=alphaev56 ;;
3435eefee25Smacallan	    "EV5.6 (21164PC)")
3445c30ecadSmrg		UNAME_MACHINE=alphapca56 ;;
3455eefee25Smacallan	    "EV5.7 (21164PC)")
3465c30ecadSmrg		UNAME_MACHINE=alphapca57 ;;
3475eefee25Smacallan	    "EV6 (21264)")
3485c30ecadSmrg		UNAME_MACHINE=alphaev6 ;;
3495eefee25Smacallan	    "EV6.7 (21264A)")
3505c30ecadSmrg		UNAME_MACHINE=alphaev67 ;;
3515eefee25Smacallan	    "EV6.8CB (21264C)")
3525c30ecadSmrg		UNAME_MACHINE=alphaev68 ;;
3535eefee25Smacallan	    "EV6.8AL (21264B)")
3545c30ecadSmrg		UNAME_MACHINE=alphaev68 ;;
3555eefee25Smacallan	    "EV6.8CX (21264D)")
3565c30ecadSmrg		UNAME_MACHINE=alphaev68 ;;
3575eefee25Smacallan	    "EV6.9A (21264/EV69A)")
3585c30ecadSmrg		UNAME_MACHINE=alphaev69 ;;
3595eefee25Smacallan	    "EV7 (21364)")
3605c30ecadSmrg		UNAME_MACHINE=alphaev7 ;;
3615eefee25Smacallan	    "EV7.9 (21364A)")
3625c30ecadSmrg		UNAME_MACHINE=alphaev79 ;;
3635eefee25Smacallan	esac
36462ab96baSmrg	# A Pn.n version is a patched version.
3655eefee25Smacallan	# A Vn.n version is a released version.
3665eefee25Smacallan	# A Tn.n version is a released field test version.
3675eefee25Smacallan	# A Xn.n version is an unreleased experimental baselevel.
3685eefee25Smacallan	# 1.2 uses "1.2" for uname -r.
3695c30ecadSmrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
3705c30ecadSmrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
3715c30ecadSmrg	;;
3725eefee25Smacallan    Amiga*:UNIX_System_V:4.0:*)
3735c30ecadSmrg	GUESS=m68k-unknown-sysv4
3745c30ecadSmrg	;;
3755eefee25Smacallan    *:[Aa]miga[Oo][Ss]:*:*)
3765c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-amigaos
3775c30ecadSmrg	;;
3785eefee25Smacallan    *:[Mm]orph[Oo][Ss]:*:*)
3795c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-morphos
3805c30ecadSmrg	;;
3815eefee25Smacallan    *:OS/390:*:*)
3825c30ecadSmrg	GUESS=i370-ibm-openedition
3835c30ecadSmrg	;;
38462ab96baSmrg    *:z/VM:*:*)
3855c30ecadSmrg	GUESS=s390-ibm-zvmoe
3865c30ecadSmrg	;;
38762ab96baSmrg    *:OS400:*:*)
3885c30ecadSmrg	GUESS=powerpc-ibm-os400
3895c30ecadSmrg	;;
3905eefee25Smacallan    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3915c30ecadSmrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
3925c30ecadSmrg	;;
3935c30ecadSmrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
3945c30ecadSmrg	GUESS=arm-unknown-riscos
3955c30ecadSmrg	;;
3965eefee25Smacallan    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3975c30ecadSmrg	GUESS=hppa1.1-hitachi-hiuxmpp
3985c30ecadSmrg	;;
3995eefee25Smacallan    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
4005eefee25Smacallan	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
4015c30ecadSmrg	case `(/bin/universe) 2>/dev/null` in
4025c30ecadSmrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
4035c30ecadSmrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
4045c30ecadSmrg	esac
4055c30ecadSmrg	;;
4065eefee25Smacallan    NILE*:*:*:dcosx)
4075c30ecadSmrg	GUESS=pyramid-pyramid-svr4
4085c30ecadSmrg	;;
4095eefee25Smacallan    DRS?6000:unix:4.0:6*)
4105c30ecadSmrg	GUESS=sparc-icl-nx6
4115c30ecadSmrg	;;
41262ab96baSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
4135eefee25Smacallan	case `/usr/bin/uname -p` in
4145c30ecadSmrg	    sparc) GUESS=sparc-icl-nx7 ;;
4155c30ecadSmrg	esac
4165c30ecadSmrg	;;
417dc99b369Smrg    s390x:SunOS:*:*)
4185c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4195c30ecadSmrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
4205c30ecadSmrg	;;
4215eefee25Smacallan    sun4H:SunOS:5.*:*)
4225c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4235c30ecadSmrg	GUESS=sparc-hal-solaris2$SUN_REL
4245c30ecadSmrg	;;
4255eefee25Smacallan    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
4265c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4275c30ecadSmrg	GUESS=sparc-sun-solaris2$SUN_REL
4285c30ecadSmrg	;;
429dc99b369Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
4305c30ecadSmrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
4315c30ecadSmrg	;;
43262ab96baSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
4335c30ecadSmrg	set_cc_for_build
4345c30ecadSmrg	SUN_ARCH=i386
435dc99b369Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
436dc99b369Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
437dc99b369Smrg	# This test works for both compilers.
4385c30ecadSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
439dc99b369Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
4405c30ecadSmrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
441dc99b369Smrg		grep IS_64BIT_ARCH >/dev/null
442dc99b369Smrg	    then
4435c30ecadSmrg		SUN_ARCH=x86_64
444dc99b369Smrg	    fi
445dc99b369Smrg	fi
4465c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4475c30ecadSmrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
4485c30ecadSmrg	;;
4495eefee25Smacallan    sun4*:SunOS:6*:*)
4505eefee25Smacallan	# According to config.sub, this is the proper way to canonicalize
4515eefee25Smacallan	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
4525eefee25Smacallan	# it's likely to be more like Solaris than SunOS4.
4535c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4545c30ecadSmrg	GUESS=sparc-sun-solaris3$SUN_REL
4555c30ecadSmrg	;;
4565eefee25Smacallan    sun4*:SunOS:*:*)
4575c30ecadSmrg	case `/usr/bin/arch -k` in
4585eefee25Smacallan	    Series*|S4*)
4595eefee25Smacallan		UNAME_RELEASE=`uname -v`
4605eefee25Smacallan		;;
4615eefee25Smacallan	esac
4625eefee25Smacallan	# Japanese Language versions have a version number like `4.1.3-JL'.
4635c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
4645c30ecadSmrg	GUESS=sparc-sun-sunos$SUN_REL
4655c30ecadSmrg	;;
4665eefee25Smacallan    sun3*:SunOS:*:*)
4675c30ecadSmrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
4685c30ecadSmrg	;;
4695eefee25Smacallan    sun*:*:4.2BSD:*)
4705eefee25Smacallan	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
4715c30ecadSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
4725c30ecadSmrg	case `/bin/arch` in
4735eefee25Smacallan	    sun3)
4745c30ecadSmrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
4755eefee25Smacallan		;;
4765eefee25Smacallan	    sun4)
4775c30ecadSmrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
4785eefee25Smacallan		;;
4795eefee25Smacallan	esac
4805c30ecadSmrg	;;
4815eefee25Smacallan    aushp:SunOS:*:*)
4825c30ecadSmrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
4835c30ecadSmrg	;;
4845eefee25Smacallan    # The situation for MiNT is a little confusing.  The machine name
4855eefee25Smacallan    # can be virtually everything (everything which is not
4865eefee25Smacallan    # "atarist" or "atariste" at least should have a processor
4875eefee25Smacallan    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
4885eefee25Smacallan    # to the lowercase version "mint" (or "freemint").  Finally
4895eefee25Smacallan    # the system name "TOS" denotes a system which is actually not
4905eefee25Smacallan    # MiNT.  But MiNT is downward compatible to TOS, so this should
4915eefee25Smacallan    # be no problem.
4925eefee25Smacallan    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
4935c30ecadSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4945c30ecadSmrg	;;
4955eefee25Smacallan    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4965c30ecadSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4975c30ecadSmrg	;;
4985eefee25Smacallan    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4995c30ecadSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
5005c30ecadSmrg	;;
5015eefee25Smacallan    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
5025c30ecadSmrg	GUESS=m68k-milan-mint$UNAME_RELEASE
5035c30ecadSmrg	;;
5045eefee25Smacallan    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
5055c30ecadSmrg	GUESS=m68k-hades-mint$UNAME_RELEASE
5065c30ecadSmrg	;;
5075eefee25Smacallan    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
5085c30ecadSmrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
5095c30ecadSmrg	;;
51062ab96baSmrg    m68k:machten:*:*)
5115c30ecadSmrg	GUESS=m68k-apple-machten$UNAME_RELEASE
5125c30ecadSmrg	;;
5135eefee25Smacallan    powerpc:machten:*:*)
5145c30ecadSmrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
5155c30ecadSmrg	;;
5165eefee25Smacallan    RISC*:Mach:*:*)
5175c30ecadSmrg	GUESS=mips-dec-mach_bsd4.3
5185c30ecadSmrg	;;
5195eefee25Smacallan    RISC*:ULTRIX:*:*)
5205c30ecadSmrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
5215c30ecadSmrg	;;
5225eefee25Smacallan    VAX*:ULTRIX*:*:*)
5235c30ecadSmrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
5245c30ecadSmrg	;;
5255eefee25Smacallan    2020:CLIX:*:* | 2430:CLIX:*:*)
5265c30ecadSmrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
5275c30ecadSmrg	;;
5285eefee25Smacallan    mips:*:*:UMIPS | mips:*:*:RISCos)
5295c30ecadSmrg	set_cc_for_build
5305c30ecadSmrg	sed 's/^	//' << EOF > "$dummy.c"
5315eefee25Smacallan#ifdef __cplusplus
5325eefee25Smacallan#include <stdio.h>  /* for printf() prototype */
5335eefee25Smacallan	int main (int argc, char *argv[]) {
5345eefee25Smacallan#else
5355eefee25Smacallan	int main (argc, argv) int argc; char *argv[]; {
5365eefee25Smacallan#endif
5375eefee25Smacallan	#if defined (host_mips) && defined (MIPSEB)
5385eefee25Smacallan	#if defined (SYSTYPE_SYSV)
5395c30ecadSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
5405eefee25Smacallan	#endif
5415eefee25Smacallan	#if defined (SYSTYPE_SVR4)
5425c30ecadSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
5435eefee25Smacallan	#endif
5445eefee25Smacallan	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
5455c30ecadSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
5465eefee25Smacallan	#endif
5475eefee25Smacallan	#endif
5485eefee25Smacallan	  exit (-1);
5495eefee25Smacallan	}
5505eefee25SmacallanEOF
5515c30ecadSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
5525c30ecadSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
5535c30ecadSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
55462ab96baSmrg	    { echo "$SYSTEM_NAME"; exit; }
5555c30ecadSmrg	GUESS=mips-mips-riscos$UNAME_RELEASE
5565c30ecadSmrg	;;
5575eefee25Smacallan    Motorola:PowerMAX_OS:*:*)
5585c30ecadSmrg	GUESS=powerpc-motorola-powermax
5595c30ecadSmrg	;;
5605eefee25Smacallan    Motorola:*:4.3:PL8-*)
5615c30ecadSmrg	GUESS=powerpc-harris-powermax
5625c30ecadSmrg	;;
5635eefee25Smacallan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
5645c30ecadSmrg	GUESS=powerpc-harris-powermax
5655c30ecadSmrg	;;
5665eefee25Smacallan    Night_Hawk:Power_UNIX:*:*)
5675c30ecadSmrg	GUESS=powerpc-harris-powerunix
5685c30ecadSmrg	;;
5695eefee25Smacallan    m88k:CX/UX:7*:*)
5705c30ecadSmrg	GUESS=m88k-harris-cxux7
5715c30ecadSmrg	;;
5725eefee25Smacallan    m88k:*:4*:R4*)
5735c30ecadSmrg	GUESS=m88k-motorola-sysv4
5745c30ecadSmrg	;;
5755eefee25Smacallan    m88k:*:3*:R3*)
5765c30ecadSmrg	GUESS=m88k-motorola-sysv3
5775c30ecadSmrg	;;
5785eefee25Smacallan    AViiON:dgux:*:*)
579dc99b369Smrg	# DG/UX returns AViiON for all architectures
580dc99b369Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
5815c30ecadSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
5825eefee25Smacallan	then
5835c30ecadSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
5845c30ecadSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
5855eefee25Smacallan	    then
5865c30ecadSmrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
5875eefee25Smacallan	    else
5885c30ecadSmrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
5895eefee25Smacallan	    fi
5905eefee25Smacallan	else
5915c30ecadSmrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
5925eefee25Smacallan	fi
5935c30ecadSmrg	;;
5945eefee25Smacallan    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5955c30ecadSmrg	GUESS=m88k-dolphin-sysv3
5965c30ecadSmrg	;;
5975eefee25Smacallan    M88*:*:R3*:*)
5985eefee25Smacallan	# Delta 88k system running SVR3
5995c30ecadSmrg	GUESS=m88k-motorola-sysv3
6005c30ecadSmrg	;;
6015eefee25Smacallan    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
6025c30ecadSmrg	GUESS=m88k-tektronix-sysv3
6035c30ecadSmrg	;;
6045eefee25Smacallan    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
6055c30ecadSmrg	GUESS=m68k-tektronix-bsd
6065c30ecadSmrg	;;
6075eefee25Smacallan    *:IRIX*:*:*)
6085c30ecadSmrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
6095c30ecadSmrg	GUESS=mips-sgi-irix$IRIX_REL
6105c30ecadSmrg	;;
6115eefee25Smacallan    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
6125c30ecadSmrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
6135c30ecadSmrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
6145eefee25Smacallan    i*86:AIX:*:*)
6155c30ecadSmrg	GUESS=i386-ibm-aix
6165c30ecadSmrg	;;
6175eefee25Smacallan    ia64:AIX:*:*)
6185c30ecadSmrg	if test -x /usr/bin/oslevel ; then
6195eefee25Smacallan		IBM_REV=`/usr/bin/oslevel`
6205eefee25Smacallan	else
6215c30ecadSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6225eefee25Smacallan	fi
6235c30ecadSmrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
6245c30ecadSmrg	;;
6255eefee25Smacallan    *:AIX:2:3)
6265eefee25Smacallan	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
6275c30ecadSmrg		set_cc_for_build
6285c30ecadSmrg		sed 's/^		//' << EOF > "$dummy.c"
6295eefee25Smacallan		#include <sys/systemcfg.h>
6305eefee25Smacallan
6315eefee25Smacallan		main()
6325eefee25Smacallan			{
6335eefee25Smacallan			if (!__power_pc())
6345eefee25Smacallan				exit(1);
6355eefee25Smacallan			puts("powerpc-ibm-aix3.2.5");
6365eefee25Smacallan			exit(0);
6375eefee25Smacallan			}
6385eefee25SmacallanEOF
6395c30ecadSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
64062ab96baSmrg		then
6415c30ecadSmrg			GUESS=$SYSTEM_NAME
64262ab96baSmrg		else
6435c30ecadSmrg			GUESS=rs6000-ibm-aix3.2.5
64462ab96baSmrg		fi
6455eefee25Smacallan	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
6465c30ecadSmrg		GUESS=rs6000-ibm-aix3.2.4
6475eefee25Smacallan	else
6485c30ecadSmrg		GUESS=rs6000-ibm-aix3.2
6495eefee25Smacallan	fi
6505c30ecadSmrg	;;
651dc99b369Smrg    *:AIX:*:[4567])
6525eefee25Smacallan	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
6535c30ecadSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
6545eefee25Smacallan		IBM_ARCH=rs6000
6555eefee25Smacallan	else
6565eefee25Smacallan		IBM_ARCH=powerpc
6575eefee25Smacallan	fi
6585c30ecadSmrg	if test -x /usr/bin/lslpp ; then
6595c30ecadSmrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
6605c30ecadSmrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
6615eefee25Smacallan	else
6625c30ecadSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6635eefee25Smacallan	fi
6645c30ecadSmrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
6655c30ecadSmrg	;;
6665eefee25Smacallan    *:AIX:*:*)
6675c30ecadSmrg	GUESS=rs6000-ibm-aix
6685c30ecadSmrg	;;
6695c30ecadSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
6705c30ecadSmrg	GUESS=romp-ibm-bsd4.4
6715c30ecadSmrg	;;
6725eefee25Smacallan    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
6735c30ecadSmrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
6745c30ecadSmrg	;;                                  # report: romp-ibm BSD 4.3
6755eefee25Smacallan    *:BOSX:*:*)
6765c30ecadSmrg	GUESS=rs6000-bull-bosx
6775c30ecadSmrg	;;
6785eefee25Smacallan    DPX/2?00:B.O.S.:*:*)
6795c30ecadSmrg	GUESS=m68k-bull-sysv3
6805c30ecadSmrg	;;
6815eefee25Smacallan    9000/[34]??:4.3bsd:1.*:*)
6825c30ecadSmrg	GUESS=m68k-hp-bsd
6835c30ecadSmrg	;;
6845eefee25Smacallan    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6855c30ecadSmrg	GUESS=m68k-hp-bsd4.4
6865c30ecadSmrg	;;
6875eefee25Smacallan    9000/[34678]??:HP-UX:*:*)
6885c30ecadSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
6895c30ecadSmrg	case $UNAME_MACHINE in
6905c30ecadSmrg	    9000/31?)            HP_ARCH=m68000 ;;
6915c30ecadSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
6925eefee25Smacallan	    9000/[678][0-9][0-9])
6935c30ecadSmrg		if test -x /usr/bin/getconf; then
6945eefee25Smacallan		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
695dc99b369Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6965c30ecadSmrg		    case $sc_cpu_version in
6975c30ecadSmrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
6985c30ecadSmrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
699dc99b369Smrg		      532)                      # CPU_PA_RISC2_0
7005c30ecadSmrg			case $sc_kernel_bits in
7015c30ecadSmrg			  32) HP_ARCH=hppa2.0n ;;
7025c30ecadSmrg			  64) HP_ARCH=hppa2.0w ;;
7035c30ecadSmrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
704dc99b369Smrg			esac ;;
705dc99b369Smrg		    esac
7065eefee25Smacallan		fi
7075c30ecadSmrg		if test "$HP_ARCH" = ""; then
7085c30ecadSmrg		    set_cc_for_build
7095c30ecadSmrg		    sed 's/^		//' << EOF > "$dummy.c"
7105eefee25Smacallan
711dc99b369Smrg		#define _HPUX_SOURCE
712dc99b369Smrg		#include <stdlib.h>
713dc99b369Smrg		#include <unistd.h>
7145eefee25Smacallan
715dc99b369Smrg		int main ()
716dc99b369Smrg		{
717dc99b369Smrg		#if defined(_SC_KERNEL_BITS)
718dc99b369Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
719dc99b369Smrg		#endif
720dc99b369Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
7215eefee25Smacallan
722dc99b369Smrg		    switch (cpu)
723dc99b369Smrg			{
724dc99b369Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
725dc99b369Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
726dc99b369Smrg			case CPU_PA_RISC2_0:
727dc99b369Smrg		#if defined(_SC_KERNEL_BITS)
728dc99b369Smrg			    switch (bits)
729dc99b369Smrg				{
730dc99b369Smrg				case 64: puts ("hppa2.0w"); break;
731dc99b369Smrg				case 32: puts ("hppa2.0n"); break;
732dc99b369Smrg				default: puts ("hppa2.0"); break;
733dc99b369Smrg				} break;
734dc99b369Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
735dc99b369Smrg			    puts ("hppa2.0"); break;
736dc99b369Smrg		#endif
737dc99b369Smrg			default: puts ("hppa1.0"); break;
738dc99b369Smrg			}
739dc99b369Smrg		    exit (0);
740dc99b369Smrg		}
7415eefee25SmacallanEOF
7425c30ecadSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
7435eefee25Smacallan		    test -z "$HP_ARCH" && HP_ARCH=hppa
7445eefee25Smacallan		fi ;;
7455eefee25Smacallan	esac
7465c30ecadSmrg	if test "$HP_ARCH" = hppa2.0w
7475eefee25Smacallan	then
7485c30ecadSmrg	    set_cc_for_build
74962ab96baSmrg
75062ab96baSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
75162ab96baSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
75262ab96baSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
75362ab96baSmrg	    #
75462ab96baSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
75562ab96baSmrg	    # => hppa2.0w-hp-hpux11.23
75662ab96baSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
75762ab96baSmrg	    # => hppa64-hp-hpux11.23
75862ab96baSmrg
7595c30ecadSmrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
760dc99b369Smrg		grep -q __LP64__
7615eefee25Smacallan	    then
7625c30ecadSmrg		HP_ARCH=hppa2.0w
7635eefee25Smacallan	    else
7645c30ecadSmrg		HP_ARCH=hppa64
7655eefee25Smacallan	    fi
7665eefee25Smacallan	fi
7675c30ecadSmrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
7685c30ecadSmrg	;;
7695eefee25Smacallan    ia64:HP-UX:*:*)
7705c30ecadSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
7715c30ecadSmrg	GUESS=ia64-hp-hpux$HPUX_REV
7725c30ecadSmrg	;;
7735eefee25Smacallan    3050*:HI-UX:*:*)
7745c30ecadSmrg	set_cc_for_build
7755c30ecadSmrg	sed 's/^	//' << EOF > "$dummy.c"
7765eefee25Smacallan	#include <unistd.h>
7775eefee25Smacallan	int
7785eefee25Smacallan	main ()
7795eefee25Smacallan	{
7805eefee25Smacallan	  long cpu = sysconf (_SC_CPU_VERSION);
7815eefee25Smacallan	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7825eefee25Smacallan	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7835eefee25Smacallan	     results, however.  */
7845eefee25Smacallan	  if (CPU_IS_PA_RISC (cpu))
7855eefee25Smacallan	    {
7865eefee25Smacallan	      switch (cpu)
7875eefee25Smacallan		{
7885eefee25Smacallan		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7895eefee25Smacallan		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7905eefee25Smacallan		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7915eefee25Smacallan		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7925eefee25Smacallan		}
7935eefee25Smacallan	    }
7945eefee25Smacallan	  else if (CPU_IS_HP_MC68K (cpu))
7955eefee25Smacallan	    puts ("m68k-hitachi-hiuxwe2");
7965eefee25Smacallan	  else puts ("unknown-hitachi-hiuxwe2");
7975eefee25Smacallan	  exit (0);
7985eefee25Smacallan	}
7995eefee25SmacallanEOF
8005c30ecadSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
80162ab96baSmrg		{ echo "$SYSTEM_NAME"; exit; }
8025c30ecadSmrg	GUESS=unknown-hitachi-hiuxwe2
8035c30ecadSmrg	;;
8045c30ecadSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
8055c30ecadSmrg	GUESS=hppa1.1-hp-bsd
8065c30ecadSmrg	;;
8075eefee25Smacallan    9000/8??:4.3bsd:*:*)
8085c30ecadSmrg	GUESS=hppa1.0-hp-bsd
8095c30ecadSmrg	;;
8105eefee25Smacallan    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
8115c30ecadSmrg	GUESS=hppa1.0-hp-mpeix
8125c30ecadSmrg	;;
8135c30ecadSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
8145c30ecadSmrg	GUESS=hppa1.1-hp-osf
8155c30ecadSmrg	;;
8165eefee25Smacallan    hp8??:OSF1:*:*)
8175c30ecadSmrg	GUESS=hppa1.0-hp-osf
8185c30ecadSmrg	;;
8195eefee25Smacallan    i*86:OSF1:*:*)
8205c30ecadSmrg	if test -x /usr/sbin/sysversion ; then
8215c30ecadSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
8225eefee25Smacallan	else
8235c30ecadSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1
8245eefee25Smacallan	fi
8255c30ecadSmrg	;;
8265eefee25Smacallan    parisc*:Lites*:*:*)
8275c30ecadSmrg	GUESS=hppa1.1-hp-lites
8285c30ecadSmrg	;;
8295eefee25Smacallan    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
8305c30ecadSmrg	GUESS=c1-convex-bsd
8315c30ecadSmrg	;;
8325eefee25Smacallan    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
8335eefee25Smacallan	if getsysinfo -f scalar_acc
8345eefee25Smacallan	then echo c32-convex-bsd
8355eefee25Smacallan	else echo c2-convex-bsd
8365eefee25Smacallan	fi
837dc99b369Smrg	exit ;;
8385eefee25Smacallan    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
8395c30ecadSmrg	GUESS=c34-convex-bsd
8405c30ecadSmrg	;;
8415eefee25Smacallan    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
8425c30ecadSmrg	GUESS=c38-convex-bsd
8435c30ecadSmrg	;;
8445eefee25Smacallan    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
8455c30ecadSmrg	GUESS=c4-convex-bsd
8465c30ecadSmrg	;;
8475eefee25Smacallan    CRAY*Y-MP:*:*:*)
8485c30ecadSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8495c30ecadSmrg	GUESS=ymp-cray-unicos$CRAY_REL
8505c30ecadSmrg	;;
8515eefee25Smacallan    CRAY*[A-Z]90:*:*:*)
8525c30ecadSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
8535eefee25Smacallan	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
8545eefee25Smacallan	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
8555eefee25Smacallan	      -e 's/\.[^.]*$/.X/'
85662ab96baSmrg	exit ;;
8575eefee25Smacallan    CRAY*TS:*:*:*)
8585c30ecadSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8595c30ecadSmrg	GUESS=t90-cray-unicos$CRAY_REL
8605c30ecadSmrg	;;
8615eefee25Smacallan    CRAY*T3E:*:*:*)
8625c30ecadSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8635c30ecadSmrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
8645c30ecadSmrg	;;
8655eefee25Smacallan    CRAY*SV1:*:*:*)
8665c30ecadSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8675c30ecadSmrg	GUESS=sv1-cray-unicos$CRAY_REL
8685c30ecadSmrg	;;
8695eefee25Smacallan    *:UNICOS/mp:*:*)
8705c30ecadSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8715c30ecadSmrg	GUESS=craynv-cray-unicosmp$CRAY_REL
8725c30ecadSmrg	;;
8735eefee25Smacallan    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
8745c30ecadSmrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
8755c30ecadSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8765c30ecadSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
8775c30ecadSmrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8785c30ecadSmrg	;;
87962ab96baSmrg    5000:UNIX_System_V:4.*:*)
8805c30ecadSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8815c30ecadSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
8825c30ecadSmrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8835c30ecadSmrg	;;
8845eefee25Smacallan    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
8855c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
8865c30ecadSmrg	;;
8875eefee25Smacallan    sparc*:BSD/OS:*:*)
8885c30ecadSmrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
8895c30ecadSmrg	;;
8905eefee25Smacallan    *:BSD/OS:*:*)
8915c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
8925c30ecadSmrg	;;
8935c30ecadSmrg    arm:FreeBSD:*:*)
8945c30ecadSmrg	UNAME_PROCESSOR=`uname -p`
8955c30ecadSmrg	set_cc_for_build
8965c30ecadSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
8975c30ecadSmrg	    | grep -q __ARM_PCS_VFP
8985c30ecadSmrg	then
8995c30ecadSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9005c30ecadSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
9015c30ecadSmrg	else
9025c30ecadSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9035c30ecadSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
9045c30ecadSmrg	fi
9055c30ecadSmrg	;;
90662ab96baSmrg    *:FreeBSD:*:*)
907dc99b369Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
9085c30ecadSmrg	case $UNAME_PROCESSOR in
90962ab96baSmrg	    amd64)
9105c30ecadSmrg		UNAME_PROCESSOR=x86_64 ;;
9115c30ecadSmrg	    i386)
9125c30ecadSmrg		UNAME_PROCESSOR=i586 ;;
91362ab96baSmrg	esac
9145c30ecadSmrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9155c30ecadSmrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
9165c30ecadSmrg	;;
9175eefee25Smacallan    i*:CYGWIN*:*)
9185c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-cygwin
9195c30ecadSmrg	;;
920dc99b369Smrg    *:MINGW64*:*)
9215c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-mingw64
9225c30ecadSmrg	;;
92362ab96baSmrg    *:MINGW*:*)
9245c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-mingw32
9255c30ecadSmrg	;;
9265c30ecadSmrg    *:MSYS*:*)
9275c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-msys
9285c30ecadSmrg	;;
9295eefee25Smacallan    i*:PW*:*)
9305c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-pw32
9315c30ecadSmrg	;;
932dc99b369Smrg    *:Interix*:*)
9335c30ecadSmrg	case $UNAME_MACHINE in
93462ab96baSmrg	    x86)
9355c30ecadSmrg		GUESS=i586-pc-interix$UNAME_RELEASE
9365c30ecadSmrg		;;
937dc99b369Smrg	    authenticamd | genuineintel | EM64T)
9385c30ecadSmrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
9395c30ecadSmrg		;;
94062ab96baSmrg	    IA64)
9415c30ecadSmrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
9425c30ecadSmrg		;;
94362ab96baSmrg	esac ;;
9445eefee25Smacallan    i*:UWIN*:*)
9455c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-uwin
9465c30ecadSmrg	;;
94762ab96baSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
9485c30ecadSmrg	GUESS=x86_64-pc-cygwin
9495c30ecadSmrg	;;
9505eefee25Smacallan    prep*:SunOS:5.*:*)
9515c30ecadSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
9525c30ecadSmrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
9535c30ecadSmrg	;;
9545eefee25Smacallan    *:GNU:*:*)
95562ab96baSmrg	# the GNU system
9565c30ecadSmrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
9575c30ecadSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
9585c30ecadSmrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
9595c30ecadSmrg	;;
96062ab96baSmrg    *:GNU/*:*:*)
96162ab96baSmrg	# other systems with GNU libc and userland
9625c30ecadSmrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
9635c30ecadSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9645c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
9655c30ecadSmrg	;;
9665c30ecadSmrg    *:Minix:*:*)
9675c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-minix
9685c30ecadSmrg	;;
969dc99b369Smrg    aarch64:Linux:*:*)
9705c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9715c30ecadSmrg	;;
972dc99b369Smrg    aarch64_be:Linux:*:*)
973dc99b369Smrg	UNAME_MACHINE=aarch64_be
9745c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9755c30ecadSmrg	;;
976dc99b369Smrg    alpha:Linux:*:*)
9775c30ecadSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
978dc99b369Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
979dc99b369Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
980dc99b369Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
981dc99b369Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
982dc99b369Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
983dc99b369Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
984dc99b369Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
985dc99b369Smrg	esac
986dc99b369Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
9875c30ecadSmrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
9885c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9895c30ecadSmrg	;;
9905c30ecadSmrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
9915c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9925c30ecadSmrg	;;
9935eefee25Smacallan    arm*:Linux:*:*)
9945c30ecadSmrg	set_cc_for_build
99562ab96baSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
99662ab96baSmrg	    | grep -q __ARM_EABI__
99762ab96baSmrg	then
9985c30ecadSmrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
99962ab96baSmrg	else
1000dc99b369Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
1001dc99b369Smrg		| grep -q __ARM_PCS_VFP
1002dc99b369Smrg	    then
10035c30ecadSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
1004dc99b369Smrg	    else
10055c30ecadSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
1006dc99b369Smrg	    fi
100762ab96baSmrg	fi
10085c30ecadSmrg	;;
100962ab96baSmrg    avr32*:Linux:*:*)
10105c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10115c30ecadSmrg	;;
10125eefee25Smacallan    cris:Linux:*:*)
10135c30ecadSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10145c30ecadSmrg	;;
101562ab96baSmrg    crisv32:Linux:*:*)
10165c30ecadSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10175c30ecadSmrg	;;
10185c30ecadSmrg    e2k:Linux:*:*)
10195c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10205c30ecadSmrg	;;
102162ab96baSmrg    frv:Linux:*:*)
10225c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10235c30ecadSmrg	;;
1024dc99b369Smrg    hexagon:Linux:*:*)
10255c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10265c30ecadSmrg	;;
1027dc99b369Smrg    i*86:Linux:*:*)
10285c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
10295c30ecadSmrg	;;
10305eefee25Smacallan    ia64:Linux:*:*)
10315c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10325c30ecadSmrg	;;
10335c30ecadSmrg    k1om:Linux:*:*)
10345c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10355c30ecadSmrg	;;
10365c30ecadSmrg    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
10375c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10385c30ecadSmrg	;;
103962ab96baSmrg    m32r*:Linux:*:*)
10405c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10415c30ecadSmrg	;;
10425eefee25Smacallan    m68*:Linux:*:*)
10435c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10445c30ecadSmrg	;;
1045dc99b369Smrg    mips:Linux:*:* | mips64:Linux:*:*)
10465c30ecadSmrg	set_cc_for_build
10475c30ecadSmrg	IS_GLIBC=0
10485c30ecadSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
10495c30ecadSmrg	sed 's/^	//' << EOF > "$dummy.c"
10505eefee25Smacallan	#undef CPU
10515c30ecadSmrg	#undef mips
10525c30ecadSmrg	#undef mipsel
10535c30ecadSmrg	#undef mips64
10545c30ecadSmrg	#undef mips64el
10555c30ecadSmrg	#if ${IS_GLIBC} && defined(_ABI64)
10565c30ecadSmrg	LIBCABI=gnuabi64
10575c30ecadSmrg	#else
10585c30ecadSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
10595c30ecadSmrg	LIBCABI=gnuabin32
10605c30ecadSmrg	#else
10615c30ecadSmrg	LIBCABI=${LIBC}
10625c30ecadSmrg	#endif
10635c30ecadSmrg	#endif
10645c30ecadSmrg
10655c30ecadSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10665c30ecadSmrg	CPU=mipsisa64r6
10675c30ecadSmrg	#else
10685c30ecadSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10695c30ecadSmrg	CPU=mipsisa32r6
10705c30ecadSmrg	#else
10715c30ecadSmrg	#if defined(__mips64)
10725c30ecadSmrg	CPU=mips64
10735c30ecadSmrg	#else
10745c30ecadSmrg	CPU=mips
10755c30ecadSmrg	#endif
10765c30ecadSmrg	#endif
10775c30ecadSmrg	#endif
10785c30ecadSmrg
10795eefee25Smacallan	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
10805c30ecadSmrg	MIPS_ENDIAN=el
10815eefee25Smacallan	#else
10825eefee25Smacallan	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
10835c30ecadSmrg	MIPS_ENDIAN=
10845eefee25Smacallan	#else
10855c30ecadSmrg	MIPS_ENDIAN=
10865eefee25Smacallan	#endif
10875eefee25Smacallan	#endif
10885eefee25SmacallanEOF
10895c30ecadSmrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
10905c30ecadSmrg	eval "$cc_set_vars"
10915c30ecadSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
10925c30ecadSmrg	;;
10935c30ecadSmrg    mips64el:Linux:*:*)
10945c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10955c30ecadSmrg	;;
10965c30ecadSmrg    openrisc*:Linux:*:*)
10975c30ecadSmrg	GUESS=or1k-unknown-linux-$LIBC
10985c30ecadSmrg	;;
10995c30ecadSmrg    or32:Linux:*:* | or1k*:Linux:*:*)
11005c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11015eefee25Smacallan	;;
1102dc99b369Smrg    padre:Linux:*:*)
11035c30ecadSmrg	GUESS=sparc-unknown-linux-$LIBC
11045c30ecadSmrg	;;
1105dc99b369Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
11065c30ecadSmrg	GUESS=hppa64-unknown-linux-$LIBC
11075c30ecadSmrg	;;
11085eefee25Smacallan    parisc:Linux:*:* | hppa:Linux:*:*)
11095eefee25Smacallan	# Look for CPU level
11105eefee25Smacallan	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
11115c30ecadSmrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
11125c30ecadSmrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
11135c30ecadSmrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
11145eefee25Smacallan	esac
11155c30ecadSmrg	;;
1116dc99b369Smrg    ppc64:Linux:*:*)
11175c30ecadSmrg	GUESS=powerpc64-unknown-linux-$LIBC
11185c30ecadSmrg	;;
1119dc99b369Smrg    ppc:Linux:*:*)
11205c30ecadSmrg	GUESS=powerpc-unknown-linux-$LIBC
11215c30ecadSmrg	;;
11225c30ecadSmrg    ppc64le:Linux:*:*)
11235c30ecadSmrg	GUESS=powerpc64le-unknown-linux-$LIBC
11245c30ecadSmrg	;;
11255c30ecadSmrg    ppcle:Linux:*:*)
11265c30ecadSmrg	GUESS=powerpcle-unknown-linux-$LIBC
11275c30ecadSmrg	;;
11285c30ecadSmrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
11295c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11305c30ecadSmrg	;;
11315eefee25Smacallan    s390:Linux:*:* | s390x:Linux:*:*)
11325c30ecadSmrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
11335c30ecadSmrg	;;
11345eefee25Smacallan    sh64*:Linux:*:*)
11355c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11365c30ecadSmrg	;;
11375eefee25Smacallan    sh*:Linux:*:*)
11385c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11395c30ecadSmrg	;;
11405eefee25Smacallan    sparc:Linux:*:* | sparc64:Linux:*:*)
11415c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11425c30ecadSmrg	;;
1143dc99b369Smrg    tile*:Linux:*:*)
11445c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11455c30ecadSmrg	;;
114662ab96baSmrg    vax:Linux:*:*)
11475c30ecadSmrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
11485c30ecadSmrg	;;
11495eefee25Smacallan    x86_64:Linux:*:*)
11505c30ecadSmrg	set_cc_for_build
11515c30ecadSmrg	LIBCABI=$LIBC
11525c30ecadSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
11535c30ecadSmrg	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
11545c30ecadSmrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
11555c30ecadSmrg		grep IS_X32 >/dev/null
11565c30ecadSmrg	    then
11575c30ecadSmrg		LIBCABI=${LIBC}x32
11585c30ecadSmrg	    fi
11595c30ecadSmrg	fi
11605c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
11615c30ecadSmrg	;;
116262ab96baSmrg    xtensa*:Linux:*:*)
11635c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11645c30ecadSmrg	;;
11655eefee25Smacallan    i*86:DYNIX/ptx:4*:*)
11665eefee25Smacallan	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
11675eefee25Smacallan	# earlier versions are messed up and put the nodename in both
11685eefee25Smacallan	# sysname and nodename.
11695c30ecadSmrg	GUESS=i386-sequent-sysv4
11705c30ecadSmrg	;;
11715eefee25Smacallan    i*86:UNIX_SV:4.2MP:2.*)
1172dc99b369Smrg	# Unixware is an offshoot of SVR4, but it has its own version
1173dc99b369Smrg	# number series starting with 2...
1174dc99b369Smrg	# I am not positive that other SVR4 systems won't match this,
11755eefee25Smacallan	# I just have to hope.  -- rms.
1176dc99b369Smrg	# Use sysv4.2uw... so that sysv4* matches it.
11775c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
11785c30ecadSmrg	;;
11795eefee25Smacallan    i*86:OS/2:*:*)
11805eefee25Smacallan	# If we were able to find `uname', then EMX Unix compatibility
11815eefee25Smacallan	# is probably installed.
11825c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-os2-emx
11835c30ecadSmrg	;;
11845eefee25Smacallan    i*86:XTS-300:*:STOP)
11855c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-stop
11865c30ecadSmrg	;;
11875eefee25Smacallan    i*86:atheos:*:*)
11885c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-atheos
11895c30ecadSmrg	;;
119062ab96baSmrg    i*86:syllable:*:*)
11915c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-syllable
11925c30ecadSmrg	;;
1193dc99b369Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
11945c30ecadSmrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
11955c30ecadSmrg	;;
11965eefee25Smacallan    i*86:*DOS:*:*)
11975c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
11985c30ecadSmrg	;;
11995c30ecadSmrg    i*86:*:4.*:*)
12005c30ecadSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
12015eefee25Smacallan	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
12025c30ecadSmrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
12035eefee25Smacallan	else
12045c30ecadSmrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
12055eefee25Smacallan	fi
12065c30ecadSmrg	;;
120762ab96baSmrg    i*86:*:5:[678]*)
1208dc99b369Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
12095eefee25Smacallan	case `/bin/uname -X | grep "^Machine"` in
12105eefee25Smacallan	    *486*)	     UNAME_MACHINE=i486 ;;
12115eefee25Smacallan	    *Pentium)	     UNAME_MACHINE=i586 ;;
12125eefee25Smacallan	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
12135eefee25Smacallan	esac
12145c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
12155c30ecadSmrg	;;
12165eefee25Smacallan    i*86:*:3.2:*)
12175eefee25Smacallan	if test -f /usr/options/cb.name; then
12185eefee25Smacallan		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
12195c30ecadSmrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
12205eefee25Smacallan	elif /bin/uname -X 2>/dev/null >/dev/null ; then
12215eefee25Smacallan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
12225eefee25Smacallan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
12235eefee25Smacallan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
12245eefee25Smacallan			&& UNAME_MACHINE=i586
12255eefee25Smacallan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
12265eefee25Smacallan			&& UNAME_MACHINE=i686
12275eefee25Smacallan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
12285eefee25Smacallan			&& UNAME_MACHINE=i686
12295c30ecadSmrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
12305eefee25Smacallan	else
12315c30ecadSmrg		GUESS=$UNAME_MACHINE-pc-sysv32
12325eefee25Smacallan	fi
12335c30ecadSmrg	;;
12345eefee25Smacallan    pc:*:*:*)
12355eefee25Smacallan	# Left here for compatibility:
1236dc99b369Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1237dc99b369Smrg	# the processor, so we play safe by assuming i586.
1238dc99b369Smrg	# Note: whatever this is, it MUST be the same as what config.sub
12395c30ecadSmrg	# prints for the "djgpp" host, or else GDB configure will decide that
1240dc99b369Smrg	# this is a cross-build.
12415c30ecadSmrg	GUESS=i586-pc-msdosdjgpp
12425c30ecadSmrg	;;
12435eefee25Smacallan    Intel:Mach:3*:*)
12445c30ecadSmrg	GUESS=i386-pc-mach3
12455c30ecadSmrg	;;
12465eefee25Smacallan    paragon:*:*:*)
12475c30ecadSmrg	GUESS=i860-intel-osf1
12485c30ecadSmrg	;;
12495eefee25Smacallan    i860:*:4.*:*) # i860-SVR4
12505eefee25Smacallan	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
12515c30ecadSmrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
12525eefee25Smacallan	else # Add other i860-SVR4 vendors below as they are discovered.
12535c30ecadSmrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
12545eefee25Smacallan	fi
12555c30ecadSmrg	;;
12565eefee25Smacallan    mini*:CTIX:SYS*5:*)
12575eefee25Smacallan	# "miniframe"
12585c30ecadSmrg	GUESS=m68010-convergent-sysv
12595c30ecadSmrg	;;
12605eefee25Smacallan    mc68k:UNIX:SYSTEM5:3.51m)
12615c30ecadSmrg	GUESS=m68k-convergent-sysv
12625c30ecadSmrg	;;
12635eefee25Smacallan    M680?0:D-NIX:5.3:*)
12645c30ecadSmrg	GUESS=m68k-diab-dnix
12655c30ecadSmrg	;;
126662ab96baSmrg    M68*:*:R3V[5678]*:*)
126762ab96baSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
126862ab96baSmrg    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)
12695eefee25Smacallan	OS_REL=''
12705eefee25Smacallan	test -r /etc/.relid \
12715eefee25Smacallan	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
12725eefee25Smacallan	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12735c30ecadSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
12745eefee25Smacallan	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
12755c30ecadSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
12765eefee25Smacallan    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1277dc99b369Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1278dc99b369Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
1279dc99b369Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1280dc99b369Smrg	OS_REL='.3'
1281dc99b369Smrg	test -r /etc/.relid \
1282dc99b369Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1283dc99b369Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12845c30ecadSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1285dc99b369Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
12865c30ecadSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1287dc99b369Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
12885c30ecadSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
12895eefee25Smacallan    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
12905c30ecadSmrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
12915c30ecadSmrg	;;
12925eefee25Smacallan    mc68030:UNIX_System_V:4.*:*)
12935c30ecadSmrg	GUESS=m68k-atari-sysv4
12945c30ecadSmrg	;;
12955eefee25Smacallan    TSUNAMI:LynxOS:2.*:*)
12965c30ecadSmrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
12975c30ecadSmrg	;;
12985eefee25Smacallan    rs6000:LynxOS:2.*:*)
12995c30ecadSmrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
13005c30ecadSmrg	;;
1301dc99b369Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
13025c30ecadSmrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
13035c30ecadSmrg	;;
13045eefee25Smacallan    SM[BE]S:UNIX_SV:*:*)
13055c30ecadSmrg	GUESS=mips-dde-sysv$UNAME_RELEASE
13065c30ecadSmrg	;;
13075eefee25Smacallan    RM*:ReliantUNIX-*:*:*)
13085c30ecadSmrg	GUESS=mips-sni-sysv4
13095c30ecadSmrg	;;
13105eefee25Smacallan    RM*:SINIX-*:*:*)
13115c30ecadSmrg	GUESS=mips-sni-sysv4
13125c30ecadSmrg	;;
13135eefee25Smacallan    *:SINIX-*:*:*)
13145eefee25Smacallan	if uname -p 2>/dev/null >/dev/null ; then
13155eefee25Smacallan		UNAME_MACHINE=`(uname -p) 2>/dev/null`
13165c30ecadSmrg		GUESS=$UNAME_MACHINE-sni-sysv4
13175eefee25Smacallan	else
13185c30ecadSmrg		GUESS=ns32k-sni-sysv
13195eefee25Smacallan	fi
13205c30ecadSmrg	;;
1321dc99b369Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1322dc99b369Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
13235c30ecadSmrg	GUESS=i586-unisys-sysv4
13245c30ecadSmrg	;;
13255eefee25Smacallan    *:UNIX_System_V:4*:FTX*)
13265eefee25Smacallan	# From Gerald Hewes <hewes@openmarket.com>.
13275eefee25Smacallan	# How about differentiating between stratus architectures? -djm
13285c30ecadSmrg	GUESS=hppa1.1-stratus-sysv4
13295c30ecadSmrg	;;
13305eefee25Smacallan    *:*:*:FTX*)
13315eefee25Smacallan	# From seanf@swdc.stratus.com.
13325c30ecadSmrg	GUESS=i860-stratus-sysv4
13335c30ecadSmrg	;;
133462ab96baSmrg    i*86:VOS:*:*)
133562ab96baSmrg	# From Paul.Green@stratus.com.
13365c30ecadSmrg	GUESS=$UNAME_MACHINE-stratus-vos
13375c30ecadSmrg	;;
13385eefee25Smacallan    *:VOS:*:*)
13395eefee25Smacallan	# From Paul.Green@stratus.com.
13405c30ecadSmrg	GUESS=hppa1.1-stratus-vos
13415c30ecadSmrg	;;
13425eefee25Smacallan    mc68*:A/UX:*:*)
13435c30ecadSmrg	GUESS=m68k-apple-aux$UNAME_RELEASE
13445c30ecadSmrg	;;
13455eefee25Smacallan    news*:NEWS-OS:6*:*)
13465c30ecadSmrg	GUESS=mips-sony-newsos6
13475c30ecadSmrg	;;
13485eefee25Smacallan    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
13495c30ecadSmrg	if test -d /usr/nec; then
13505c30ecadSmrg		GUESS=mips-nec-sysv$UNAME_RELEASE
13515eefee25Smacallan	else
13525c30ecadSmrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
13535eefee25Smacallan	fi
13545c30ecadSmrg	;;
13555eefee25Smacallan    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
13565c30ecadSmrg	GUESS=powerpc-be-beos
13575c30ecadSmrg	;;
13585eefee25Smacallan    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
13595c30ecadSmrg	GUESS=powerpc-apple-beos
13605c30ecadSmrg	;;
13615eefee25Smacallan    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
13625c30ecadSmrg	GUESS=i586-pc-beos
13635c30ecadSmrg	;;
1364dc99b369Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
13655c30ecadSmrg	GUESS=i586-pc-haiku
13665c30ecadSmrg	;;
1367dc99b369Smrg    x86_64:Haiku:*:*)
13685c30ecadSmrg	GUESS=x86_64-unknown-haiku
13695c30ecadSmrg	;;
13705eefee25Smacallan    SX-4:SUPER-UX:*:*)
13715c30ecadSmrg	GUESS=sx4-nec-superux$UNAME_RELEASE
13725c30ecadSmrg	;;
13735eefee25Smacallan    SX-5:SUPER-UX:*:*)
13745c30ecadSmrg	GUESS=sx5-nec-superux$UNAME_RELEASE
13755c30ecadSmrg	;;
13765eefee25Smacallan    SX-6:SUPER-UX:*:*)
13775c30ecadSmrg	GUESS=sx6-nec-superux$UNAME_RELEASE
13785c30ecadSmrg	;;
137962ab96baSmrg    SX-7:SUPER-UX:*:*)
13805c30ecadSmrg	GUESS=sx7-nec-superux$UNAME_RELEASE
13815c30ecadSmrg	;;
138262ab96baSmrg    SX-8:SUPER-UX:*:*)
13835c30ecadSmrg	GUESS=sx8-nec-superux$UNAME_RELEASE
13845c30ecadSmrg	;;
138562ab96baSmrg    SX-8R:SUPER-UX:*:*)
13865c30ecadSmrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
13875c30ecadSmrg	;;
13885c30ecadSmrg    SX-ACE:SUPER-UX:*:*)
13895c30ecadSmrg	GUESS=sxace-nec-superux$UNAME_RELEASE
13905c30ecadSmrg	;;
13915eefee25Smacallan    Power*:Rhapsody:*:*)
13925c30ecadSmrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
13935c30ecadSmrg	;;
13945eefee25Smacallan    *:Rhapsody:*:*)
13955c30ecadSmrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
13965c30ecadSmrg	;;
13975c30ecadSmrg    arm64:Darwin:*:*)
13985c30ecadSmrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
13995c30ecadSmrg	;;
14005eefee25Smacallan    *:Darwin:*:*)
14015c30ecadSmrg	UNAME_PROCESSOR=`uname -p`
140262ab96baSmrg	case $UNAME_PROCESSOR in
140362ab96baSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
14045eefee25Smacallan	esac
14055c30ecadSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
14065c30ecadSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
14075c30ecadSmrg	    # Avoid executing cc if there is no toolchain installed as
14085c30ecadSmrg	    # cc will be a stub that puts up a graphical alert
14095c30ecadSmrg	    # prompting the user to install developer tools.
14105c30ecadSmrg	    CC_FOR_BUILD=no_compiler_found
14115c30ecadSmrg	else
14125c30ecadSmrg	    set_cc_for_build
14135c30ecadSmrg	fi
14145c30ecadSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
14155c30ecadSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
14165c30ecadSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14175c30ecadSmrg		   grep IS_64BIT_ARCH >/dev/null
14185c30ecadSmrg	    then
14195c30ecadSmrg		case $UNAME_PROCESSOR in
14205c30ecadSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
14215c30ecadSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
14225c30ecadSmrg		esac
14235c30ecadSmrg	    fi
14245c30ecadSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
14255c30ecadSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
14265c30ecadSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14275c30ecadSmrg		   grep IS_PPC >/dev/null
14285c30ecadSmrg	    then
14295c30ecadSmrg		UNAME_PROCESSOR=powerpc
14305c30ecadSmrg	    fi
14315c30ecadSmrg	elif test "$UNAME_PROCESSOR" = i386 ; then
14325c30ecadSmrg	    # uname -m returns i386 or x86_64
14335c30ecadSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
14345c30ecadSmrg	fi
14355c30ecadSmrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
14365c30ecadSmrg	;;
14375eefee25Smacallan    *:procnto*:*:* | *:QNX:[0123456789]*:*)
14385eefee25Smacallan	UNAME_PROCESSOR=`uname -p`
14395c30ecadSmrg	if test "$UNAME_PROCESSOR" = x86; then
14405eefee25Smacallan		UNAME_PROCESSOR=i386
14415eefee25Smacallan		UNAME_MACHINE=pc
14425eefee25Smacallan	fi
14435c30ecadSmrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
14445c30ecadSmrg	;;
14455eefee25Smacallan    *:QNX:*:4*)
14465c30ecadSmrg	GUESS=i386-pc-qnx
14475c30ecadSmrg	;;
14485c30ecadSmrg    NEO-*:NONSTOP_KERNEL:*:*)
14495c30ecadSmrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
14505c30ecadSmrg	;;
1451dc99b369Smrg    NSE-*:NONSTOP_KERNEL:*:*)
14525c30ecadSmrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
14535c30ecadSmrg	;;
14545c30ecadSmrg    NSR-*:NONSTOP_KERNEL:*:*)
14555c30ecadSmrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
14565c30ecadSmrg	;;
14575c30ecadSmrg    NSV-*:NONSTOP_KERNEL:*:*)
14585c30ecadSmrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
14595c30ecadSmrg	;;
14605c30ecadSmrg    NSX-*:NONSTOP_KERNEL:*:*)
14615c30ecadSmrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
14625c30ecadSmrg	;;
14635eefee25Smacallan    *:NonStop-UX:*:*)
14645c30ecadSmrg	GUESS=mips-compaq-nonstopux
14655c30ecadSmrg	;;
14665eefee25Smacallan    BS2000:POSIX*:*:*)
14675c30ecadSmrg	GUESS=bs2000-siemens-sysv
14685c30ecadSmrg	;;
14695eefee25Smacallan    DS/*:UNIX_System_V:*:*)
14705c30ecadSmrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
14715c30ecadSmrg	;;
14725eefee25Smacallan    *:Plan9:*:*)
14735eefee25Smacallan	# "uname -m" is not consistent, so use $cputype instead. 386
14745eefee25Smacallan	# is converted to i386 for consistency with other x86
14755eefee25Smacallan	# operating systems.
14765c30ecadSmrg	if test "${cputype-}" = 386; then
14775eefee25Smacallan	    UNAME_MACHINE=i386
14785c30ecadSmrg	elif test "x${cputype-}" != x; then
14795c30ecadSmrg	    UNAME_MACHINE=$cputype
14805eefee25Smacallan	fi
14815c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-plan9
14825c30ecadSmrg	;;
14835eefee25Smacallan    *:TOPS-10:*:*)
14845c30ecadSmrg	GUESS=pdp10-unknown-tops10
14855c30ecadSmrg	;;
14865eefee25Smacallan    *:TENEX:*:*)
14875c30ecadSmrg	GUESS=pdp10-unknown-tenex
14885c30ecadSmrg	;;
14895eefee25Smacallan    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
14905c30ecadSmrg	GUESS=pdp10-dec-tops20
14915c30ecadSmrg	;;
14925eefee25Smacallan    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
14935c30ecadSmrg	GUESS=pdp10-xkl-tops20
14945c30ecadSmrg	;;
14955eefee25Smacallan    *:TOPS-20:*:*)
14965c30ecadSmrg	GUESS=pdp10-unknown-tops20
14975c30ecadSmrg	;;
14985eefee25Smacallan    *:ITS:*:*)
14995c30ecadSmrg	GUESS=pdp10-unknown-its
15005c30ecadSmrg	;;
15015eefee25Smacallan    SEI:*:*:SEIUX)
15025c30ecadSmrg	GUESS=mips-sei-seiux$UNAME_RELEASE
15035c30ecadSmrg	;;
150462ab96baSmrg    *:DragonFly:*:*)
15055c30ecadSmrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
15065c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
15075c30ecadSmrg	;;
150862ab96baSmrg    *:*VMS:*:*)
1509dc99b369Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
15105c30ecadSmrg	case $UNAME_MACHINE in
15115c30ecadSmrg	    A*) GUESS=alpha-dec-vms ;;
15125c30ecadSmrg	    I*) GUESS=ia64-dec-vms ;;
15135c30ecadSmrg	    V*) GUESS=vax-dec-vms ;;
151462ab96baSmrg	esac ;;
151562ab96baSmrg    *:XENIX:*:SysV)
15165c30ecadSmrg	GUESS=i386-pc-xenix
15175c30ecadSmrg	;;
151862ab96baSmrg    i*86:skyos:*:*)
15195c30ecadSmrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
15205c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
15215c30ecadSmrg	;;
152262ab96baSmrg    i*86:rdos:*:*)
15235c30ecadSmrg	GUESS=$UNAME_MACHINE-pc-rdos
15245c30ecadSmrg	;;
15255c30ecadSmrg    *:AROS:*:*)
15265c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-aros
15275c30ecadSmrg	;;
1528dc99b369Smrg    x86_64:VMkernel:*:*)
15295c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-esx
15305c30ecadSmrg	;;
15315c30ecadSmrg    amd64:Isilon\ OneFS:*:*)
15325c30ecadSmrg	GUESS=x86_64-unknown-onefs
15335c30ecadSmrg	;;
15345c30ecadSmrg    *:Unleashed:*:*)
15355c30ecadSmrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
15365c30ecadSmrg	;;
15375eefee25Smacallanesac
15385eefee25Smacallan
15395c30ecadSmrg# Do we have a guess based on uname results?
15405c30ecadSmrgif test "x$GUESS" != x; then
15415c30ecadSmrg    echo "$GUESS"
15425c30ecadSmrg    exit
15435c30ecadSmrgfi
15445c30ecadSmrg
15455c30ecadSmrg# No uname command or uname output not recognized.
15465c30ecadSmrgset_cc_for_build
15475c30ecadSmrgcat > "$dummy.c" <<EOF
15485eefee25Smacallan#ifdef _SEQUENT_
15495c30ecadSmrg#include <sys/types.h>
15505c30ecadSmrg#include <sys/utsname.h>
15515c30ecadSmrg#endif
15525c30ecadSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
15535c30ecadSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
15545c30ecadSmrg#include <signal.h>
15555c30ecadSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
15565c30ecadSmrg#include <sys/utsname.h>
15575c30ecadSmrg#endif
15585c30ecadSmrg#endif
15595eefee25Smacallan#endif
15605eefee25Smacallanmain ()
15615eefee25Smacallan{
15625eefee25Smacallan#if defined (sony)
15635eefee25Smacallan#if defined (MIPSEB)
15645eefee25Smacallan  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
15655eefee25Smacallan     I don't know....  */
15665eefee25Smacallan  printf ("mips-sony-bsd\n"); exit (0);
15675eefee25Smacallan#else
15685eefee25Smacallan#include <sys/param.h>
15695eefee25Smacallan  printf ("m68k-sony-newsos%s\n",
15705eefee25Smacallan#ifdef NEWSOS4
15715c30ecadSmrg  "4"
15725eefee25Smacallan#else
15735c30ecadSmrg  ""
15745eefee25Smacallan#endif
15755c30ecadSmrg  ); exit (0);
15765eefee25Smacallan#endif
15775eefee25Smacallan#endif
15785eefee25Smacallan
15795eefee25Smacallan#if defined (NeXT)
15805eefee25Smacallan#if !defined (__ARCHITECTURE__)
15815eefee25Smacallan#define __ARCHITECTURE__ "m68k"
15825eefee25Smacallan#endif
15835eefee25Smacallan  int version;
15845eefee25Smacallan  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
15855eefee25Smacallan  if (version < 4)
15865eefee25Smacallan    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
15875eefee25Smacallan  else
15885eefee25Smacallan    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
15895eefee25Smacallan  exit (0);
15905eefee25Smacallan#endif
15915eefee25Smacallan
15925eefee25Smacallan#if defined (MULTIMAX) || defined (n16)
15935eefee25Smacallan#if defined (UMAXV)
15945eefee25Smacallan  printf ("ns32k-encore-sysv\n"); exit (0);
15955eefee25Smacallan#else
15965eefee25Smacallan#if defined (CMU)
15975eefee25Smacallan  printf ("ns32k-encore-mach\n"); exit (0);
15985eefee25Smacallan#else
15995eefee25Smacallan  printf ("ns32k-encore-bsd\n"); exit (0);
16005eefee25Smacallan#endif
16015eefee25Smacallan#endif
16025eefee25Smacallan#endif
16035eefee25Smacallan
16045eefee25Smacallan#if defined (__386BSD__)
16055eefee25Smacallan  printf ("i386-pc-bsd\n"); exit (0);
16065eefee25Smacallan#endif
16075eefee25Smacallan
16085eefee25Smacallan#if defined (sequent)
16095eefee25Smacallan#if defined (i386)
16105eefee25Smacallan  printf ("i386-sequent-dynix\n"); exit (0);
16115eefee25Smacallan#endif
16125eefee25Smacallan#if defined (ns32000)
16135eefee25Smacallan  printf ("ns32k-sequent-dynix\n"); exit (0);
16145eefee25Smacallan#endif
16155eefee25Smacallan#endif
16165eefee25Smacallan
16175eefee25Smacallan#if defined (_SEQUENT_)
16185c30ecadSmrg  struct utsname un;
16195eefee25Smacallan
16205c30ecadSmrg  uname(&un);
16215c30ecadSmrg  if (strncmp(un.version, "V2", 2) == 0) {
16225c30ecadSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
16235c30ecadSmrg  }
16245c30ecadSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
16255c30ecadSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
16265c30ecadSmrg  }
16275c30ecadSmrg  printf ("i386-sequent-ptx\n"); exit (0);
16285eefee25Smacallan#endif
16295eefee25Smacallan
16305eefee25Smacallan#if defined (vax)
16315c30ecadSmrg#if !defined (ultrix)
16325c30ecadSmrg#include <sys/param.h>
16335c30ecadSmrg#if defined (BSD)
16345c30ecadSmrg#if BSD == 43
16355c30ecadSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
16365c30ecadSmrg#else
16375c30ecadSmrg#if BSD == 199006
16385c30ecadSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
16395c30ecadSmrg#else
16405c30ecadSmrg  printf ("vax-dec-bsd\n"); exit (0);
16415c30ecadSmrg#endif
16425c30ecadSmrg#endif
16435c30ecadSmrg#else
16445c30ecadSmrg  printf ("vax-dec-bsd\n"); exit (0);
16455c30ecadSmrg#endif
16465c30ecadSmrg#else
16475c30ecadSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16485c30ecadSmrg  struct utsname un;
16495c30ecadSmrg  uname (&un);
16505c30ecadSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
16515c30ecadSmrg#else
16525c30ecadSmrg  printf ("vax-dec-ultrix\n"); exit (0);
16535c30ecadSmrg#endif
16545c30ecadSmrg#endif
16555c30ecadSmrg#endif
16565c30ecadSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
16575c30ecadSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
16585c30ecadSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16595c30ecadSmrg  struct utsname *un;
16605c30ecadSmrg  uname (&un);
16615c30ecadSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
16625c30ecadSmrg#else
16635c30ecadSmrg  printf ("mips-dec-ultrix\n"); exit (0);
16645c30ecadSmrg#endif
16655c30ecadSmrg#endif
16665eefee25Smacallan#endif
16675eefee25Smacallan
16685eefee25Smacallan#if defined (alliant) && defined (i860)
16695eefee25Smacallan  printf ("i860-alliant-bsd\n"); exit (0);
16705eefee25Smacallan#endif
16715eefee25Smacallan
16725eefee25Smacallan  exit (1);
16735eefee25Smacallan}
16745eefee25SmacallanEOF
16755eefee25Smacallan
16765c30ecadSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
167762ab96baSmrg	{ echo "$SYSTEM_NAME"; exit; }
16785eefee25Smacallan
16795eefee25Smacallan# Apollos put the system type in the environment.
16805c30ecadSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
16815eefee25Smacallan
16825c30ecadSmrgecho "$0: unable to guess system type" >&2
16835eefee25Smacallan
16845c30ecadSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
16855c30ecadSmrg    mips:Linux | mips64:Linux)
16865c30ecadSmrg	# If we got here on MIPS GNU/Linux, output extra information.
16875c30ecadSmrg	cat >&2 <<EOF
16885eefee25Smacallan
16895c30ecadSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
16905c30ecadSmrgthe system type. Please install a C compiler and try again.
16915c30ecadSmrgEOF
16925c30ecadSmrg	;;
16935c30ecadSmrgesac
16945eefee25Smacallan
16955eefee25Smacallancat >&2 <<EOF
16965eefee25Smacallan
16975c30ecadSmrgThis script (version $timestamp), has failed to recognize the
16985c30ecadSmrgoperating system you are using. If your script is old, overwrite *all*
16995c30ecadSmrgcopies of config.guess and config.sub with the latest versions from:
17005eefee25Smacallan
17015c30ecadSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
170262ab96baSmrgand
17035c30ecadSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
17045c30ecadSmrgEOF
17055eefee25Smacallan
17065c30ecadSmrgour_year=`echo $timestamp | sed 's,-.*,,'`
17075c30ecadSmrgthisyear=`date +%Y`
17085c30ecadSmrg# shellcheck disable=SC2003
17095c30ecadSmrgscript_age=`expr "$thisyear" - "$our_year"`
17105c30ecadSmrgif test "$script_age" -lt 3 ; then
17115c30ecadSmrg   cat >&2 <<EOF
17125c30ecadSmrg
17135c30ecadSmrgIf $0 has already been updated, send the following data and any
17145c30ecadSmrginformation you think might be pertinent to config-patches@gnu.org to
17155c30ecadSmrgprovide the necessary information to handle your system.
17165eefee25Smacallan
17175eefee25Smacallanconfig.guess timestamp = $timestamp
17185eefee25Smacallan
17195eefee25Smacallanuname -m = `(uname -m) 2>/dev/null || echo unknown`
17205eefee25Smacallanuname -r = `(uname -r) 2>/dev/null || echo unknown`
17215eefee25Smacallanuname -s = `(uname -s) 2>/dev/null || echo unknown`
17225eefee25Smacallanuname -v = `(uname -v) 2>/dev/null || echo unknown`
17235eefee25Smacallan
17245eefee25Smacallan/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
17255eefee25Smacallan/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
17265eefee25Smacallan
17275eefee25Smacallanhostinfo               = `(hostinfo) 2>/dev/null`
17285eefee25Smacallan/bin/universe          = `(/bin/universe) 2>/dev/null`
17295eefee25Smacallan/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
17305eefee25Smacallan/bin/arch              = `(/bin/arch) 2>/dev/null`
17315eefee25Smacallan/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
17325eefee25Smacallan/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
17335eefee25Smacallan
17345c30ecadSmrgUNAME_MACHINE = "$UNAME_MACHINE"
17355c30ecadSmrgUNAME_RELEASE = "$UNAME_RELEASE"
17365c30ecadSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
17375c30ecadSmrgUNAME_VERSION = "$UNAME_VERSION"
17385eefee25SmacallanEOF
17395c30ecadSmrgfi
17405eefee25Smacallan
17415eefee25Smacallanexit 1
17425eefee25Smacallan
17435eefee25Smacallan# Local variables:
17445c30ecadSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
17455eefee25Smacallan# time-stamp-start: "timestamp='"
17465eefee25Smacallan# time-stamp-format: "%:y-%02m-%02d"
17475eefee25Smacallan# time-stamp-end: "'"
17485eefee25Smacallan# End:
1749