150539131Smrg#! /bin/sh
250539131Smrg# Attempt to guess a canonical system name.
3414cce6aSmrg#   Copyright 1992-2023 Free Software Foundation, Inc.
450539131Smrg
5414cce6aSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale
6414cce6aSmrg
7414cce6aSmrgtimestamp='2023-01-01'
850539131Smrg
950539131Smrg# This file is free software; you can redistribute it and/or modify it
1050539131Smrg# under the terms of the GNU General Public License as published by
11414cce6aSmrg# the Free Software Foundation, either version 3 of the License, or
1250539131Smrg# (at your option) any later version.
1350539131Smrg#
1450539131Smrg# This program is distributed in the hope that it will be useful, but
1550539131Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1650539131Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1750539131Smrg# General Public License for more details.
1850539131Smrg#
1950539131Smrg# You should have received a copy of the GNU General Public License
20414cce6aSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
2150539131Smrg#
2250539131Smrg# As a special exception to the GNU General Public License, if you
2350539131Smrg# distribute this file as part of a program that contains a
2450539131Smrg# configuration script generated by Autoconf, you may include it under
25414cce6aSmrg# the same distribution terms that you use for the rest of that
26414cce6aSmrg# program.  This Exception is an additional permission under section 7
27414cce6aSmrg# of the GNU General Public License, version 3 ("GPLv3").
2850539131Smrg#
29414cce6aSmrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
3050539131Smrg#
3144d8e951Smrg# You can get the latest version of this script from:
32414cce6aSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33414cce6aSmrg#
34414cce6aSmrg# Please send patches to <config-patches@gnu.org>.
35414cce6aSmrg
36414cce6aSmrg
37414cce6aSmrg# The "shellcheck disable" line above the timestamp inhibits complaints
38414cce6aSmrg# about features and limitations of the classic Bourne shell that were
39414cce6aSmrg# superseded or lifted in POSIX.  However, this script identifies a wide
40414cce6aSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
41414cce6aSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still
42414cce6aSmrg# have a pre-POSIX /bin/sh.
43414cce6aSmrg
4450539131Smrg
4550539131Smrgme=`echo "$0" | sed -e 's,.*/,,'`
4650539131Smrg
4750539131Smrgusage="\
4850539131SmrgUsage: $0 [OPTION]
4950539131Smrg
5050539131SmrgOutput the configuration name of the system \`$me' is run on.
5150539131Smrg
52414cce6aSmrgOptions:
5350539131Smrg  -h, --help         print this help, then exit
5450539131Smrg  -t, --time-stamp   print date of last modification, then exit
5550539131Smrg  -v, --version      print version number, then exit
5650539131Smrg
5750539131SmrgReport bugs and patches to <config-patches@gnu.org>."
5850539131Smrg
5950539131Smrgversion="\
6050539131SmrgGNU config.guess ($timestamp)
6150539131Smrg
6250539131SmrgOriginally written by Per Bothner.
63414cce6aSmrgCopyright 1992-2023 Free Software Foundation, Inc.
6450539131Smrg
6550539131SmrgThis is free software; see the source for copying conditions.  There is NO
6650539131Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6750539131Smrg
6850539131Smrghelp="
6950539131SmrgTry \`$me --help' for more information."
7050539131Smrg
7150539131Smrg# Parse command line
7250539131Smrgwhile test $# -gt 0 ; do
7350539131Smrg  case $1 in
7450539131Smrg    --time-stamp | --time* | -t )
7550539131Smrg       echo "$timestamp" ; exit ;;
7650539131Smrg    --version | -v )
7750539131Smrg       echo "$version" ; exit ;;
7850539131Smrg    --help | --h* | -h )
7950539131Smrg       echo "$usage"; exit ;;
8050539131Smrg    -- )     # Stop option processing
8150539131Smrg       shift; break ;;
8250539131Smrg    - )	# Use stdin as input.
8350539131Smrg       break ;;
8450539131Smrg    -* )
8550539131Smrg       echo "$me: invalid option $1$help" >&2
8650539131Smrg       exit 1 ;;
8750539131Smrg    * )
8850539131Smrg       break ;;
8950539131Smrg  esac
9050539131Smrgdone
9150539131Smrg
9250539131Smrgif test $# != 0; then
9350539131Smrg  echo "$me: too many arguments$help" >&2
9450539131Smrg  exit 1
9550539131Smrgfi
9650539131Smrg
97414cce6aSmrg# Just in case it came from the environment.
98414cce6aSmrgGUESS=
9950539131Smrg
10050539131Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
10150539131Smrg# compiler to aid in system detection is discouraged as it requires
10250539131Smrg# temporary files to be created and, as you can see below, it is a
10350539131Smrg# headache to deal with in a portable fashion.
10450539131Smrg
10550539131Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10650539131Smrg# use `HOST_CC' if defined, but it is deprecated.
10750539131Smrg
10850539131Smrg# Portable tmp directory creation inspired by the Autoconf team.
10950539131Smrg
110414cce6aSmrgtmp=
111414cce6aSmrg# shellcheck disable=SC2172
112414cce6aSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113414cce6aSmrg
114414cce6aSmrgset_cc_for_build() {
115414cce6aSmrg    # prevent multiple calls if $tmp is already set
116414cce6aSmrg    test "$tmp" && return 0
117414cce6aSmrg    : "${TMPDIR=/tmp}"
118414cce6aSmrg    # shellcheck disable=SC2039,SC3028
119414cce6aSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120414cce6aSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121414cce6aSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122414cce6aSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123414cce6aSmrg    dummy=$tmp/dummy
124414cce6aSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125414cce6aSmrg	,,)    echo "int x;" > "$dummy.c"
126414cce6aSmrg	       for driver in cc gcc c89 c99 ; do
127414cce6aSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128414cce6aSmrg		       CC_FOR_BUILD=$driver
129414cce6aSmrg		       break
130414cce6aSmrg		   fi
131414cce6aSmrg	       done
132414cce6aSmrg	       if test x"$CC_FOR_BUILD" = x ; then
133414cce6aSmrg		   CC_FOR_BUILD=no_compiler_found
134414cce6aSmrg	       fi
135414cce6aSmrg	       ;;
136414cce6aSmrg	,,*)   CC_FOR_BUILD=$CC ;;
137414cce6aSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138414cce6aSmrg    esac
139414cce6aSmrg}
14050539131Smrg
14150539131Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
14250539131Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
143414cce6aSmrgif test -f /.attbin/uname ; then
14450539131Smrg	PATH=$PATH:/.attbin ; export PATH
14550539131Smrgfi
14650539131Smrg
14750539131SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
14850539131SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149414cce6aSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
15050539131SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
15150539131Smrg
152414cce6aSmrgcase $UNAME_SYSTEM in
153414cce6aSmrgLinux|GNU|GNU/*)
154414cce6aSmrg	LIBC=unknown
155414cce6aSmrg
156414cce6aSmrg	set_cc_for_build
157414cce6aSmrg	cat <<-EOF > "$dummy.c"
15844d8e951Smrg	#include <features.h>
159414cce6aSmrg	#if defined(__UCLIBC__)
16044d8e951Smrg	LIBC=uclibc
161414cce6aSmrg	#elif defined(__dietlibc__)
16244d8e951Smrg	LIBC=dietlibc
163414cce6aSmrg	#elif defined(__GLIBC__)
16444d8e951Smrg	LIBC=gnu
165414cce6aSmrg	#else
166414cce6aSmrg	#include <stdarg.h>
167414cce6aSmrg	/* First heuristic to detect musl libc.  */
168414cce6aSmrg	#ifdef __DEFINED_va_list
169414cce6aSmrg	LIBC=musl
170414cce6aSmrg	#endif
17144d8e951Smrg	#endif
17244d8e951Smrg	EOF
173414cce6aSmrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174414cce6aSmrg	eval "$cc_set_libc"
175414cce6aSmrg
176414cce6aSmrg	# Second heuristic to detect musl libc.
177414cce6aSmrg	if [ "$LIBC" = unknown ] &&
178414cce6aSmrg	   command -v ldd >/dev/null &&
179414cce6aSmrg	   ldd --version 2>&1 | grep -q ^musl; then
180414cce6aSmrg		LIBC=musl
181414cce6aSmrg	fi
182414cce6aSmrg
183414cce6aSmrg	# If the system lacks a compiler, then just pick glibc.
184414cce6aSmrg	# We could probably try harder.
185414cce6aSmrg	if [ "$LIBC" = unknown ]; then
186414cce6aSmrg		LIBC=gnu
187414cce6aSmrg	fi
18844d8e951Smrg	;;
18944d8e951Smrgesac
19044d8e951Smrg
19150539131Smrg# Note: order is significant - the case branches are not exclusive.
19250539131Smrg
193414cce6aSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
19450539131Smrg    *:NetBSD:*:*)
19550539131Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
196414cce6aSmrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
19750539131Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
19850539131Smrg	# switched to ELF, *-*-netbsd* would select the old
19950539131Smrg	# object file format.  This provides both forward
20050539131Smrg	# compatibility and a consistent mechanism for selecting the
20150539131Smrg	# object file format.
20250539131Smrg	#
20350539131Smrg	# Note: NetBSD doesn't particularly care about the vendor
20450539131Smrg	# portion of the name.  We always set it to "unknown".
205414cce6aSmrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
206414cce6aSmrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
207414cce6aSmrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
208414cce6aSmrg	    echo unknown)`
209414cce6aSmrg	case $UNAME_MACHINE_ARCH in
210414cce6aSmrg	    aarch64eb) machine=aarch64_be-unknown ;;
21150539131Smrg	    armeb) machine=armeb-unknown ;;
21250539131Smrg	    arm*) machine=arm-unknown ;;
21350539131Smrg	    sh3el) machine=shl-unknown ;;
21450539131Smrg	    sh3eb) machine=sh-unknown ;;
21550539131Smrg	    sh5el) machine=sh5le-unknown ;;
216414cce6aSmrg	    earmv*)
217414cce6aSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
218414cce6aSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
219414cce6aSmrg		machine=${arch}${endian}-unknown
220414cce6aSmrg		;;
221414cce6aSmrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
22250539131Smrg	esac
22350539131Smrg	# The Operating System including object format, if it has switched
224414cce6aSmrg	# to ELF recently (or will in the future) and ABI.
225414cce6aSmrg	case $UNAME_MACHINE_ARCH in
226414cce6aSmrg	    earm*)
227414cce6aSmrg		os=netbsdelf
228414cce6aSmrg		;;
22950539131Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
230414cce6aSmrg		set_cc_for_build
23150539131Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
23244d8e951Smrg			| grep -q __ELF__
23350539131Smrg		then
23450539131Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
23550539131Smrg		    # Return netbsd for either.  FIX?
23650539131Smrg		    os=netbsd
23750539131Smrg		else
23850539131Smrg		    os=netbsdelf
23950539131Smrg		fi
24050539131Smrg		;;
24150539131Smrg	    *)
242414cce6aSmrg		os=netbsd
243414cce6aSmrg		;;
244414cce6aSmrg	esac
245414cce6aSmrg	# Determine ABI tags.
246414cce6aSmrg	case $UNAME_MACHINE_ARCH in
247414cce6aSmrg	    earm*)
248414cce6aSmrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
249414cce6aSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
25050539131Smrg		;;
25150539131Smrg	esac
25250539131Smrg	# The OS release
25350539131Smrg	# Debian GNU/NetBSD machines have a different userland, and
25450539131Smrg	# thus, need a distinct triplet. However, they do not need
25550539131Smrg	# kernel version information, so it can be replaced with a
25650539131Smrg	# suitable tag, in the style of linux-gnu.
257414cce6aSmrg	case $UNAME_VERSION in
25850539131Smrg	    Debian*)
25950539131Smrg		release='-gnu'
26050539131Smrg		;;
26150539131Smrg	    *)
262414cce6aSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
26350539131Smrg		;;
26450539131Smrg	esac
26550539131Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
26650539131Smrg	# contains redundant information, the shorter form:
26750539131Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
268414cce6aSmrg	GUESS=$machine-${os}${release}${abi-}
269414cce6aSmrg	;;
270414cce6aSmrg    *:Bitrig:*:*)
271414cce6aSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
272414cce6aSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
273414cce6aSmrg	;;
27450539131Smrg    *:OpenBSD:*:*)
27550539131Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
276414cce6aSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
277414cce6aSmrg	;;
278414cce6aSmrg    *:SecBSD:*:*)
279414cce6aSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
280414cce6aSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
281414cce6aSmrg	;;
282414cce6aSmrg    *:LibertyBSD:*:*)
283414cce6aSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
284414cce6aSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
285414cce6aSmrg	;;
286414cce6aSmrg    *:MidnightBSD:*:*)
287414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
288414cce6aSmrg	;;
28950539131Smrg    *:ekkoBSD:*:*)
290414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
291414cce6aSmrg	;;
29250539131Smrg    *:SolidBSD:*:*)
293414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
294414cce6aSmrg	;;
295414cce6aSmrg    *:OS108:*:*)
296414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
297414cce6aSmrg	;;
29850539131Smrg    macppc:MirBSD:*:*)
299414cce6aSmrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
300414cce6aSmrg	;;
30150539131Smrg    *:MirBSD:*:*)
302414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
303414cce6aSmrg	;;
304414cce6aSmrg    *:Sortix:*:*)
305414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-sortix
306414cce6aSmrg	;;
307414cce6aSmrg    *:Twizzler:*:*)
308414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-twizzler
309414cce6aSmrg	;;
310414cce6aSmrg    *:Redox:*:*)
311414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-redox
312414cce6aSmrg	;;
313414cce6aSmrg    mips:OSF1:*.*)
314414cce6aSmrg	GUESS=mips-dec-osf1
315414cce6aSmrg	;;
31650539131Smrg    alpha:OSF1:*:*)
317414cce6aSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
318414cce6aSmrg	trap '' 0
31950539131Smrg	case $UNAME_RELEASE in
32050539131Smrg	*4.0)
32150539131Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
32250539131Smrg		;;
32350539131Smrg	*5.*)
324414cce6aSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
32550539131Smrg		;;
32650539131Smrg	esac
32750539131Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
32850539131Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
32950539131Smrg	# covers most systems running today.  This code pipes the CPU
33050539131Smrg	# types through head -n 1, so we only detect the type of CPU 0.
33150539131Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
332414cce6aSmrg	case $ALPHA_CPU_TYPE in
33350539131Smrg	    "EV4 (21064)")
334414cce6aSmrg		UNAME_MACHINE=alpha ;;
33550539131Smrg	    "EV4.5 (21064)")
336414cce6aSmrg		UNAME_MACHINE=alpha ;;
33750539131Smrg	    "LCA4 (21066/21068)")
338414cce6aSmrg		UNAME_MACHINE=alpha ;;
33950539131Smrg	    "EV5 (21164)")
340414cce6aSmrg		UNAME_MACHINE=alphaev5 ;;
34150539131Smrg	    "EV5.6 (21164A)")
342414cce6aSmrg		UNAME_MACHINE=alphaev56 ;;
34350539131Smrg	    "EV5.6 (21164PC)")
344414cce6aSmrg		UNAME_MACHINE=alphapca56 ;;
34550539131Smrg	    "EV5.7 (21164PC)")
346414cce6aSmrg		UNAME_MACHINE=alphapca57 ;;
34750539131Smrg	    "EV6 (21264)")
348414cce6aSmrg		UNAME_MACHINE=alphaev6 ;;
34950539131Smrg	    "EV6.7 (21264A)")
350414cce6aSmrg		UNAME_MACHINE=alphaev67 ;;
35150539131Smrg	    "EV6.8CB (21264C)")
352414cce6aSmrg		UNAME_MACHINE=alphaev68 ;;
35350539131Smrg	    "EV6.8AL (21264B)")
354414cce6aSmrg		UNAME_MACHINE=alphaev68 ;;
35550539131Smrg	    "EV6.8CX (21264D)")
356414cce6aSmrg		UNAME_MACHINE=alphaev68 ;;
35750539131Smrg	    "EV6.9A (21264/EV69A)")
358414cce6aSmrg		UNAME_MACHINE=alphaev69 ;;
35950539131Smrg	    "EV7 (21364)")
360414cce6aSmrg		UNAME_MACHINE=alphaev7 ;;
36150539131Smrg	    "EV7.9 (21364A)")
362414cce6aSmrg		UNAME_MACHINE=alphaev79 ;;
36350539131Smrg	esac
36450539131Smrg	# A Pn.n version is a patched version.
36550539131Smrg	# A Vn.n version is a released version.
36650539131Smrg	# A Tn.n version is a released field test version.
36750539131Smrg	# A Xn.n version is an unreleased experimental baselevel.
36850539131Smrg	# 1.2 uses "1.2" for uname -r.
369414cce6aSmrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
370414cce6aSmrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
371414cce6aSmrg	;;
37250539131Smrg    Amiga*:UNIX_System_V:4.0:*)
373414cce6aSmrg	GUESS=m68k-unknown-sysv4
374414cce6aSmrg	;;
37550539131Smrg    *:[Aa]miga[Oo][Ss]:*:*)
376414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-amigaos
377414cce6aSmrg	;;
37850539131Smrg    *:[Mm]orph[Oo][Ss]:*:*)
379414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-morphos
380414cce6aSmrg	;;
38150539131Smrg    *:OS/390:*:*)
382414cce6aSmrg	GUESS=i370-ibm-openedition
383414cce6aSmrg	;;
38450539131Smrg    *:z/VM:*:*)
385414cce6aSmrg	GUESS=s390-ibm-zvmoe
386414cce6aSmrg	;;
38750539131Smrg    *:OS400:*:*)
388414cce6aSmrg	GUESS=powerpc-ibm-os400
389414cce6aSmrg	;;
39050539131Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
391414cce6aSmrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
392414cce6aSmrg	;;
393414cce6aSmrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
394414cce6aSmrg	GUESS=arm-unknown-riscos
395414cce6aSmrg	;;
39650539131Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
397414cce6aSmrg	GUESS=hppa1.1-hitachi-hiuxmpp
398414cce6aSmrg	;;
39950539131Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
40050539131Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
401414cce6aSmrg	case `(/bin/universe) 2>/dev/null` in
402414cce6aSmrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
403414cce6aSmrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
404414cce6aSmrg	esac
405414cce6aSmrg	;;
40650539131Smrg    NILE*:*:*:dcosx)
407414cce6aSmrg	GUESS=pyramid-pyramid-svr4
408414cce6aSmrg	;;
40950539131Smrg    DRS?6000:unix:4.0:6*)
410414cce6aSmrg	GUESS=sparc-icl-nx6
411414cce6aSmrg	;;
41250539131Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
41350539131Smrg	case `/usr/bin/uname -p` in
414414cce6aSmrg	    sparc) GUESS=sparc-icl-nx7 ;;
415414cce6aSmrg	esac
416414cce6aSmrg	;;
41750539131Smrg    s390x:SunOS:*:*)
418414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
419414cce6aSmrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
420414cce6aSmrg	;;
42150539131Smrg    sun4H:SunOS:5.*:*)
422414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
423414cce6aSmrg	GUESS=sparc-hal-solaris2$SUN_REL
424414cce6aSmrg	;;
42550539131Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
426414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
427414cce6aSmrg	GUESS=sparc-sun-solaris2$SUN_REL
428414cce6aSmrg	;;
42944d8e951Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
430414cce6aSmrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
431414cce6aSmrg	;;
43250539131Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
433414cce6aSmrg	set_cc_for_build
434414cce6aSmrg	SUN_ARCH=i386
43550539131Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
43650539131Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
43750539131Smrg	# This test works for both compilers.
438414cce6aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
43950539131Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
440414cce6aSmrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
44150539131Smrg		grep IS_64BIT_ARCH >/dev/null
44250539131Smrg	    then
443414cce6aSmrg		SUN_ARCH=x86_64
44450539131Smrg	    fi
44550539131Smrg	fi
446414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
447414cce6aSmrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
448414cce6aSmrg	;;
44950539131Smrg    sun4*:SunOS:6*:*)
45050539131Smrg	# According to config.sub, this is the proper way to canonicalize
45150539131Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
45250539131Smrg	# it's likely to be more like Solaris than SunOS4.
453414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
454414cce6aSmrg	GUESS=sparc-sun-solaris3$SUN_REL
455414cce6aSmrg	;;
45650539131Smrg    sun4*:SunOS:*:*)
457414cce6aSmrg	case `/usr/bin/arch -k` in
45850539131Smrg	    Series*|S4*)
45950539131Smrg		UNAME_RELEASE=`uname -v`
46050539131Smrg		;;
46150539131Smrg	esac
46250539131Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
463414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
464414cce6aSmrg	GUESS=sparc-sun-sunos$SUN_REL
465414cce6aSmrg	;;
46650539131Smrg    sun3*:SunOS:*:*)
467414cce6aSmrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
468414cce6aSmrg	;;
46950539131Smrg    sun*:*:4.2BSD:*)
47050539131Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
471414cce6aSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
472414cce6aSmrg	case `/bin/arch` in
47350539131Smrg	    sun3)
474414cce6aSmrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
47550539131Smrg		;;
47650539131Smrg	    sun4)
477414cce6aSmrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
47850539131Smrg		;;
47950539131Smrg	esac
480414cce6aSmrg	;;
48150539131Smrg    aushp:SunOS:*:*)
482414cce6aSmrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
483414cce6aSmrg	;;
48450539131Smrg    # The situation for MiNT is a little confusing.  The machine name
48550539131Smrg    # can be virtually everything (everything which is not
48650539131Smrg    # "atarist" or "atariste" at least should have a processor
48750539131Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
48850539131Smrg    # to the lowercase version "mint" (or "freemint").  Finally
48950539131Smrg    # the system name "TOS" denotes a system which is actually not
49050539131Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
49150539131Smrg    # be no problem.
49250539131Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
493414cce6aSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
494414cce6aSmrg	;;
49550539131Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
496414cce6aSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
497414cce6aSmrg	;;
49850539131Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
499414cce6aSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
500414cce6aSmrg	;;
50150539131Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
502414cce6aSmrg	GUESS=m68k-milan-mint$UNAME_RELEASE
503414cce6aSmrg	;;
50450539131Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
505414cce6aSmrg	GUESS=m68k-hades-mint$UNAME_RELEASE
506414cce6aSmrg	;;
50750539131Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
508414cce6aSmrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
509414cce6aSmrg	;;
51050539131Smrg    m68k:machten:*:*)
511414cce6aSmrg	GUESS=m68k-apple-machten$UNAME_RELEASE
512414cce6aSmrg	;;
51350539131Smrg    powerpc:machten:*:*)
514414cce6aSmrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
515414cce6aSmrg	;;
51650539131Smrg    RISC*:Mach:*:*)
517414cce6aSmrg	GUESS=mips-dec-mach_bsd4.3
518414cce6aSmrg	;;
51950539131Smrg    RISC*:ULTRIX:*:*)
520414cce6aSmrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
521414cce6aSmrg	;;
52250539131Smrg    VAX*:ULTRIX*:*:*)
523414cce6aSmrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
524414cce6aSmrg	;;
52550539131Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
526414cce6aSmrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
527414cce6aSmrg	;;
52850539131Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
529414cce6aSmrg	set_cc_for_build
530414cce6aSmrg	sed 's/^	//' << EOF > "$dummy.c"
53150539131Smrg#ifdef __cplusplus
53250539131Smrg#include <stdio.h>  /* for printf() prototype */
53350539131Smrg	int main (int argc, char *argv[]) {
53450539131Smrg#else
53550539131Smrg	int main (argc, argv) int argc; char *argv[]; {
53650539131Smrg#endif
53750539131Smrg	#if defined (host_mips) && defined (MIPSEB)
53850539131Smrg	#if defined (SYSTYPE_SYSV)
539414cce6aSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
54050539131Smrg	#endif
54150539131Smrg	#if defined (SYSTYPE_SVR4)
542414cce6aSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
54350539131Smrg	#endif
54450539131Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
545414cce6aSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
54650539131Smrg	#endif
54750539131Smrg	#endif
54850539131Smrg	  exit (-1);
54950539131Smrg	}
55050539131SmrgEOF
551414cce6aSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
552414cce6aSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
553414cce6aSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
55450539131Smrg	    { echo "$SYSTEM_NAME"; exit; }
555414cce6aSmrg	GUESS=mips-mips-riscos$UNAME_RELEASE
556414cce6aSmrg	;;
55750539131Smrg    Motorola:PowerMAX_OS:*:*)
558414cce6aSmrg	GUESS=powerpc-motorola-powermax
559414cce6aSmrg	;;
56050539131Smrg    Motorola:*:4.3:PL8-*)
561414cce6aSmrg	GUESS=powerpc-harris-powermax
562414cce6aSmrg	;;
56350539131Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
564414cce6aSmrg	GUESS=powerpc-harris-powermax
565414cce6aSmrg	;;
56650539131Smrg    Night_Hawk:Power_UNIX:*:*)
567414cce6aSmrg	GUESS=powerpc-harris-powerunix
568414cce6aSmrg	;;
56950539131Smrg    m88k:CX/UX:7*:*)
570414cce6aSmrg	GUESS=m88k-harris-cxux7
571414cce6aSmrg	;;
57250539131Smrg    m88k:*:4*:R4*)
573414cce6aSmrg	GUESS=m88k-motorola-sysv4
574414cce6aSmrg	;;
57550539131Smrg    m88k:*:3*:R3*)
576414cce6aSmrg	GUESS=m88k-motorola-sysv3
577414cce6aSmrg	;;
57850539131Smrg    AViiON:dgux:*:*)
579414cce6aSmrg	# DG/UX returns AViiON for all architectures
580414cce6aSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
581414cce6aSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
58250539131Smrg	then
583414cce6aSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
584414cce6aSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
58550539131Smrg	    then
586414cce6aSmrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
58750539131Smrg	    else
588414cce6aSmrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
58950539131Smrg	    fi
59050539131Smrg	else
591414cce6aSmrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
59250539131Smrg	fi
593414cce6aSmrg	;;
59450539131Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
595414cce6aSmrg	GUESS=m88k-dolphin-sysv3
596414cce6aSmrg	;;
59750539131Smrg    M88*:*:R3*:*)
59850539131Smrg	# Delta 88k system running SVR3
599414cce6aSmrg	GUESS=m88k-motorola-sysv3
600414cce6aSmrg	;;
60150539131Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
602414cce6aSmrg	GUESS=m88k-tektronix-sysv3
603414cce6aSmrg	;;
60450539131Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
605414cce6aSmrg	GUESS=m68k-tektronix-bsd
606414cce6aSmrg	;;
60750539131Smrg    *:IRIX*:*:*)
608414cce6aSmrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
609414cce6aSmrg	GUESS=mips-sgi-irix$IRIX_REL
610414cce6aSmrg	;;
61150539131Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
612414cce6aSmrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
613414cce6aSmrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
61450539131Smrg    i*86:AIX:*:*)
615414cce6aSmrg	GUESS=i386-ibm-aix
616414cce6aSmrg	;;
61750539131Smrg    ia64:AIX:*:*)
618414cce6aSmrg	if test -x /usr/bin/oslevel ; then
61950539131Smrg		IBM_REV=`/usr/bin/oslevel`
62050539131Smrg	else
621414cce6aSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
62250539131Smrg	fi
623414cce6aSmrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
624414cce6aSmrg	;;
62550539131Smrg    *:AIX:2:3)
62650539131Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
627414cce6aSmrg		set_cc_for_build
628414cce6aSmrg		sed 's/^		//' << EOF > "$dummy.c"
62950539131Smrg		#include <sys/systemcfg.h>
63050539131Smrg
63150539131Smrg		main()
63250539131Smrg			{
63350539131Smrg			if (!__power_pc())
63450539131Smrg				exit(1);
63550539131Smrg			puts("powerpc-ibm-aix3.2.5");
63650539131Smrg			exit(0);
63750539131Smrg			}
63850539131SmrgEOF
639414cce6aSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
64050539131Smrg		then
641414cce6aSmrg			GUESS=$SYSTEM_NAME
64250539131Smrg		else
643414cce6aSmrg			GUESS=rs6000-ibm-aix3.2.5
64450539131Smrg		fi
64550539131Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
646414cce6aSmrg		GUESS=rs6000-ibm-aix3.2.4
64750539131Smrg	else
648414cce6aSmrg		GUESS=rs6000-ibm-aix3.2
64950539131Smrg	fi
650414cce6aSmrg	;;
65144d8e951Smrg    *:AIX:*:[4567])
65250539131Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
653414cce6aSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
65450539131Smrg		IBM_ARCH=rs6000
65550539131Smrg	else
65650539131Smrg		IBM_ARCH=powerpc
65750539131Smrg	fi
658414cce6aSmrg	if test -x /usr/bin/lslpp ; then
659414cce6aSmrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
660414cce6aSmrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
66150539131Smrg	else
662414cce6aSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
66350539131Smrg	fi
664414cce6aSmrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
665414cce6aSmrg	;;
66650539131Smrg    *:AIX:*:*)
667414cce6aSmrg	GUESS=rs6000-ibm-aix
668414cce6aSmrg	;;
669414cce6aSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
670414cce6aSmrg	GUESS=romp-ibm-bsd4.4
671414cce6aSmrg	;;
67250539131Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
673414cce6aSmrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
674414cce6aSmrg	;;                                  # report: romp-ibm BSD 4.3
67550539131Smrg    *:BOSX:*:*)
676414cce6aSmrg	GUESS=rs6000-bull-bosx
677414cce6aSmrg	;;
67850539131Smrg    DPX/2?00:B.O.S.:*:*)
679414cce6aSmrg	GUESS=m68k-bull-sysv3
680414cce6aSmrg	;;
68150539131Smrg    9000/[34]??:4.3bsd:1.*:*)
682414cce6aSmrg	GUESS=m68k-hp-bsd
683414cce6aSmrg	;;
68450539131Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
685414cce6aSmrg	GUESS=m68k-hp-bsd4.4
686414cce6aSmrg	;;
68750539131Smrg    9000/[34678]??:HP-UX:*:*)
688414cce6aSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
689414cce6aSmrg	case $UNAME_MACHINE in
690414cce6aSmrg	    9000/31?)            HP_ARCH=m68000 ;;
691414cce6aSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
69250539131Smrg	    9000/[678][0-9][0-9])
693414cce6aSmrg		if test -x /usr/bin/getconf; then
69450539131Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
695414cce6aSmrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
696414cce6aSmrg		    case $sc_cpu_version in
697414cce6aSmrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
698414cce6aSmrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
699414cce6aSmrg		      532)                      # CPU_PA_RISC2_0
700414cce6aSmrg			case $sc_kernel_bits in
701414cce6aSmrg			  32) HP_ARCH=hppa2.0n ;;
702414cce6aSmrg			  64) HP_ARCH=hppa2.0w ;;
703414cce6aSmrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
704414cce6aSmrg			esac ;;
705414cce6aSmrg		    esac
70650539131Smrg		fi
707414cce6aSmrg		if test "$HP_ARCH" = ""; then
708414cce6aSmrg		    set_cc_for_build
709414cce6aSmrg		    sed 's/^		//' << EOF > "$dummy.c"
710414cce6aSmrg
711414cce6aSmrg		#define _HPUX_SOURCE
712414cce6aSmrg		#include <stdlib.h>
713414cce6aSmrg		#include <unistd.h>
714414cce6aSmrg
715414cce6aSmrg		int main ()
716414cce6aSmrg		{
717414cce6aSmrg		#if defined(_SC_KERNEL_BITS)
718414cce6aSmrg		    long bits = sysconf(_SC_KERNEL_BITS);
719414cce6aSmrg		#endif
720414cce6aSmrg		    long cpu  = sysconf (_SC_CPU_VERSION);
721414cce6aSmrg
722414cce6aSmrg		    switch (cpu)
723414cce6aSmrg			{
724414cce6aSmrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
725414cce6aSmrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
726414cce6aSmrg			case CPU_PA_RISC2_0:
727414cce6aSmrg		#if defined(_SC_KERNEL_BITS)
728414cce6aSmrg			    switch (bits)
729414cce6aSmrg				{
730414cce6aSmrg				case 64: puts ("hppa2.0w"); break;
731414cce6aSmrg				case 32: puts ("hppa2.0n"); break;
732414cce6aSmrg				default: puts ("hppa2.0"); break;
733414cce6aSmrg				} break;
734414cce6aSmrg		#else  /* !defined(_SC_KERNEL_BITS) */
735414cce6aSmrg			    puts ("hppa2.0"); break;
736414cce6aSmrg		#endif
737414cce6aSmrg			default: puts ("hppa1.0"); break;
738414cce6aSmrg			}
739414cce6aSmrg		    exit (0);
740414cce6aSmrg		}
74150539131SmrgEOF
742414cce6aSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
74350539131Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
74450539131Smrg		fi ;;
74550539131Smrg	esac
746414cce6aSmrg	if test "$HP_ARCH" = hppa2.0w
74750539131Smrg	then
748414cce6aSmrg	    set_cc_for_build
74950539131Smrg
75050539131Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
75150539131Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
75250539131Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
75350539131Smrg	    #
75450539131Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
75550539131Smrg	    # => hppa2.0w-hp-hpux11.23
75650539131Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
75750539131Smrg	    # => hppa64-hp-hpux11.23
75850539131Smrg
759414cce6aSmrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
76044d8e951Smrg		grep -q __LP64__
76150539131Smrg	    then
762414cce6aSmrg		HP_ARCH=hppa2.0w
76350539131Smrg	    else
764414cce6aSmrg		HP_ARCH=hppa64
76550539131Smrg	    fi
76650539131Smrg	fi
767414cce6aSmrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
768414cce6aSmrg	;;
76950539131Smrg    ia64:HP-UX:*:*)
770414cce6aSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
771414cce6aSmrg	GUESS=ia64-hp-hpux$HPUX_REV
772414cce6aSmrg	;;
77350539131Smrg    3050*:HI-UX:*:*)
774414cce6aSmrg	set_cc_for_build
775414cce6aSmrg	sed 's/^	//' << EOF > "$dummy.c"
77650539131Smrg	#include <unistd.h>
77750539131Smrg	int
77850539131Smrg	main ()
77950539131Smrg	{
78050539131Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
78150539131Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
78250539131Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
78350539131Smrg	     results, however.  */
78450539131Smrg	  if (CPU_IS_PA_RISC (cpu))
78550539131Smrg	    {
78650539131Smrg	      switch (cpu)
78750539131Smrg		{
78850539131Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
78950539131Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
79050539131Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
79150539131Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
79250539131Smrg		}
79350539131Smrg	    }
79450539131Smrg	  else if (CPU_IS_HP_MC68K (cpu))
79550539131Smrg	    puts ("m68k-hitachi-hiuxwe2");
79650539131Smrg	  else puts ("unknown-hitachi-hiuxwe2");
79750539131Smrg	  exit (0);
79850539131Smrg	}
79950539131SmrgEOF
800414cce6aSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
80150539131Smrg		{ echo "$SYSTEM_NAME"; exit; }
802414cce6aSmrg	GUESS=unknown-hitachi-hiuxwe2
803414cce6aSmrg	;;
804414cce6aSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
805414cce6aSmrg	GUESS=hppa1.1-hp-bsd
806414cce6aSmrg	;;
80750539131Smrg    9000/8??:4.3bsd:*:*)
808414cce6aSmrg	GUESS=hppa1.0-hp-bsd
809414cce6aSmrg	;;
81050539131Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
811414cce6aSmrg	GUESS=hppa1.0-hp-mpeix
812414cce6aSmrg	;;
813414cce6aSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
814414cce6aSmrg	GUESS=hppa1.1-hp-osf
815414cce6aSmrg	;;
81650539131Smrg    hp8??:OSF1:*:*)
817414cce6aSmrg	GUESS=hppa1.0-hp-osf
818414cce6aSmrg	;;
81950539131Smrg    i*86:OSF1:*:*)
820414cce6aSmrg	if test -x /usr/sbin/sysversion ; then
821414cce6aSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
82250539131Smrg	else
823414cce6aSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1
82450539131Smrg	fi
825414cce6aSmrg	;;
82650539131Smrg    parisc*:Lites*:*:*)
827414cce6aSmrg	GUESS=hppa1.1-hp-lites
828414cce6aSmrg	;;
82950539131Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
830414cce6aSmrg	GUESS=c1-convex-bsd
831414cce6aSmrg	;;
83250539131Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
83350539131Smrg	if getsysinfo -f scalar_acc
83450539131Smrg	then echo c32-convex-bsd
83550539131Smrg	else echo c2-convex-bsd
83650539131Smrg	fi
837414cce6aSmrg	exit ;;
83850539131Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
839414cce6aSmrg	GUESS=c34-convex-bsd
840414cce6aSmrg	;;
84150539131Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
842414cce6aSmrg	GUESS=c38-convex-bsd
843414cce6aSmrg	;;
84450539131Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
845414cce6aSmrg	GUESS=c4-convex-bsd
846414cce6aSmrg	;;
84750539131Smrg    CRAY*Y-MP:*:*:*)
848414cce6aSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
849414cce6aSmrg	GUESS=ymp-cray-unicos$CRAY_REL
850414cce6aSmrg	;;
85150539131Smrg    CRAY*[A-Z]90:*:*:*)
852414cce6aSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
85350539131Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
85450539131Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
85550539131Smrg	      -e 's/\.[^.]*$/.X/'
85650539131Smrg	exit ;;
85750539131Smrg    CRAY*TS:*:*:*)
858414cce6aSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
859414cce6aSmrg	GUESS=t90-cray-unicos$CRAY_REL
860414cce6aSmrg	;;
86150539131Smrg    CRAY*T3E:*:*:*)
862414cce6aSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
863414cce6aSmrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
864414cce6aSmrg	;;
86550539131Smrg    CRAY*SV1:*:*:*)
866414cce6aSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867414cce6aSmrg	GUESS=sv1-cray-unicos$CRAY_REL
868414cce6aSmrg	;;
86950539131Smrg    *:UNICOS/mp:*:*)
870414cce6aSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871414cce6aSmrg	GUESS=craynv-cray-unicosmp$CRAY_REL
872414cce6aSmrg	;;
87350539131Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
874414cce6aSmrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
875414cce6aSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
876414cce6aSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
877414cce6aSmrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
878414cce6aSmrg	;;
87950539131Smrg    5000:UNIX_System_V:4.*:*)
880414cce6aSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
881414cce6aSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
882414cce6aSmrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
883414cce6aSmrg	;;
88450539131Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
885414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
886414cce6aSmrg	;;
88750539131Smrg    sparc*:BSD/OS:*:*)
888414cce6aSmrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
889414cce6aSmrg	;;
89050539131Smrg    *:BSD/OS:*:*)
891414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
892414cce6aSmrg	;;
893414cce6aSmrg    arm:FreeBSD:*:*)
894414cce6aSmrg	UNAME_PROCESSOR=`uname -p`
895414cce6aSmrg	set_cc_for_build
896414cce6aSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
897414cce6aSmrg	    | grep -q __ARM_PCS_VFP
898414cce6aSmrg	then
899414cce6aSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
900414cce6aSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
901414cce6aSmrg	else
902414cce6aSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
903414cce6aSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
904414cce6aSmrg	fi
905414cce6aSmrg	;;
90650539131Smrg    *:FreeBSD:*:*)
907414cce6aSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
908414cce6aSmrg	case $UNAME_PROCESSOR in
90950539131Smrg	    amd64)
910414cce6aSmrg		UNAME_PROCESSOR=x86_64 ;;
911414cce6aSmrg	    i386)
912414cce6aSmrg		UNAME_PROCESSOR=i586 ;;
91350539131Smrg	esac
914414cce6aSmrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
915414cce6aSmrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
916414cce6aSmrg	;;
91750539131Smrg    i*:CYGWIN*:*)
918414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-cygwin
919414cce6aSmrg	;;
920414cce6aSmrg    *:MINGW64*:*)
921414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-mingw64
922414cce6aSmrg	;;
92350539131Smrg    *:MINGW*:*)
924414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-mingw32
925414cce6aSmrg	;;
926414cce6aSmrg    *:MSYS*:*)
927414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-msys
928414cce6aSmrg	;;
92950539131Smrg    i*:PW*:*)
930414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-pw32
931414cce6aSmrg	;;
932414cce6aSmrg    *:SerenityOS:*:*)
933414cce6aSmrg        GUESS=$UNAME_MACHINE-pc-serenity
934414cce6aSmrg        ;;
93544d8e951Smrg    *:Interix*:*)
936414cce6aSmrg	case $UNAME_MACHINE in
93750539131Smrg	    x86)
938414cce6aSmrg		GUESS=i586-pc-interix$UNAME_RELEASE
939414cce6aSmrg		;;
94044d8e951Smrg	    authenticamd | genuineintel | EM64T)
941414cce6aSmrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
942414cce6aSmrg		;;
94350539131Smrg	    IA64)
944414cce6aSmrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
945414cce6aSmrg		;;
94650539131Smrg	esac ;;
94750539131Smrg    i*:UWIN*:*)
948414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-uwin
949414cce6aSmrg	;;
95050539131Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
951414cce6aSmrg	GUESS=x86_64-pc-cygwin
952414cce6aSmrg	;;
95350539131Smrg    prep*:SunOS:5.*:*)
954414cce6aSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
955414cce6aSmrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
956414cce6aSmrg	;;
95750539131Smrg    *:GNU:*:*)
95850539131Smrg	# the GNU system
959414cce6aSmrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
960414cce6aSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
961414cce6aSmrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
962414cce6aSmrg	;;
96350539131Smrg    *:GNU/*:*:*)
96450539131Smrg	# other systems with GNU libc and userland
965414cce6aSmrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
966414cce6aSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
967414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
968414cce6aSmrg	;;
969414cce6aSmrg    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
970414cce6aSmrg	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
971414cce6aSmrg	;;
972414cce6aSmrg    *:[Mm]anagarm:*:*)
973414cce6aSmrg	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
974414cce6aSmrg	;;
975414cce6aSmrg    *:Minix:*:*)
976414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-minix
977414cce6aSmrg	;;
978414cce6aSmrg    aarch64:Linux:*:*)
979414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
980414cce6aSmrg	;;
981414cce6aSmrg    aarch64_be:Linux:*:*)
982414cce6aSmrg	UNAME_MACHINE=aarch64_be
983414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
984414cce6aSmrg	;;
985414cce6aSmrg    alpha:Linux:*:*)
986414cce6aSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
987414cce6aSmrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
98844d8e951Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
98944d8e951Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
99044d8e951Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
99144d8e951Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
99244d8e951Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
99344d8e951Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
994414cce6aSmrg	esac
99544d8e951Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
996414cce6aSmrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
997414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
998414cce6aSmrg	;;
999414cce6aSmrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1000414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1001414cce6aSmrg	;;
100250539131Smrg    arm*:Linux:*:*)
1003414cce6aSmrg	set_cc_for_build
100450539131Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
100550539131Smrg	    | grep -q __ARM_EABI__
100650539131Smrg	then
1007414cce6aSmrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
100850539131Smrg	else
1009414cce6aSmrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
1010414cce6aSmrg		| grep -q __ARM_PCS_VFP
1011414cce6aSmrg	    then
1012414cce6aSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
1013414cce6aSmrg	    else
1014414cce6aSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
1015414cce6aSmrg	    fi
101650539131Smrg	fi
1017414cce6aSmrg	;;
101850539131Smrg    avr32*:Linux:*:*)
1019414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1020414cce6aSmrg	;;
102150539131Smrg    cris:Linux:*:*)
1022414cce6aSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1023414cce6aSmrg	;;
102450539131Smrg    crisv32:Linux:*:*)
1025414cce6aSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1026414cce6aSmrg	;;
1027414cce6aSmrg    e2k:Linux:*:*)
1028414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029414cce6aSmrg	;;
103050539131Smrg    frv:Linux:*:*)
1031414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1032414cce6aSmrg	;;
1033414cce6aSmrg    hexagon:Linux:*:*)
1034414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1035414cce6aSmrg	;;
103644d8e951Smrg    i*86:Linux:*:*)
1037414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1038414cce6aSmrg	;;
103950539131Smrg    ia64:Linux:*:*)
1040414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1041414cce6aSmrg	;;
1042414cce6aSmrg    k1om:Linux:*:*)
1043414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1044414cce6aSmrg	;;
1045414cce6aSmrg    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1046414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1047414cce6aSmrg	;;
104850539131Smrg    m32r*:Linux:*:*)
1049414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1050414cce6aSmrg	;;
105150539131Smrg    m68*:Linux:*:*)
1052414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1053414cce6aSmrg	;;
105444d8e951Smrg    mips:Linux:*:* | mips64:Linux:*:*)
1055414cce6aSmrg	set_cc_for_build
1056414cce6aSmrg	IS_GLIBC=0
1057414cce6aSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
1058414cce6aSmrg	sed 's/^	//' << EOF > "$dummy.c"
105950539131Smrg	#undef CPU
1060414cce6aSmrg	#undef mips
1061414cce6aSmrg	#undef mipsel
1062414cce6aSmrg	#undef mips64
1063414cce6aSmrg	#undef mips64el
1064414cce6aSmrg	#if ${IS_GLIBC} && defined(_ABI64)
1065414cce6aSmrg	LIBCABI=gnuabi64
1066414cce6aSmrg	#else
1067414cce6aSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
1068414cce6aSmrg	LIBCABI=gnuabin32
1069414cce6aSmrg	#else
1070414cce6aSmrg	LIBCABI=${LIBC}
1071414cce6aSmrg	#endif
1072414cce6aSmrg	#endif
1073414cce6aSmrg
1074414cce6aSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1075414cce6aSmrg	CPU=mipsisa64r6
1076414cce6aSmrg	#else
1077414cce6aSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1078414cce6aSmrg	CPU=mipsisa32r6
1079414cce6aSmrg	#else
1080414cce6aSmrg	#if defined(__mips64)
1081414cce6aSmrg	CPU=mips64
1082414cce6aSmrg	#else
1083414cce6aSmrg	CPU=mips
1084414cce6aSmrg	#endif
1085414cce6aSmrg	#endif
1086414cce6aSmrg	#endif
1087414cce6aSmrg
108850539131Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1089414cce6aSmrg	MIPS_ENDIAN=el
109050539131Smrg	#else
109150539131Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1092414cce6aSmrg	MIPS_ENDIAN=
109350539131Smrg	#else
1094414cce6aSmrg	MIPS_ENDIAN=
109550539131Smrg	#endif
109650539131Smrg	#endif
109750539131SmrgEOF
1098414cce6aSmrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1099414cce6aSmrg	eval "$cc_set_vars"
1100414cce6aSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1101414cce6aSmrg	;;
1102414cce6aSmrg    mips64el:Linux:*:*)
1103414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1104414cce6aSmrg	;;
1105414cce6aSmrg    openrisc*:Linux:*:*)
1106414cce6aSmrg	GUESS=or1k-unknown-linux-$LIBC
1107414cce6aSmrg	;;
1108414cce6aSmrg    or32:Linux:*:* | or1k*:Linux:*:*)
1109414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
111050539131Smrg	;;
111150539131Smrg    padre:Linux:*:*)
1112414cce6aSmrg	GUESS=sparc-unknown-linux-$LIBC
1113414cce6aSmrg	;;
111444d8e951Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
1115414cce6aSmrg	GUESS=hppa64-unknown-linux-$LIBC
1116414cce6aSmrg	;;
111750539131Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
111850539131Smrg	# Look for CPU level
111950539131Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1120414cce6aSmrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1121414cce6aSmrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1122414cce6aSmrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
112350539131Smrg	esac
1124414cce6aSmrg	;;
112544d8e951Smrg    ppc64:Linux:*:*)
1126414cce6aSmrg	GUESS=powerpc64-unknown-linux-$LIBC
1127414cce6aSmrg	;;
112844d8e951Smrg    ppc:Linux:*:*)
1129414cce6aSmrg	GUESS=powerpc-unknown-linux-$LIBC
1130414cce6aSmrg	;;
1131414cce6aSmrg    ppc64le:Linux:*:*)
1132414cce6aSmrg	GUESS=powerpc64le-unknown-linux-$LIBC
1133414cce6aSmrg	;;
1134414cce6aSmrg    ppcle:Linux:*:*)
1135414cce6aSmrg	GUESS=powerpcle-unknown-linux-$LIBC
1136414cce6aSmrg	;;
1137414cce6aSmrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1138414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139414cce6aSmrg	;;
114050539131Smrg    s390:Linux:*:* | s390x:Linux:*:*)
1141414cce6aSmrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1142414cce6aSmrg	;;
114350539131Smrg    sh64*:Linux:*:*)
1144414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145414cce6aSmrg	;;
114650539131Smrg    sh*:Linux:*:*)
1147414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1148414cce6aSmrg	;;
114950539131Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
1150414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1151414cce6aSmrg	;;
115244d8e951Smrg    tile*:Linux:*:*)
1153414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1154414cce6aSmrg	;;
115550539131Smrg    vax:Linux:*:*)
1156414cce6aSmrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1157414cce6aSmrg	;;
115850539131Smrg    x86_64:Linux:*:*)
1159414cce6aSmrg	set_cc_for_build
1160414cce6aSmrg	CPU=$UNAME_MACHINE
1161414cce6aSmrg	LIBCABI=$LIBC
1162414cce6aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1163414cce6aSmrg	    ABI=64
1164414cce6aSmrg	    sed 's/^	    //' << EOF > "$dummy.c"
1165414cce6aSmrg	    #ifdef __i386__
1166414cce6aSmrg	    ABI=x86
1167414cce6aSmrg	    #else
1168414cce6aSmrg	    #ifdef __ILP32__
1169414cce6aSmrg	    ABI=x32
1170414cce6aSmrg	    #endif
1171414cce6aSmrg	    #endif
1172414cce6aSmrgEOF
1173414cce6aSmrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1174414cce6aSmrg	    eval "$cc_set_abi"
1175414cce6aSmrg	    case $ABI in
1176414cce6aSmrg		x86) CPU=i686 ;;
1177414cce6aSmrg		x32) LIBCABI=${LIBC}x32 ;;
1178414cce6aSmrg	    esac
1179414cce6aSmrg	fi
1180414cce6aSmrg	GUESS=$CPU-pc-linux-$LIBCABI
1181414cce6aSmrg	;;
118250539131Smrg    xtensa*:Linux:*:*)
1183414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1184414cce6aSmrg	;;
118550539131Smrg    i*86:DYNIX/ptx:4*:*)
118650539131Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
118750539131Smrg	# earlier versions are messed up and put the nodename in both
118850539131Smrg	# sysname and nodename.
1189414cce6aSmrg	GUESS=i386-sequent-sysv4
1190414cce6aSmrg	;;
119150539131Smrg    i*86:UNIX_SV:4.2MP:2.*)
1192414cce6aSmrg	# Unixware is an offshoot of SVR4, but it has its own version
1193414cce6aSmrg	# number series starting with 2...
1194414cce6aSmrg	# I am not positive that other SVR4 systems won't match this,
119550539131Smrg	# I just have to hope.  -- rms.
1196414cce6aSmrg	# Use sysv4.2uw... so that sysv4* matches it.
1197414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1198414cce6aSmrg	;;
119950539131Smrg    i*86:OS/2:*:*)
120050539131Smrg	# If we were able to find `uname', then EMX Unix compatibility
120150539131Smrg	# is probably installed.
1202414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-os2-emx
1203414cce6aSmrg	;;
120450539131Smrg    i*86:XTS-300:*:STOP)
1205414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-stop
1206414cce6aSmrg	;;
120750539131Smrg    i*86:atheos:*:*)
1208414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-atheos
1209414cce6aSmrg	;;
121050539131Smrg    i*86:syllable:*:*)
1211414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-syllable
1212414cce6aSmrg	;;
121344d8e951Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1214414cce6aSmrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1215414cce6aSmrg	;;
121650539131Smrg    i*86:*DOS:*:*)
1217414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1218414cce6aSmrg	;;
1219414cce6aSmrg    i*86:*:4.*:*)
1220414cce6aSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
122150539131Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1222414cce6aSmrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
122350539131Smrg	else
1224414cce6aSmrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
122550539131Smrg	fi
1226414cce6aSmrg	;;
122750539131Smrg    i*86:*:5:[678]*)
1228414cce6aSmrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
122950539131Smrg	case `/bin/uname -X | grep "^Machine"` in
123050539131Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
123150539131Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
123250539131Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
123350539131Smrg	esac
1234414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1235414cce6aSmrg	;;
123650539131Smrg    i*86:*:3.2:*)
123750539131Smrg	if test -f /usr/options/cb.name; then
123850539131Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1239414cce6aSmrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
124050539131Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
124150539131Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
124250539131Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
124350539131Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
124450539131Smrg			&& UNAME_MACHINE=i586
124550539131Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
124650539131Smrg			&& UNAME_MACHINE=i686
124750539131Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
124850539131Smrg			&& UNAME_MACHINE=i686
1249414cce6aSmrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
125050539131Smrg	else
1251414cce6aSmrg		GUESS=$UNAME_MACHINE-pc-sysv32
125250539131Smrg	fi
1253414cce6aSmrg	;;
125450539131Smrg    pc:*:*:*)
125550539131Smrg	# Left here for compatibility:
1256414cce6aSmrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1257414cce6aSmrg	# the processor, so we play safe by assuming i586.
125850539131Smrg	# Note: whatever this is, it MUST be the same as what config.sub
1259414cce6aSmrg	# prints for the "djgpp" host, or else GDB configure will decide that
126050539131Smrg	# this is a cross-build.
1261414cce6aSmrg	GUESS=i586-pc-msdosdjgpp
1262414cce6aSmrg	;;
126350539131Smrg    Intel:Mach:3*:*)
1264414cce6aSmrg	GUESS=i386-pc-mach3
1265414cce6aSmrg	;;
126650539131Smrg    paragon:*:*:*)
1267414cce6aSmrg	GUESS=i860-intel-osf1
1268414cce6aSmrg	;;
126950539131Smrg    i860:*:4.*:*) # i860-SVR4
127050539131Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1271414cce6aSmrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
127250539131Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1273414cce6aSmrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
127450539131Smrg	fi
1275414cce6aSmrg	;;
127650539131Smrg    mini*:CTIX:SYS*5:*)
127750539131Smrg	# "miniframe"
1278414cce6aSmrg	GUESS=m68010-convergent-sysv
1279414cce6aSmrg	;;
128050539131Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1281414cce6aSmrg	GUESS=m68k-convergent-sysv
1282414cce6aSmrg	;;
128350539131Smrg    M680?0:D-NIX:5.3:*)
1284414cce6aSmrg	GUESS=m68k-diab-dnix
1285414cce6aSmrg	;;
128650539131Smrg    M68*:*:R3V[5678]*:*)
128750539131Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
128850539131Smrg    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)
128950539131Smrg	OS_REL=''
129050539131Smrg	test -r /etc/.relid \
129150539131Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
129250539131Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1293414cce6aSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
129450539131Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1295414cce6aSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
129650539131Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1297414cce6aSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1298414cce6aSmrg	  && { echo i486-ncr-sysv4; exit; } ;;
129950539131Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
130050539131Smrg	OS_REL='.3'
130150539131Smrg	test -r /etc/.relid \
130250539131Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
130350539131Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1304414cce6aSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
130550539131Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1306414cce6aSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
130750539131Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1308414cce6aSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
130950539131Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1310414cce6aSmrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1311414cce6aSmrg	;;
131250539131Smrg    mc68030:UNIX_System_V:4.*:*)
1313414cce6aSmrg	GUESS=m68k-atari-sysv4
1314414cce6aSmrg	;;
131550539131Smrg    TSUNAMI:LynxOS:2.*:*)
1316414cce6aSmrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1317414cce6aSmrg	;;
131850539131Smrg    rs6000:LynxOS:2.*:*)
1319414cce6aSmrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1320414cce6aSmrg	;;
132144d8e951Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1322414cce6aSmrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1323414cce6aSmrg	;;
132450539131Smrg    SM[BE]S:UNIX_SV:*:*)
1325414cce6aSmrg	GUESS=mips-dde-sysv$UNAME_RELEASE
1326414cce6aSmrg	;;
132750539131Smrg    RM*:ReliantUNIX-*:*:*)
1328414cce6aSmrg	GUESS=mips-sni-sysv4
1329414cce6aSmrg	;;
133050539131Smrg    RM*:SINIX-*:*:*)
1331414cce6aSmrg	GUESS=mips-sni-sysv4
1332414cce6aSmrg	;;
133350539131Smrg    *:SINIX-*:*:*)
133450539131Smrg	if uname -p 2>/dev/null >/dev/null ; then
133550539131Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1336414cce6aSmrg		GUESS=$UNAME_MACHINE-sni-sysv4
133750539131Smrg	else
1338414cce6aSmrg		GUESS=ns32k-sni-sysv
133950539131Smrg	fi
1340414cce6aSmrg	;;
1341414cce6aSmrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1342414cce6aSmrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1343414cce6aSmrg	GUESS=i586-unisys-sysv4
1344414cce6aSmrg	;;
134550539131Smrg    *:UNIX_System_V:4*:FTX*)
134650539131Smrg	# From Gerald Hewes <hewes@openmarket.com>.
134750539131Smrg	# How about differentiating between stratus architectures? -djm
1348414cce6aSmrg	GUESS=hppa1.1-stratus-sysv4
1349414cce6aSmrg	;;
135050539131Smrg    *:*:*:FTX*)
135150539131Smrg	# From seanf@swdc.stratus.com.
1352414cce6aSmrg	GUESS=i860-stratus-sysv4
1353414cce6aSmrg	;;
135450539131Smrg    i*86:VOS:*:*)
135550539131Smrg	# From Paul.Green@stratus.com.
1356414cce6aSmrg	GUESS=$UNAME_MACHINE-stratus-vos
1357414cce6aSmrg	;;
135850539131Smrg    *:VOS:*:*)
135950539131Smrg	# From Paul.Green@stratus.com.
1360414cce6aSmrg	GUESS=hppa1.1-stratus-vos
1361414cce6aSmrg	;;
136250539131Smrg    mc68*:A/UX:*:*)
1363414cce6aSmrg	GUESS=m68k-apple-aux$UNAME_RELEASE
1364414cce6aSmrg	;;
136550539131Smrg    news*:NEWS-OS:6*:*)
1366414cce6aSmrg	GUESS=mips-sony-newsos6
1367414cce6aSmrg	;;
136850539131Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1369414cce6aSmrg	if test -d /usr/nec; then
1370414cce6aSmrg		GUESS=mips-nec-sysv$UNAME_RELEASE
137150539131Smrg	else
1372414cce6aSmrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
137350539131Smrg	fi
1374414cce6aSmrg	;;
137550539131Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1376414cce6aSmrg	GUESS=powerpc-be-beos
1377414cce6aSmrg	;;
137850539131Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1379414cce6aSmrg	GUESS=powerpc-apple-beos
1380414cce6aSmrg	;;
138150539131Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1382414cce6aSmrg	GUESS=i586-pc-beos
1383414cce6aSmrg	;;
138450539131Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1385414cce6aSmrg	GUESS=i586-pc-haiku
1386414cce6aSmrg	;;
1387414cce6aSmrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
1388414cce6aSmrg	GUESS=powerpc-apple-haiku
1389414cce6aSmrg	;;
1390414cce6aSmrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
1391414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-haiku
1392414cce6aSmrg	;;
139350539131Smrg    SX-4:SUPER-UX:*:*)
1394414cce6aSmrg	GUESS=sx4-nec-superux$UNAME_RELEASE
1395414cce6aSmrg	;;
139650539131Smrg    SX-5:SUPER-UX:*:*)
1397414cce6aSmrg	GUESS=sx5-nec-superux$UNAME_RELEASE
1398414cce6aSmrg	;;
139950539131Smrg    SX-6:SUPER-UX:*:*)
1400414cce6aSmrg	GUESS=sx6-nec-superux$UNAME_RELEASE
1401414cce6aSmrg	;;
140250539131Smrg    SX-7:SUPER-UX:*:*)
1403414cce6aSmrg	GUESS=sx7-nec-superux$UNAME_RELEASE
1404414cce6aSmrg	;;
140550539131Smrg    SX-8:SUPER-UX:*:*)
1406414cce6aSmrg	GUESS=sx8-nec-superux$UNAME_RELEASE
1407414cce6aSmrg	;;
140850539131Smrg    SX-8R:SUPER-UX:*:*)
1409414cce6aSmrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
1410414cce6aSmrg	;;
1411414cce6aSmrg    SX-ACE:SUPER-UX:*:*)
1412414cce6aSmrg	GUESS=sxace-nec-superux$UNAME_RELEASE
1413414cce6aSmrg	;;
141450539131Smrg    Power*:Rhapsody:*:*)
1415414cce6aSmrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1416414cce6aSmrg	;;
141750539131Smrg    *:Rhapsody:*:*)
1418414cce6aSmrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1419414cce6aSmrg	;;
1420414cce6aSmrg    arm64:Darwin:*:*)
1421414cce6aSmrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1422414cce6aSmrg	;;
142350539131Smrg    *:Darwin:*:*)
1424414cce6aSmrg	UNAME_PROCESSOR=`uname -p`
142550539131Smrg	case $UNAME_PROCESSOR in
142650539131Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
142750539131Smrg	esac
1428414cce6aSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
1429414cce6aSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1430414cce6aSmrg	    # Avoid executing cc if there is no toolchain installed as
1431414cce6aSmrg	    # cc will be a stub that puts up a graphical alert
1432414cce6aSmrg	    # prompting the user to install developer tools.
1433414cce6aSmrg	    CC_FOR_BUILD=no_compiler_found
1434414cce6aSmrg	else
1435414cce6aSmrg	    set_cc_for_build
1436414cce6aSmrg	fi
1437414cce6aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1438414cce6aSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1439414cce6aSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1440414cce6aSmrg		   grep IS_64BIT_ARCH >/dev/null
1441414cce6aSmrg	    then
1442414cce6aSmrg		case $UNAME_PROCESSOR in
1443414cce6aSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
1444414cce6aSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1445414cce6aSmrg		esac
1446414cce6aSmrg	    fi
1447414cce6aSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1448414cce6aSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1449414cce6aSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1450414cce6aSmrg		   grep IS_PPC >/dev/null
1451414cce6aSmrg	    then
1452414cce6aSmrg		UNAME_PROCESSOR=powerpc
1453414cce6aSmrg	    fi
1454414cce6aSmrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1455414cce6aSmrg	    # uname -m returns i386 or x86_64
1456414cce6aSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
1457414cce6aSmrg	fi
1458414cce6aSmrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1459414cce6aSmrg	;;
146050539131Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
146150539131Smrg	UNAME_PROCESSOR=`uname -p`
1462414cce6aSmrg	if test "$UNAME_PROCESSOR" = x86; then
146350539131Smrg		UNAME_PROCESSOR=i386
146450539131Smrg		UNAME_MACHINE=pc
146550539131Smrg	fi
1466414cce6aSmrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1467414cce6aSmrg	;;
146850539131Smrg    *:QNX:*:4*)
1469414cce6aSmrg	GUESS=i386-pc-qnx
1470414cce6aSmrg	;;
1471414cce6aSmrg    NEO-*:NONSTOP_KERNEL:*:*)
1472414cce6aSmrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
1473414cce6aSmrg	;;
1474414cce6aSmrg    NSE-*:NONSTOP_KERNEL:*:*)
1475414cce6aSmrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
1476414cce6aSmrg	;;
1477414cce6aSmrg    NSR-*:NONSTOP_KERNEL:*:*)
1478414cce6aSmrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1479414cce6aSmrg	;;
1480414cce6aSmrg    NSV-*:NONSTOP_KERNEL:*:*)
1481414cce6aSmrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1482414cce6aSmrg	;;
1483414cce6aSmrg    NSX-*:NONSTOP_KERNEL:*:*)
1484414cce6aSmrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1485414cce6aSmrg	;;
148650539131Smrg    *:NonStop-UX:*:*)
1487414cce6aSmrg	GUESS=mips-compaq-nonstopux
1488414cce6aSmrg	;;
148950539131Smrg    BS2000:POSIX*:*:*)
1490414cce6aSmrg	GUESS=bs2000-siemens-sysv
1491414cce6aSmrg	;;
149250539131Smrg    DS/*:UNIX_System_V:*:*)
1493414cce6aSmrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1494414cce6aSmrg	;;
149550539131Smrg    *:Plan9:*:*)
149650539131Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
149750539131Smrg	# is converted to i386 for consistency with other x86
149850539131Smrg	# operating systems.
1499414cce6aSmrg	if test "${cputype-}" = 386; then
150050539131Smrg	    UNAME_MACHINE=i386
1501414cce6aSmrg	elif test "x${cputype-}" != x; then
1502414cce6aSmrg	    UNAME_MACHINE=$cputype
150350539131Smrg	fi
1504414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-plan9
1505414cce6aSmrg	;;
150650539131Smrg    *:TOPS-10:*:*)
1507414cce6aSmrg	GUESS=pdp10-unknown-tops10
1508414cce6aSmrg	;;
150950539131Smrg    *:TENEX:*:*)
1510414cce6aSmrg	GUESS=pdp10-unknown-tenex
1511414cce6aSmrg	;;
151250539131Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1513414cce6aSmrg	GUESS=pdp10-dec-tops20
1514414cce6aSmrg	;;
151550539131Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1516414cce6aSmrg	GUESS=pdp10-xkl-tops20
1517414cce6aSmrg	;;
151850539131Smrg    *:TOPS-20:*:*)
1519414cce6aSmrg	GUESS=pdp10-unknown-tops20
1520414cce6aSmrg	;;
152150539131Smrg    *:ITS:*:*)
1522414cce6aSmrg	GUESS=pdp10-unknown-its
1523414cce6aSmrg	;;
152450539131Smrg    SEI:*:*:SEIUX)
1525414cce6aSmrg	GUESS=mips-sei-seiux$UNAME_RELEASE
1526414cce6aSmrg	;;
152750539131Smrg    *:DragonFly:*:*)
1528414cce6aSmrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1529414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1530414cce6aSmrg	;;
153150539131Smrg    *:*VMS:*:*)
1532414cce6aSmrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1533414cce6aSmrg	case $UNAME_MACHINE in
1534414cce6aSmrg	    A*) GUESS=alpha-dec-vms ;;
1535414cce6aSmrg	    I*) GUESS=ia64-dec-vms ;;
1536414cce6aSmrg	    V*) GUESS=vax-dec-vms ;;
153750539131Smrg	esac ;;
153850539131Smrg    *:XENIX:*:SysV)
1539414cce6aSmrg	GUESS=i386-pc-xenix
1540414cce6aSmrg	;;
154150539131Smrg    i*86:skyos:*:*)
1542414cce6aSmrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1543414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1544414cce6aSmrg	;;
154550539131Smrg    i*86:rdos:*:*)
1546414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-rdos
1547414cce6aSmrg	;;
1548414cce6aSmrg    i*86:Fiwix:*:*)
1549414cce6aSmrg	GUESS=$UNAME_MACHINE-pc-fiwix
1550414cce6aSmrg	;;
1551414cce6aSmrg    *:AROS:*:*)
1552414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-aros
1553414cce6aSmrg	;;
1554414cce6aSmrg    x86_64:VMkernel:*:*)
1555414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-esx
1556414cce6aSmrg	;;
1557414cce6aSmrg    amd64:Isilon\ OneFS:*:*)
1558414cce6aSmrg	GUESS=x86_64-unknown-onefs
1559414cce6aSmrg	;;
1560414cce6aSmrg    *:Unleashed:*:*)
1561414cce6aSmrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1562414cce6aSmrg	;;
156350539131Smrgesac
156450539131Smrg
1565414cce6aSmrg# Do we have a guess based on uname results?
1566414cce6aSmrgif test "x$GUESS" != x; then
1567414cce6aSmrg    echo "$GUESS"
1568414cce6aSmrg    exit
1569414cce6aSmrgfi
157050539131Smrg
1571414cce6aSmrg# No uname command or uname output not recognized.
1572414cce6aSmrgset_cc_for_build
1573414cce6aSmrgcat > "$dummy.c" <<EOF
157450539131Smrg#ifdef _SEQUENT_
1575414cce6aSmrg#include <sys/types.h>
1576414cce6aSmrg#include <sys/utsname.h>
1577414cce6aSmrg#endif
1578414cce6aSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1579414cce6aSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1580414cce6aSmrg#include <signal.h>
1581414cce6aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1582414cce6aSmrg#include <sys/utsname.h>
1583414cce6aSmrg#endif
1584414cce6aSmrg#endif
158550539131Smrg#endif
158650539131Smrgmain ()
158750539131Smrg{
158850539131Smrg#if defined (sony)
158950539131Smrg#if defined (MIPSEB)
159050539131Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
159150539131Smrg     I don't know....  */
159250539131Smrg  printf ("mips-sony-bsd\n"); exit (0);
159350539131Smrg#else
159450539131Smrg#include <sys/param.h>
159550539131Smrg  printf ("m68k-sony-newsos%s\n",
159650539131Smrg#ifdef NEWSOS4
1597414cce6aSmrg  "4"
159850539131Smrg#else
1599414cce6aSmrg  ""
160050539131Smrg#endif
1601414cce6aSmrg  ); exit (0);
160250539131Smrg#endif
160350539131Smrg#endif
160450539131Smrg
160550539131Smrg#if defined (NeXT)
160650539131Smrg#if !defined (__ARCHITECTURE__)
160750539131Smrg#define __ARCHITECTURE__ "m68k"
160850539131Smrg#endif
160950539131Smrg  int version;
161050539131Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
161150539131Smrg  if (version < 4)
161250539131Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
161350539131Smrg  else
161450539131Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
161550539131Smrg  exit (0);
161650539131Smrg#endif
161750539131Smrg
161850539131Smrg#if defined (MULTIMAX) || defined (n16)
161950539131Smrg#if defined (UMAXV)
162050539131Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
162150539131Smrg#else
162250539131Smrg#if defined (CMU)
162350539131Smrg  printf ("ns32k-encore-mach\n"); exit (0);
162450539131Smrg#else
162550539131Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
162650539131Smrg#endif
162750539131Smrg#endif
162850539131Smrg#endif
162950539131Smrg
163050539131Smrg#if defined (__386BSD__)
163150539131Smrg  printf ("i386-pc-bsd\n"); exit (0);
163250539131Smrg#endif
163350539131Smrg
163450539131Smrg#if defined (sequent)
163550539131Smrg#if defined (i386)
163650539131Smrg  printf ("i386-sequent-dynix\n"); exit (0);
163750539131Smrg#endif
163850539131Smrg#if defined (ns32000)
163950539131Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
164050539131Smrg#endif
164150539131Smrg#endif
164250539131Smrg
164350539131Smrg#if defined (_SEQUENT_)
1644414cce6aSmrg  struct utsname un;
164550539131Smrg
1646414cce6aSmrg  uname(&un);
1647414cce6aSmrg  if (strncmp(un.version, "V2", 2) == 0) {
1648414cce6aSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
1649414cce6aSmrg  }
1650414cce6aSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1651414cce6aSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
1652414cce6aSmrg  }
1653414cce6aSmrg  printf ("i386-sequent-ptx\n"); exit (0);
165450539131Smrg#endif
165550539131Smrg
165650539131Smrg#if defined (vax)
1657414cce6aSmrg#if !defined (ultrix)
1658414cce6aSmrg#include <sys/param.h>
1659414cce6aSmrg#if defined (BSD)
1660414cce6aSmrg#if BSD == 43
1661414cce6aSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
1662414cce6aSmrg#else
1663414cce6aSmrg#if BSD == 199006
1664414cce6aSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
1665414cce6aSmrg#else
1666414cce6aSmrg  printf ("vax-dec-bsd\n"); exit (0);
1667414cce6aSmrg#endif
1668414cce6aSmrg#endif
1669414cce6aSmrg#else
1670414cce6aSmrg  printf ("vax-dec-bsd\n"); exit (0);
1671414cce6aSmrg#endif
1672414cce6aSmrg#else
1673414cce6aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1674414cce6aSmrg  struct utsname un;
1675414cce6aSmrg  uname (&un);
1676414cce6aSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1677414cce6aSmrg#else
1678414cce6aSmrg  printf ("vax-dec-ultrix\n"); exit (0);
1679414cce6aSmrg#endif
1680414cce6aSmrg#endif
1681414cce6aSmrg#endif
1682414cce6aSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1683414cce6aSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1684414cce6aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1685414cce6aSmrg  struct utsname *un;
1686414cce6aSmrg  uname (&un);
1687414cce6aSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1688414cce6aSmrg#else
1689414cce6aSmrg  printf ("mips-dec-ultrix\n"); exit (0);
1690414cce6aSmrg#endif
1691414cce6aSmrg#endif
169250539131Smrg#endif
169350539131Smrg
169450539131Smrg#if defined (alliant) && defined (i860)
169550539131Smrg  printf ("i860-alliant-bsd\n"); exit (0);
169650539131Smrg#endif
169750539131Smrg
169850539131Smrg  exit (1);
169950539131Smrg}
170050539131SmrgEOF
170150539131Smrg
1702414cce6aSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
170350539131Smrg	{ echo "$SYSTEM_NAME"; exit; }
170450539131Smrg
170550539131Smrg# Apollos put the system type in the environment.
1706414cce6aSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
170750539131Smrg
1708414cce6aSmrgecho "$0: unable to guess system type" >&2
170950539131Smrg
1710414cce6aSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
1711414cce6aSmrg    mips:Linux | mips64:Linux)
1712414cce6aSmrg	# If we got here on MIPS GNU/Linux, output extra information.
1713414cce6aSmrg	cat >&2 <<EOF
171450539131Smrg
1715414cce6aSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1716414cce6aSmrgthe system type. Please install a C compiler and try again.
1717414cce6aSmrgEOF
1718414cce6aSmrg	;;
1719414cce6aSmrgesac
172050539131Smrg
172150539131Smrgcat >&2 <<EOF
172250539131Smrg
1723414cce6aSmrgThis script (version $timestamp), has failed to recognize the
1724414cce6aSmrgoperating system you are using. If your script is old, overwrite *all*
1725414cce6aSmrgcopies of config.guess and config.sub with the latest versions from:
172650539131Smrg
1727414cce6aSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
172850539131Smrgand
1729414cce6aSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1730414cce6aSmrgEOF
173150539131Smrg
1732414cce6aSmrgour_year=`echo $timestamp | sed 's,-.*,,'`
1733414cce6aSmrgthisyear=`date +%Y`
1734414cce6aSmrg# shellcheck disable=SC2003
1735414cce6aSmrgscript_age=`expr "$thisyear" - "$our_year"`
1736414cce6aSmrgif test "$script_age" -lt 3 ; then
1737414cce6aSmrg   cat >&2 <<EOF
1738414cce6aSmrg
1739414cce6aSmrgIf $0 has already been updated, send the following data and any
1740414cce6aSmrginformation you think might be pertinent to config-patches@gnu.org to
1741414cce6aSmrgprovide the necessary information to handle your system.
174250539131Smrg
174350539131Smrgconfig.guess timestamp = $timestamp
174450539131Smrg
174550539131Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
174650539131Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
174750539131Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
174850539131Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
174950539131Smrg
175050539131Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
175150539131Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
175250539131Smrg
175350539131Smrghostinfo               = `(hostinfo) 2>/dev/null`
175450539131Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
175550539131Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
175650539131Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
175750539131Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
175850539131Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
175950539131Smrg
1760414cce6aSmrgUNAME_MACHINE = "$UNAME_MACHINE"
1761414cce6aSmrgUNAME_RELEASE = "$UNAME_RELEASE"
1762414cce6aSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
1763414cce6aSmrgUNAME_VERSION = "$UNAME_VERSION"
176450539131SmrgEOF
1765414cce6aSmrgfi
176650539131Smrg
176750539131Smrgexit 1
176850539131Smrg
176950539131Smrg# Local variables:
1770414cce6aSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
177150539131Smrg# time-stamp-start: "timestamp='"
177250539131Smrg# time-stamp-format: "%:y-%02m-%02d"
177350539131Smrg# time-stamp-end: "'"
177450539131Smrg# End:
1775