1ea148d1dSmrg#! /bin/sh
243f32c10Smrg# Attempt to guess a canonical system name.
3d3173433Smrg#   Copyright 1992-2024 Free Software Foundation, Inc.
443f32c10Smrg
5fbfaf8f3Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale
6fbfaf8f3Smrg
7d3173433Smrgtimestamp='2024-01-01'
843f32c10Smrg
943f32c10Smrg# This file is free software; you can redistribute it and/or modify it
1043f32c10Smrg# under the terms of the GNU General Public License as published by
11fbfaf8f3Smrg# the Free Software Foundation, either version 3 of the License, or
1243f32c10Smrg# (at your option) any later version.
1343f32c10Smrg#
1443f32c10Smrg# This program is distributed in the hope that it will be useful, but
1543f32c10Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1643f32c10Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1743f32c10Smrg# General Public License for more details.
1843f32c10Smrg#
1943f32c10Smrg# You should have received a copy of the GNU General Public License
20ea148d1dSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
2143f32c10Smrg#
2243f32c10Smrg# As a special exception to the GNU General Public License, if you
2343f32c10Smrg# distribute this file as part of a program that contains a
2443f32c10Smrg# configuration script generated by Autoconf, you may include it under
256ef05171Smrg# the same distribution terms that you use for the rest of that
266ef05171Smrg# program.  This Exception is an additional permission under section 7
276ef05171Smrg# of the GNU General Public License, version 3 ("GPLv3").
2843f32c10Smrg#
296ef05171Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
3043f32c10Smrg#
316ef05171Smrg# You can get the latest version of this script from:
32fbfaf8f3Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
336ef05171Smrg#
346ef05171Smrg# Please send patches to <config-patches@gnu.org>.
356ef05171Smrg
3643f32c10Smrg
37fbfaf8f3Smrg# The "shellcheck disable" line above the timestamp inhibits complaints
38fbfaf8f3Smrg# about features and limitations of the classic Bourne shell that were
39fbfaf8f3Smrg# superseded or lifted in POSIX.  However, this script identifies a wide
40fbfaf8f3Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
41fbfaf8f3Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still
42fbfaf8f3Smrg# have a pre-POSIX /bin/sh.
43fbfaf8f3Smrg
44fbfaf8f3Smrg
4543f32c10Smrgme=`echo "$0" | sed -e 's,.*/,,'`
4643f32c10Smrg
4743f32c10Smrgusage="\
4843f32c10SmrgUsage: $0 [OPTION]
4943f32c10Smrg
50d3173433SmrgOutput the configuration name of the system '$me' is run on.
5143f32c10Smrg
52ea148d1dSmrgOptions:
5343f32c10Smrg  -h, --help         print this help, then exit
5443f32c10Smrg  -t, --time-stamp   print date of last modification, then exit
5543f32c10Smrg  -v, --version      print version number, then exit
5643f32c10Smrg
5743f32c10SmrgReport bugs and patches to <config-patches@gnu.org>."
5843f32c10Smrg
5943f32c10Smrgversion="\
6043f32c10SmrgGNU config.guess ($timestamp)
6143f32c10Smrg
6243f32c10SmrgOriginally written by Per Bothner.
63d3173433SmrgCopyright 1992-2024 Free Software Foundation, Inc.
6443f32c10Smrg
6543f32c10SmrgThis is free software; see the source for copying conditions.  There is NO
6643f32c10Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6743f32c10Smrg
6843f32c10Smrghelp="
69d3173433SmrgTry '$me --help' for more information."
7043f32c10Smrg
7143f32c10Smrg# Parse command line
7243f32c10Smrgwhile test $# -gt 0 ; do
7343f32c10Smrg  case $1 in
7443f32c10Smrg    --time-stamp | --time* | -t )
7543f32c10Smrg       echo "$timestamp" ; exit ;;
7643f32c10Smrg    --version | -v )
7743f32c10Smrg       echo "$version" ; exit ;;
7843f32c10Smrg    --help | --h* | -h )
7943f32c10Smrg       echo "$usage"; exit ;;
8043f32c10Smrg    -- )     # Stop option processing
8143f32c10Smrg       shift; break ;;
8243f32c10Smrg    - )	# Use stdin as input.
8343f32c10Smrg       break ;;
8443f32c10Smrg    -* )
8543f32c10Smrg       echo "$me: invalid option $1$help" >&2
8643f32c10Smrg       exit 1 ;;
8743f32c10Smrg    * )
8843f32c10Smrg       break ;;
8943f32c10Smrg  esac
9043f32c10Smrgdone
9143f32c10Smrg
9243f32c10Smrgif test $# != 0; then
9343f32c10Smrg  echo "$me: too many arguments$help" >&2
9443f32c10Smrg  exit 1
9543f32c10Smrgfi
9643f32c10Smrg
97fbfaf8f3Smrg# Just in case it came from the environment.
98fbfaf8f3SmrgGUESS=
99fbfaf8f3Smrg
10043f32c10Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
10143f32c10Smrg# compiler to aid in system detection is discouraged as it requires
10243f32c10Smrg# temporary files to be created and, as you can see below, it is a
10343f32c10Smrg# headache to deal with in a portable fashion.
10443f32c10Smrg
105d3173433Smrg# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
106d3173433Smrg# use 'HOST_CC' if defined, but it is deprecated.
10743f32c10Smrg
10843f32c10Smrg# Portable tmp directory creation inspired by the Autoconf team.
10943f32c10Smrg
110ea148d1dSmrgtmp=
111ea148d1dSmrg# shellcheck disable=SC2172
112fbfaf8f3Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113ea148d1dSmrg
114ea148d1dSmrgset_cc_for_build() {
115fbfaf8f3Smrg    # prevent multiple calls if $tmp is already set
116fbfaf8f3Smrg    test "$tmp" && return 0
117ea148d1dSmrg    : "${TMPDIR=/tmp}"
118fbfaf8f3Smrg    # shellcheck disable=SC2039,SC3028
119ea148d1dSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120ea148d1dSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121ea148d1dSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122ea148d1dSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123ea148d1dSmrg    dummy=$tmp/dummy
124ea148d1dSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125ea148d1dSmrg	,,)    echo "int x;" > "$dummy.c"
126ea148d1dSmrg	       for driver in cc gcc c89 c99 ; do
127ea148d1dSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128fbfaf8f3Smrg		       CC_FOR_BUILD=$driver
129ea148d1dSmrg		       break
130ea148d1dSmrg		   fi
131ea148d1dSmrg	       done
132ea148d1dSmrg	       if test x"$CC_FOR_BUILD" = x ; then
133ea148d1dSmrg		   CC_FOR_BUILD=no_compiler_found
134ea148d1dSmrg	       fi
135ea148d1dSmrg	       ;;
136ea148d1dSmrg	,,*)   CC_FOR_BUILD=$CC ;;
137ea148d1dSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138ea148d1dSmrg    esac
139ea148d1dSmrg}
14043f32c10Smrg
14143f32c10Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
14243f32c10Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
143ea148d1dSmrgif test -f /.attbin/uname ; then
14443f32c10Smrg	PATH=$PATH:/.attbin ; export PATH
14543f32c10Smrgfi
14643f32c10Smrg
14743f32c10SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
14843f32c10SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149fbfaf8f3SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
15043f32c10SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
15143f32c10Smrg
152fbfaf8f3Smrgcase $UNAME_SYSTEM in
1536ef05171SmrgLinux|GNU|GNU/*)
154fbfaf8f3Smrg	LIBC=unknown
1556ef05171Smrg
156ea148d1dSmrg	set_cc_for_build
157ea148d1dSmrg	cat <<-EOF > "$dummy.c"
158d3173433Smrg	#if defined(__ANDROID__)
159d3173433Smrg	LIBC=android
160d3173433Smrg	#else
1616ef05171Smrg	#include <features.h>
1626ef05171Smrg	#if defined(__UCLIBC__)
1636ef05171Smrg	LIBC=uclibc
1646ef05171Smrg	#elif defined(__dietlibc__)
1656ef05171Smrg	LIBC=dietlibc
166fbfaf8f3Smrg	#elif defined(__GLIBC__)
1676ef05171Smrg	LIBC=gnu
168d3173433Smrg	#elif defined(__LLVM_LIBC__)
169d3173433Smrg	LIBC=llvm
170fbfaf8f3Smrg	#else
171fbfaf8f3Smrg	#include <stdarg.h>
172fbfaf8f3Smrg	/* First heuristic to detect musl libc.  */
173fbfaf8f3Smrg	#ifdef __DEFINED_va_list
174fbfaf8f3Smrg	LIBC=musl
175fbfaf8f3Smrg	#endif
1766ef05171Smrg	#endif
177d3173433Smrg	#endif
1786ef05171Smrg	EOF
179fbfaf8f3Smrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
180fbfaf8f3Smrg	eval "$cc_set_libc"
181ea148d1dSmrg
182fbfaf8f3Smrg	# Second heuristic to detect musl libc.
183fbfaf8f3Smrg	if [ "$LIBC" = unknown ] &&
184fbfaf8f3Smrg	   command -v ldd >/dev/null &&
185fbfaf8f3Smrg	   ldd --version 2>&1 | grep -q ^musl; then
186fbfaf8f3Smrg		LIBC=musl
187fbfaf8f3Smrg	fi
188fbfaf8f3Smrg
189fbfaf8f3Smrg	# If the system lacks a compiler, then just pick glibc.
190fbfaf8f3Smrg	# We could probably try harder.
191fbfaf8f3Smrg	if [ "$LIBC" = unknown ]; then
192fbfaf8f3Smrg		LIBC=gnu
193ea148d1dSmrg	fi
1946ef05171Smrg	;;
1956ef05171Smrgesac
1966ef05171Smrg
19743f32c10Smrg# Note: order is significant - the case branches are not exclusive.
19843f32c10Smrg
199fbfaf8f3Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
20043f32c10Smrg    *:NetBSD:*:*)
20143f32c10Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
2026ef05171Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
20343f32c10Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
20443f32c10Smrg	# switched to ELF, *-*-netbsd* would select the old
20543f32c10Smrg	# object file format.  This provides both forward
20643f32c10Smrg	# compatibility and a consistent mechanism for selecting the
20743f32c10Smrg	# object file format.
20843f32c10Smrg	#
20943f32c10Smrg	# Note: NetBSD doesn't particularly care about the vendor
21043f32c10Smrg	# portion of the name.  We always set it to "unknown".
2116ef05171Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
212fbfaf8f3Smrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
213fbfaf8f3Smrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2146ef05171Smrg	    echo unknown)`
215fbfaf8f3Smrg	case $UNAME_MACHINE_ARCH in
216fbfaf8f3Smrg	    aarch64eb) machine=aarch64_be-unknown ;;
21743f32c10Smrg	    armeb) machine=armeb-unknown ;;
21843f32c10Smrg	    arm*) machine=arm-unknown ;;
21943f32c10Smrg	    sh3el) machine=shl-unknown ;;
22043f32c10Smrg	    sh3eb) machine=sh-unknown ;;
22143f32c10Smrg	    sh5el) machine=sh5le-unknown ;;
2226ef05171Smrg	    earmv*)
223ea148d1dSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
224ea148d1dSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
225fbfaf8f3Smrg		machine=${arch}${endian}-unknown
2266ef05171Smrg		;;
227fbfaf8f3Smrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
22843f32c10Smrg	esac
22943f32c10Smrg	# The Operating System including object format, if it has switched
2306ef05171Smrg	# to ELF recently (or will in the future) and ABI.
231fbfaf8f3Smrg	case $UNAME_MACHINE_ARCH in
2326ef05171Smrg	    earm*)
2336ef05171Smrg		os=netbsdelf
2346ef05171Smrg		;;
23543f32c10Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
236ea148d1dSmrg		set_cc_for_build
23743f32c10Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
2386ef05171Smrg			| grep -q __ELF__
23943f32c10Smrg		then
24043f32c10Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
24143f32c10Smrg		    # Return netbsd for either.  FIX?
24243f32c10Smrg		    os=netbsd
24343f32c10Smrg		else
24443f32c10Smrg		    os=netbsdelf
24543f32c10Smrg		fi
24643f32c10Smrg		;;
24743f32c10Smrg	    *)
2486ef05171Smrg		os=netbsd
2496ef05171Smrg		;;
2506ef05171Smrg	esac
2516ef05171Smrg	# Determine ABI tags.
252fbfaf8f3Smrg	case $UNAME_MACHINE_ARCH in
2536ef05171Smrg	    earm*)
2546ef05171Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
255ea148d1dSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
25643f32c10Smrg		;;
25743f32c10Smrg	esac
25843f32c10Smrg	# The OS release
25943f32c10Smrg	# Debian GNU/NetBSD machines have a different userland, and
26043f32c10Smrg	# thus, need a distinct triplet. However, they do not need
26143f32c10Smrg	# kernel version information, so it can be replaced with a
26243f32c10Smrg	# suitable tag, in the style of linux-gnu.
263fbfaf8f3Smrg	case $UNAME_VERSION in
26443f32c10Smrg	    Debian*)
26543f32c10Smrg		release='-gnu'
26643f32c10Smrg		;;
26743f32c10Smrg	    *)
268ea148d1dSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
26943f32c10Smrg		;;
27043f32c10Smrg	esac
27143f32c10Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
27243f32c10Smrg	# contains redundant information, the shorter form:
27343f32c10Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
274fbfaf8f3Smrg	GUESS=$machine-${os}${release}${abi-}
275fbfaf8f3Smrg	;;
2766ef05171Smrg    *:Bitrig:*:*)
2776ef05171Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
278fbfaf8f3Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
279fbfaf8f3Smrg	;;
28043f32c10Smrg    *:OpenBSD:*:*)
28143f32c10Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
282fbfaf8f3Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
283fbfaf8f3Smrg	;;
284fbfaf8f3Smrg    *:SecBSD:*:*)
285fbfaf8f3Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
286fbfaf8f3Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
287fbfaf8f3Smrg	;;
2886ef05171Smrg    *:LibertyBSD:*:*)
2896ef05171Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
290fbfaf8f3Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
291fbfaf8f3Smrg	;;
292ea148d1dSmrg    *:MidnightBSD:*:*)
293fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
294fbfaf8f3Smrg	;;
29543f32c10Smrg    *:ekkoBSD:*:*)
296fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
297fbfaf8f3Smrg	;;
29843f32c10Smrg    *:SolidBSD:*:*)
299fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
300fbfaf8f3Smrg	;;
301fbfaf8f3Smrg    *:OS108:*:*)
302fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
303fbfaf8f3Smrg	;;
30443f32c10Smrg    macppc:MirBSD:*:*)
305fbfaf8f3Smrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
306fbfaf8f3Smrg	;;
30743f32c10Smrg    *:MirBSD:*:*)
308fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
309fbfaf8f3Smrg	;;
3106ef05171Smrg    *:Sortix:*:*)
311fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-sortix
312fbfaf8f3Smrg	;;
313fbfaf8f3Smrg    *:Twizzler:*:*)
314fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-twizzler
315fbfaf8f3Smrg	;;
3166ef05171Smrg    *:Redox:*:*)
317fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-redox
318fbfaf8f3Smrg	;;
319ea148d1dSmrg    mips:OSF1:*.*)
320fbfaf8f3Smrg	GUESS=mips-dec-osf1
321fbfaf8f3Smrg	;;
32243f32c10Smrg    alpha:OSF1:*:*)
323fbfaf8f3Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
324fbfaf8f3Smrg	trap '' 0
32543f32c10Smrg	case $UNAME_RELEASE in
32643f32c10Smrg	*4.0)
32743f32c10Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
32843f32c10Smrg		;;
32943f32c10Smrg	*5.*)
3306ef05171Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
33143f32c10Smrg		;;
33243f32c10Smrg	esac
33343f32c10Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
33443f32c10Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
33543f32c10Smrg	# covers most systems running today.  This code pipes the CPU
33643f32c10Smrg	# types through head -n 1, so we only detect the type of CPU 0.
33743f32c10Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
338fbfaf8f3Smrg	case $ALPHA_CPU_TYPE in
33943f32c10Smrg	    "EV4 (21064)")
3406ef05171Smrg		UNAME_MACHINE=alpha ;;
34143f32c10Smrg	    "EV4.5 (21064)")
3426ef05171Smrg		UNAME_MACHINE=alpha ;;
34343f32c10Smrg	    "LCA4 (21066/21068)")
3446ef05171Smrg		UNAME_MACHINE=alpha ;;
34543f32c10Smrg	    "EV5 (21164)")
3466ef05171Smrg		UNAME_MACHINE=alphaev5 ;;
34743f32c10Smrg	    "EV5.6 (21164A)")
3486ef05171Smrg		UNAME_MACHINE=alphaev56 ;;
34943f32c10Smrg	    "EV5.6 (21164PC)")
3506ef05171Smrg		UNAME_MACHINE=alphapca56 ;;
35143f32c10Smrg	    "EV5.7 (21164PC)")
3526ef05171Smrg		UNAME_MACHINE=alphapca57 ;;
35343f32c10Smrg	    "EV6 (21264)")
3546ef05171Smrg		UNAME_MACHINE=alphaev6 ;;
35543f32c10Smrg	    "EV6.7 (21264A)")
3566ef05171Smrg		UNAME_MACHINE=alphaev67 ;;
35743f32c10Smrg	    "EV6.8CB (21264C)")
3586ef05171Smrg		UNAME_MACHINE=alphaev68 ;;
35943f32c10Smrg	    "EV6.8AL (21264B)")
3606ef05171Smrg		UNAME_MACHINE=alphaev68 ;;
36143f32c10Smrg	    "EV6.8CX (21264D)")
3626ef05171Smrg		UNAME_MACHINE=alphaev68 ;;
36343f32c10Smrg	    "EV6.9A (21264/EV69A)")
3646ef05171Smrg		UNAME_MACHINE=alphaev69 ;;
36543f32c10Smrg	    "EV7 (21364)")
3666ef05171Smrg		UNAME_MACHINE=alphaev7 ;;
36743f32c10Smrg	    "EV7.9 (21364A)")
3686ef05171Smrg		UNAME_MACHINE=alphaev79 ;;
36943f32c10Smrg	esac
37043f32c10Smrg	# A Pn.n version is a patched version.
37143f32c10Smrg	# A Vn.n version is a released version.
37243f32c10Smrg	# A Tn.n version is a released field test version.
37343f32c10Smrg	# A Xn.n version is an unreleased experimental baselevel.
37443f32c10Smrg	# 1.2 uses "1.2" for uname -r.
375fbfaf8f3Smrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
376fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
377fbfaf8f3Smrg	;;
37843f32c10Smrg    Amiga*:UNIX_System_V:4.0:*)
379fbfaf8f3Smrg	GUESS=m68k-unknown-sysv4
380fbfaf8f3Smrg	;;
38143f32c10Smrg    *:[Aa]miga[Oo][Ss]:*:*)
382fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-amigaos
383fbfaf8f3Smrg	;;
38443f32c10Smrg    *:[Mm]orph[Oo][Ss]:*:*)
385fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-morphos
386fbfaf8f3Smrg	;;
38743f32c10Smrg    *:OS/390:*:*)
388fbfaf8f3Smrg	GUESS=i370-ibm-openedition
389fbfaf8f3Smrg	;;
39043f32c10Smrg    *:z/VM:*:*)
391fbfaf8f3Smrg	GUESS=s390-ibm-zvmoe
392fbfaf8f3Smrg	;;
39343f32c10Smrg    *:OS400:*:*)
394fbfaf8f3Smrg	GUESS=powerpc-ibm-os400
395fbfaf8f3Smrg	;;
39643f32c10Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
397fbfaf8f3Smrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
398fbfaf8f3Smrg	;;
3996ef05171Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
400fbfaf8f3Smrg	GUESS=arm-unknown-riscos
401fbfaf8f3Smrg	;;
40243f32c10Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
403fbfaf8f3Smrg	GUESS=hppa1.1-hitachi-hiuxmpp
404fbfaf8f3Smrg	;;
40543f32c10Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
40643f32c10Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
407fbfaf8f3Smrg	case `(/bin/universe) 2>/dev/null` in
408fbfaf8f3Smrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
409fbfaf8f3Smrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
410fbfaf8f3Smrg	esac
411fbfaf8f3Smrg	;;
41243f32c10Smrg    NILE*:*:*:dcosx)
413fbfaf8f3Smrg	GUESS=pyramid-pyramid-svr4
414fbfaf8f3Smrg	;;
41543f32c10Smrg    DRS?6000:unix:4.0:6*)
416fbfaf8f3Smrg	GUESS=sparc-icl-nx6
417fbfaf8f3Smrg	;;
41843f32c10Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
41943f32c10Smrg	case `/usr/bin/uname -p` in
420fbfaf8f3Smrg	    sparc) GUESS=sparc-icl-nx7 ;;
421fbfaf8f3Smrg	esac
422fbfaf8f3Smrg	;;
4236ef05171Smrg    s390x:SunOS:*:*)
424fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
425fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
426fbfaf8f3Smrg	;;
42743f32c10Smrg    sun4H:SunOS:5.*:*)
428fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
429fbfaf8f3Smrg	GUESS=sparc-hal-solaris2$SUN_REL
430fbfaf8f3Smrg	;;
43143f32c10Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
432fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
433fbfaf8f3Smrg	GUESS=sparc-sun-solaris2$SUN_REL
434fbfaf8f3Smrg	;;
4356ef05171Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
436fbfaf8f3Smrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
437fbfaf8f3Smrg	;;
43843f32c10Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
439fbfaf8f3Smrg	set_cc_for_build
440fbfaf8f3Smrg	SUN_ARCH=i386
441fbfaf8f3Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
442fbfaf8f3Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
443fbfaf8f3Smrg	# This test works for both compilers.
444fbfaf8f3Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
445fbfaf8f3Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
446fbfaf8f3Smrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
447fbfaf8f3Smrg		grep IS_64BIT_ARCH >/dev/null
448fbfaf8f3Smrg	    then
449fbfaf8f3Smrg		SUN_ARCH=x86_64
450fbfaf8f3Smrg	    fi
451fbfaf8f3Smrg	fi
452fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
453fbfaf8f3Smrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
454fbfaf8f3Smrg	;;
45543f32c10Smrg    sun4*:SunOS:6*:*)
45643f32c10Smrg	# According to config.sub, this is the proper way to canonicalize
45743f32c10Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
45843f32c10Smrg	# it's likely to be more like Solaris than SunOS4.
459fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
460fbfaf8f3Smrg	GUESS=sparc-sun-solaris3$SUN_REL
461fbfaf8f3Smrg	;;
46243f32c10Smrg    sun4*:SunOS:*:*)
463fbfaf8f3Smrg	case `/usr/bin/arch -k` in
46443f32c10Smrg	    Series*|S4*)
46543f32c10Smrg		UNAME_RELEASE=`uname -v`
46643f32c10Smrg		;;
46743f32c10Smrg	esac
468d3173433Smrg	# Japanese Language versions have a version number like '4.1.3-JL'.
469fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
470fbfaf8f3Smrg	GUESS=sparc-sun-sunos$SUN_REL
471fbfaf8f3Smrg	;;
47243f32c10Smrg    sun3*:SunOS:*:*)
473fbfaf8f3Smrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
474fbfaf8f3Smrg	;;
47543f32c10Smrg    sun*:*:4.2BSD:*)
47643f32c10Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
477ea148d1dSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
478fbfaf8f3Smrg	case `/bin/arch` in
47943f32c10Smrg	    sun3)
480fbfaf8f3Smrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
48143f32c10Smrg		;;
48243f32c10Smrg	    sun4)
483fbfaf8f3Smrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
48443f32c10Smrg		;;
48543f32c10Smrg	esac
486fbfaf8f3Smrg	;;
48743f32c10Smrg    aushp:SunOS:*:*)
488fbfaf8f3Smrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
489fbfaf8f3Smrg	;;
49043f32c10Smrg    # The situation for MiNT is a little confusing.  The machine name
49143f32c10Smrg    # can be virtually everything (everything which is not
49243f32c10Smrg    # "atarist" or "atariste" at least should have a processor
49343f32c10Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
49443f32c10Smrg    # to the lowercase version "mint" (or "freemint").  Finally
49543f32c10Smrg    # the system name "TOS" denotes a system which is actually not
49643f32c10Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
49743f32c10Smrg    # be no problem.
49843f32c10Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
499fbfaf8f3Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
500fbfaf8f3Smrg	;;
50143f32c10Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
502fbfaf8f3Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
503fbfaf8f3Smrg	;;
50443f32c10Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
505fbfaf8f3Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
506fbfaf8f3Smrg	;;
50743f32c10Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
508fbfaf8f3Smrg	GUESS=m68k-milan-mint$UNAME_RELEASE
509fbfaf8f3Smrg	;;
51043f32c10Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
511fbfaf8f3Smrg	GUESS=m68k-hades-mint$UNAME_RELEASE
512fbfaf8f3Smrg	;;
51343f32c10Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
514fbfaf8f3Smrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
515fbfaf8f3Smrg	;;
51643f32c10Smrg    m68k:machten:*:*)
517fbfaf8f3Smrg	GUESS=m68k-apple-machten$UNAME_RELEASE
518fbfaf8f3Smrg	;;
51943f32c10Smrg    powerpc:machten:*:*)
520fbfaf8f3Smrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
521fbfaf8f3Smrg	;;
52243f32c10Smrg    RISC*:Mach:*:*)
523fbfaf8f3Smrg	GUESS=mips-dec-mach_bsd4.3
524fbfaf8f3Smrg	;;
52543f32c10Smrg    RISC*:ULTRIX:*:*)
526fbfaf8f3Smrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
527fbfaf8f3Smrg	;;
52843f32c10Smrg    VAX*:ULTRIX*:*:*)
529fbfaf8f3Smrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
530fbfaf8f3Smrg	;;
53143f32c10Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
532fbfaf8f3Smrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
533fbfaf8f3Smrg	;;
53443f32c10Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
535ea148d1dSmrg	set_cc_for_build
536ea148d1dSmrg	sed 's/^	//' << EOF > "$dummy.c"
53743f32c10Smrg#ifdef __cplusplus
53843f32c10Smrg#include <stdio.h>  /* for printf() prototype */
53943f32c10Smrg	int main (int argc, char *argv[]) {
54043f32c10Smrg#else
54143f32c10Smrg	int main (argc, argv) int argc; char *argv[]; {
54243f32c10Smrg#endif
54343f32c10Smrg	#if defined (host_mips) && defined (MIPSEB)
54443f32c10Smrg	#if defined (SYSTYPE_SYSV)
545ea148d1dSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
54643f32c10Smrg	#endif
54743f32c10Smrg	#if defined (SYSTYPE_SVR4)
548ea148d1dSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
54943f32c10Smrg	#endif
55043f32c10Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
551ea148d1dSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
55243f32c10Smrg	#endif
55343f32c10Smrg	#endif
55443f32c10Smrg	  exit (-1);
55543f32c10Smrg	}
55643f32c10SmrgEOF
557ea148d1dSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
558ea148d1dSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
559ea148d1dSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
56043f32c10Smrg	    { echo "$SYSTEM_NAME"; exit; }
561fbfaf8f3Smrg	GUESS=mips-mips-riscos$UNAME_RELEASE
562fbfaf8f3Smrg	;;
56343f32c10Smrg    Motorola:PowerMAX_OS:*:*)
564fbfaf8f3Smrg	GUESS=powerpc-motorola-powermax
565fbfaf8f3Smrg	;;
56643f32c10Smrg    Motorola:*:4.3:PL8-*)
567fbfaf8f3Smrg	GUESS=powerpc-harris-powermax
568fbfaf8f3Smrg	;;
56943f32c10Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
570fbfaf8f3Smrg	GUESS=powerpc-harris-powermax
571fbfaf8f3Smrg	;;
57243f32c10Smrg    Night_Hawk:Power_UNIX:*:*)
573fbfaf8f3Smrg	GUESS=powerpc-harris-powerunix
574fbfaf8f3Smrg	;;
57543f32c10Smrg    m88k:CX/UX:7*:*)
576fbfaf8f3Smrg	GUESS=m88k-harris-cxux7
577fbfaf8f3Smrg	;;
57843f32c10Smrg    m88k:*:4*:R4*)
579fbfaf8f3Smrg	GUESS=m88k-motorola-sysv4
580fbfaf8f3Smrg	;;
58143f32c10Smrg    m88k:*:3*:R3*)
582fbfaf8f3Smrg	GUESS=m88k-motorola-sysv3
583fbfaf8f3Smrg	;;
58443f32c10Smrg    AViiON:dgux:*:*)
5856ef05171Smrg	# DG/UX returns AViiON for all architectures
5866ef05171Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
587fbfaf8f3Smrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
58843f32c10Smrg	then
589fbfaf8f3Smrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
590fbfaf8f3Smrg	       test "$TARGET_BINARY_INTERFACE"x = x
59143f32c10Smrg	    then
592fbfaf8f3Smrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
59343f32c10Smrg	    else
594fbfaf8f3Smrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
59543f32c10Smrg	    fi
59643f32c10Smrg	else
597fbfaf8f3Smrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
59843f32c10Smrg	fi
599fbfaf8f3Smrg	;;
60043f32c10Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
601fbfaf8f3Smrg	GUESS=m88k-dolphin-sysv3
602fbfaf8f3Smrg	;;
60343f32c10Smrg    M88*:*:R3*:*)
60443f32c10Smrg	# Delta 88k system running SVR3
605fbfaf8f3Smrg	GUESS=m88k-motorola-sysv3
606fbfaf8f3Smrg	;;
60743f32c10Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
608fbfaf8f3Smrg	GUESS=m88k-tektronix-sysv3
609fbfaf8f3Smrg	;;
61043f32c10Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
611fbfaf8f3Smrg	GUESS=m68k-tektronix-bsd
612fbfaf8f3Smrg	;;
61343f32c10Smrg    *:IRIX*:*:*)
614fbfaf8f3Smrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
615fbfaf8f3Smrg	GUESS=mips-sgi-irix$IRIX_REL
616fbfaf8f3Smrg	;;
61743f32c10Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
618fbfaf8f3Smrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
619fbfaf8f3Smrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
62043f32c10Smrg    i*86:AIX:*:*)
621fbfaf8f3Smrg	GUESS=i386-ibm-aix
622fbfaf8f3Smrg	;;
62343f32c10Smrg    ia64:AIX:*:*)
624fbfaf8f3Smrg	if test -x /usr/bin/oslevel ; then
62543f32c10Smrg		IBM_REV=`/usr/bin/oslevel`
62643f32c10Smrg	else
627fbfaf8f3Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
62843f32c10Smrg	fi
629fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
630fbfaf8f3Smrg	;;
63143f32c10Smrg    *:AIX:2:3)
63243f32c10Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
633ea148d1dSmrg		set_cc_for_build
634ea148d1dSmrg		sed 's/^		//' << EOF > "$dummy.c"
63543f32c10Smrg		#include <sys/systemcfg.h>
63643f32c10Smrg
63743f32c10Smrg		main()
63843f32c10Smrg			{
63943f32c10Smrg			if (!__power_pc())
64043f32c10Smrg				exit(1);
64143f32c10Smrg			puts("powerpc-ibm-aix3.2.5");
64243f32c10Smrg			exit(0);
64343f32c10Smrg			}
64443f32c10SmrgEOF
645ea148d1dSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
64643f32c10Smrg		then
647fbfaf8f3Smrg			GUESS=$SYSTEM_NAME
64843f32c10Smrg		else
649fbfaf8f3Smrg			GUESS=rs6000-ibm-aix3.2.5
65043f32c10Smrg		fi
65143f32c10Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
652fbfaf8f3Smrg		GUESS=rs6000-ibm-aix3.2.4
65343f32c10Smrg	else
654fbfaf8f3Smrg		GUESS=rs6000-ibm-aix3.2
65543f32c10Smrg	fi
656fbfaf8f3Smrg	;;
6576ef05171Smrg    *:AIX:*:[4567])
65843f32c10Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
659ea148d1dSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
66043f32c10Smrg		IBM_ARCH=rs6000
66143f32c10Smrg	else
66243f32c10Smrg		IBM_ARCH=powerpc
66343f32c10Smrg	fi
664fbfaf8f3Smrg	if test -x /usr/bin/lslpp ; then
665fbfaf8f3Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
6666ef05171Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
66743f32c10Smrg	else
668fbfaf8f3Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
66943f32c10Smrg	fi
670fbfaf8f3Smrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
671fbfaf8f3Smrg	;;
67243f32c10Smrg    *:AIX:*:*)
673fbfaf8f3Smrg	GUESS=rs6000-ibm-aix
674fbfaf8f3Smrg	;;
675ea148d1dSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
676fbfaf8f3Smrg	GUESS=romp-ibm-bsd4.4
677fbfaf8f3Smrg	;;
67843f32c10Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
679fbfaf8f3Smrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
680fbfaf8f3Smrg	;;                                  # report: romp-ibm BSD 4.3
68143f32c10Smrg    *:BOSX:*:*)
682fbfaf8f3Smrg	GUESS=rs6000-bull-bosx
683fbfaf8f3Smrg	;;
68443f32c10Smrg    DPX/2?00:B.O.S.:*:*)
685fbfaf8f3Smrg	GUESS=m68k-bull-sysv3
686fbfaf8f3Smrg	;;
68743f32c10Smrg    9000/[34]??:4.3bsd:1.*:*)
688fbfaf8f3Smrg	GUESS=m68k-hp-bsd
689fbfaf8f3Smrg	;;
69043f32c10Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
691fbfaf8f3Smrg	GUESS=m68k-hp-bsd4.4
692fbfaf8f3Smrg	;;
69343f32c10Smrg    9000/[34678]??:HP-UX:*:*)
694fbfaf8f3Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
695fbfaf8f3Smrg	case $UNAME_MACHINE in
696ea148d1dSmrg	    9000/31?)            HP_ARCH=m68000 ;;
697ea148d1dSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
69843f32c10Smrg	    9000/[678][0-9][0-9])
699fbfaf8f3Smrg		if test -x /usr/bin/getconf; then
70043f32c10Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
7016ef05171Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
702fbfaf8f3Smrg		    case $sc_cpu_version in
7036ef05171Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
7046ef05171Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
7056ef05171Smrg		      532)                      # CPU_PA_RISC2_0
706fbfaf8f3Smrg			case $sc_kernel_bits in
7076ef05171Smrg			  32) HP_ARCH=hppa2.0n ;;
7086ef05171Smrg			  64) HP_ARCH=hppa2.0w ;;
7096ef05171Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
7106ef05171Smrg			esac ;;
7116ef05171Smrg		    esac
71243f32c10Smrg		fi
713fbfaf8f3Smrg		if test "$HP_ARCH" = ""; then
714ea148d1dSmrg		    set_cc_for_build
715ea148d1dSmrg		    sed 's/^		//' << EOF > "$dummy.c"
71643f32c10Smrg
7176ef05171Smrg		#define _HPUX_SOURCE
7186ef05171Smrg		#include <stdlib.h>
7196ef05171Smrg		#include <unistd.h>
72043f32c10Smrg
7216ef05171Smrg		int main ()
7226ef05171Smrg		{
7236ef05171Smrg		#if defined(_SC_KERNEL_BITS)
7246ef05171Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
7256ef05171Smrg		#endif
7266ef05171Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
72743f32c10Smrg
7286ef05171Smrg		    switch (cpu)
7296ef05171Smrg			{
7306ef05171Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
7316ef05171Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
7326ef05171Smrg			case CPU_PA_RISC2_0:
7336ef05171Smrg		#if defined(_SC_KERNEL_BITS)
7346ef05171Smrg			    switch (bits)
7356ef05171Smrg				{
7366ef05171Smrg				case 64: puts ("hppa2.0w"); break;
7376ef05171Smrg				case 32: puts ("hppa2.0n"); break;
7386ef05171Smrg				default: puts ("hppa2.0"); break;
7396ef05171Smrg				} break;
7406ef05171Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
7416ef05171Smrg			    puts ("hppa2.0"); break;
7426ef05171Smrg		#endif
7436ef05171Smrg			default: puts ("hppa1.0"); break;
7446ef05171Smrg			}
7456ef05171Smrg		    exit (0);
7466ef05171Smrg		}
74743f32c10SmrgEOF
748ea148d1dSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
74943f32c10Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
75043f32c10Smrg		fi ;;
75143f32c10Smrg	esac
752fbfaf8f3Smrg	if test "$HP_ARCH" = hppa2.0w
75343f32c10Smrg	then
754ea148d1dSmrg	    set_cc_for_build
75543f32c10Smrg
75643f32c10Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
75743f32c10Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
75843f32c10Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
75943f32c10Smrg	    #
76043f32c10Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
76143f32c10Smrg	    # => hppa2.0w-hp-hpux11.23
76243f32c10Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
76343f32c10Smrg	    # => hppa64-hp-hpux11.23
76443f32c10Smrg
7656ef05171Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
7666ef05171Smrg		grep -q __LP64__
76743f32c10Smrg	    then
7686ef05171Smrg		HP_ARCH=hppa2.0w
76943f32c10Smrg	    else
7706ef05171Smrg		HP_ARCH=hppa64
77143f32c10Smrg	    fi
77243f32c10Smrg	fi
773fbfaf8f3Smrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
774fbfaf8f3Smrg	;;
77543f32c10Smrg    ia64:HP-UX:*:*)
776fbfaf8f3Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
777fbfaf8f3Smrg	GUESS=ia64-hp-hpux$HPUX_REV
778fbfaf8f3Smrg	;;
77943f32c10Smrg    3050*:HI-UX:*:*)
780ea148d1dSmrg	set_cc_for_build
781ea148d1dSmrg	sed 's/^	//' << EOF > "$dummy.c"
78243f32c10Smrg	#include <unistd.h>
78343f32c10Smrg	int
78443f32c10Smrg	main ()
78543f32c10Smrg	{
78643f32c10Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
78743f32c10Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
78843f32c10Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
78943f32c10Smrg	     results, however.  */
79043f32c10Smrg	  if (CPU_IS_PA_RISC (cpu))
79143f32c10Smrg	    {
79243f32c10Smrg	      switch (cpu)
79343f32c10Smrg		{
79443f32c10Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
79543f32c10Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
79643f32c10Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
79743f32c10Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
79843f32c10Smrg		}
79943f32c10Smrg	    }
80043f32c10Smrg	  else if (CPU_IS_HP_MC68K (cpu))
80143f32c10Smrg	    puts ("m68k-hitachi-hiuxwe2");
80243f32c10Smrg	  else puts ("unknown-hitachi-hiuxwe2");
80343f32c10Smrg	  exit (0);
80443f32c10Smrg	}
80543f32c10SmrgEOF
806ea148d1dSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
80743f32c10Smrg		{ echo "$SYSTEM_NAME"; exit; }
808fbfaf8f3Smrg	GUESS=unknown-hitachi-hiuxwe2
809fbfaf8f3Smrg	;;
810ea148d1dSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
811fbfaf8f3Smrg	GUESS=hppa1.1-hp-bsd
812fbfaf8f3Smrg	;;
81343f32c10Smrg    9000/8??:4.3bsd:*:*)
814fbfaf8f3Smrg	GUESS=hppa1.0-hp-bsd
815fbfaf8f3Smrg	;;
81643f32c10Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
817fbfaf8f3Smrg	GUESS=hppa1.0-hp-mpeix
818fbfaf8f3Smrg	;;
819ea148d1dSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
820fbfaf8f3Smrg	GUESS=hppa1.1-hp-osf
821fbfaf8f3Smrg	;;
82243f32c10Smrg    hp8??:OSF1:*:*)
823fbfaf8f3Smrg	GUESS=hppa1.0-hp-osf
824fbfaf8f3Smrg	;;
82543f32c10Smrg    i*86:OSF1:*:*)
826fbfaf8f3Smrg	if test -x /usr/sbin/sysversion ; then
827fbfaf8f3Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
82843f32c10Smrg	else
829fbfaf8f3Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1
83043f32c10Smrg	fi
831fbfaf8f3Smrg	;;
83243f32c10Smrg    parisc*:Lites*:*:*)
833fbfaf8f3Smrg	GUESS=hppa1.1-hp-lites
834fbfaf8f3Smrg	;;
83543f32c10Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
836fbfaf8f3Smrg	GUESS=c1-convex-bsd
837fbfaf8f3Smrg	;;
83843f32c10Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
83943f32c10Smrg	if getsysinfo -f scalar_acc
84043f32c10Smrg	then echo c32-convex-bsd
84143f32c10Smrg	else echo c2-convex-bsd
84243f32c10Smrg	fi
8436ef05171Smrg	exit ;;
84443f32c10Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
845fbfaf8f3Smrg	GUESS=c34-convex-bsd
846fbfaf8f3Smrg	;;
84743f32c10Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
848fbfaf8f3Smrg	GUESS=c38-convex-bsd
849fbfaf8f3Smrg	;;
85043f32c10Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
851fbfaf8f3Smrg	GUESS=c4-convex-bsd
852fbfaf8f3Smrg	;;
85343f32c10Smrg    CRAY*Y-MP:*:*:*)
854fbfaf8f3Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
855fbfaf8f3Smrg	GUESS=ymp-cray-unicos$CRAY_REL
856fbfaf8f3Smrg	;;
85743f32c10Smrg    CRAY*[A-Z]90:*:*:*)
858ea148d1dSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
85943f32c10Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
86043f32c10Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
86143f32c10Smrg	      -e 's/\.[^.]*$/.X/'
86243f32c10Smrg	exit ;;
86343f32c10Smrg    CRAY*TS:*:*:*)
864fbfaf8f3Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
865fbfaf8f3Smrg	GUESS=t90-cray-unicos$CRAY_REL
866fbfaf8f3Smrg	;;
86743f32c10Smrg    CRAY*T3E:*:*:*)
868fbfaf8f3Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
869fbfaf8f3Smrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
870fbfaf8f3Smrg	;;
87143f32c10Smrg    CRAY*SV1:*:*:*)
872fbfaf8f3Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
873fbfaf8f3Smrg	GUESS=sv1-cray-unicos$CRAY_REL
874fbfaf8f3Smrg	;;
87543f32c10Smrg    *:UNICOS/mp:*:*)
876fbfaf8f3Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
877fbfaf8f3Smrg	GUESS=craynv-cray-unicosmp$CRAY_REL
878fbfaf8f3Smrg	;;
87943f32c10Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
8806ef05171Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
8816ef05171Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
882ea148d1dSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
883fbfaf8f3Smrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
884fbfaf8f3Smrg	;;
88543f32c10Smrg    5000:UNIX_System_V:4.*:*)
8866ef05171Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
887ea148d1dSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
888fbfaf8f3Smrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
889fbfaf8f3Smrg	;;
89043f32c10Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
891fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
892fbfaf8f3Smrg	;;
89343f32c10Smrg    sparc*:BSD/OS:*:*)
894fbfaf8f3Smrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
895fbfaf8f3Smrg	;;
89643f32c10Smrg    *:BSD/OS:*:*)
897fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
898fbfaf8f3Smrg	;;
899ea148d1dSmrg    arm:FreeBSD:*:*)
900ea148d1dSmrg	UNAME_PROCESSOR=`uname -p`
901ea148d1dSmrg	set_cc_for_build
902ea148d1dSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
903ea148d1dSmrg	    | grep -q __ARM_PCS_VFP
904ea148d1dSmrg	then
905fbfaf8f3Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
906fbfaf8f3Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
907ea148d1dSmrg	else
908fbfaf8f3Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
909fbfaf8f3Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
910ea148d1dSmrg	fi
911fbfaf8f3Smrg	;;
91243f32c10Smrg    *:FreeBSD:*:*)
913d3173433Smrg	UNAME_PROCESSOR=`uname -p`
914fbfaf8f3Smrg	case $UNAME_PROCESSOR in
91543f32c10Smrg	    amd64)
9166ef05171Smrg		UNAME_PROCESSOR=x86_64 ;;
9176ef05171Smrg	    i386)
9186ef05171Smrg		UNAME_PROCESSOR=i586 ;;
91943f32c10Smrg	esac
920fbfaf8f3Smrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
921fbfaf8f3Smrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
922fbfaf8f3Smrg	;;
92343f32c10Smrg    i*:CYGWIN*:*)
924fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-cygwin
925fbfaf8f3Smrg	;;
9266ef05171Smrg    *:MINGW64*:*)
927fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-mingw64
928fbfaf8f3Smrg	;;
92943f32c10Smrg    *:MINGW*:*)
930fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-mingw32
931fbfaf8f3Smrg	;;
9326ef05171Smrg    *:MSYS*:*)
933fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-msys
934fbfaf8f3Smrg	;;
93543f32c10Smrg    i*:PW*:*)
936fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-pw32
937fbfaf8f3Smrg	;;
938fbfaf8f3Smrg    *:SerenityOS:*:*)
939fbfaf8f3Smrg        GUESS=$UNAME_MACHINE-pc-serenity
940fbfaf8f3Smrg        ;;
9416ef05171Smrg    *:Interix*:*)
942fbfaf8f3Smrg	case $UNAME_MACHINE in
94343f32c10Smrg	    x86)
944fbfaf8f3Smrg		GUESS=i586-pc-interix$UNAME_RELEASE
945fbfaf8f3Smrg		;;
9466ef05171Smrg	    authenticamd | genuineintel | EM64T)
947fbfaf8f3Smrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
948fbfaf8f3Smrg		;;
94943f32c10Smrg	    IA64)
950fbfaf8f3Smrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
951fbfaf8f3Smrg		;;
95243f32c10Smrg	esac ;;
95343f32c10Smrg    i*:UWIN*:*)
954fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-uwin
955fbfaf8f3Smrg	;;
95643f32c10Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
957fbfaf8f3Smrg	GUESS=x86_64-pc-cygwin
958fbfaf8f3Smrg	;;
95943f32c10Smrg    prep*:SunOS:5.*:*)
960fbfaf8f3Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
961fbfaf8f3Smrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
962fbfaf8f3Smrg	;;
96343f32c10Smrg    *:GNU:*:*)
96443f32c10Smrg	# the GNU system
965fbfaf8f3Smrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
966fbfaf8f3Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
967fbfaf8f3Smrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
968fbfaf8f3Smrg	;;
96943f32c10Smrg    *:GNU/*:*:*)
97043f32c10Smrg	# other systems with GNU libc and userland
971fbfaf8f3Smrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
972fbfaf8f3Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
973fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
974fbfaf8f3Smrg	;;
975fbfaf8f3Smrg    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
976fbfaf8f3Smrg	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
977fbfaf8f3Smrg	;;
978fbfaf8f3Smrg    *:[Mm]anagarm:*:*)
979fbfaf8f3Smrg	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
980fbfaf8f3Smrg	;;
981ea148d1dSmrg    *:Minix:*:*)
982fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-minix
983fbfaf8f3Smrg	;;
9846ef05171Smrg    aarch64:Linux:*:*)
985d3173433Smrg	set_cc_for_build
986d3173433Smrg	CPU=$UNAME_MACHINE
987d3173433Smrg	LIBCABI=$LIBC
988d3173433Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
989d3173433Smrg	    ABI=64
990d3173433Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
991d3173433Smrg	    #ifdef __ARM_EABI__
992d3173433Smrg	    #ifdef __ARM_PCS_VFP
993d3173433Smrg	    ABI=eabihf
994d3173433Smrg	    #else
995d3173433Smrg	    ABI=eabi
996d3173433Smrg	    #endif
997d3173433Smrg	    #endif
998d3173433SmrgEOF
999d3173433Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1000d3173433Smrg	    eval "$cc_set_abi"
1001d3173433Smrg	    case $ABI in
1002d3173433Smrg		eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
1003d3173433Smrg	    esac
1004d3173433Smrg	fi
1005d3173433Smrg	GUESS=$CPU-unknown-linux-$LIBCABI
1006fbfaf8f3Smrg	;;
10076ef05171Smrg    aarch64_be:Linux:*:*)
10086ef05171Smrg	UNAME_MACHINE=aarch64_be
1009fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1010fbfaf8f3Smrg	;;
10116ef05171Smrg    alpha:Linux:*:*)
1012fbfaf8f3Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
10136ef05171Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
10146ef05171Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
10156ef05171Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
10166ef05171Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
10176ef05171Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
10186ef05171Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
10196ef05171Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
10206ef05171Smrg	esac
10216ef05171Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
10226ef05171Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
1023fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1024fbfaf8f3Smrg	;;
1025fbfaf8f3Smrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1026fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1027fbfaf8f3Smrg	;;
102843f32c10Smrg    arm*:Linux:*:*)
1029ea148d1dSmrg	set_cc_for_build
103043f32c10Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
103143f32c10Smrg	    | grep -q __ARM_EABI__
103243f32c10Smrg	then
1033fbfaf8f3Smrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103443f32c10Smrg	else
10356ef05171Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
10366ef05171Smrg		| grep -q __ARM_PCS_VFP
10376ef05171Smrg	    then
1038fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
10396ef05171Smrg	    else
1040fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
10416ef05171Smrg	    fi
104243f32c10Smrg	fi
1043fbfaf8f3Smrg	;;
104443f32c10Smrg    avr32*:Linux:*:*)
1045fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1046fbfaf8f3Smrg	;;
104743f32c10Smrg    cris:Linux:*:*)
1048fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1049fbfaf8f3Smrg	;;
105043f32c10Smrg    crisv32:Linux:*:*)
1051fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1052fbfaf8f3Smrg	;;
10536ef05171Smrg    e2k:Linux:*:*)
1054fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1055fbfaf8f3Smrg	;;
105643f32c10Smrg    frv:Linux:*:*)
1057fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1058fbfaf8f3Smrg	;;
10596ef05171Smrg    hexagon:Linux:*:*)
1060fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1061fbfaf8f3Smrg	;;
10626ef05171Smrg    i*86:Linux:*:*)
1063fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1064fbfaf8f3Smrg	;;
106543f32c10Smrg    ia64:Linux:*:*)
1066fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1067fbfaf8f3Smrg	;;
10686ef05171Smrg    k1om:Linux:*:*)
1069fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1070fbfaf8f3Smrg	;;
1071d3173433Smrg    kvx:Linux:*:*)
1072d3173433Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1073d3173433Smrg	;;
1074d3173433Smrg    kvx:cos:*:*)
1075d3173433Smrg	GUESS=$UNAME_MACHINE-unknown-cos
1076d3173433Smrg	;;
1077d3173433Smrg    kvx:mbr:*:*)
1078d3173433Smrg	GUESS=$UNAME_MACHINE-unknown-mbr
1079d3173433Smrg	;;
1080fbfaf8f3Smrg    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1081fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1082fbfaf8f3Smrg	;;
108343f32c10Smrg    m32r*:Linux:*:*)
1084fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1085fbfaf8f3Smrg	;;
108643f32c10Smrg    m68*:Linux:*:*)
1087fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1088fbfaf8f3Smrg	;;
10896ef05171Smrg    mips:Linux:*:* | mips64:Linux:*:*)
1090ea148d1dSmrg	set_cc_for_build
1091fbfaf8f3Smrg	IS_GLIBC=0
1092fbfaf8f3Smrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
1093ea148d1dSmrg	sed 's/^	//' << EOF > "$dummy.c"
109443f32c10Smrg	#undef CPU
1095fbfaf8f3Smrg	#undef mips
1096fbfaf8f3Smrg	#undef mipsel
1097fbfaf8f3Smrg	#undef mips64
1098fbfaf8f3Smrg	#undef mips64el
1099fbfaf8f3Smrg	#if ${IS_GLIBC} && defined(_ABI64)
1100fbfaf8f3Smrg	LIBCABI=gnuabi64
1101fbfaf8f3Smrg	#else
1102fbfaf8f3Smrg	#if ${IS_GLIBC} && defined(_ABIN32)
1103fbfaf8f3Smrg	LIBCABI=gnuabin32
1104fbfaf8f3Smrg	#else
1105fbfaf8f3Smrg	LIBCABI=${LIBC}
1106fbfaf8f3Smrg	#endif
1107fbfaf8f3Smrg	#endif
1108fbfaf8f3Smrg
1109fbfaf8f3Smrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1110fbfaf8f3Smrg	CPU=mipsisa64r6
1111fbfaf8f3Smrg	#else
1112fbfaf8f3Smrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1113fbfaf8f3Smrg	CPU=mipsisa32r6
1114fbfaf8f3Smrg	#else
1115fbfaf8f3Smrg	#if defined(__mips64)
1116fbfaf8f3Smrg	CPU=mips64
1117fbfaf8f3Smrg	#else
1118fbfaf8f3Smrg	CPU=mips
1119fbfaf8f3Smrg	#endif
1120fbfaf8f3Smrg	#endif
1121fbfaf8f3Smrg	#endif
1122fbfaf8f3Smrg
112343f32c10Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1124fbfaf8f3Smrg	MIPS_ENDIAN=el
112543f32c10Smrg	#else
112643f32c10Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1127fbfaf8f3Smrg	MIPS_ENDIAN=
112843f32c10Smrg	#else
1129fbfaf8f3Smrg	MIPS_ENDIAN=
113043f32c10Smrg	#endif
113143f32c10Smrg	#endif
113243f32c10SmrgEOF
1133fbfaf8f3Smrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1134fbfaf8f3Smrg	eval "$cc_set_vars"
1135fbfaf8f3Smrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
113643f32c10Smrg	;;
11376ef05171Smrg    mips64el:Linux:*:*)
1138fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139fbfaf8f3Smrg	;;
11406ef05171Smrg    openrisc*:Linux:*:*)
1141fbfaf8f3Smrg	GUESS=or1k-unknown-linux-$LIBC
1142fbfaf8f3Smrg	;;
11436ef05171Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
1144fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145fbfaf8f3Smrg	;;
11466ef05171Smrg    padre:Linux:*:*)
1147fbfaf8f3Smrg	GUESS=sparc-unknown-linux-$LIBC
1148fbfaf8f3Smrg	;;
11496ef05171Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
1150fbfaf8f3Smrg	GUESS=hppa64-unknown-linux-$LIBC
1151fbfaf8f3Smrg	;;
115243f32c10Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
115343f32c10Smrg	# Look for CPU level
115443f32c10Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1155fbfaf8f3Smrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1156fbfaf8f3Smrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1157fbfaf8f3Smrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
115843f32c10Smrg	esac
1159fbfaf8f3Smrg	;;
11606ef05171Smrg    ppc64:Linux:*:*)
1161fbfaf8f3Smrg	GUESS=powerpc64-unknown-linux-$LIBC
1162fbfaf8f3Smrg	;;
11636ef05171Smrg    ppc:Linux:*:*)
1164fbfaf8f3Smrg	GUESS=powerpc-unknown-linux-$LIBC
1165fbfaf8f3Smrg	;;
11666ef05171Smrg    ppc64le:Linux:*:*)
1167fbfaf8f3Smrg	GUESS=powerpc64le-unknown-linux-$LIBC
1168fbfaf8f3Smrg	;;
11696ef05171Smrg    ppcle:Linux:*:*)
1170fbfaf8f3Smrg	GUESS=powerpcle-unknown-linux-$LIBC
1171fbfaf8f3Smrg	;;
1172fbfaf8f3Smrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1173fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1174fbfaf8f3Smrg	;;
117543f32c10Smrg    s390:Linux:*:* | s390x:Linux:*:*)
1176fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1177fbfaf8f3Smrg	;;
117843f32c10Smrg    sh64*:Linux:*:*)
1179fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1180fbfaf8f3Smrg	;;
118143f32c10Smrg    sh*:Linux:*:*)
1182fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1183fbfaf8f3Smrg	;;
118443f32c10Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
1185fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1186fbfaf8f3Smrg	;;
11876ef05171Smrg    tile*:Linux:*:*)
1188fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1189fbfaf8f3Smrg	;;
119043f32c10Smrg    vax:Linux:*:*)
1191fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1192fbfaf8f3Smrg	;;
119343f32c10Smrg    x86_64:Linux:*:*)
1194fbfaf8f3Smrg	set_cc_for_build
1195fbfaf8f3Smrg	CPU=$UNAME_MACHINE
1196fbfaf8f3Smrg	LIBCABI=$LIBC
1197fbfaf8f3Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1198fbfaf8f3Smrg	    ABI=64
1199fbfaf8f3Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
1200fbfaf8f3Smrg	    #ifdef __i386__
1201fbfaf8f3Smrg	    ABI=x86
1202fbfaf8f3Smrg	    #else
1203fbfaf8f3Smrg	    #ifdef __ILP32__
1204fbfaf8f3Smrg	    ABI=x32
1205fbfaf8f3Smrg	    #endif
1206fbfaf8f3Smrg	    #endif
1207fbfaf8f3SmrgEOF
1208fbfaf8f3Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1209fbfaf8f3Smrg	    eval "$cc_set_abi"
1210fbfaf8f3Smrg	    case $ABI in
1211fbfaf8f3Smrg		x86) CPU=i686 ;;
1212fbfaf8f3Smrg		x32) LIBCABI=${LIBC}x32 ;;
1213fbfaf8f3Smrg	    esac
1214fbfaf8f3Smrg	fi
1215fbfaf8f3Smrg	GUESS=$CPU-pc-linux-$LIBCABI
1216fbfaf8f3Smrg	;;
121743f32c10Smrg    xtensa*:Linux:*:*)
1218fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1219fbfaf8f3Smrg	;;
122043f32c10Smrg    i*86:DYNIX/ptx:4*:*)
122143f32c10Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
122243f32c10Smrg	# earlier versions are messed up and put the nodename in both
122343f32c10Smrg	# sysname and nodename.
1224fbfaf8f3Smrg	GUESS=i386-sequent-sysv4
1225fbfaf8f3Smrg	;;
122643f32c10Smrg    i*86:UNIX_SV:4.2MP:2.*)
12276ef05171Smrg	# Unixware is an offshoot of SVR4, but it has its own version
12286ef05171Smrg	# number series starting with 2...
12296ef05171Smrg	# I am not positive that other SVR4 systems won't match this,
123043f32c10Smrg	# I just have to hope.  -- rms.
12316ef05171Smrg	# Use sysv4.2uw... so that sysv4* matches it.
1232fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1233fbfaf8f3Smrg	;;
123443f32c10Smrg    i*86:OS/2:*:*)
1235d3173433Smrg	# If we were able to find 'uname', then EMX Unix compatibility
123643f32c10Smrg	# is probably installed.
1237fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-os2-emx
1238fbfaf8f3Smrg	;;
123943f32c10Smrg    i*86:XTS-300:*:STOP)
1240fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-stop
1241fbfaf8f3Smrg	;;
124243f32c10Smrg    i*86:atheos:*:*)
1243fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-atheos
1244fbfaf8f3Smrg	;;
124543f32c10Smrg    i*86:syllable:*:*)
1246fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-syllable
1247fbfaf8f3Smrg	;;
12486ef05171Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1249fbfaf8f3Smrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1250fbfaf8f3Smrg	;;
125143f32c10Smrg    i*86:*DOS:*:*)
1252fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1253fbfaf8f3Smrg	;;
1254ea148d1dSmrg    i*86:*:4.*:*)
1255ea148d1dSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
125643f32c10Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1257fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
125843f32c10Smrg	else
1259fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
126043f32c10Smrg	fi
1261fbfaf8f3Smrg	;;
126243f32c10Smrg    i*86:*:5:[678]*)
12636ef05171Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
126443f32c10Smrg	case `/bin/uname -X | grep "^Machine"` in
126543f32c10Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
126643f32c10Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
126743f32c10Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
126843f32c10Smrg	esac
1269fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1270fbfaf8f3Smrg	;;
127143f32c10Smrg    i*86:*:3.2:*)
127243f32c10Smrg	if test -f /usr/options/cb.name; then
127343f32c10Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1274fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
127543f32c10Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
127643f32c10Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
127743f32c10Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
127843f32c10Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
127943f32c10Smrg			&& UNAME_MACHINE=i586
128043f32c10Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
128143f32c10Smrg			&& UNAME_MACHINE=i686
128243f32c10Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
128343f32c10Smrg			&& UNAME_MACHINE=i686
1284fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
128543f32c10Smrg	else
1286fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-pc-sysv32
128743f32c10Smrg	fi
1288fbfaf8f3Smrg	;;
128943f32c10Smrg    pc:*:*:*)
129043f32c10Smrg	# Left here for compatibility:
12916ef05171Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
12926ef05171Smrg	# the processor, so we play safe by assuming i586.
12936ef05171Smrg	# Note: whatever this is, it MUST be the same as what config.sub
12946ef05171Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
12956ef05171Smrg	# this is a cross-build.
1296fbfaf8f3Smrg	GUESS=i586-pc-msdosdjgpp
1297fbfaf8f3Smrg	;;
129843f32c10Smrg    Intel:Mach:3*:*)
1299fbfaf8f3Smrg	GUESS=i386-pc-mach3
1300fbfaf8f3Smrg	;;
130143f32c10Smrg    paragon:*:*:*)
1302fbfaf8f3Smrg	GUESS=i860-intel-osf1
1303fbfaf8f3Smrg	;;
130443f32c10Smrg    i860:*:4.*:*) # i860-SVR4
130543f32c10Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1306fbfaf8f3Smrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
130743f32c10Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1308fbfaf8f3Smrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
130943f32c10Smrg	fi
1310fbfaf8f3Smrg	;;
131143f32c10Smrg    mini*:CTIX:SYS*5:*)
131243f32c10Smrg	# "miniframe"
1313fbfaf8f3Smrg	GUESS=m68010-convergent-sysv
1314fbfaf8f3Smrg	;;
131543f32c10Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1316fbfaf8f3Smrg	GUESS=m68k-convergent-sysv
1317fbfaf8f3Smrg	;;
131843f32c10Smrg    M680?0:D-NIX:5.3:*)
1319fbfaf8f3Smrg	GUESS=m68k-diab-dnix
1320fbfaf8f3Smrg	;;
132143f32c10Smrg    M68*:*:R3V[5678]*:*)
132243f32c10Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
132343f32c10Smrg    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)
132443f32c10Smrg	OS_REL=''
132543f32c10Smrg	test -r /etc/.relid \
132643f32c10Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
132743f32c10Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1328ea148d1dSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
132943f32c10Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1330ea148d1dSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
133143f32c10Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
13326ef05171Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
13336ef05171Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
13346ef05171Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
13356ef05171Smrg	OS_REL='.3'
13366ef05171Smrg	test -r /etc/.relid \
13376ef05171Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
13386ef05171Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1339ea148d1dSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
13406ef05171Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1341ea148d1dSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
13426ef05171Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1343ea148d1dSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
134443f32c10Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1345fbfaf8f3Smrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1346fbfaf8f3Smrg	;;
134743f32c10Smrg    mc68030:UNIX_System_V:4.*:*)
1348fbfaf8f3Smrg	GUESS=m68k-atari-sysv4
1349fbfaf8f3Smrg	;;
135043f32c10Smrg    TSUNAMI:LynxOS:2.*:*)
1351fbfaf8f3Smrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1352fbfaf8f3Smrg	;;
135343f32c10Smrg    rs6000:LynxOS:2.*:*)
1354fbfaf8f3Smrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1355fbfaf8f3Smrg	;;
13566ef05171Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1357fbfaf8f3Smrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1358fbfaf8f3Smrg	;;
135943f32c10Smrg    SM[BE]S:UNIX_SV:*:*)
1360fbfaf8f3Smrg	GUESS=mips-dde-sysv$UNAME_RELEASE
1361fbfaf8f3Smrg	;;
136243f32c10Smrg    RM*:ReliantUNIX-*:*:*)
1363fbfaf8f3Smrg	GUESS=mips-sni-sysv4
1364fbfaf8f3Smrg	;;
136543f32c10Smrg    RM*:SINIX-*:*:*)
1366fbfaf8f3Smrg	GUESS=mips-sni-sysv4
1367fbfaf8f3Smrg	;;
136843f32c10Smrg    *:SINIX-*:*:*)
136943f32c10Smrg	if uname -p 2>/dev/null >/dev/null ; then
137043f32c10Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1371fbfaf8f3Smrg		GUESS=$UNAME_MACHINE-sni-sysv4
137243f32c10Smrg	else
1373fbfaf8f3Smrg		GUESS=ns32k-sni-sysv
137443f32c10Smrg	fi
1375fbfaf8f3Smrg	;;
1376d3173433Smrg    PENTIUM:*:4.0*:*)	# Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
13776ef05171Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1378fbfaf8f3Smrg	GUESS=i586-unisys-sysv4
1379fbfaf8f3Smrg	;;
138043f32c10Smrg    *:UNIX_System_V:4*:FTX*)
138143f32c10Smrg	# From Gerald Hewes <hewes@openmarket.com>.
138243f32c10Smrg	# How about differentiating between stratus architectures? -djm
1383fbfaf8f3Smrg	GUESS=hppa1.1-stratus-sysv4
1384fbfaf8f3Smrg	;;
138543f32c10Smrg    *:*:*:FTX*)
138643f32c10Smrg	# From seanf@swdc.stratus.com.
1387fbfaf8f3Smrg	GUESS=i860-stratus-sysv4
1388fbfaf8f3Smrg	;;
138943f32c10Smrg    i*86:VOS:*:*)
139043f32c10Smrg	# From Paul.Green@stratus.com.
1391fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-stratus-vos
1392fbfaf8f3Smrg	;;
139343f32c10Smrg    *:VOS:*:*)
139443f32c10Smrg	# From Paul.Green@stratus.com.
1395fbfaf8f3Smrg	GUESS=hppa1.1-stratus-vos
1396fbfaf8f3Smrg	;;
139743f32c10Smrg    mc68*:A/UX:*:*)
1398fbfaf8f3Smrg	GUESS=m68k-apple-aux$UNAME_RELEASE
1399fbfaf8f3Smrg	;;
140043f32c10Smrg    news*:NEWS-OS:6*:*)
1401fbfaf8f3Smrg	GUESS=mips-sony-newsos6
1402fbfaf8f3Smrg	;;
140343f32c10Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1404fbfaf8f3Smrg	if test -d /usr/nec; then
1405fbfaf8f3Smrg		GUESS=mips-nec-sysv$UNAME_RELEASE
140643f32c10Smrg	else
1407fbfaf8f3Smrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
140843f32c10Smrg	fi
1409fbfaf8f3Smrg	;;
141043f32c10Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1411fbfaf8f3Smrg	GUESS=powerpc-be-beos
1412fbfaf8f3Smrg	;;
141343f32c10Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1414fbfaf8f3Smrg	GUESS=powerpc-apple-beos
1415fbfaf8f3Smrg	;;
141643f32c10Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1417fbfaf8f3Smrg	GUESS=i586-pc-beos
1418fbfaf8f3Smrg	;;
14196ef05171Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1420fbfaf8f3Smrg	GUESS=i586-pc-haiku
1421fbfaf8f3Smrg	;;
1422fbfaf8f3Smrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
1423fbfaf8f3Smrg	GUESS=powerpc-apple-haiku
1424fbfaf8f3Smrg	;;
1425fbfaf8f3Smrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
1426fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-haiku
1427fbfaf8f3Smrg	;;
142843f32c10Smrg    SX-4:SUPER-UX:*:*)
1429fbfaf8f3Smrg	GUESS=sx4-nec-superux$UNAME_RELEASE
1430fbfaf8f3Smrg	;;
143143f32c10Smrg    SX-5:SUPER-UX:*:*)
1432fbfaf8f3Smrg	GUESS=sx5-nec-superux$UNAME_RELEASE
1433fbfaf8f3Smrg	;;
143443f32c10Smrg    SX-6:SUPER-UX:*:*)
1435fbfaf8f3Smrg	GUESS=sx6-nec-superux$UNAME_RELEASE
1436fbfaf8f3Smrg	;;
143743f32c10Smrg    SX-7:SUPER-UX:*:*)
1438fbfaf8f3Smrg	GUESS=sx7-nec-superux$UNAME_RELEASE
1439fbfaf8f3Smrg	;;
144043f32c10Smrg    SX-8:SUPER-UX:*:*)
1441fbfaf8f3Smrg	GUESS=sx8-nec-superux$UNAME_RELEASE
1442fbfaf8f3Smrg	;;
144343f32c10Smrg    SX-8R:SUPER-UX:*:*)
1444fbfaf8f3Smrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
1445fbfaf8f3Smrg	;;
14466ef05171Smrg    SX-ACE:SUPER-UX:*:*)
1447fbfaf8f3Smrg	GUESS=sxace-nec-superux$UNAME_RELEASE
1448fbfaf8f3Smrg	;;
144943f32c10Smrg    Power*:Rhapsody:*:*)
1450fbfaf8f3Smrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1451fbfaf8f3Smrg	;;
145243f32c10Smrg    *:Rhapsody:*:*)
1453fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1454fbfaf8f3Smrg	;;
1455fbfaf8f3Smrg    arm64:Darwin:*:*)
1456fbfaf8f3Smrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1457fbfaf8f3Smrg	;;
145843f32c10Smrg    *:Darwin:*:*)
1459fbfaf8f3Smrg	UNAME_PROCESSOR=`uname -p`
1460fbfaf8f3Smrg	case $UNAME_PROCESSOR in
1461fbfaf8f3Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1462fbfaf8f3Smrg	esac
1463fbfaf8f3Smrg	if command -v xcode-select > /dev/null 2> /dev/null && \
1464fbfaf8f3Smrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1465fbfaf8f3Smrg	    # Avoid executing cc if there is no toolchain installed as
1466fbfaf8f3Smrg	    # cc will be a stub that puts up a graphical alert
1467fbfaf8f3Smrg	    # prompting the user to install developer tools.
1468fbfaf8f3Smrg	    CC_FOR_BUILD=no_compiler_found
1469fbfaf8f3Smrg	else
1470fbfaf8f3Smrg	    set_cc_for_build
14716ef05171Smrg	fi
1472fbfaf8f3Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1473fbfaf8f3Smrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1474fbfaf8f3Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1475fbfaf8f3Smrg		   grep IS_64BIT_ARCH >/dev/null
1476fbfaf8f3Smrg	    then
1477fbfaf8f3Smrg		case $UNAME_PROCESSOR in
1478fbfaf8f3Smrg		    i386) UNAME_PROCESSOR=x86_64 ;;
1479fbfaf8f3Smrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1480fbfaf8f3Smrg		esac
1481fbfaf8f3Smrg	    fi
1482fbfaf8f3Smrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1483fbfaf8f3Smrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1484fbfaf8f3Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1485fbfaf8f3Smrg		   grep IS_PPC >/dev/null
1486fbfaf8f3Smrg	    then
1487fbfaf8f3Smrg		UNAME_PROCESSOR=powerpc
14886ef05171Smrg	    fi
14896ef05171Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1490fbfaf8f3Smrg	    # uname -m returns i386 or x86_64
1491fbfaf8f3Smrg	    UNAME_PROCESSOR=$UNAME_MACHINE
14926ef05171Smrg	fi
1493fbfaf8f3Smrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1494fbfaf8f3Smrg	;;
149543f32c10Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
149643f32c10Smrg	UNAME_PROCESSOR=`uname -p`
14976ef05171Smrg	if test "$UNAME_PROCESSOR" = x86; then
149843f32c10Smrg		UNAME_PROCESSOR=i386
149943f32c10Smrg		UNAME_MACHINE=pc
150043f32c10Smrg	fi
1501fbfaf8f3Smrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1502fbfaf8f3Smrg	;;
150343f32c10Smrg    *:QNX:*:4*)
1504fbfaf8f3Smrg	GUESS=i386-pc-qnx
1505fbfaf8f3Smrg	;;
15066ef05171Smrg    NEO-*:NONSTOP_KERNEL:*:*)
1507fbfaf8f3Smrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
1508fbfaf8f3Smrg	;;
15096ef05171Smrg    NSE-*:NONSTOP_KERNEL:*:*)
1510fbfaf8f3Smrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
1511fbfaf8f3Smrg	;;
15126ef05171Smrg    NSR-*:NONSTOP_KERNEL:*:*)
1513fbfaf8f3Smrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1514fbfaf8f3Smrg	;;
1515ea148d1dSmrg    NSV-*:NONSTOP_KERNEL:*:*)
1516fbfaf8f3Smrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1517fbfaf8f3Smrg	;;
15186ef05171Smrg    NSX-*:NONSTOP_KERNEL:*:*)
1519fbfaf8f3Smrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1520fbfaf8f3Smrg	;;
152143f32c10Smrg    *:NonStop-UX:*:*)
1522fbfaf8f3Smrg	GUESS=mips-compaq-nonstopux
1523fbfaf8f3Smrg	;;
152443f32c10Smrg    BS2000:POSIX*:*:*)
1525fbfaf8f3Smrg	GUESS=bs2000-siemens-sysv
1526fbfaf8f3Smrg	;;
152743f32c10Smrg    DS/*:UNIX_System_V:*:*)
1528fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1529fbfaf8f3Smrg	;;
153043f32c10Smrg    *:Plan9:*:*)
153143f32c10Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
153243f32c10Smrg	# is converted to i386 for consistency with other x86
153343f32c10Smrg	# operating systems.
1534fbfaf8f3Smrg	if test "${cputype-}" = 386; then
153543f32c10Smrg	    UNAME_MACHINE=i386
1536fbfaf8f3Smrg	elif test "x${cputype-}" != x; then
1537fbfaf8f3Smrg	    UNAME_MACHINE=$cputype
153843f32c10Smrg	fi
1539fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-plan9
1540fbfaf8f3Smrg	;;
154143f32c10Smrg    *:TOPS-10:*:*)
1542fbfaf8f3Smrg	GUESS=pdp10-unknown-tops10
1543fbfaf8f3Smrg	;;
154443f32c10Smrg    *:TENEX:*:*)
1545fbfaf8f3Smrg	GUESS=pdp10-unknown-tenex
1546fbfaf8f3Smrg	;;
154743f32c10Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1548fbfaf8f3Smrg	GUESS=pdp10-dec-tops20
1549fbfaf8f3Smrg	;;
155043f32c10Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1551fbfaf8f3Smrg	GUESS=pdp10-xkl-tops20
1552fbfaf8f3Smrg	;;
155343f32c10Smrg    *:TOPS-20:*:*)
1554fbfaf8f3Smrg	GUESS=pdp10-unknown-tops20
1555fbfaf8f3Smrg	;;
155643f32c10Smrg    *:ITS:*:*)
1557fbfaf8f3Smrg	GUESS=pdp10-unknown-its
1558fbfaf8f3Smrg	;;
155943f32c10Smrg    SEI:*:*:SEIUX)
1560fbfaf8f3Smrg	GUESS=mips-sei-seiux$UNAME_RELEASE
1561fbfaf8f3Smrg	;;
156243f32c10Smrg    *:DragonFly:*:*)
1563fbfaf8f3Smrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1564fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1565fbfaf8f3Smrg	;;
156643f32c10Smrg    *:*VMS:*:*)
15676ef05171Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1568fbfaf8f3Smrg	case $UNAME_MACHINE in
1569fbfaf8f3Smrg	    A*) GUESS=alpha-dec-vms ;;
1570fbfaf8f3Smrg	    I*) GUESS=ia64-dec-vms ;;
1571fbfaf8f3Smrg	    V*) GUESS=vax-dec-vms ;;
157243f32c10Smrg	esac ;;
157343f32c10Smrg    *:XENIX:*:SysV)
1574fbfaf8f3Smrg	GUESS=i386-pc-xenix
1575fbfaf8f3Smrg	;;
157643f32c10Smrg    i*86:skyos:*:*)
1577fbfaf8f3Smrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1578fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1579fbfaf8f3Smrg	;;
158043f32c10Smrg    i*86:rdos:*:*)
1581fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-rdos
1582fbfaf8f3Smrg	;;
1583fbfaf8f3Smrg    i*86:Fiwix:*:*)
1584fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-pc-fiwix
1585fbfaf8f3Smrg	;;
1586fbfaf8f3Smrg    *:AROS:*:*)
1587fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-aros
1588fbfaf8f3Smrg	;;
15896ef05171Smrg    x86_64:VMkernel:*:*)
1590fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-esx
1591fbfaf8f3Smrg	;;
15926ef05171Smrg    amd64:Isilon\ OneFS:*:*)
1593fbfaf8f3Smrg	GUESS=x86_64-unknown-onefs
1594fbfaf8f3Smrg	;;
1595fbfaf8f3Smrg    *:Unleashed:*:*)
1596fbfaf8f3Smrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1597fbfaf8f3Smrg	;;
1598d3173433Smrg    *:Ironclad:*:*)
1599d3173433Smrg	GUESS=$UNAME_MACHINE-unknown-ironclad
1600d3173433Smrg	;;
16016ef05171Smrgesac
160243f32c10Smrg
1603fbfaf8f3Smrg# Do we have a guess based on uname results?
1604fbfaf8f3Smrgif test "x$GUESS" != x; then
1605fbfaf8f3Smrg    echo "$GUESS"
1606fbfaf8f3Smrg    exit
1607fbfaf8f3Smrgfi
1608fbfaf8f3Smrg
1609fbfaf8f3Smrg# No uname command or uname output not recognized.
1610fbfaf8f3Smrgset_cc_for_build
1611fbfaf8f3Smrgcat > "$dummy.c" <<EOF
1612fbfaf8f3Smrg#ifdef _SEQUENT_
1613fbfaf8f3Smrg#include <sys/types.h>
1614fbfaf8f3Smrg#include <sys/utsname.h>
1615fbfaf8f3Smrg#endif
1616fbfaf8f3Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1617fbfaf8f3Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1618fbfaf8f3Smrg#include <signal.h>
1619fbfaf8f3Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1620fbfaf8f3Smrg#include <sys/utsname.h>
1621fbfaf8f3Smrg#endif
1622fbfaf8f3Smrg#endif
1623fbfaf8f3Smrg#endif
1624fbfaf8f3Smrgmain ()
1625fbfaf8f3Smrg{
1626fbfaf8f3Smrg#if defined (sony)
1627fbfaf8f3Smrg#if defined (MIPSEB)
1628fbfaf8f3Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1629fbfaf8f3Smrg     I don't know....  */
1630fbfaf8f3Smrg  printf ("mips-sony-bsd\n"); exit (0);
1631fbfaf8f3Smrg#else
1632fbfaf8f3Smrg#include <sys/param.h>
1633fbfaf8f3Smrg  printf ("m68k-sony-newsos%s\n",
1634fbfaf8f3Smrg#ifdef NEWSOS4
1635fbfaf8f3Smrg  "4"
1636fbfaf8f3Smrg#else
1637fbfaf8f3Smrg  ""
1638fbfaf8f3Smrg#endif
1639fbfaf8f3Smrg  ); exit (0);
1640fbfaf8f3Smrg#endif
1641fbfaf8f3Smrg#endif
1642fbfaf8f3Smrg
1643fbfaf8f3Smrg#if defined (NeXT)
1644fbfaf8f3Smrg#if !defined (__ARCHITECTURE__)
1645fbfaf8f3Smrg#define __ARCHITECTURE__ "m68k"
1646fbfaf8f3Smrg#endif
1647fbfaf8f3Smrg  int version;
1648fbfaf8f3Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1649fbfaf8f3Smrg  if (version < 4)
1650fbfaf8f3Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1651fbfaf8f3Smrg  else
1652fbfaf8f3Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1653fbfaf8f3Smrg  exit (0);
1654fbfaf8f3Smrg#endif
1655fbfaf8f3Smrg
1656fbfaf8f3Smrg#if defined (MULTIMAX) || defined (n16)
1657fbfaf8f3Smrg#if defined (UMAXV)
1658fbfaf8f3Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1659fbfaf8f3Smrg#else
1660fbfaf8f3Smrg#if defined (CMU)
1661fbfaf8f3Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1662fbfaf8f3Smrg#else
1663fbfaf8f3Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1664fbfaf8f3Smrg#endif
1665fbfaf8f3Smrg#endif
1666fbfaf8f3Smrg#endif
1667fbfaf8f3Smrg
1668fbfaf8f3Smrg#if defined (__386BSD__)
1669fbfaf8f3Smrg  printf ("i386-pc-bsd\n"); exit (0);
1670fbfaf8f3Smrg#endif
1671fbfaf8f3Smrg
1672fbfaf8f3Smrg#if defined (sequent)
1673fbfaf8f3Smrg#if defined (i386)
1674fbfaf8f3Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1675fbfaf8f3Smrg#endif
1676fbfaf8f3Smrg#if defined (ns32000)
1677fbfaf8f3Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1678fbfaf8f3Smrg#endif
1679fbfaf8f3Smrg#endif
1680fbfaf8f3Smrg
1681fbfaf8f3Smrg#if defined (_SEQUENT_)
1682fbfaf8f3Smrg  struct utsname un;
1683fbfaf8f3Smrg
1684fbfaf8f3Smrg  uname(&un);
1685fbfaf8f3Smrg  if (strncmp(un.version, "V2", 2) == 0) {
1686fbfaf8f3Smrg    printf ("i386-sequent-ptx2\n"); exit (0);
1687fbfaf8f3Smrg  }
1688fbfaf8f3Smrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1689fbfaf8f3Smrg    printf ("i386-sequent-ptx1\n"); exit (0);
1690fbfaf8f3Smrg  }
1691fbfaf8f3Smrg  printf ("i386-sequent-ptx\n"); exit (0);
1692fbfaf8f3Smrg#endif
1693fbfaf8f3Smrg
1694fbfaf8f3Smrg#if defined (vax)
1695fbfaf8f3Smrg#if !defined (ultrix)
1696fbfaf8f3Smrg#include <sys/param.h>
1697fbfaf8f3Smrg#if defined (BSD)
1698fbfaf8f3Smrg#if BSD == 43
1699fbfaf8f3Smrg  printf ("vax-dec-bsd4.3\n"); exit (0);
1700fbfaf8f3Smrg#else
1701fbfaf8f3Smrg#if BSD == 199006
1702fbfaf8f3Smrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
1703fbfaf8f3Smrg#else
1704fbfaf8f3Smrg  printf ("vax-dec-bsd\n"); exit (0);
1705fbfaf8f3Smrg#endif
1706fbfaf8f3Smrg#endif
1707fbfaf8f3Smrg#else
1708fbfaf8f3Smrg  printf ("vax-dec-bsd\n"); exit (0);
1709fbfaf8f3Smrg#endif
1710fbfaf8f3Smrg#else
1711fbfaf8f3Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1712fbfaf8f3Smrg  struct utsname un;
1713fbfaf8f3Smrg  uname (&un);
1714fbfaf8f3Smrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1715fbfaf8f3Smrg#else
1716fbfaf8f3Smrg  printf ("vax-dec-ultrix\n"); exit (0);
1717fbfaf8f3Smrg#endif
1718fbfaf8f3Smrg#endif
1719fbfaf8f3Smrg#endif
1720fbfaf8f3Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1721fbfaf8f3Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1722fbfaf8f3Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1723fbfaf8f3Smrg  struct utsname *un;
1724fbfaf8f3Smrg  uname (&un);
1725fbfaf8f3Smrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1726fbfaf8f3Smrg#else
1727fbfaf8f3Smrg  printf ("mips-dec-ultrix\n"); exit (0);
1728fbfaf8f3Smrg#endif
1729fbfaf8f3Smrg#endif
1730fbfaf8f3Smrg#endif
1731fbfaf8f3Smrg
1732fbfaf8f3Smrg#if defined (alliant) && defined (i860)
1733fbfaf8f3Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1734fbfaf8f3Smrg#endif
1735fbfaf8f3Smrg
1736fbfaf8f3Smrg  exit (1);
1737fbfaf8f3Smrg}
1738fbfaf8f3SmrgEOF
1739fbfaf8f3Smrg
1740fbfaf8f3Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1741fbfaf8f3Smrg	{ echo "$SYSTEM_NAME"; exit; }
1742fbfaf8f3Smrg
1743fbfaf8f3Smrg# Apollos put the system type in the environment.
1744fbfaf8f3Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1745fbfaf8f3Smrg
1746ea148d1dSmrgecho "$0: unable to guess system type" >&2
1747ea148d1dSmrg
1748fbfaf8f3Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
1749ea148d1dSmrg    mips:Linux | mips64:Linux)
1750ea148d1dSmrg	# If we got here on MIPS GNU/Linux, output extra information.
1751ea148d1dSmrg	cat >&2 <<EOF
1752ea148d1dSmrg
1753ea148d1dSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1754ea148d1dSmrgthe system type. Please install a C compiler and try again.
1755ea148d1dSmrgEOF
1756ea148d1dSmrg	;;
1757ea148d1dSmrgesac
1758ea148d1dSmrg
175943f32c10Smrgcat >&2 <<EOF
176043f32c10Smrg
17616ef05171SmrgThis script (version $timestamp), has failed to recognize the
17626ef05171Smrgoperating system you are using. If your script is old, overwrite *all*
17636ef05171Smrgcopies of config.guess and config.sub with the latest versions from:
176443f32c10Smrg
1765fbfaf8f3Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
176643f32c10Smrgand
1767fbfaf8f3Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1768fbfaf8f3SmrgEOF
1769fbfaf8f3Smrg
1770fbfaf8f3Smrgour_year=`echo $timestamp | sed 's,-.*,,'`
1771fbfaf8f3Smrgthisyear=`date +%Y`
1772fbfaf8f3Smrg# shellcheck disable=SC2003
1773fbfaf8f3Smrgscript_age=`expr "$thisyear" - "$our_year"`
1774fbfaf8f3Smrgif test "$script_age" -lt 3 ; then
1775fbfaf8f3Smrg   cat >&2 <<EOF
177643f32c10Smrg
17776ef05171SmrgIf $0 has already been updated, send the following data and any
17786ef05171Smrginformation you think might be pertinent to config-patches@gnu.org to
17796ef05171Smrgprovide the necessary information to handle your system.
178043f32c10Smrg
178143f32c10Smrgconfig.guess timestamp = $timestamp
178243f32c10Smrg
178343f32c10Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
178443f32c10Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
178543f32c10Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
178643f32c10Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
178743f32c10Smrg
178843f32c10Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
178943f32c10Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
179043f32c10Smrg
179143f32c10Smrghostinfo               = `(hostinfo) 2>/dev/null`
179243f32c10Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
179343f32c10Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
179443f32c10Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
179543f32c10Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
179643f32c10Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
179743f32c10Smrg
1798ea148d1dSmrgUNAME_MACHINE = "$UNAME_MACHINE"
1799ea148d1dSmrgUNAME_RELEASE = "$UNAME_RELEASE"
1800ea148d1dSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
1801ea148d1dSmrgUNAME_VERSION = "$UNAME_VERSION"
180243f32c10SmrgEOF
1803fbfaf8f3Smrgfi
180443f32c10Smrg
180543f32c10Smrgexit 1
180643f32c10Smrg
180743f32c10Smrg# Local variables:
1808ea148d1dSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
180943f32c10Smrg# time-stamp-start: "timestamp='"
181043f32c10Smrg# time-stamp-format: "%:y-%02m-%02d"
181143f32c10Smrg# time-stamp-end: "'"
181243f32c10Smrg# End:
1813