172b4363aSmrg#! /bin/sh
272b4363aSmrg# Attempt to guess a canonical system name.
37ed541caSmrg#   Copyright 1992-2021 Free Software Foundation, Inc.
472b4363aSmrg
57ed541caSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale
67ed541caSmrg
77ed541caSmrgtimestamp='2021-06-03'
872b4363aSmrg
972b4363aSmrg# This file is free software; you can redistribute it and/or modify it
1072b4363aSmrg# under the terms of the GNU General Public License as published by
1133dddc75Smrg# the Free Software Foundation; either version 3 of the License, or
1272b4363aSmrg# (at your option) any later version.
1372b4363aSmrg#
1472b4363aSmrg# This program is distributed in the hope that it will be useful, but
1572b4363aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1672b4363aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1772b4363aSmrg# General Public License for more details.
1872b4363aSmrg#
1972b4363aSmrg# You should have received a copy of the GNU General Public License
207ed541caSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
2172b4363aSmrg#
2272b4363aSmrg# As a special exception to the GNU General Public License, if you
2372b4363aSmrg# distribute this file as part of a program that contains a
2472b4363aSmrg# configuration script generated by Autoconf, you may include it under
2533dddc75Smrg# the same distribution terms that you use for the rest of that
2633dddc75Smrg# program.  This Exception is an additional permission under section 7
2733dddc75Smrg# of the GNU General Public License, version 3 ("GPLv3").
2872b4363aSmrg#
2933dddc75Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
3072b4363aSmrg#
3108e312fdSmrg# You can get the latest version of this script from:
327ed541caSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
3333dddc75Smrg#
3433dddc75Smrg# Please send patches to <config-patches@gnu.org>.
3533dddc75Smrg
3672b4363aSmrg
377ed541caSmrg# The "shellcheck disable" line above the timestamp inhibits complaints
387ed541caSmrg# about features and limitations of the classic Bourne shell that were
397ed541caSmrg# superseded or lifted in POSIX.  However, this script identifies a wide
407ed541caSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
417ed541caSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still
427ed541caSmrg# have a pre-POSIX /bin/sh.
437ed541caSmrg
447ed541caSmrg
4572b4363aSmrgme=`echo "$0" | sed -e 's,.*/,,'`
4672b4363aSmrg
4772b4363aSmrgusage="\
4872b4363aSmrgUsage: $0 [OPTION]
4972b4363aSmrg
5072b4363aSmrgOutput the configuration name of the system \`$me' is run on.
5172b4363aSmrg
527ed541caSmrgOptions:
5372b4363aSmrg  -h, --help         print this help, then exit
5472b4363aSmrg  -t, --time-stamp   print date of last modification, then exit
5572b4363aSmrg  -v, --version      print version number, then exit
5672b4363aSmrg
5772b4363aSmrgReport bugs and patches to <config-patches@gnu.org>."
5872b4363aSmrg
5972b4363aSmrgversion="\
6072b4363aSmrgGNU config.guess ($timestamp)
6172b4363aSmrg
6272b4363aSmrgOriginally written by Per Bothner.
637ed541caSmrgCopyright 1992-2021 Free Software Foundation, Inc.
6472b4363aSmrg
6572b4363aSmrgThis is free software; see the source for copying conditions.  There is NO
6672b4363aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6772b4363aSmrg
6872b4363aSmrghelp="
6972b4363aSmrgTry \`$me --help' for more information."
7072b4363aSmrg
7172b4363aSmrg# Parse command line
7272b4363aSmrgwhile test $# -gt 0 ; do
7372b4363aSmrg  case $1 in
7472b4363aSmrg    --time-stamp | --time* | -t )
7572b4363aSmrg       echo "$timestamp" ; exit ;;
7672b4363aSmrg    --version | -v )
7772b4363aSmrg       echo "$version" ; exit ;;
7872b4363aSmrg    --help | --h* | -h )
7972b4363aSmrg       echo "$usage"; exit ;;
8072b4363aSmrg    -- )     # Stop option processing
8172b4363aSmrg       shift; break ;;
8272b4363aSmrg    - )	# Use stdin as input.
8372b4363aSmrg       break ;;
8472b4363aSmrg    -* )
8572b4363aSmrg       echo "$me: invalid option $1$help" >&2
8672b4363aSmrg       exit 1 ;;
8772b4363aSmrg    * )
8872b4363aSmrg       break ;;
8972b4363aSmrg  esac
9072b4363aSmrgdone
9172b4363aSmrg
9272b4363aSmrgif test $# != 0; then
9372b4363aSmrg  echo "$me: too many arguments$help" >&2
9472b4363aSmrg  exit 1
9572b4363aSmrgfi
9672b4363aSmrg
977ed541caSmrg# Just in case it came from the environment.
987ed541caSmrgGUESS=
9972b4363aSmrg
10072b4363aSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
10172b4363aSmrg# compiler to aid in system detection is discouraged as it requires
10272b4363aSmrg# temporary files to be created and, as you can see below, it is a
10372b4363aSmrg# headache to deal with in a portable fashion.
10472b4363aSmrg
10572b4363aSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10672b4363aSmrg# use `HOST_CC' if defined, but it is deprecated.
10772b4363aSmrg
10872b4363aSmrg# Portable tmp directory creation inspired by the Autoconf team.
10972b4363aSmrg
1107ed541caSmrgtmp=
1117ed541caSmrg# shellcheck disable=SC2172
1127ed541caSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
1137ed541caSmrg
1147ed541caSmrgset_cc_for_build() {
1157ed541caSmrg    # prevent multiple calls if $tmp is already set
1167ed541caSmrg    test "$tmp" && return 0
1177ed541caSmrg    : "${TMPDIR=/tmp}"
1187ed541caSmrg    # shellcheck disable=SC2039,SC3028
1197ed541caSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1207ed541caSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
1217ed541caSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1227ed541caSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
1237ed541caSmrg    dummy=$tmp/dummy
1247ed541caSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
1257ed541caSmrg	,,)    echo "int x;" > "$dummy.c"
1267ed541caSmrg	       for driver in cc gcc c89 c99 ; do
1277ed541caSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
1287ed541caSmrg		       CC_FOR_BUILD=$driver
1297ed541caSmrg		       break
1307ed541caSmrg		   fi
1317ed541caSmrg	       done
1327ed541caSmrg	       if test x"$CC_FOR_BUILD" = x ; then
1337ed541caSmrg		   CC_FOR_BUILD=no_compiler_found
1347ed541caSmrg	       fi
1357ed541caSmrg	       ;;
1367ed541caSmrg	,,*)   CC_FOR_BUILD=$CC ;;
1377ed541caSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1387ed541caSmrg    esac
1397ed541caSmrg}
14072b4363aSmrg
14172b4363aSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
14272b4363aSmrg# (ghazi@noc.rutgers.edu 1994-08-24)
1437ed541caSmrgif test -f /.attbin/uname ; then
14472b4363aSmrg	PATH=$PATH:/.attbin ; export PATH
14572b4363aSmrgfi
14672b4363aSmrg
14772b4363aSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
14872b4363aSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1497ed541caSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
15072b4363aSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
15172b4363aSmrg
1527ed541caSmrgcase $UNAME_SYSTEM in
15333dddc75SmrgLinux|GNU|GNU/*)
1547ed541caSmrg	LIBC=unknown
15533dddc75Smrg
1567ed541caSmrg	set_cc_for_build
1577ed541caSmrg	cat <<-EOF > "$dummy.c"
15833dddc75Smrg	#include <features.h>
15933dddc75Smrg	#if defined(__UCLIBC__)
16033dddc75Smrg	LIBC=uclibc
16133dddc75Smrg	#elif defined(__dietlibc__)
16233dddc75Smrg	LIBC=dietlibc
1637ed541caSmrg	#elif defined(__GLIBC__)
16433dddc75Smrg	LIBC=gnu
1657ed541caSmrg	#else
1667ed541caSmrg	#include <stdarg.h>
1677ed541caSmrg	/* First heuristic to detect musl libc.  */
1687ed541caSmrg	#ifdef __DEFINED_va_list
1697ed541caSmrg	LIBC=musl
1707ed541caSmrg	#endif
17133dddc75Smrg	#endif
17233dddc75Smrg	EOF
1737ed541caSmrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
1747ed541caSmrg	eval "$cc_set_libc"
1757ed541caSmrg
1767ed541caSmrg	# Second heuristic to detect musl libc.
1777ed541caSmrg	if [ "$LIBC" = unknown ] &&
1787ed541caSmrg	   command -v ldd >/dev/null &&
1797ed541caSmrg	   ldd --version 2>&1 | grep -q ^musl; then
1807ed541caSmrg		LIBC=musl
1817ed541caSmrg	fi
1827ed541caSmrg
1837ed541caSmrg	# If the system lacks a compiler, then just pick glibc.
1847ed541caSmrg	# We could probably try harder.
1857ed541caSmrg	if [ "$LIBC" = unknown ]; then
1867ed541caSmrg		LIBC=gnu
1877ed541caSmrg	fi
18833dddc75Smrg	;;
18933dddc75Smrgesac
19033dddc75Smrg
19172b4363aSmrg# Note: order is significant - the case branches are not exclusive.
19272b4363aSmrg
1937ed541caSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
19472b4363aSmrg    *:NetBSD:*:*)
19572b4363aSmrg	# NetBSD (nbsd) targets should (where applicable) match one or
19633dddc75Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
19772b4363aSmrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
19872b4363aSmrg	# switched to ELF, *-*-netbsd* would select the old
19972b4363aSmrg	# object file format.  This provides both forward
20072b4363aSmrg	# compatibility and a consistent mechanism for selecting the
20172b4363aSmrg	# object file format.
20272b4363aSmrg	#
20372b4363aSmrg	# Note: NetBSD doesn't particularly care about the vendor
20472b4363aSmrg	# portion of the name.  We always set it to "unknown".
2057ed541caSmrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
2067ed541caSmrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2077ed541caSmrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2087ed541caSmrg	    echo unknown)`
2097ed541caSmrg	case $UNAME_MACHINE_ARCH in
2107ed541caSmrg	    aarch64eb) machine=aarch64_be-unknown ;;
21172b4363aSmrg	    armeb) machine=armeb-unknown ;;
21272b4363aSmrg	    arm*) machine=arm-unknown ;;
21372b4363aSmrg	    sh3el) machine=shl-unknown ;;
21472b4363aSmrg	    sh3eb) machine=sh-unknown ;;
215dd77ae96Smrg	    sh5el) machine=sh5le-unknown ;;
2167ed541caSmrg	    earmv*)
2177ed541caSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
2187ed541caSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
2197ed541caSmrg		machine=${arch}${endian}-unknown
2207ed541caSmrg		;;
2217ed541caSmrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
22272b4363aSmrg	esac
22372b4363aSmrg	# The Operating System including object format, if it has switched
2247ed541caSmrg	# to ELF recently (or will in the future) and ABI.
2257ed541caSmrg	case $UNAME_MACHINE_ARCH in
2267ed541caSmrg	    earm*)
2277ed541caSmrg		os=netbsdelf
2287ed541caSmrg		;;
22972b4363aSmrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
2307ed541caSmrg		set_cc_for_build
23172b4363aSmrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
23208e312fdSmrg			| grep -q __ELF__
23372b4363aSmrg		then
23472b4363aSmrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
23572b4363aSmrg		    # Return netbsd for either.  FIX?
23672b4363aSmrg		    os=netbsd
23772b4363aSmrg		else
23872b4363aSmrg		    os=netbsdelf
23972b4363aSmrg		fi
24072b4363aSmrg		;;
24172b4363aSmrg	    *)
24233dddc75Smrg		os=netbsd
24372b4363aSmrg		;;
24472b4363aSmrg	esac
2457ed541caSmrg	# Determine ABI tags.
2467ed541caSmrg	case $UNAME_MACHINE_ARCH in
2477ed541caSmrg	    earm*)
2487ed541caSmrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
2497ed541caSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
2507ed541caSmrg		;;
2517ed541caSmrg	esac
25272b4363aSmrg	# The OS release
25372b4363aSmrg	# Debian GNU/NetBSD machines have a different userland, and
25472b4363aSmrg	# thus, need a distinct triplet. However, they do not need
25572b4363aSmrg	# kernel version information, so it can be replaced with a
25672b4363aSmrg	# suitable tag, in the style of linux-gnu.
2577ed541caSmrg	case $UNAME_VERSION in
25872b4363aSmrg	    Debian*)
25972b4363aSmrg		release='-gnu'
26072b4363aSmrg		;;
26172b4363aSmrg	    *)
2627ed541caSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
26372b4363aSmrg		;;
26472b4363aSmrg	esac
26572b4363aSmrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
26672b4363aSmrg	# contains redundant information, the shorter form:
26772b4363aSmrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2687ed541caSmrg	GUESS=$machine-${os}${release}${abi-}
2697ed541caSmrg	;;
27033dddc75Smrg    *:Bitrig:*:*)
27133dddc75Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
2727ed541caSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
2737ed541caSmrg	;;
27472b4363aSmrg    *:OpenBSD:*:*)
27572b4363aSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2767ed541caSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
2777ed541caSmrg	;;
2787ed541caSmrg    *:SecBSD:*:*)
2797ed541caSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
2807ed541caSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
2817ed541caSmrg	;;
2827ed541caSmrg    *:LibertyBSD:*:*)
2837ed541caSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
2847ed541caSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
2857ed541caSmrg	;;
2867ed541caSmrg    *:MidnightBSD:*:*)
2877ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
2887ed541caSmrg	;;
28972b4363aSmrg    *:ekkoBSD:*:*)
2907ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
2917ed541caSmrg	;;
29272b4363aSmrg    *:SolidBSD:*:*)
2937ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
2947ed541caSmrg	;;
2957ed541caSmrg    *:OS108:*:*)
2967ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
2977ed541caSmrg	;;
29872b4363aSmrg    macppc:MirBSD:*:*)
2997ed541caSmrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
3007ed541caSmrg	;;
30172b4363aSmrg    *:MirBSD:*:*)
3027ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
3037ed541caSmrg	;;
3047ed541caSmrg    *:Sortix:*:*)
3057ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-sortix
3067ed541caSmrg	;;
3077ed541caSmrg    *:Twizzler:*:*)
3087ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-twizzler
3097ed541caSmrg	;;
3107ed541caSmrg    *:Redox:*:*)
3117ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-redox
3127ed541caSmrg	;;
3137ed541caSmrg    mips:OSF1:*.*)
3147ed541caSmrg	GUESS=mips-dec-osf1
3157ed541caSmrg	;;
31672b4363aSmrg    alpha:OSF1:*:*)
3177ed541caSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
3187ed541caSmrg	trap '' 0
31972b4363aSmrg	case $UNAME_RELEASE in
32072b4363aSmrg	*4.0)
32172b4363aSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
32272b4363aSmrg		;;
32372b4363aSmrg	*5.*)
32433dddc75Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
32572b4363aSmrg		;;
32672b4363aSmrg	esac
32772b4363aSmrg	# According to Compaq, /usr/sbin/psrinfo has been available on
32872b4363aSmrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
32972b4363aSmrg	# covers most systems running today.  This code pipes the CPU
33072b4363aSmrg	# types through head -n 1, so we only detect the type of CPU 0.
33172b4363aSmrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
3327ed541caSmrg	case $ALPHA_CPU_TYPE in
33372b4363aSmrg	    "EV4 (21064)")
3347ed541caSmrg		UNAME_MACHINE=alpha ;;
33572b4363aSmrg	    "EV4.5 (21064)")
3367ed541caSmrg		UNAME_MACHINE=alpha ;;
33772b4363aSmrg	    "LCA4 (21066/21068)")
3387ed541caSmrg		UNAME_MACHINE=alpha ;;
33972b4363aSmrg	    "EV5 (21164)")
3407ed541caSmrg		UNAME_MACHINE=alphaev5 ;;
34172b4363aSmrg	    "EV5.6 (21164A)")
3427ed541caSmrg		UNAME_MACHINE=alphaev56 ;;
34372b4363aSmrg	    "EV5.6 (21164PC)")
3447ed541caSmrg		UNAME_MACHINE=alphapca56 ;;
34572b4363aSmrg	    "EV5.7 (21164PC)")
3467ed541caSmrg		UNAME_MACHINE=alphapca57 ;;
34772b4363aSmrg	    "EV6 (21264)")
3487ed541caSmrg		UNAME_MACHINE=alphaev6 ;;
34972b4363aSmrg	    "EV6.7 (21264A)")
3507ed541caSmrg		UNAME_MACHINE=alphaev67 ;;
35172b4363aSmrg	    "EV6.8CB (21264C)")
3527ed541caSmrg		UNAME_MACHINE=alphaev68 ;;
35372b4363aSmrg	    "EV6.8AL (21264B)")
3547ed541caSmrg		UNAME_MACHINE=alphaev68 ;;
35572b4363aSmrg	    "EV6.8CX (21264D)")
3567ed541caSmrg		UNAME_MACHINE=alphaev68 ;;
35772b4363aSmrg	    "EV6.9A (21264/EV69A)")
3587ed541caSmrg		UNAME_MACHINE=alphaev69 ;;
35972b4363aSmrg	    "EV7 (21364)")
3607ed541caSmrg		UNAME_MACHINE=alphaev7 ;;
36172b4363aSmrg	    "EV7.9 (21364A)")
3627ed541caSmrg		UNAME_MACHINE=alphaev79 ;;
36372b4363aSmrg	esac
36472b4363aSmrg	# A Pn.n version is a patched version.
36572b4363aSmrg	# A Vn.n version is a released version.
36672b4363aSmrg	# A Tn.n version is a released field test version.
36772b4363aSmrg	# A Xn.n version is an unreleased experimental baselevel.
36872b4363aSmrg	# 1.2 uses "1.2" for uname -r.
3697ed541caSmrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
3707ed541caSmrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
3717ed541caSmrg	;;
37272b4363aSmrg    Amiga*:UNIX_System_V:4.0:*)
3737ed541caSmrg	GUESS=m68k-unknown-sysv4
3747ed541caSmrg	;;
37572b4363aSmrg    *:[Aa]miga[Oo][Ss]:*:*)
3767ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-amigaos
3777ed541caSmrg	;;
37872b4363aSmrg    *:[Mm]orph[Oo][Ss]:*:*)
3797ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-morphos
3807ed541caSmrg	;;
38172b4363aSmrg    *:OS/390:*:*)
3827ed541caSmrg	GUESS=i370-ibm-openedition
3837ed541caSmrg	;;
38472b4363aSmrg    *:z/VM:*:*)
3857ed541caSmrg	GUESS=s390-ibm-zvmoe
3867ed541caSmrg	;;
38772b4363aSmrg    *:OS400:*:*)
3887ed541caSmrg	GUESS=powerpc-ibm-os400
3897ed541caSmrg	;;
39072b4363aSmrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3917ed541caSmrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
3927ed541caSmrg	;;
39333dddc75Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
3947ed541caSmrg	GUESS=arm-unknown-riscos
3957ed541caSmrg	;;
39672b4363aSmrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3977ed541caSmrg	GUESS=hppa1.1-hitachi-hiuxmpp
3987ed541caSmrg	;;
39972b4363aSmrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
40072b4363aSmrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
4017ed541caSmrg	case `(/bin/universe) 2>/dev/null` in
4027ed541caSmrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
4037ed541caSmrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
4047ed541caSmrg	esac
4057ed541caSmrg	;;
40672b4363aSmrg    NILE*:*:*:dcosx)
4077ed541caSmrg	GUESS=pyramid-pyramid-svr4
4087ed541caSmrg	;;
40972b4363aSmrg    DRS?6000:unix:4.0:6*)
4107ed541caSmrg	GUESS=sparc-icl-nx6
4117ed541caSmrg	;;
41272b4363aSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
41372b4363aSmrg	case `/usr/bin/uname -p` in
4147ed541caSmrg	    sparc) GUESS=sparc-icl-nx7 ;;
4157ed541caSmrg	esac
4167ed541caSmrg	;;
417dd77ae96Smrg    s390x:SunOS:*:*)
4187ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4197ed541caSmrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
4207ed541caSmrg	;;
42172b4363aSmrg    sun4H:SunOS:5.*:*)
4227ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4237ed541caSmrg	GUESS=sparc-hal-solaris2$SUN_REL
4247ed541caSmrg	;;
42572b4363aSmrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
4267ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4277ed541caSmrg	GUESS=sparc-sun-solaris2$SUN_REL
4287ed541caSmrg	;;
42908e312fdSmrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
4307ed541caSmrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
4317ed541caSmrg	;;
432dd77ae96Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
4337ed541caSmrg	set_cc_for_build
4347ed541caSmrg	SUN_ARCH=i386
435dd77ae96Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
436dd77ae96Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
437dd77ae96Smrg	# This test works for both compilers.
4387ed541caSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
439dd77ae96Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
4407ed541caSmrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
441dd77ae96Smrg		grep IS_64BIT_ARCH >/dev/null
442dd77ae96Smrg	    then
4437ed541caSmrg		SUN_ARCH=x86_64
444dd77ae96Smrg	    fi
445dd77ae96Smrg	fi
4467ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4477ed541caSmrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
4487ed541caSmrg	;;
44972b4363aSmrg    sun4*:SunOS:6*:*)
45072b4363aSmrg	# According to config.sub, this is the proper way to canonicalize
45172b4363aSmrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
45272b4363aSmrg	# it's likely to be more like Solaris than SunOS4.
4537ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4547ed541caSmrg	GUESS=sparc-sun-solaris3$SUN_REL
4557ed541caSmrg	;;
45672b4363aSmrg    sun4*:SunOS:*:*)
4577ed541caSmrg	case `/usr/bin/arch -k` in
45872b4363aSmrg	    Series*|S4*)
45972b4363aSmrg		UNAME_RELEASE=`uname -v`
46072b4363aSmrg		;;
46172b4363aSmrg	esac
46272b4363aSmrg	# Japanese Language versions have a version number like `4.1.3-JL'.
4637ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
4647ed541caSmrg	GUESS=sparc-sun-sunos$SUN_REL
4657ed541caSmrg	;;
46672b4363aSmrg    sun3*:SunOS:*:*)
4677ed541caSmrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
4687ed541caSmrg	;;
46972b4363aSmrg    sun*:*:4.2BSD:*)
47072b4363aSmrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
4717ed541caSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
4727ed541caSmrg	case `/bin/arch` in
47372b4363aSmrg	    sun3)
4747ed541caSmrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
47572b4363aSmrg		;;
47672b4363aSmrg	    sun4)
4777ed541caSmrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
47872b4363aSmrg		;;
47972b4363aSmrg	esac
4807ed541caSmrg	;;
48172b4363aSmrg    aushp:SunOS:*:*)
4827ed541caSmrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
4837ed541caSmrg	;;
48472b4363aSmrg    # The situation for MiNT is a little confusing.  The machine name
48572b4363aSmrg    # can be virtually everything (everything which is not
48672b4363aSmrg    # "atarist" or "atariste" at least should have a processor
48772b4363aSmrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
48872b4363aSmrg    # to the lowercase version "mint" (or "freemint").  Finally
48972b4363aSmrg    # the system name "TOS" denotes a system which is actually not
49072b4363aSmrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
49172b4363aSmrg    # be no problem.
49272b4363aSmrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
4937ed541caSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4947ed541caSmrg	;;
49572b4363aSmrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4967ed541caSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4977ed541caSmrg	;;
49872b4363aSmrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4997ed541caSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
5007ed541caSmrg	;;
50172b4363aSmrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
5027ed541caSmrg	GUESS=m68k-milan-mint$UNAME_RELEASE
5037ed541caSmrg	;;
50472b4363aSmrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
5057ed541caSmrg	GUESS=m68k-hades-mint$UNAME_RELEASE
5067ed541caSmrg	;;
50772b4363aSmrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
5087ed541caSmrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
5097ed541caSmrg	;;
51072b4363aSmrg    m68k:machten:*:*)
5117ed541caSmrg	GUESS=m68k-apple-machten$UNAME_RELEASE
5127ed541caSmrg	;;
51372b4363aSmrg    powerpc:machten:*:*)
5147ed541caSmrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
5157ed541caSmrg	;;
51672b4363aSmrg    RISC*:Mach:*:*)
5177ed541caSmrg	GUESS=mips-dec-mach_bsd4.3
5187ed541caSmrg	;;
51972b4363aSmrg    RISC*:ULTRIX:*:*)
5207ed541caSmrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
5217ed541caSmrg	;;
52272b4363aSmrg    VAX*:ULTRIX*:*:*)
5237ed541caSmrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
5247ed541caSmrg	;;
52572b4363aSmrg    2020:CLIX:*:* | 2430:CLIX:*:*)
5267ed541caSmrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
5277ed541caSmrg	;;
52872b4363aSmrg    mips:*:*:UMIPS | mips:*:*:RISCos)
5297ed541caSmrg	set_cc_for_build
5307ed541caSmrg	sed 's/^	//' << EOF > "$dummy.c"
53172b4363aSmrg#ifdef __cplusplus
53272b4363aSmrg#include <stdio.h>  /* for printf() prototype */
53372b4363aSmrg	int main (int argc, char *argv[]) {
53472b4363aSmrg#else
53572b4363aSmrg	int main (argc, argv) int argc; char *argv[]; {
53672b4363aSmrg#endif
53772b4363aSmrg	#if defined (host_mips) && defined (MIPSEB)
53872b4363aSmrg	#if defined (SYSTYPE_SYSV)
5397ed541caSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
54072b4363aSmrg	#endif
54172b4363aSmrg	#if defined (SYSTYPE_SVR4)
5427ed541caSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
54372b4363aSmrg	#endif
54472b4363aSmrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
5457ed541caSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
54672b4363aSmrg	#endif
54772b4363aSmrg	#endif
54872b4363aSmrg	  exit (-1);
54972b4363aSmrg	}
55072b4363aSmrgEOF
5517ed541caSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
5527ed541caSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
5537ed541caSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
55472b4363aSmrg	    { echo "$SYSTEM_NAME"; exit; }
5557ed541caSmrg	GUESS=mips-mips-riscos$UNAME_RELEASE
5567ed541caSmrg	;;
55772b4363aSmrg    Motorola:PowerMAX_OS:*:*)
5587ed541caSmrg	GUESS=powerpc-motorola-powermax
5597ed541caSmrg	;;
56072b4363aSmrg    Motorola:*:4.3:PL8-*)
5617ed541caSmrg	GUESS=powerpc-harris-powermax
5627ed541caSmrg	;;
56372b4363aSmrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
5647ed541caSmrg	GUESS=powerpc-harris-powermax
5657ed541caSmrg	;;
56672b4363aSmrg    Night_Hawk:Power_UNIX:*:*)
5677ed541caSmrg	GUESS=powerpc-harris-powerunix
5687ed541caSmrg	;;
56972b4363aSmrg    m88k:CX/UX:7*:*)
5707ed541caSmrg	GUESS=m88k-harris-cxux7
5717ed541caSmrg	;;
57272b4363aSmrg    m88k:*:4*:R4*)
5737ed541caSmrg	GUESS=m88k-motorola-sysv4
5747ed541caSmrg	;;
57572b4363aSmrg    m88k:*:3*:R3*)
5767ed541caSmrg	GUESS=m88k-motorola-sysv3
5777ed541caSmrg	;;
57872b4363aSmrg    AViiON:dgux:*:*)
57933dddc75Smrg	# DG/UX returns AViiON for all architectures
58033dddc75Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
5817ed541caSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
58272b4363aSmrg	then
5837ed541caSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
5847ed541caSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
58572b4363aSmrg	    then
5867ed541caSmrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
58772b4363aSmrg	    else
5887ed541caSmrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
58972b4363aSmrg	    fi
59072b4363aSmrg	else
5917ed541caSmrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
59272b4363aSmrg	fi
5937ed541caSmrg	;;
59472b4363aSmrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5957ed541caSmrg	GUESS=m88k-dolphin-sysv3
5967ed541caSmrg	;;
59772b4363aSmrg    M88*:*:R3*:*)
59872b4363aSmrg	# Delta 88k system running SVR3
5997ed541caSmrg	GUESS=m88k-motorola-sysv3
6007ed541caSmrg	;;
60172b4363aSmrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
6027ed541caSmrg	GUESS=m88k-tektronix-sysv3
6037ed541caSmrg	;;
60472b4363aSmrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
6057ed541caSmrg	GUESS=m68k-tektronix-bsd
6067ed541caSmrg	;;
60772b4363aSmrg    *:IRIX*:*:*)
6087ed541caSmrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
6097ed541caSmrg	GUESS=mips-sgi-irix$IRIX_REL
6107ed541caSmrg	;;
61172b4363aSmrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
6127ed541caSmrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
6137ed541caSmrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
61472b4363aSmrg    i*86:AIX:*:*)
6157ed541caSmrg	GUESS=i386-ibm-aix
6167ed541caSmrg	;;
61772b4363aSmrg    ia64:AIX:*:*)
6187ed541caSmrg	if test -x /usr/bin/oslevel ; then
61972b4363aSmrg		IBM_REV=`/usr/bin/oslevel`
62072b4363aSmrg	else
6217ed541caSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
62272b4363aSmrg	fi
6237ed541caSmrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
6247ed541caSmrg	;;
62572b4363aSmrg    *:AIX:2:3)
62672b4363aSmrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
6277ed541caSmrg		set_cc_for_build
6287ed541caSmrg		sed 's/^		//' << EOF > "$dummy.c"
62972b4363aSmrg		#include <sys/systemcfg.h>
63072b4363aSmrg
63172b4363aSmrg		main()
63272b4363aSmrg			{
63372b4363aSmrg			if (!__power_pc())
63472b4363aSmrg				exit(1);
63572b4363aSmrg			puts("powerpc-ibm-aix3.2.5");
63672b4363aSmrg			exit(0);
63772b4363aSmrg			}
63872b4363aSmrgEOF
6397ed541caSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
64072b4363aSmrg		then
6417ed541caSmrg			GUESS=$SYSTEM_NAME
64272b4363aSmrg		else
6437ed541caSmrg			GUESS=rs6000-ibm-aix3.2.5
64472b4363aSmrg		fi
64572b4363aSmrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
6467ed541caSmrg		GUESS=rs6000-ibm-aix3.2.4
64772b4363aSmrg	else
6487ed541caSmrg		GUESS=rs6000-ibm-aix3.2
64972b4363aSmrg	fi
6507ed541caSmrg	;;
65108e312fdSmrg    *:AIX:*:[4567])
65272b4363aSmrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
6537ed541caSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
65472b4363aSmrg		IBM_ARCH=rs6000
65572b4363aSmrg	else
65672b4363aSmrg		IBM_ARCH=powerpc
65772b4363aSmrg	fi
6587ed541caSmrg	if test -x /usr/bin/lslpp ; then
6597ed541caSmrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
66033dddc75Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
66172b4363aSmrg	else
6627ed541caSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
66372b4363aSmrg	fi
6647ed541caSmrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
6657ed541caSmrg	;;
66672b4363aSmrg    *:AIX:*:*)
6677ed541caSmrg	GUESS=rs6000-ibm-aix
6687ed541caSmrg	;;
6697ed541caSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
6707ed541caSmrg	GUESS=romp-ibm-bsd4.4
6717ed541caSmrg	;;
67272b4363aSmrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
6737ed541caSmrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
6747ed541caSmrg	;;                                  # report: romp-ibm BSD 4.3
67572b4363aSmrg    *:BOSX:*:*)
6767ed541caSmrg	GUESS=rs6000-bull-bosx
6777ed541caSmrg	;;
67872b4363aSmrg    DPX/2?00:B.O.S.:*:*)
6797ed541caSmrg	GUESS=m68k-bull-sysv3
6807ed541caSmrg	;;
68172b4363aSmrg    9000/[34]??:4.3bsd:1.*:*)
6827ed541caSmrg	GUESS=m68k-hp-bsd
6837ed541caSmrg	;;
68472b4363aSmrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6857ed541caSmrg	GUESS=m68k-hp-bsd4.4
6867ed541caSmrg	;;
68772b4363aSmrg    9000/[34678]??:HP-UX:*:*)
6887ed541caSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
6897ed541caSmrg	case $UNAME_MACHINE in
6907ed541caSmrg	    9000/31?)            HP_ARCH=m68000 ;;
6917ed541caSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
69272b4363aSmrg	    9000/[678][0-9][0-9])
6937ed541caSmrg		if test -x /usr/bin/getconf; then
69472b4363aSmrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
69533dddc75Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6967ed541caSmrg		    case $sc_cpu_version in
6977ed541caSmrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
6987ed541caSmrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
69933dddc75Smrg		      532)                      # CPU_PA_RISC2_0
7007ed541caSmrg			case $sc_kernel_bits in
7017ed541caSmrg			  32) HP_ARCH=hppa2.0n ;;
7027ed541caSmrg			  64) HP_ARCH=hppa2.0w ;;
7037ed541caSmrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
70433dddc75Smrg			esac ;;
70533dddc75Smrg		    esac
70672b4363aSmrg		fi
7077ed541caSmrg		if test "$HP_ARCH" = ""; then
7087ed541caSmrg		    set_cc_for_build
7097ed541caSmrg		    sed 's/^		//' << EOF > "$dummy.c"
71072b4363aSmrg
71133dddc75Smrg		#define _HPUX_SOURCE
71233dddc75Smrg		#include <stdlib.h>
71333dddc75Smrg		#include <unistd.h>
71472b4363aSmrg
71533dddc75Smrg		int main ()
71633dddc75Smrg		{
71733dddc75Smrg		#if defined(_SC_KERNEL_BITS)
71833dddc75Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
71933dddc75Smrg		#endif
72033dddc75Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
72172b4363aSmrg
72233dddc75Smrg		    switch (cpu)
72333dddc75Smrg			{
72433dddc75Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
72533dddc75Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
72633dddc75Smrg			case CPU_PA_RISC2_0:
72733dddc75Smrg		#if defined(_SC_KERNEL_BITS)
72833dddc75Smrg			    switch (bits)
72933dddc75Smrg				{
73033dddc75Smrg				case 64: puts ("hppa2.0w"); break;
73133dddc75Smrg				case 32: puts ("hppa2.0n"); break;
73233dddc75Smrg				default: puts ("hppa2.0"); break;
73333dddc75Smrg				} break;
73433dddc75Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
73533dddc75Smrg			    puts ("hppa2.0"); break;
73633dddc75Smrg		#endif
73733dddc75Smrg			default: puts ("hppa1.0"); break;
73833dddc75Smrg			}
73933dddc75Smrg		    exit (0);
74033dddc75Smrg		}
74172b4363aSmrgEOF
7427ed541caSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
74372b4363aSmrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
74472b4363aSmrg		fi ;;
74572b4363aSmrg	esac
7467ed541caSmrg	if test "$HP_ARCH" = hppa2.0w
74772b4363aSmrg	then
7487ed541caSmrg	    set_cc_for_build
74972b4363aSmrg
75072b4363aSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
75172b4363aSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
75272b4363aSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
75372b4363aSmrg	    #
75472b4363aSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
75572b4363aSmrg	    # => hppa2.0w-hp-hpux11.23
75672b4363aSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
75772b4363aSmrg	    # => hppa64-hp-hpux11.23
75872b4363aSmrg
7597ed541caSmrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
76008e312fdSmrg		grep -q __LP64__
76172b4363aSmrg	    then
7627ed541caSmrg		HP_ARCH=hppa2.0w
76372b4363aSmrg	    else
7647ed541caSmrg		HP_ARCH=hppa64
76572b4363aSmrg	    fi
76672b4363aSmrg	fi
7677ed541caSmrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
7687ed541caSmrg	;;
76972b4363aSmrg    ia64:HP-UX:*:*)
7707ed541caSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
7717ed541caSmrg	GUESS=ia64-hp-hpux$HPUX_REV
7727ed541caSmrg	;;
77372b4363aSmrg    3050*:HI-UX:*:*)
7747ed541caSmrg	set_cc_for_build
7757ed541caSmrg	sed 's/^	//' << EOF > "$dummy.c"
77672b4363aSmrg	#include <unistd.h>
77772b4363aSmrg	int
77872b4363aSmrg	main ()
77972b4363aSmrg	{
78072b4363aSmrg	  long cpu = sysconf (_SC_CPU_VERSION);
78172b4363aSmrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
78272b4363aSmrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
78372b4363aSmrg	     results, however.  */
78472b4363aSmrg	  if (CPU_IS_PA_RISC (cpu))
78572b4363aSmrg	    {
78672b4363aSmrg	      switch (cpu)
78772b4363aSmrg		{
78872b4363aSmrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
78972b4363aSmrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
79072b4363aSmrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
79172b4363aSmrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
79272b4363aSmrg		}
79372b4363aSmrg	    }
79472b4363aSmrg	  else if (CPU_IS_HP_MC68K (cpu))
79572b4363aSmrg	    puts ("m68k-hitachi-hiuxwe2");
79672b4363aSmrg	  else puts ("unknown-hitachi-hiuxwe2");
79772b4363aSmrg	  exit (0);
79872b4363aSmrg	}
79972b4363aSmrgEOF
8007ed541caSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
80172b4363aSmrg		{ echo "$SYSTEM_NAME"; exit; }
8027ed541caSmrg	GUESS=unknown-hitachi-hiuxwe2
8037ed541caSmrg	;;
8047ed541caSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
8057ed541caSmrg	GUESS=hppa1.1-hp-bsd
8067ed541caSmrg	;;
80772b4363aSmrg    9000/8??:4.3bsd:*:*)
8087ed541caSmrg	GUESS=hppa1.0-hp-bsd
8097ed541caSmrg	;;
81072b4363aSmrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
8117ed541caSmrg	GUESS=hppa1.0-hp-mpeix
8127ed541caSmrg	;;
8137ed541caSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
8147ed541caSmrg	GUESS=hppa1.1-hp-osf
8157ed541caSmrg	;;
81672b4363aSmrg    hp8??:OSF1:*:*)
8177ed541caSmrg	GUESS=hppa1.0-hp-osf
8187ed541caSmrg	;;
81972b4363aSmrg    i*86:OSF1:*:*)
8207ed541caSmrg	if test -x /usr/sbin/sysversion ; then
8217ed541caSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
82272b4363aSmrg	else
8237ed541caSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1
82472b4363aSmrg	fi
8257ed541caSmrg	;;
82672b4363aSmrg    parisc*:Lites*:*:*)
8277ed541caSmrg	GUESS=hppa1.1-hp-lites
8287ed541caSmrg	;;
82972b4363aSmrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
8307ed541caSmrg	GUESS=c1-convex-bsd
8317ed541caSmrg	;;
83272b4363aSmrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
83372b4363aSmrg	if getsysinfo -f scalar_acc
83472b4363aSmrg	then echo c32-convex-bsd
83572b4363aSmrg	else echo c2-convex-bsd
83672b4363aSmrg	fi
83733dddc75Smrg	exit ;;
83872b4363aSmrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
8397ed541caSmrg	GUESS=c34-convex-bsd
8407ed541caSmrg	;;
84172b4363aSmrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
8427ed541caSmrg	GUESS=c38-convex-bsd
8437ed541caSmrg	;;
84472b4363aSmrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
8457ed541caSmrg	GUESS=c4-convex-bsd
8467ed541caSmrg	;;
84772b4363aSmrg    CRAY*Y-MP:*:*:*)
8487ed541caSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8497ed541caSmrg	GUESS=ymp-cray-unicos$CRAY_REL
8507ed541caSmrg	;;
85172b4363aSmrg    CRAY*[A-Z]90:*:*:*)
8527ed541caSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
85372b4363aSmrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
85472b4363aSmrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
85572b4363aSmrg	      -e 's/\.[^.]*$/.X/'
85672b4363aSmrg	exit ;;
85772b4363aSmrg    CRAY*TS:*:*:*)
8587ed541caSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8597ed541caSmrg	GUESS=t90-cray-unicos$CRAY_REL
8607ed541caSmrg	;;
86172b4363aSmrg    CRAY*T3E:*:*:*)
8627ed541caSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8637ed541caSmrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
8647ed541caSmrg	;;
86572b4363aSmrg    CRAY*SV1:*:*:*)
8667ed541caSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8677ed541caSmrg	GUESS=sv1-cray-unicos$CRAY_REL
8687ed541caSmrg	;;
86972b4363aSmrg    *:UNICOS/mp:*:*)
8707ed541caSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8717ed541caSmrg	GUESS=craynv-cray-unicosmp$CRAY_REL
8727ed541caSmrg	;;
87372b4363aSmrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
8747ed541caSmrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
8757ed541caSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8767ed541caSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
8777ed541caSmrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8787ed541caSmrg	;;
87972b4363aSmrg    5000:UNIX_System_V:4.*:*)
8807ed541caSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8817ed541caSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
8827ed541caSmrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8837ed541caSmrg	;;
88472b4363aSmrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
8857ed541caSmrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
8867ed541caSmrg	;;
88772b4363aSmrg    sparc*:BSD/OS:*:*)
8887ed541caSmrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
8897ed541caSmrg	;;
89072b4363aSmrg    *:BSD/OS:*:*)
8917ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
8927ed541caSmrg	;;
8937ed541caSmrg    arm:FreeBSD:*:*)
8947ed541caSmrg	UNAME_PROCESSOR=`uname -p`
8957ed541caSmrg	set_cc_for_build
8967ed541caSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
8977ed541caSmrg	    | grep -q __ARM_PCS_VFP
8987ed541caSmrg	then
8997ed541caSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9007ed541caSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
9017ed541caSmrg	else
9027ed541caSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9037ed541caSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
9047ed541caSmrg	fi
9057ed541caSmrg	;;
90672b4363aSmrg    *:FreeBSD:*:*)
90733dddc75Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
9087ed541caSmrg	case $UNAME_PROCESSOR in
90972b4363aSmrg	    amd64)
9107ed541caSmrg		UNAME_PROCESSOR=x86_64 ;;
9117ed541caSmrg	    i386)
9127ed541caSmrg		UNAME_PROCESSOR=i586 ;;
91372b4363aSmrg	esac
9147ed541caSmrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9157ed541caSmrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
9167ed541caSmrg	;;
91772b4363aSmrg    i*:CYGWIN*:*)
9187ed541caSmrg	GUESS=$UNAME_MACHINE-pc-cygwin
9197ed541caSmrg	;;
92033dddc75Smrg    *:MINGW64*:*)
9217ed541caSmrg	GUESS=$UNAME_MACHINE-pc-mingw64
9227ed541caSmrg	;;
923dd77ae96Smrg    *:MINGW*:*)
9247ed541caSmrg	GUESS=$UNAME_MACHINE-pc-mingw32
9257ed541caSmrg	;;
92633dddc75Smrg    *:MSYS*:*)
9277ed541caSmrg	GUESS=$UNAME_MACHINE-pc-msys
9287ed541caSmrg	;;
92972b4363aSmrg    i*:PW*:*)
9307ed541caSmrg	GUESS=$UNAME_MACHINE-pc-pw32
9317ed541caSmrg	;;
93208e312fdSmrg    *:Interix*:*)
9337ed541caSmrg	case $UNAME_MACHINE in
934dd77ae96Smrg	    x86)
9357ed541caSmrg		GUESS=i586-pc-interix$UNAME_RELEASE
9367ed541caSmrg		;;
93708e312fdSmrg	    authenticamd | genuineintel | EM64T)
9387ed541caSmrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
9397ed541caSmrg		;;
940dd77ae96Smrg	    IA64)
9417ed541caSmrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
9427ed541caSmrg		;;
943dd77ae96Smrg	esac ;;
94472b4363aSmrg    i*:UWIN*:*)
9457ed541caSmrg	GUESS=$UNAME_MACHINE-pc-uwin
9467ed541caSmrg	;;
94772b4363aSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
9487ed541caSmrg	GUESS=x86_64-pc-cygwin
9497ed541caSmrg	;;
95072b4363aSmrg    prep*:SunOS:5.*:*)
9517ed541caSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
9527ed541caSmrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
9537ed541caSmrg	;;
95472b4363aSmrg    *:GNU:*:*)
95572b4363aSmrg	# the GNU system
9567ed541caSmrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
9577ed541caSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
9587ed541caSmrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
9597ed541caSmrg	;;
96072b4363aSmrg    *:GNU/*:*:*)
96172b4363aSmrg	# other systems with GNU libc and userland
9627ed541caSmrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
9637ed541caSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9647ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
9657ed541caSmrg	;;
9667ed541caSmrg    *:Minix:*:*)
9677ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-minix
9687ed541caSmrg	;;
96933dddc75Smrg    aarch64:Linux:*:*)
9707ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9717ed541caSmrg	;;
97233dddc75Smrg    aarch64_be:Linux:*:*)
97333dddc75Smrg	UNAME_MACHINE=aarch64_be
9747ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9757ed541caSmrg	;;
97608e312fdSmrg    alpha:Linux:*:*)
9777ed541caSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
97808e312fdSmrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
97908e312fdSmrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
98008e312fdSmrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
98108e312fdSmrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
98208e312fdSmrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
98308e312fdSmrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
98408e312fdSmrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
98533dddc75Smrg	esac
98608e312fdSmrg	objdump --private-headers /bin/sh | grep -q ld.so.1
9877ed541caSmrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
9887ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9897ed541caSmrg	;;
9907ed541caSmrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
9917ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9927ed541caSmrg	;;
99372b4363aSmrg    arm*:Linux:*:*)
9947ed541caSmrg	set_cc_for_build
995dd77ae96Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
996dd77ae96Smrg	    | grep -q __ARM_EABI__
997dd77ae96Smrg	then
9987ed541caSmrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
999dd77ae96Smrg	else
100033dddc75Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
100133dddc75Smrg		| grep -q __ARM_PCS_VFP
100233dddc75Smrg	    then
10037ed541caSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
100433dddc75Smrg	    else
10057ed541caSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
100633dddc75Smrg	    fi
1007dd77ae96Smrg	fi
10087ed541caSmrg	;;
100972b4363aSmrg    avr32*:Linux:*:*)
10107ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10117ed541caSmrg	;;
101272b4363aSmrg    cris:Linux:*:*)
10137ed541caSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10147ed541caSmrg	;;
101572b4363aSmrg    crisv32:Linux:*:*)
10167ed541caSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10177ed541caSmrg	;;
10187ed541caSmrg    e2k:Linux:*:*)
10197ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10207ed541caSmrg	;;
102172b4363aSmrg    frv:Linux:*:*)
10227ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10237ed541caSmrg	;;
102433dddc75Smrg    hexagon:Linux:*:*)
10257ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10267ed541caSmrg	;;
102708e312fdSmrg    i*86:Linux:*:*)
10287ed541caSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
10297ed541caSmrg	;;
103072b4363aSmrg    ia64:Linux:*:*)
10317ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10327ed541caSmrg	;;
10337ed541caSmrg    k1om:Linux:*:*)
10347ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10357ed541caSmrg	;;
10367ed541caSmrg    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
10377ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10387ed541caSmrg	;;
103972b4363aSmrg    m32r*:Linux:*:*)
10407ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10417ed541caSmrg	;;
104272b4363aSmrg    m68*:Linux:*:*)
10437ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10447ed541caSmrg	;;
104508e312fdSmrg    mips:Linux:*:* | mips64:Linux:*:*)
10467ed541caSmrg	set_cc_for_build
10477ed541caSmrg	IS_GLIBC=0
10487ed541caSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
10497ed541caSmrg	sed 's/^	//' << EOF > "$dummy.c"
105072b4363aSmrg	#undef CPU
10517ed541caSmrg	#undef mips
10527ed541caSmrg	#undef mipsel
10537ed541caSmrg	#undef mips64
10547ed541caSmrg	#undef mips64el
10557ed541caSmrg	#if ${IS_GLIBC} && defined(_ABI64)
10567ed541caSmrg	LIBCABI=gnuabi64
10577ed541caSmrg	#else
10587ed541caSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
10597ed541caSmrg	LIBCABI=gnuabin32
10607ed541caSmrg	#else
10617ed541caSmrg	LIBCABI=${LIBC}
10627ed541caSmrg	#endif
10637ed541caSmrg	#endif
10647ed541caSmrg
10657ed541caSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10667ed541caSmrg	CPU=mipsisa64r6
10677ed541caSmrg	#else
10687ed541caSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10697ed541caSmrg	CPU=mipsisa32r6
10707ed541caSmrg	#else
10717ed541caSmrg	#if defined(__mips64)
10727ed541caSmrg	CPU=mips64
10737ed541caSmrg	#else
10747ed541caSmrg	CPU=mips
10757ed541caSmrg	#endif
10767ed541caSmrg	#endif
10777ed541caSmrg	#endif
10787ed541caSmrg
107972b4363aSmrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
10807ed541caSmrg	MIPS_ENDIAN=el
108172b4363aSmrg	#else
108272b4363aSmrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
10837ed541caSmrg	MIPS_ENDIAN=
108472b4363aSmrg	#else
10857ed541caSmrg	MIPS_ENDIAN=
108672b4363aSmrg	#endif
108772b4363aSmrg	#endif
108872b4363aSmrgEOF
10897ed541caSmrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
10907ed541caSmrg	eval "$cc_set_vars"
10917ed541caSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
10927ed541caSmrg	;;
10937ed541caSmrg    mips64el:Linux:*:*)
10947ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
109572b4363aSmrg	;;
109633dddc75Smrg    openrisc*:Linux:*:*)
10977ed541caSmrg	GUESS=or1k-unknown-linux-$LIBC
10987ed541caSmrg	;;
109933dddc75Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
11007ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11017ed541caSmrg	;;
1102dd77ae96Smrg    padre:Linux:*:*)
11037ed541caSmrg	GUESS=sparc-unknown-linux-$LIBC
11047ed541caSmrg	;;
110508e312fdSmrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
11067ed541caSmrg	GUESS=hppa64-unknown-linux-$LIBC
11077ed541caSmrg	;;
110872b4363aSmrg    parisc:Linux:*:* | hppa:Linux:*:*)
110972b4363aSmrg	# Look for CPU level
111072b4363aSmrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
11117ed541caSmrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
11127ed541caSmrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
11137ed541caSmrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
111472b4363aSmrg	esac
11157ed541caSmrg	;;
111608e312fdSmrg    ppc64:Linux:*:*)
11177ed541caSmrg	GUESS=powerpc64-unknown-linux-$LIBC
11187ed541caSmrg	;;
111908e312fdSmrg    ppc:Linux:*:*)
11207ed541caSmrg	GUESS=powerpc-unknown-linux-$LIBC
11217ed541caSmrg	;;
112233dddc75Smrg    ppc64le:Linux:*:*)
11237ed541caSmrg	GUESS=powerpc64le-unknown-linux-$LIBC
11247ed541caSmrg	;;
112533dddc75Smrg    ppcle:Linux:*:*)
11267ed541caSmrg	GUESS=powerpcle-unknown-linux-$LIBC
11277ed541caSmrg	;;
11287ed541caSmrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
11297ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11307ed541caSmrg	;;
113172b4363aSmrg    s390:Linux:*:* | s390x:Linux:*:*)
11327ed541caSmrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
11337ed541caSmrg	;;
113472b4363aSmrg    sh64*:Linux:*:*)
11357ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11367ed541caSmrg	;;
113772b4363aSmrg    sh*:Linux:*:*)
11387ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11397ed541caSmrg	;;
114072b4363aSmrg    sparc:Linux:*:* | sparc64:Linux:*:*)
11417ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11427ed541caSmrg	;;
114308e312fdSmrg    tile*:Linux:*:*)
11447ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11457ed541caSmrg	;;
114672b4363aSmrg    vax:Linux:*:*)
11477ed541caSmrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
11487ed541caSmrg	;;
114972b4363aSmrg    x86_64:Linux:*:*)
11507ed541caSmrg	set_cc_for_build
11517ed541caSmrg	LIBCABI=$LIBC
11527ed541caSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
11537ed541caSmrg	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
11547ed541caSmrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
11557ed541caSmrg		grep IS_X32 >/dev/null
11567ed541caSmrg	    then
11577ed541caSmrg		LIBCABI=${LIBC}x32
11587ed541caSmrg	    fi
11597ed541caSmrg	fi
11607ed541caSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
11617ed541caSmrg	;;
1162dd77ae96Smrg    xtensa*:Linux:*:*)
11637ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11647ed541caSmrg	;;
116572b4363aSmrg    i*86:DYNIX/ptx:4*:*)
116672b4363aSmrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
116772b4363aSmrg	# earlier versions are messed up and put the nodename in both
116872b4363aSmrg	# sysname and nodename.
11697ed541caSmrg	GUESS=i386-sequent-sysv4
11707ed541caSmrg	;;
117172b4363aSmrg    i*86:UNIX_SV:4.2MP:2.*)
117233dddc75Smrg	# Unixware is an offshoot of SVR4, but it has its own version
117333dddc75Smrg	# number series starting with 2...
117433dddc75Smrg	# I am not positive that other SVR4 systems won't match this,
117572b4363aSmrg	# I just have to hope.  -- rms.
117633dddc75Smrg	# Use sysv4.2uw... so that sysv4* matches it.
11777ed541caSmrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
11787ed541caSmrg	;;
117972b4363aSmrg    i*86:OS/2:*:*)
118072b4363aSmrg	# If we were able to find `uname', then EMX Unix compatibility
118172b4363aSmrg	# is probably installed.
11827ed541caSmrg	GUESS=$UNAME_MACHINE-pc-os2-emx
11837ed541caSmrg	;;
118472b4363aSmrg    i*86:XTS-300:*:STOP)
11857ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-stop
11867ed541caSmrg	;;
118772b4363aSmrg    i*86:atheos:*:*)
11887ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-atheos
11897ed541caSmrg	;;
119072b4363aSmrg    i*86:syllable:*:*)
11917ed541caSmrg	GUESS=$UNAME_MACHINE-pc-syllable
11927ed541caSmrg	;;
119308e312fdSmrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
11947ed541caSmrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
11957ed541caSmrg	;;
119672b4363aSmrg    i*86:*DOS:*:*)
11977ed541caSmrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
11987ed541caSmrg	;;
11997ed541caSmrg    i*86:*:4.*:*)
12007ed541caSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
120172b4363aSmrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
12027ed541caSmrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
120372b4363aSmrg	else
12047ed541caSmrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
120572b4363aSmrg	fi
12067ed541caSmrg	;;
120772b4363aSmrg    i*86:*:5:[678]*)
120833dddc75Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
120972b4363aSmrg	case `/bin/uname -X | grep "^Machine"` in
121072b4363aSmrg	    *486*)	     UNAME_MACHINE=i486 ;;
121172b4363aSmrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
121272b4363aSmrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
121372b4363aSmrg	esac
12147ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
12157ed541caSmrg	;;
121672b4363aSmrg    i*86:*:3.2:*)
121772b4363aSmrg	if test -f /usr/options/cb.name; then
121872b4363aSmrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
12197ed541caSmrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
122072b4363aSmrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
122172b4363aSmrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
122272b4363aSmrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
122372b4363aSmrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
122472b4363aSmrg			&& UNAME_MACHINE=i586
122572b4363aSmrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
122672b4363aSmrg			&& UNAME_MACHINE=i686
122772b4363aSmrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
122872b4363aSmrg			&& UNAME_MACHINE=i686
12297ed541caSmrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
123072b4363aSmrg	else
12317ed541caSmrg		GUESS=$UNAME_MACHINE-pc-sysv32
123272b4363aSmrg	fi
12337ed541caSmrg	;;
123472b4363aSmrg    pc:*:*:*)
123572b4363aSmrg	# Left here for compatibility:
123633dddc75Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
123733dddc75Smrg	# the processor, so we play safe by assuming i586.
1238dd77ae96Smrg	# Note: whatever this is, it MUST be the same as what config.sub
12397ed541caSmrg	# prints for the "djgpp" host, or else GDB configure will decide that
1240dd77ae96Smrg	# this is a cross-build.
12417ed541caSmrg	GUESS=i586-pc-msdosdjgpp
12427ed541caSmrg	;;
124372b4363aSmrg    Intel:Mach:3*:*)
12447ed541caSmrg	GUESS=i386-pc-mach3
12457ed541caSmrg	;;
124672b4363aSmrg    paragon:*:*:*)
12477ed541caSmrg	GUESS=i860-intel-osf1
12487ed541caSmrg	;;
124972b4363aSmrg    i860:*:4.*:*) # i860-SVR4
125072b4363aSmrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
12517ed541caSmrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
125272b4363aSmrg	else # Add other i860-SVR4 vendors below as they are discovered.
12537ed541caSmrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
125472b4363aSmrg	fi
12557ed541caSmrg	;;
125672b4363aSmrg    mini*:CTIX:SYS*5:*)
125772b4363aSmrg	# "miniframe"
12587ed541caSmrg	GUESS=m68010-convergent-sysv
12597ed541caSmrg	;;
126072b4363aSmrg    mc68k:UNIX:SYSTEM5:3.51m)
12617ed541caSmrg	GUESS=m68k-convergent-sysv
12627ed541caSmrg	;;
126372b4363aSmrg    M680?0:D-NIX:5.3:*)
12647ed541caSmrg	GUESS=m68k-diab-dnix
12657ed541caSmrg	;;
126672b4363aSmrg    M68*:*:R3V[5678]*:*)
126772b4363aSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
126872b4363aSmrg    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)
126972b4363aSmrg	OS_REL=''
127072b4363aSmrg	test -r /etc/.relid \
127172b4363aSmrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
127272b4363aSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12737ed541caSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
127472b4363aSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
12757ed541caSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
127672b4363aSmrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
127733dddc75Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
127833dddc75Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
1279dd77ae96Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1280dd77ae96Smrg	OS_REL='.3'
1281dd77ae96Smrg	test -r /etc/.relid \
1282dd77ae96Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1283dd77ae96Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12847ed541caSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1285dd77ae96Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
12867ed541caSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1287dd77ae96Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
12887ed541caSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
128972b4363aSmrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
12907ed541caSmrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
12917ed541caSmrg	;;
129272b4363aSmrg    mc68030:UNIX_System_V:4.*:*)
12937ed541caSmrg	GUESS=m68k-atari-sysv4
12947ed541caSmrg	;;
129572b4363aSmrg    TSUNAMI:LynxOS:2.*:*)
12967ed541caSmrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
12977ed541caSmrg	;;
129872b4363aSmrg    rs6000:LynxOS:2.*:*)
12997ed541caSmrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
13007ed541caSmrg	;;
130108e312fdSmrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
13027ed541caSmrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
13037ed541caSmrg	;;
130472b4363aSmrg    SM[BE]S:UNIX_SV:*:*)
13057ed541caSmrg	GUESS=mips-dde-sysv$UNAME_RELEASE
13067ed541caSmrg	;;
130772b4363aSmrg    RM*:ReliantUNIX-*:*:*)
13087ed541caSmrg	GUESS=mips-sni-sysv4
13097ed541caSmrg	;;
131072b4363aSmrg    RM*:SINIX-*:*:*)
13117ed541caSmrg	GUESS=mips-sni-sysv4
13127ed541caSmrg	;;
131372b4363aSmrg    *:SINIX-*:*:*)
131472b4363aSmrg	if uname -p 2>/dev/null >/dev/null ; then
131572b4363aSmrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
13167ed541caSmrg		GUESS=$UNAME_MACHINE-sni-sysv4
131772b4363aSmrg	else
13187ed541caSmrg		GUESS=ns32k-sni-sysv
131972b4363aSmrg	fi
13207ed541caSmrg	;;
132133dddc75Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
132233dddc75Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
13237ed541caSmrg	GUESS=i586-unisys-sysv4
13247ed541caSmrg	;;
132572b4363aSmrg    *:UNIX_System_V:4*:FTX*)
132672b4363aSmrg	# From Gerald Hewes <hewes@openmarket.com>.
132772b4363aSmrg	# How about differentiating between stratus architectures? -djm
13287ed541caSmrg	GUESS=hppa1.1-stratus-sysv4
13297ed541caSmrg	;;
133072b4363aSmrg    *:*:*:FTX*)
133172b4363aSmrg	# From seanf@swdc.stratus.com.
13327ed541caSmrg	GUESS=i860-stratus-sysv4
13337ed541caSmrg	;;
133472b4363aSmrg    i*86:VOS:*:*)
133572b4363aSmrg	# From Paul.Green@stratus.com.
13367ed541caSmrg	GUESS=$UNAME_MACHINE-stratus-vos
13377ed541caSmrg	;;
133872b4363aSmrg    *:VOS:*:*)
133972b4363aSmrg	# From Paul.Green@stratus.com.
13407ed541caSmrg	GUESS=hppa1.1-stratus-vos
13417ed541caSmrg	;;
134272b4363aSmrg    mc68*:A/UX:*:*)
13437ed541caSmrg	GUESS=m68k-apple-aux$UNAME_RELEASE
13447ed541caSmrg	;;
134572b4363aSmrg    news*:NEWS-OS:6*:*)
13467ed541caSmrg	GUESS=mips-sony-newsos6
13477ed541caSmrg	;;
134872b4363aSmrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
13497ed541caSmrg	if test -d /usr/nec; then
13507ed541caSmrg		GUESS=mips-nec-sysv$UNAME_RELEASE
135172b4363aSmrg	else
13527ed541caSmrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
135372b4363aSmrg	fi
13547ed541caSmrg	;;
135572b4363aSmrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
13567ed541caSmrg	GUESS=powerpc-be-beos
13577ed541caSmrg	;;
135872b4363aSmrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
13597ed541caSmrg	GUESS=powerpc-apple-beos
13607ed541caSmrg	;;
136172b4363aSmrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
13627ed541caSmrg	GUESS=i586-pc-beos
13637ed541caSmrg	;;
1364dd77ae96Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
13657ed541caSmrg	GUESS=i586-pc-haiku
13667ed541caSmrg	;;
136733dddc75Smrg    x86_64:Haiku:*:*)
13687ed541caSmrg	GUESS=x86_64-unknown-haiku
13697ed541caSmrg	;;
137072b4363aSmrg    SX-4:SUPER-UX:*:*)
13717ed541caSmrg	GUESS=sx4-nec-superux$UNAME_RELEASE
13727ed541caSmrg	;;
137372b4363aSmrg    SX-5:SUPER-UX:*:*)
13747ed541caSmrg	GUESS=sx5-nec-superux$UNAME_RELEASE
13757ed541caSmrg	;;
137672b4363aSmrg    SX-6:SUPER-UX:*:*)
13777ed541caSmrg	GUESS=sx6-nec-superux$UNAME_RELEASE
13787ed541caSmrg	;;
1379dd77ae96Smrg    SX-7:SUPER-UX:*:*)
13807ed541caSmrg	GUESS=sx7-nec-superux$UNAME_RELEASE
13817ed541caSmrg	;;
1382dd77ae96Smrg    SX-8:SUPER-UX:*:*)
13837ed541caSmrg	GUESS=sx8-nec-superux$UNAME_RELEASE
13847ed541caSmrg	;;
1385dd77ae96Smrg    SX-8R:SUPER-UX:*:*)
13867ed541caSmrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
13877ed541caSmrg	;;
13887ed541caSmrg    SX-ACE:SUPER-UX:*:*)
13897ed541caSmrg	GUESS=sxace-nec-superux$UNAME_RELEASE
13907ed541caSmrg	;;
139172b4363aSmrg    Power*:Rhapsody:*:*)
13927ed541caSmrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
13937ed541caSmrg	;;
139472b4363aSmrg    *:Rhapsody:*:*)
13957ed541caSmrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
13967ed541caSmrg	;;
13977ed541caSmrg    arm64:Darwin:*:*)
13987ed541caSmrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
13997ed541caSmrg	;;
140072b4363aSmrg    *:Darwin:*:*)
14017ed541caSmrg	UNAME_PROCESSOR=`uname -p`
14027ed541caSmrg	case $UNAME_PROCESSOR in
14037ed541caSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
14047ed541caSmrg	esac
14057ed541caSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
14067ed541caSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
14077ed541caSmrg	    # Avoid executing cc if there is no toolchain installed as
14087ed541caSmrg	    # cc will be a stub that puts up a graphical alert
14097ed541caSmrg	    # prompting the user to install developer tools.
14107ed541caSmrg	    CC_FOR_BUILD=no_compiler_found
14117ed541caSmrg	else
14127ed541caSmrg	    set_cc_for_build
141333dddc75Smrg	fi
14147ed541caSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
14157ed541caSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
14167ed541caSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14177ed541caSmrg		   grep IS_64BIT_ARCH >/dev/null
14187ed541caSmrg	    then
14197ed541caSmrg		case $UNAME_PROCESSOR in
14207ed541caSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
14217ed541caSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
14227ed541caSmrg		esac
14237ed541caSmrg	    fi
14247ed541caSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
14257ed541caSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
14267ed541caSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14277ed541caSmrg		   grep IS_PPC >/dev/null
14287ed541caSmrg	    then
14297ed541caSmrg		UNAME_PROCESSOR=powerpc
143033dddc75Smrg	    fi
143133dddc75Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
14327ed541caSmrg	    # uname -m returns i386 or x86_64
14337ed541caSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
143433dddc75Smrg	fi
14357ed541caSmrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
14367ed541caSmrg	;;
143772b4363aSmrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
143872b4363aSmrg	UNAME_PROCESSOR=`uname -p`
14397ed541caSmrg	if test "$UNAME_PROCESSOR" = x86; then
144072b4363aSmrg		UNAME_PROCESSOR=i386
144172b4363aSmrg		UNAME_MACHINE=pc
144272b4363aSmrg	fi
14437ed541caSmrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
14447ed541caSmrg	;;
144572b4363aSmrg    *:QNX:*:4*)
14467ed541caSmrg	GUESS=i386-pc-qnx
14477ed541caSmrg	;;
14487ed541caSmrg    NEO-*:NONSTOP_KERNEL:*:*)
14497ed541caSmrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
14507ed541caSmrg	;;
145133dddc75Smrg    NSE-*:NONSTOP_KERNEL:*:*)
14527ed541caSmrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
14537ed541caSmrg	;;
14547ed541caSmrg    NSR-*:NONSTOP_KERNEL:*:*)
14557ed541caSmrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
14567ed541caSmrg	;;
14577ed541caSmrg    NSV-*:NONSTOP_KERNEL:*:*)
14587ed541caSmrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
14597ed541caSmrg	;;
14607ed541caSmrg    NSX-*:NONSTOP_KERNEL:*:*)
14617ed541caSmrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
14627ed541caSmrg	;;
146372b4363aSmrg    *:NonStop-UX:*:*)
14647ed541caSmrg	GUESS=mips-compaq-nonstopux
14657ed541caSmrg	;;
146672b4363aSmrg    BS2000:POSIX*:*:*)
14677ed541caSmrg	GUESS=bs2000-siemens-sysv
14687ed541caSmrg	;;
146972b4363aSmrg    DS/*:UNIX_System_V:*:*)
14707ed541caSmrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
14717ed541caSmrg	;;
147272b4363aSmrg    *:Plan9:*:*)
147372b4363aSmrg	# "uname -m" is not consistent, so use $cputype instead. 386
147472b4363aSmrg	# is converted to i386 for consistency with other x86
147572b4363aSmrg	# operating systems.
14767ed541caSmrg	if test "${cputype-}" = 386; then
147772b4363aSmrg	    UNAME_MACHINE=i386
14787ed541caSmrg	elif test "x${cputype-}" != x; then
14797ed541caSmrg	    UNAME_MACHINE=$cputype
148072b4363aSmrg	fi
14817ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-plan9
14827ed541caSmrg	;;
148372b4363aSmrg    *:TOPS-10:*:*)
14847ed541caSmrg	GUESS=pdp10-unknown-tops10
14857ed541caSmrg	;;
148672b4363aSmrg    *:TENEX:*:*)
14877ed541caSmrg	GUESS=pdp10-unknown-tenex
14887ed541caSmrg	;;
148972b4363aSmrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
14907ed541caSmrg	GUESS=pdp10-dec-tops20
14917ed541caSmrg	;;
149272b4363aSmrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
14937ed541caSmrg	GUESS=pdp10-xkl-tops20
14947ed541caSmrg	;;
149572b4363aSmrg    *:TOPS-20:*:*)
14967ed541caSmrg	GUESS=pdp10-unknown-tops20
14977ed541caSmrg	;;
149872b4363aSmrg    *:ITS:*:*)
14997ed541caSmrg	GUESS=pdp10-unknown-its
15007ed541caSmrg	;;
150172b4363aSmrg    SEI:*:*:SEIUX)
15027ed541caSmrg	GUESS=mips-sei-seiux$UNAME_RELEASE
15037ed541caSmrg	;;
150472b4363aSmrg    *:DragonFly:*:*)
15057ed541caSmrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
15067ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
15077ed541caSmrg	;;
150872b4363aSmrg    *:*VMS:*:*)
150933dddc75Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
15107ed541caSmrg	case $UNAME_MACHINE in
15117ed541caSmrg	    A*) GUESS=alpha-dec-vms ;;
15127ed541caSmrg	    I*) GUESS=ia64-dec-vms ;;
15137ed541caSmrg	    V*) GUESS=vax-dec-vms ;;
151472b4363aSmrg	esac ;;
151572b4363aSmrg    *:XENIX:*:SysV)
15167ed541caSmrg	GUESS=i386-pc-xenix
15177ed541caSmrg	;;
151872b4363aSmrg    i*86:skyos:*:*)
15197ed541caSmrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
15207ed541caSmrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
15217ed541caSmrg	;;
152272b4363aSmrg    i*86:rdos:*:*)
15237ed541caSmrg	GUESS=$UNAME_MACHINE-pc-rdos
15247ed541caSmrg	;;
15257ed541caSmrg    *:AROS:*:*)
15267ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-aros
15277ed541caSmrg	;;
152833dddc75Smrg    x86_64:VMkernel:*:*)
15297ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-esx
15307ed541caSmrg	;;
15317ed541caSmrg    amd64:Isilon\ OneFS:*:*)
15327ed541caSmrg	GUESS=x86_64-unknown-onefs
15337ed541caSmrg	;;
15347ed541caSmrg    *:Unleashed:*:*)
15357ed541caSmrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
15367ed541caSmrg	;;
15377ed541caSmrgesac
15387ed541caSmrg
15397ed541caSmrg# Do we have a guess based on uname results?
15407ed541caSmrgif test "x$GUESS" != x; then
15417ed541caSmrg    echo "$GUESS"
15427ed541caSmrg    exit
15437ed541caSmrgfi
15447ed541caSmrg
15457ed541caSmrg# No uname command or uname output not recognized.
15467ed541caSmrgset_cc_for_build
15477ed541caSmrgcat > "$dummy.c" <<EOF
15487ed541caSmrg#ifdef _SEQUENT_
15497ed541caSmrg#include <sys/types.h>
15507ed541caSmrg#include <sys/utsname.h>
15517ed541caSmrg#endif
15527ed541caSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
15537ed541caSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
15547ed541caSmrg#include <signal.h>
15557ed541caSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
15567ed541caSmrg#include <sys/utsname.h>
15577ed541caSmrg#endif
15587ed541caSmrg#endif
15597ed541caSmrg#endif
15607ed541caSmrgmain ()
15617ed541caSmrg{
15627ed541caSmrg#if defined (sony)
15637ed541caSmrg#if defined (MIPSEB)
15647ed541caSmrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
15657ed541caSmrg     I don't know....  */
15667ed541caSmrg  printf ("mips-sony-bsd\n"); exit (0);
15677ed541caSmrg#else
15687ed541caSmrg#include <sys/param.h>
15697ed541caSmrg  printf ("m68k-sony-newsos%s\n",
15707ed541caSmrg#ifdef NEWSOS4
15717ed541caSmrg  "4"
15727ed541caSmrg#else
15737ed541caSmrg  ""
15747ed541caSmrg#endif
15757ed541caSmrg  ); exit (0);
15767ed541caSmrg#endif
15777ed541caSmrg#endif
15787ed541caSmrg
15797ed541caSmrg#if defined (NeXT)
15807ed541caSmrg#if !defined (__ARCHITECTURE__)
15817ed541caSmrg#define __ARCHITECTURE__ "m68k"
15827ed541caSmrg#endif
15837ed541caSmrg  int version;
15847ed541caSmrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
15857ed541caSmrg  if (version < 4)
15867ed541caSmrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
15877ed541caSmrg  else
15887ed541caSmrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
15897ed541caSmrg  exit (0);
15907ed541caSmrg#endif
15917ed541caSmrg
15927ed541caSmrg#if defined (MULTIMAX) || defined (n16)
15937ed541caSmrg#if defined (UMAXV)
15947ed541caSmrg  printf ("ns32k-encore-sysv\n"); exit (0);
15957ed541caSmrg#else
15967ed541caSmrg#if defined (CMU)
15977ed541caSmrg  printf ("ns32k-encore-mach\n"); exit (0);
15987ed541caSmrg#else
15997ed541caSmrg  printf ("ns32k-encore-bsd\n"); exit (0);
16007ed541caSmrg#endif
16017ed541caSmrg#endif
16027ed541caSmrg#endif
16037ed541caSmrg
16047ed541caSmrg#if defined (__386BSD__)
16057ed541caSmrg  printf ("i386-pc-bsd\n"); exit (0);
16067ed541caSmrg#endif
16077ed541caSmrg
16087ed541caSmrg#if defined (sequent)
16097ed541caSmrg#if defined (i386)
16107ed541caSmrg  printf ("i386-sequent-dynix\n"); exit (0);
16117ed541caSmrg#endif
16127ed541caSmrg#if defined (ns32000)
16137ed541caSmrg  printf ("ns32k-sequent-dynix\n"); exit (0);
16147ed541caSmrg#endif
16157ed541caSmrg#endif
16167ed541caSmrg
16177ed541caSmrg#if defined (_SEQUENT_)
16187ed541caSmrg  struct utsname un;
16197ed541caSmrg
16207ed541caSmrg  uname(&un);
16217ed541caSmrg  if (strncmp(un.version, "V2", 2) == 0) {
16227ed541caSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
16237ed541caSmrg  }
16247ed541caSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
16257ed541caSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
16267ed541caSmrg  }
16277ed541caSmrg  printf ("i386-sequent-ptx\n"); exit (0);
16287ed541caSmrg#endif
16297ed541caSmrg
16307ed541caSmrg#if defined (vax)
16317ed541caSmrg#if !defined (ultrix)
16327ed541caSmrg#include <sys/param.h>
16337ed541caSmrg#if defined (BSD)
16347ed541caSmrg#if BSD == 43
16357ed541caSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
16367ed541caSmrg#else
16377ed541caSmrg#if BSD == 199006
16387ed541caSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
16397ed541caSmrg#else
16407ed541caSmrg  printf ("vax-dec-bsd\n"); exit (0);
16417ed541caSmrg#endif
16427ed541caSmrg#endif
16437ed541caSmrg#else
16447ed541caSmrg  printf ("vax-dec-bsd\n"); exit (0);
16457ed541caSmrg#endif
16467ed541caSmrg#else
16477ed541caSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16487ed541caSmrg  struct utsname un;
16497ed541caSmrg  uname (&un);
16507ed541caSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
16517ed541caSmrg#else
16527ed541caSmrg  printf ("vax-dec-ultrix\n"); exit (0);
16537ed541caSmrg#endif
16547ed541caSmrg#endif
16557ed541caSmrg#endif
16567ed541caSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
16577ed541caSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
16587ed541caSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16597ed541caSmrg  struct utsname *un;
16607ed541caSmrg  uname (&un);
16617ed541caSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
16627ed541caSmrg#else
16637ed541caSmrg  printf ("mips-dec-ultrix\n"); exit (0);
16647ed541caSmrg#endif
16657ed541caSmrg#endif
16667ed541caSmrg#endif
16677ed541caSmrg
16687ed541caSmrg#if defined (alliant) && defined (i860)
16697ed541caSmrg  printf ("i860-alliant-bsd\n"); exit (0);
16707ed541caSmrg#endif
16717ed541caSmrg
16727ed541caSmrg  exit (1);
16737ed541caSmrg}
16747ed541caSmrgEOF
16757ed541caSmrg
16767ed541caSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
16777ed541caSmrg	{ echo "$SYSTEM_NAME"; exit; }
16787ed541caSmrg
16797ed541caSmrg# Apollos put the system type in the environment.
16807ed541caSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
16817ed541caSmrg
16827ed541caSmrgecho "$0: unable to guess system type" >&2
16837ed541caSmrg
16847ed541caSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
16857ed541caSmrg    mips:Linux | mips64:Linux)
16867ed541caSmrg	# If we got here on MIPS GNU/Linux, output extra information.
16877ed541caSmrg	cat >&2 <<EOF
16887ed541caSmrg
16897ed541caSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
16907ed541caSmrgthe system type. Please install a C compiler and try again.
16917ed541caSmrgEOF
16927ed541caSmrg	;;
169333dddc75Smrgesac
169472b4363aSmrg
169572b4363aSmrgcat >&2 <<EOF
169672b4363aSmrg
16977ed541caSmrgThis script (version $timestamp), has failed to recognize the
16987ed541caSmrgoperating system you are using. If your script is old, overwrite *all*
16997ed541caSmrgcopies of config.guess and config.sub with the latest versions from:
170072b4363aSmrg
17017ed541caSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
170272b4363aSmrgand
17037ed541caSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
17047ed541caSmrgEOF
170572b4363aSmrg
17067ed541caSmrgour_year=`echo $timestamp | sed 's,-.*,,'`
17077ed541caSmrgthisyear=`date +%Y`
17087ed541caSmrg# shellcheck disable=SC2003
17097ed541caSmrgscript_age=`expr "$thisyear" - "$our_year"`
17107ed541caSmrgif test "$script_age" -lt 3 ; then
17117ed541caSmrg   cat >&2 <<EOF
17127ed541caSmrg
17137ed541caSmrgIf $0 has already been updated, send the following data and any
17147ed541caSmrginformation you think might be pertinent to config-patches@gnu.org to
17157ed541caSmrgprovide the necessary information to handle your system.
171672b4363aSmrg
171772b4363aSmrgconfig.guess timestamp = $timestamp
171872b4363aSmrg
171972b4363aSmrguname -m = `(uname -m) 2>/dev/null || echo unknown`
172072b4363aSmrguname -r = `(uname -r) 2>/dev/null || echo unknown`
172172b4363aSmrguname -s = `(uname -s) 2>/dev/null || echo unknown`
172272b4363aSmrguname -v = `(uname -v) 2>/dev/null || echo unknown`
172372b4363aSmrg
172472b4363aSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
172572b4363aSmrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
172672b4363aSmrg
172772b4363aSmrghostinfo               = `(hostinfo) 2>/dev/null`
172872b4363aSmrg/bin/universe          = `(/bin/universe) 2>/dev/null`
172972b4363aSmrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
173072b4363aSmrg/bin/arch              = `(/bin/arch) 2>/dev/null`
173172b4363aSmrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
173272b4363aSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
173372b4363aSmrg
17347ed541caSmrgUNAME_MACHINE = "$UNAME_MACHINE"
17357ed541caSmrgUNAME_RELEASE = "$UNAME_RELEASE"
17367ed541caSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
17377ed541caSmrgUNAME_VERSION = "$UNAME_VERSION"
173872b4363aSmrgEOF
17397ed541caSmrgfi
174072b4363aSmrg
174172b4363aSmrgexit 1
174272b4363aSmrg
174372b4363aSmrg# Local variables:
17447ed541caSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
174572b4363aSmrg# time-stamp-start: "timestamp='"
174672b4363aSmrg# time-stamp-format: "%:y-%02m-%02d"
174772b4363aSmrg# time-stamp-end: "'"
174872b4363aSmrg# End:
1749