1f7ec340bSmacallan#! /bin/sh
2f7ec340bSmacallan# Attempt to guess a canonical system name.
366ab3337Smrg#   Copyright 1992-2021 Free Software Foundation, Inc.
4f7ec340bSmacallan
566ab3337Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale
666ab3337Smrg
766ab3337Smrgtimestamp='2021-06-03'
8f7ec340bSmacallan
9f7ec340bSmacallan# This file is free software; you can redistribute it and/or modify it
10f7ec340bSmacallan# under the terms of the GNU General Public License as published by
1166ab3337Smrg# the Free Software Foundation; either version 3 of the License, or
12f7ec340bSmacallan# (at your option) any later version.
13f7ec340bSmacallan#
14f7ec340bSmacallan# This program is distributed in the hope that it will be useful, but
15f7ec340bSmacallan# WITHOUT ANY WARRANTY; without even the implied warranty of
16f7ec340bSmacallan# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17f7ec340bSmacallan# General Public License for more details.
18f7ec340bSmacallan#
19f7ec340bSmacallan# You should have received a copy of the GNU General Public License
2066ab3337Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
21f7ec340bSmacallan#
22f7ec340bSmacallan# As a special exception to the GNU General Public License, if you
23f7ec340bSmacallan# distribute this file as part of a program that contains a
24f7ec340bSmacallan# configuration script generated by Autoconf, you may include it under
2566ab3337Smrg# the same distribution terms that you use for the rest of that
2666ab3337Smrg# program.  This Exception is an additional permission under section 7
2766ab3337Smrg# of the GNU General Public License, version 3 ("GPLv3").
28f7ec340bSmacallan#
2966ab3337Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
30f7ec340bSmacallan#
312a75d1c4Smrg# You can get the latest version of this script from:
3266ab3337Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
3366ab3337Smrg#
3466ab3337Smrg# Please send patches to <config-patches@gnu.org>.
3566ab3337Smrg
3666ab3337Smrg
3766ab3337Smrg# The "shellcheck disable" line above the timestamp inhibits complaints
3866ab3337Smrg# about features and limitations of the classic Bourne shell that were
3966ab3337Smrg# superseded or lifted in POSIX.  However, this script identifies a wide
4066ab3337Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
4166ab3337Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still
4266ab3337Smrg# have a pre-POSIX /bin/sh.
4366ab3337Smrg
44f7ec340bSmacallan
45f7ec340bSmacallanme=`echo "$0" | sed -e 's,.*/,,'`
46f7ec340bSmacallan
47f7ec340bSmacallanusage="\
48f7ec340bSmacallanUsage: $0 [OPTION]
49f7ec340bSmacallan
50f7ec340bSmacallanOutput the configuration name of the system \`$me' is run on.
51f7ec340bSmacallan
5266ab3337SmrgOptions:
53f7ec340bSmacallan  -h, --help         print this help, then exit
54f7ec340bSmacallan  -t, --time-stamp   print date of last modification, then exit
55f7ec340bSmacallan  -v, --version      print version number, then exit
56f7ec340bSmacallan
57f7ec340bSmacallanReport bugs and patches to <config-patches@gnu.org>."
58f7ec340bSmacallan
59f7ec340bSmacallanversion="\
60f7ec340bSmacallanGNU config.guess ($timestamp)
61f7ec340bSmacallan
62f7ec340bSmacallanOriginally written by Per Bothner.
6366ab3337SmrgCopyright 1992-2021 Free Software Foundation, Inc.
64f7ec340bSmacallan
65f7ec340bSmacallanThis is free software; see the source for copying conditions.  There is NO
66f7ec340bSmacallanwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67f7ec340bSmacallan
68f7ec340bSmacallanhelp="
69f7ec340bSmacallanTry \`$me --help' for more information."
70f7ec340bSmacallan
71f7ec340bSmacallan# Parse command line
72f7ec340bSmacallanwhile test $# -gt 0 ; do
73f7ec340bSmacallan  case $1 in
74f7ec340bSmacallan    --time-stamp | --time* | -t )
757ce7e03cSmrg       echo "$timestamp" ; exit ;;
76f7ec340bSmacallan    --version | -v )
777ce7e03cSmrg       echo "$version" ; exit ;;
78f7ec340bSmacallan    --help | --h* | -h )
797ce7e03cSmrg       echo "$usage"; exit ;;
80f7ec340bSmacallan    -- )     # Stop option processing
81f7ec340bSmacallan       shift; break ;;
82f7ec340bSmacallan    - )	# Use stdin as input.
83f7ec340bSmacallan       break ;;
84f7ec340bSmacallan    -* )
85f7ec340bSmacallan       echo "$me: invalid option $1$help" >&2
86f7ec340bSmacallan       exit 1 ;;
87f7ec340bSmacallan    * )
88f7ec340bSmacallan       break ;;
89f7ec340bSmacallan  esac
90f7ec340bSmacallandone
91f7ec340bSmacallan
92f7ec340bSmacallanif test $# != 0; then
93f7ec340bSmacallan  echo "$me: too many arguments$help" >&2
94f7ec340bSmacallan  exit 1
95f7ec340bSmacallanfi
96f7ec340bSmacallan
9766ab3337Smrg# Just in case it came from the environment.
9866ab3337SmrgGUESS=
99f7ec340bSmacallan
100f7ec340bSmacallan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101f7ec340bSmacallan# compiler to aid in system detection is discouraged as it requires
102f7ec340bSmacallan# temporary files to be created and, as you can see below, it is a
103f7ec340bSmacallan# headache to deal with in a portable fashion.
104f7ec340bSmacallan
105f7ec340bSmacallan# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106f7ec340bSmacallan# use `HOST_CC' if defined, but it is deprecated.
107f7ec340bSmacallan
108f7ec340bSmacallan# Portable tmp directory creation inspired by the Autoconf team.
109f7ec340bSmacallan
11066ab3337Smrgtmp=
11166ab3337Smrg# shellcheck disable=SC2172
11266ab3337Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
11366ab3337Smrg
11466ab3337Smrgset_cc_for_build() {
11566ab3337Smrg    # prevent multiple calls if $tmp is already set
11666ab3337Smrg    test "$tmp" && return 0
11766ab3337Smrg    : "${TMPDIR=/tmp}"
11866ab3337Smrg    # shellcheck disable=SC2039,SC3028
11966ab3337Smrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
12066ab3337Smrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
12166ab3337Smrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
12266ab3337Smrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
12366ab3337Smrg    dummy=$tmp/dummy
12466ab3337Smrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
12566ab3337Smrg	,,)    echo "int x;" > "$dummy.c"
12666ab3337Smrg	       for driver in cc gcc c89 c99 ; do
12766ab3337Smrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
12866ab3337Smrg		       CC_FOR_BUILD=$driver
12966ab3337Smrg		       break
13066ab3337Smrg		   fi
13166ab3337Smrg	       done
13266ab3337Smrg	       if test x"$CC_FOR_BUILD" = x ; then
13366ab3337Smrg		   CC_FOR_BUILD=no_compiler_found
13466ab3337Smrg	       fi
13566ab3337Smrg	       ;;
13666ab3337Smrg	,,*)   CC_FOR_BUILD=$CC ;;
13766ab3337Smrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
13866ab3337Smrg    esac
13966ab3337Smrg}
140f7ec340bSmacallan
141f7ec340bSmacallan# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
142f7ec340bSmacallan# (ghazi@noc.rutgers.edu 1994-08-24)
14366ab3337Smrgif test -f /.attbin/uname ; then
144f7ec340bSmacallan	PATH=$PATH:/.attbin ; export PATH
145f7ec340bSmacallanfi
146f7ec340bSmacallan
147f7ec340bSmacallanUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
148f7ec340bSmacallanUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
14966ab3337SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
150f7ec340bSmacallanUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
151f7ec340bSmacallan
15266ab3337Smrgcase $UNAME_SYSTEM in
15366ab3337SmrgLinux|GNU|GNU/*)
15466ab3337Smrg	LIBC=unknown
15566ab3337Smrg
15666ab3337Smrg	set_cc_for_build
15766ab3337Smrg	cat <<-EOF > "$dummy.c"
1582a75d1c4Smrg	#include <features.h>
15966ab3337Smrg	#if defined(__UCLIBC__)
1602a75d1c4Smrg	LIBC=uclibc
16166ab3337Smrg	#elif defined(__dietlibc__)
1622a75d1c4Smrg	LIBC=dietlibc
16366ab3337Smrg	#elif defined(__GLIBC__)
1642a75d1c4Smrg	LIBC=gnu
16566ab3337Smrg	#else
16666ab3337Smrg	#include <stdarg.h>
16766ab3337Smrg	/* First heuristic to detect musl libc.  */
16866ab3337Smrg	#ifdef __DEFINED_va_list
16966ab3337Smrg	LIBC=musl
17066ab3337Smrg	#endif
1712a75d1c4Smrg	#endif
1722a75d1c4Smrg	EOF
17366ab3337Smrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
17466ab3337Smrg	eval "$cc_set_libc"
17566ab3337Smrg
17666ab3337Smrg	# Second heuristic to detect musl libc.
17766ab3337Smrg	if [ "$LIBC" = unknown ] &&
17866ab3337Smrg	   command -v ldd >/dev/null &&
17966ab3337Smrg	   ldd --version 2>&1 | grep -q ^musl; then
18066ab3337Smrg		LIBC=musl
18166ab3337Smrg	fi
18266ab3337Smrg
18366ab3337Smrg	# If the system lacks a compiler, then just pick glibc.
18466ab3337Smrg	# We could probably try harder.
18566ab3337Smrg	if [ "$LIBC" = unknown ]; then
18666ab3337Smrg		LIBC=gnu
18766ab3337Smrg	fi
1882a75d1c4Smrg	;;
1892a75d1c4Smrgesac
1902a75d1c4Smrg
191f7ec340bSmacallan# Note: order is significant - the case branches are not exclusive.
192f7ec340bSmacallan
19366ab3337Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
194f7ec340bSmacallan    *:NetBSD:*:*)
195f7ec340bSmacallan	# NetBSD (nbsd) targets should (where applicable) match one or
1962a75d1c4Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
197f7ec340bSmacallan	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
198f7ec340bSmacallan	# switched to ELF, *-*-netbsd* would select the old
199f7ec340bSmacallan	# object file format.  This provides both forward
200f7ec340bSmacallan	# compatibility and a consistent mechanism for selecting the
201f7ec340bSmacallan	# object file format.
202f7ec340bSmacallan	#
203f7ec340bSmacallan	# Note: NetBSD doesn't particularly care about the vendor
204f7ec340bSmacallan	# portion of the name.  We always set it to "unknown".
20566ab3337Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
20666ab3337Smrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
20766ab3337Smrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
20866ab3337Smrg	    echo unknown)`
20966ab3337Smrg	case $UNAME_MACHINE_ARCH in
21066ab3337Smrg	    aarch64eb) machine=aarch64_be-unknown ;;
211f7ec340bSmacallan	    armeb) machine=armeb-unknown ;;
212f7ec340bSmacallan	    arm*) machine=arm-unknown ;;
213f7ec340bSmacallan	    sh3el) machine=shl-unknown ;;
214f7ec340bSmacallan	    sh3eb) machine=sh-unknown ;;
2157ce7e03cSmrg	    sh5el) machine=sh5le-unknown ;;
21666ab3337Smrg	    earmv*)
21766ab3337Smrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
21866ab3337Smrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
21966ab3337Smrg		machine=${arch}${endian}-unknown
22066ab3337Smrg		;;
22166ab3337Smrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
222f7ec340bSmacallan	esac
223f7ec340bSmacallan	# The Operating System including object format, if it has switched
22466ab3337Smrg	# to ELF recently (or will in the future) and ABI.
22566ab3337Smrg	case $UNAME_MACHINE_ARCH in
22666ab3337Smrg	    earm*)
22766ab3337Smrg		os=netbsdelf
22866ab3337Smrg		;;
229f7ec340bSmacallan	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
23066ab3337Smrg		set_cc_for_build
231f7ec340bSmacallan		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
2322a75d1c4Smrg			| grep -q __ELF__
233f7ec340bSmacallan		then
234f7ec340bSmacallan		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
235f7ec340bSmacallan		    # Return netbsd for either.  FIX?
236f7ec340bSmacallan		    os=netbsd
237f7ec340bSmacallan		else
238f7ec340bSmacallan		    os=netbsdelf
239f7ec340bSmacallan		fi
240f7ec340bSmacallan		;;
241f7ec340bSmacallan	    *)
2422a75d1c4Smrg		os=netbsd
243f7ec340bSmacallan		;;
244f7ec340bSmacallan	esac
24566ab3337Smrg	# Determine ABI tags.
24666ab3337Smrg	case $UNAME_MACHINE_ARCH in
24766ab3337Smrg	    earm*)
24866ab3337Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
24966ab3337Smrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
25066ab3337Smrg		;;
25166ab3337Smrg	esac
252f7ec340bSmacallan	# The OS release
253f7ec340bSmacallan	# Debian GNU/NetBSD machines have a different userland, and
254f7ec340bSmacallan	# thus, need a distinct triplet. However, they do not need
255f7ec340bSmacallan	# kernel version information, so it can be replaced with a
256f7ec340bSmacallan	# suitable tag, in the style of linux-gnu.
25766ab3337Smrg	case $UNAME_VERSION in
258f7ec340bSmacallan	    Debian*)
259f7ec340bSmacallan		release='-gnu'
260f7ec340bSmacallan		;;
261f7ec340bSmacallan	    *)
26266ab3337Smrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
263f7ec340bSmacallan		;;
264f7ec340bSmacallan	esac
265f7ec340bSmacallan	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
266f7ec340bSmacallan	# contains redundant information, the shorter form:
267f7ec340bSmacallan	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
26866ab3337Smrg	GUESS=$machine-${os}${release}${abi-}
26966ab3337Smrg	;;
2702a75d1c4Smrg    *:Bitrig:*:*)
2712a75d1c4Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
27266ab3337Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
27366ab3337Smrg	;;
274f7ec340bSmacallan    *:OpenBSD:*:*)
2757ce7e03cSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
27666ab3337Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
27766ab3337Smrg	;;
27866ab3337Smrg    *:SecBSD:*:*)
27966ab3337Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
28066ab3337Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
28166ab3337Smrg	;;
28266ab3337Smrg    *:LibertyBSD:*:*)
28366ab3337Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
28466ab3337Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
28566ab3337Smrg	;;
28666ab3337Smrg    *:MidnightBSD:*:*)
28766ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
28866ab3337Smrg	;;
2897ce7e03cSmrg    *:ekkoBSD:*:*)
29066ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
29166ab3337Smrg	;;
2927ce7e03cSmrg    *:SolidBSD:*:*)
29366ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
29466ab3337Smrg	;;
29566ab3337Smrg    *:OS108:*:*)
29666ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
29766ab3337Smrg	;;
2987ce7e03cSmrg    macppc:MirBSD:*:*)
29966ab3337Smrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
30066ab3337Smrg	;;
3017ce7e03cSmrg    *:MirBSD:*:*)
30266ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
30366ab3337Smrg	;;
30466ab3337Smrg    *:Sortix:*:*)
30566ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-sortix
30666ab3337Smrg	;;
30766ab3337Smrg    *:Twizzler:*:*)
30866ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-twizzler
30966ab3337Smrg	;;
31066ab3337Smrg    *:Redox:*:*)
31166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-redox
31266ab3337Smrg	;;
31366ab3337Smrg    mips:OSF1:*.*)
31466ab3337Smrg	GUESS=mips-dec-osf1
31566ab3337Smrg	;;
316f7ec340bSmacallan    alpha:OSF1:*:*)
31766ab3337Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
31866ab3337Smrg	trap '' 0
3197ce7e03cSmrg	case $UNAME_RELEASE in
3207ce7e03cSmrg	*4.0)
321f7ec340bSmacallan		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
3227ce7e03cSmrg		;;
3237ce7e03cSmrg	*5.*)
3242a75d1c4Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
3257ce7e03cSmrg		;;
3267ce7e03cSmrg	esac
327f7ec340bSmacallan	# According to Compaq, /usr/sbin/psrinfo has been available on
328f7ec340bSmacallan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
329f7ec340bSmacallan	# covers most systems running today.  This code pipes the CPU
330f7ec340bSmacallan	# types through head -n 1, so we only detect the type of CPU 0.
331f7ec340bSmacallan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
33266ab3337Smrg	case $ALPHA_CPU_TYPE in
333f7ec340bSmacallan	    "EV4 (21064)")
33466ab3337Smrg		UNAME_MACHINE=alpha ;;
335f7ec340bSmacallan	    "EV4.5 (21064)")
33666ab3337Smrg		UNAME_MACHINE=alpha ;;
337f7ec340bSmacallan	    "LCA4 (21066/21068)")
33866ab3337Smrg		UNAME_MACHINE=alpha ;;
339f7ec340bSmacallan	    "EV5 (21164)")
34066ab3337Smrg		UNAME_MACHINE=alphaev5 ;;
341f7ec340bSmacallan	    "EV5.6 (21164A)")
34266ab3337Smrg		UNAME_MACHINE=alphaev56 ;;
343f7ec340bSmacallan	    "EV5.6 (21164PC)")
34466ab3337Smrg		UNAME_MACHINE=alphapca56 ;;
345f7ec340bSmacallan	    "EV5.7 (21164PC)")
34666ab3337Smrg		UNAME_MACHINE=alphapca57 ;;
347f7ec340bSmacallan	    "EV6 (21264)")
34866ab3337Smrg		UNAME_MACHINE=alphaev6 ;;
349f7ec340bSmacallan	    "EV6.7 (21264A)")
35066ab3337Smrg		UNAME_MACHINE=alphaev67 ;;
351f7ec340bSmacallan	    "EV6.8CB (21264C)")
35266ab3337Smrg		UNAME_MACHINE=alphaev68 ;;
353f7ec340bSmacallan	    "EV6.8AL (21264B)")
35466ab3337Smrg		UNAME_MACHINE=alphaev68 ;;
355f7ec340bSmacallan	    "EV6.8CX (21264D)")
35666ab3337Smrg		UNAME_MACHINE=alphaev68 ;;
357f7ec340bSmacallan	    "EV6.9A (21264/EV69A)")
35866ab3337Smrg		UNAME_MACHINE=alphaev69 ;;
359f7ec340bSmacallan	    "EV7 (21364)")
36066ab3337Smrg		UNAME_MACHINE=alphaev7 ;;
361f7ec340bSmacallan	    "EV7.9 (21364A)")
36266ab3337Smrg		UNAME_MACHINE=alphaev79 ;;
363f7ec340bSmacallan	esac
3647ce7e03cSmrg	# A Pn.n version is a patched version.
365f7ec340bSmacallan	# A Vn.n version is a released version.
366f7ec340bSmacallan	# A Tn.n version is a released field test version.
367f7ec340bSmacallan	# A Xn.n version is an unreleased experimental baselevel.
368f7ec340bSmacallan	# 1.2 uses "1.2" for uname -r.
36966ab3337Smrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
37066ab3337Smrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
37166ab3337Smrg	;;
372f7ec340bSmacallan    Amiga*:UNIX_System_V:4.0:*)
37366ab3337Smrg	GUESS=m68k-unknown-sysv4
37466ab3337Smrg	;;
375f7ec340bSmacallan    *:[Aa]miga[Oo][Ss]:*:*)
37666ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-amigaos
37766ab3337Smrg	;;
378f7ec340bSmacallan    *:[Mm]orph[Oo][Ss]:*:*)
37966ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-morphos
38066ab3337Smrg	;;
381f7ec340bSmacallan    *:OS/390:*:*)
38266ab3337Smrg	GUESS=i370-ibm-openedition
38366ab3337Smrg	;;
3847ce7e03cSmrg    *:z/VM:*:*)
38566ab3337Smrg	GUESS=s390-ibm-zvmoe
38666ab3337Smrg	;;
3877ce7e03cSmrg    *:OS400:*:*)
38866ab3337Smrg	GUESS=powerpc-ibm-os400
38966ab3337Smrg	;;
390f7ec340bSmacallan    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
39166ab3337Smrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
39266ab3337Smrg	;;
39366ab3337Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
39466ab3337Smrg	GUESS=arm-unknown-riscos
39566ab3337Smrg	;;
396f7ec340bSmacallan    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
39766ab3337Smrg	GUESS=hppa1.1-hitachi-hiuxmpp
39866ab3337Smrg	;;
399f7ec340bSmacallan    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
400f7ec340bSmacallan	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
40166ab3337Smrg	case `(/bin/universe) 2>/dev/null` in
40266ab3337Smrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
40366ab3337Smrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
40466ab3337Smrg	esac
40566ab3337Smrg	;;
406f7ec340bSmacallan    NILE*:*:*:dcosx)
40766ab3337Smrg	GUESS=pyramid-pyramid-svr4
40866ab3337Smrg	;;
409f7ec340bSmacallan    DRS?6000:unix:4.0:6*)
41066ab3337Smrg	GUESS=sparc-icl-nx6
41166ab3337Smrg	;;
4127ce7e03cSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
413f7ec340bSmacallan	case `/usr/bin/uname -p` in
41466ab3337Smrg	    sparc) GUESS=sparc-icl-nx7 ;;
41566ab3337Smrg	esac
41666ab3337Smrg	;;
4172a75d1c4Smrg    s390x:SunOS:*:*)
41866ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
41966ab3337Smrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
42066ab3337Smrg	;;
421f7ec340bSmacallan    sun4H:SunOS:5.*:*)
42266ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
42366ab3337Smrg	GUESS=sparc-hal-solaris2$SUN_REL
42466ab3337Smrg	;;
425f7ec340bSmacallan    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
42666ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
42766ab3337Smrg	GUESS=sparc-sun-solaris2$SUN_REL
42866ab3337Smrg	;;
4292a75d1c4Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
43066ab3337Smrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
43166ab3337Smrg	;;
4327ce7e03cSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
43366ab3337Smrg	set_cc_for_build
43466ab3337Smrg	SUN_ARCH=i386
4352a75d1c4Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
4362a75d1c4Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
4372a75d1c4Smrg	# This test works for both compilers.
43866ab3337Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
4392a75d1c4Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
44066ab3337Smrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
4412a75d1c4Smrg		grep IS_64BIT_ARCH >/dev/null
4422a75d1c4Smrg	    then
44366ab3337Smrg		SUN_ARCH=x86_64
4442a75d1c4Smrg	    fi
4452a75d1c4Smrg	fi
44666ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
44766ab3337Smrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
44866ab3337Smrg	;;
449f7ec340bSmacallan    sun4*:SunOS:6*:*)
450f7ec340bSmacallan	# According to config.sub, this is the proper way to canonicalize
451f7ec340bSmacallan	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
452f7ec340bSmacallan	# it's likely to be more like Solaris than SunOS4.
45366ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
45466ab3337Smrg	GUESS=sparc-sun-solaris3$SUN_REL
45566ab3337Smrg	;;
456f7ec340bSmacallan    sun4*:SunOS:*:*)
45766ab3337Smrg	case `/usr/bin/arch -k` in
458f7ec340bSmacallan	    Series*|S4*)
459f7ec340bSmacallan		UNAME_RELEASE=`uname -v`
460f7ec340bSmacallan		;;
461f7ec340bSmacallan	esac
462f7ec340bSmacallan	# Japanese Language versions have a version number like `4.1.3-JL'.
46366ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
46466ab3337Smrg	GUESS=sparc-sun-sunos$SUN_REL
46566ab3337Smrg	;;
466f7ec340bSmacallan    sun3*:SunOS:*:*)
46766ab3337Smrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
46866ab3337Smrg	;;
469f7ec340bSmacallan    sun*:*:4.2BSD:*)
470f7ec340bSmacallan	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
47166ab3337Smrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
47266ab3337Smrg	case `/bin/arch` in
473f7ec340bSmacallan	    sun3)
47466ab3337Smrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
475f7ec340bSmacallan		;;
476f7ec340bSmacallan	    sun4)
47766ab3337Smrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
478f7ec340bSmacallan		;;
479f7ec340bSmacallan	esac
48066ab3337Smrg	;;
481f7ec340bSmacallan    aushp:SunOS:*:*)
48266ab3337Smrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
48366ab3337Smrg	;;
484f7ec340bSmacallan    # The situation for MiNT is a little confusing.  The machine name
485f7ec340bSmacallan    # can be virtually everything (everything which is not
486f7ec340bSmacallan    # "atarist" or "atariste" at least should have a processor
487f7ec340bSmacallan    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
488f7ec340bSmacallan    # to the lowercase version "mint" (or "freemint").  Finally
489f7ec340bSmacallan    # the system name "TOS" denotes a system which is actually not
490f7ec340bSmacallan    # MiNT.  But MiNT is downward compatible to TOS, so this should
491f7ec340bSmacallan    # be no problem.
492f7ec340bSmacallan    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
49366ab3337Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
49466ab3337Smrg	;;
495f7ec340bSmacallan    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
49666ab3337Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
49766ab3337Smrg	;;
498f7ec340bSmacallan    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
49966ab3337Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
50066ab3337Smrg	;;
501f7ec340bSmacallan    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
50266ab3337Smrg	GUESS=m68k-milan-mint$UNAME_RELEASE
50366ab3337Smrg	;;
504f7ec340bSmacallan    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
50566ab3337Smrg	GUESS=m68k-hades-mint$UNAME_RELEASE
50666ab3337Smrg	;;
507f7ec340bSmacallan    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
50866ab3337Smrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
50966ab3337Smrg	;;
5107ce7e03cSmrg    m68k:machten:*:*)
51166ab3337Smrg	GUESS=m68k-apple-machten$UNAME_RELEASE
51266ab3337Smrg	;;
513f7ec340bSmacallan    powerpc:machten:*:*)
51466ab3337Smrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
51566ab3337Smrg	;;
516f7ec340bSmacallan    RISC*:Mach:*:*)
51766ab3337Smrg	GUESS=mips-dec-mach_bsd4.3
51866ab3337Smrg	;;
519f7ec340bSmacallan    RISC*:ULTRIX:*:*)
52066ab3337Smrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
52166ab3337Smrg	;;
522f7ec340bSmacallan    VAX*:ULTRIX*:*:*)
52366ab3337Smrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
52466ab3337Smrg	;;
525f7ec340bSmacallan    2020:CLIX:*:* | 2430:CLIX:*:*)
52666ab3337Smrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
52766ab3337Smrg	;;
528f7ec340bSmacallan    mips:*:*:UMIPS | mips:*:*:RISCos)
52966ab3337Smrg	set_cc_for_build
53066ab3337Smrg	sed 's/^	//' << EOF > "$dummy.c"
531f7ec340bSmacallan#ifdef __cplusplus
532f7ec340bSmacallan#include <stdio.h>  /* for printf() prototype */
533f7ec340bSmacallan	int main (int argc, char *argv[]) {
534f7ec340bSmacallan#else
535f7ec340bSmacallan	int main (argc, argv) int argc; char *argv[]; {
536f7ec340bSmacallan#endif
537f7ec340bSmacallan	#if defined (host_mips) && defined (MIPSEB)
538f7ec340bSmacallan	#if defined (SYSTYPE_SYSV)
53966ab3337Smrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
540f7ec340bSmacallan	#endif
541f7ec340bSmacallan	#if defined (SYSTYPE_SVR4)
54266ab3337Smrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
543f7ec340bSmacallan	#endif
544f7ec340bSmacallan	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
54566ab3337Smrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
546f7ec340bSmacallan	#endif
547f7ec340bSmacallan	#endif
548f7ec340bSmacallan	  exit (-1);
549f7ec340bSmacallan	}
550f7ec340bSmacallanEOF
55166ab3337Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
55266ab3337Smrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
55366ab3337Smrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5547ce7e03cSmrg	    { echo "$SYSTEM_NAME"; exit; }
55566ab3337Smrg	GUESS=mips-mips-riscos$UNAME_RELEASE
55666ab3337Smrg	;;
557f7ec340bSmacallan    Motorola:PowerMAX_OS:*:*)
55866ab3337Smrg	GUESS=powerpc-motorola-powermax
55966ab3337Smrg	;;
560f7ec340bSmacallan    Motorola:*:4.3:PL8-*)
56166ab3337Smrg	GUESS=powerpc-harris-powermax
56266ab3337Smrg	;;
563f7ec340bSmacallan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
56466ab3337Smrg	GUESS=powerpc-harris-powermax
56566ab3337Smrg	;;
566f7ec340bSmacallan    Night_Hawk:Power_UNIX:*:*)
56766ab3337Smrg	GUESS=powerpc-harris-powerunix
56866ab3337Smrg	;;
569f7ec340bSmacallan    m88k:CX/UX:7*:*)
57066ab3337Smrg	GUESS=m88k-harris-cxux7
57166ab3337Smrg	;;
572f7ec340bSmacallan    m88k:*:4*:R4*)
57366ab3337Smrg	GUESS=m88k-motorola-sysv4
57466ab3337Smrg	;;
575f7ec340bSmacallan    m88k:*:3*:R3*)
57666ab3337Smrg	GUESS=m88k-motorola-sysv3
57766ab3337Smrg	;;
578f7ec340bSmacallan    AViiON:dgux:*:*)
5792a75d1c4Smrg	# DG/UX returns AViiON for all architectures
5802a75d1c4Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
58166ab3337Smrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
582f7ec340bSmacallan	then
58366ab3337Smrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
58466ab3337Smrg	       test "$TARGET_BINARY_INTERFACE"x = x
585f7ec340bSmacallan	    then
58666ab3337Smrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
587f7ec340bSmacallan	    else
58866ab3337Smrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
589f7ec340bSmacallan	    fi
590f7ec340bSmacallan	else
59166ab3337Smrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
592f7ec340bSmacallan	fi
59366ab3337Smrg	;;
594f7ec340bSmacallan    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
59566ab3337Smrg	GUESS=m88k-dolphin-sysv3
59666ab3337Smrg	;;
597f7ec340bSmacallan    M88*:*:R3*:*)
598f7ec340bSmacallan	# Delta 88k system running SVR3
59966ab3337Smrg	GUESS=m88k-motorola-sysv3
60066ab3337Smrg	;;
601f7ec340bSmacallan    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
60266ab3337Smrg	GUESS=m88k-tektronix-sysv3
60366ab3337Smrg	;;
604f7ec340bSmacallan    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
60566ab3337Smrg	GUESS=m68k-tektronix-bsd
60666ab3337Smrg	;;
607f7ec340bSmacallan    *:IRIX*:*:*)
60866ab3337Smrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
60966ab3337Smrg	GUESS=mips-sgi-irix$IRIX_REL
61066ab3337Smrg	;;
611f7ec340bSmacallan    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
61266ab3337Smrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
61366ab3337Smrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
614f7ec340bSmacallan    i*86:AIX:*:*)
61566ab3337Smrg	GUESS=i386-ibm-aix
61666ab3337Smrg	;;
617f7ec340bSmacallan    ia64:AIX:*:*)
61866ab3337Smrg	if test -x /usr/bin/oslevel ; then
619f7ec340bSmacallan		IBM_REV=`/usr/bin/oslevel`
620f7ec340bSmacallan	else
62166ab3337Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
622f7ec340bSmacallan	fi
62366ab3337Smrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
62466ab3337Smrg	;;
625f7ec340bSmacallan    *:AIX:2:3)
626f7ec340bSmacallan	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
62766ab3337Smrg		set_cc_for_build
62866ab3337Smrg		sed 's/^		//' << EOF > "$dummy.c"
629f7ec340bSmacallan		#include <sys/systemcfg.h>
630f7ec340bSmacallan
631f7ec340bSmacallan		main()
632f7ec340bSmacallan			{
633f7ec340bSmacallan			if (!__power_pc())
634f7ec340bSmacallan				exit(1);
635f7ec340bSmacallan			puts("powerpc-ibm-aix3.2.5");
636f7ec340bSmacallan			exit(0);
637f7ec340bSmacallan			}
638f7ec340bSmacallanEOF
63966ab3337Smrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6407ce7e03cSmrg		then
64166ab3337Smrg			GUESS=$SYSTEM_NAME
6427ce7e03cSmrg		else
64366ab3337Smrg			GUESS=rs6000-ibm-aix3.2.5
6447ce7e03cSmrg		fi
645f7ec340bSmacallan	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
64666ab3337Smrg		GUESS=rs6000-ibm-aix3.2.4
647f7ec340bSmacallan	else
64866ab3337Smrg		GUESS=rs6000-ibm-aix3.2
649f7ec340bSmacallan	fi
65066ab3337Smrg	;;
6512a75d1c4Smrg    *:AIX:*:[4567])
652f7ec340bSmacallan	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
65366ab3337Smrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
654f7ec340bSmacallan		IBM_ARCH=rs6000
655f7ec340bSmacallan	else
656f7ec340bSmacallan		IBM_ARCH=powerpc
657f7ec340bSmacallan	fi
65866ab3337Smrg	if test -x /usr/bin/lslpp ; then
65966ab3337Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
66066ab3337Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
661f7ec340bSmacallan	else
66266ab3337Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
663f7ec340bSmacallan	fi
66466ab3337Smrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
66566ab3337Smrg	;;
666f7ec340bSmacallan    *:AIX:*:*)
66766ab3337Smrg	GUESS=rs6000-ibm-aix
66866ab3337Smrg	;;
66966ab3337Smrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
67066ab3337Smrg	GUESS=romp-ibm-bsd4.4
67166ab3337Smrg	;;
672f7ec340bSmacallan    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
67366ab3337Smrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
67466ab3337Smrg	;;                                  # report: romp-ibm BSD 4.3
675f7ec340bSmacallan    *:BOSX:*:*)
67666ab3337Smrg	GUESS=rs6000-bull-bosx
67766ab3337Smrg	;;
678f7ec340bSmacallan    DPX/2?00:B.O.S.:*:*)
67966ab3337Smrg	GUESS=m68k-bull-sysv3
68066ab3337Smrg	;;
681f7ec340bSmacallan    9000/[34]??:4.3bsd:1.*:*)
68266ab3337Smrg	GUESS=m68k-hp-bsd
68366ab3337Smrg	;;
684f7ec340bSmacallan    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
68566ab3337Smrg	GUESS=m68k-hp-bsd4.4
68666ab3337Smrg	;;
687f7ec340bSmacallan    9000/[34678]??:HP-UX:*:*)
68866ab3337Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
68966ab3337Smrg	case $UNAME_MACHINE in
69066ab3337Smrg	    9000/31?)            HP_ARCH=m68000 ;;
69166ab3337Smrg	    9000/[34]??)         HP_ARCH=m68k ;;
692f7ec340bSmacallan	    9000/[678][0-9][0-9])
69366ab3337Smrg		if test -x /usr/bin/getconf; then
694f7ec340bSmacallan		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
6952a75d1c4Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
69666ab3337Smrg		    case $sc_cpu_version in
69766ab3337Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
69866ab3337Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
6992a75d1c4Smrg		      532)                      # CPU_PA_RISC2_0
70066ab3337Smrg			case $sc_kernel_bits in
70166ab3337Smrg			  32) HP_ARCH=hppa2.0n ;;
70266ab3337Smrg			  64) HP_ARCH=hppa2.0w ;;
70366ab3337Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
7042a75d1c4Smrg			esac ;;
7052a75d1c4Smrg		    esac
706f7ec340bSmacallan		fi
70766ab3337Smrg		if test "$HP_ARCH" = ""; then
70866ab3337Smrg		    set_cc_for_build
70966ab3337Smrg		    sed 's/^		//' << EOF > "$dummy.c"
710f7ec340bSmacallan
7112a75d1c4Smrg		#define _HPUX_SOURCE
7122a75d1c4Smrg		#include <stdlib.h>
7132a75d1c4Smrg		#include <unistd.h>
714f7ec340bSmacallan
7152a75d1c4Smrg		int main ()
7162a75d1c4Smrg		{
7172a75d1c4Smrg		#if defined(_SC_KERNEL_BITS)
7182a75d1c4Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
7192a75d1c4Smrg		#endif
7202a75d1c4Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
721f7ec340bSmacallan
7222a75d1c4Smrg		    switch (cpu)
7232a75d1c4Smrg			{
7242a75d1c4Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
7252a75d1c4Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
7262a75d1c4Smrg			case CPU_PA_RISC2_0:
7272a75d1c4Smrg		#if defined(_SC_KERNEL_BITS)
7282a75d1c4Smrg			    switch (bits)
7292a75d1c4Smrg				{
7302a75d1c4Smrg				case 64: puts ("hppa2.0w"); break;
7312a75d1c4Smrg				case 32: puts ("hppa2.0n"); break;
7322a75d1c4Smrg				default: puts ("hppa2.0"); break;
7332a75d1c4Smrg				} break;
7342a75d1c4Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
7352a75d1c4Smrg			    puts ("hppa2.0"); break;
7362a75d1c4Smrg		#endif
7372a75d1c4Smrg			default: puts ("hppa1.0"); break;
7382a75d1c4Smrg			}
7392a75d1c4Smrg		    exit (0);
7402a75d1c4Smrg		}
741f7ec340bSmacallanEOF
74266ab3337Smrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
743f7ec340bSmacallan		    test -z "$HP_ARCH" && HP_ARCH=hppa
744f7ec340bSmacallan		fi ;;
745f7ec340bSmacallan	esac
74666ab3337Smrg	if test "$HP_ARCH" = hppa2.0w
747f7ec340bSmacallan	then
74866ab3337Smrg	    set_cc_for_build
7497ce7e03cSmrg
7507ce7e03cSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7517ce7e03cSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7527ce7e03cSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
7537ce7e03cSmrg	    #
7547ce7e03cSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
7557ce7e03cSmrg	    # => hppa2.0w-hp-hpux11.23
7567ce7e03cSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7577ce7e03cSmrg	    # => hppa64-hp-hpux11.23
7587ce7e03cSmrg
75966ab3337Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
7602a75d1c4Smrg		grep -q __LP64__
761f7ec340bSmacallan	    then
76266ab3337Smrg		HP_ARCH=hppa2.0w
763f7ec340bSmacallan	    else
76466ab3337Smrg		HP_ARCH=hppa64
765f7ec340bSmacallan	    fi
766f7ec340bSmacallan	fi
76766ab3337Smrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
76866ab3337Smrg	;;
769f7ec340bSmacallan    ia64:HP-UX:*:*)
77066ab3337Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
77166ab3337Smrg	GUESS=ia64-hp-hpux$HPUX_REV
77266ab3337Smrg	;;
773f7ec340bSmacallan    3050*:HI-UX:*:*)
77466ab3337Smrg	set_cc_for_build
77566ab3337Smrg	sed 's/^	//' << EOF > "$dummy.c"
776f7ec340bSmacallan	#include <unistd.h>
777f7ec340bSmacallan	int
778f7ec340bSmacallan	main ()
779f7ec340bSmacallan	{
780f7ec340bSmacallan	  long cpu = sysconf (_SC_CPU_VERSION);
781f7ec340bSmacallan	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
782f7ec340bSmacallan	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
783f7ec340bSmacallan	     results, however.  */
784f7ec340bSmacallan	  if (CPU_IS_PA_RISC (cpu))
785f7ec340bSmacallan	    {
786f7ec340bSmacallan	      switch (cpu)
787f7ec340bSmacallan		{
788f7ec340bSmacallan		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
789f7ec340bSmacallan		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
790f7ec340bSmacallan		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
791f7ec340bSmacallan		  default: puts ("hppa-hitachi-hiuxwe2"); break;
792f7ec340bSmacallan		}
793f7ec340bSmacallan	    }
794f7ec340bSmacallan	  else if (CPU_IS_HP_MC68K (cpu))
795f7ec340bSmacallan	    puts ("m68k-hitachi-hiuxwe2");
796f7ec340bSmacallan	  else puts ("unknown-hitachi-hiuxwe2");
797f7ec340bSmacallan	  exit (0);
798f7ec340bSmacallan	}
799f7ec340bSmacallanEOF
80066ab3337Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
8017ce7e03cSmrg		{ echo "$SYSTEM_NAME"; exit; }
80266ab3337Smrg	GUESS=unknown-hitachi-hiuxwe2
80366ab3337Smrg	;;
80466ab3337Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
80566ab3337Smrg	GUESS=hppa1.1-hp-bsd
80666ab3337Smrg	;;
807f7ec340bSmacallan    9000/8??:4.3bsd:*:*)
80866ab3337Smrg	GUESS=hppa1.0-hp-bsd
80966ab3337Smrg	;;
810f7ec340bSmacallan    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
81166ab3337Smrg	GUESS=hppa1.0-hp-mpeix
81266ab3337Smrg	;;
81366ab3337Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
81466ab3337Smrg	GUESS=hppa1.1-hp-osf
81566ab3337Smrg	;;
816f7ec340bSmacallan    hp8??:OSF1:*:*)
81766ab3337Smrg	GUESS=hppa1.0-hp-osf
81866ab3337Smrg	;;
819f7ec340bSmacallan    i*86:OSF1:*:*)
82066ab3337Smrg	if test -x /usr/sbin/sysversion ; then
82166ab3337Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
822f7ec340bSmacallan	else
82366ab3337Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1
824f7ec340bSmacallan	fi
82566ab3337Smrg	;;
826f7ec340bSmacallan    parisc*:Lites*:*:*)
82766ab3337Smrg	GUESS=hppa1.1-hp-lites
82866ab3337Smrg	;;
829f7ec340bSmacallan    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
83066ab3337Smrg	GUESS=c1-convex-bsd
83166ab3337Smrg	;;
832f7ec340bSmacallan    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
833f7ec340bSmacallan	if getsysinfo -f scalar_acc
834f7ec340bSmacallan	then echo c32-convex-bsd
835f7ec340bSmacallan	else echo c2-convex-bsd
836f7ec340bSmacallan	fi
8372a75d1c4Smrg	exit ;;
838f7ec340bSmacallan    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
83966ab3337Smrg	GUESS=c34-convex-bsd
84066ab3337Smrg	;;
841f7ec340bSmacallan    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
84266ab3337Smrg	GUESS=c38-convex-bsd
84366ab3337Smrg	;;
844f7ec340bSmacallan    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
84566ab3337Smrg	GUESS=c4-convex-bsd
84666ab3337Smrg	;;
847f7ec340bSmacallan    CRAY*Y-MP:*:*:*)
84866ab3337Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
84966ab3337Smrg	GUESS=ymp-cray-unicos$CRAY_REL
85066ab3337Smrg	;;
851f7ec340bSmacallan    CRAY*[A-Z]90:*:*:*)
85266ab3337Smrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
853f7ec340bSmacallan	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
854f7ec340bSmacallan	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
855f7ec340bSmacallan	      -e 's/\.[^.]*$/.X/'
8567ce7e03cSmrg	exit ;;
857f7ec340bSmacallan    CRAY*TS:*:*:*)
85866ab3337Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
85966ab3337Smrg	GUESS=t90-cray-unicos$CRAY_REL
86066ab3337Smrg	;;
861f7ec340bSmacallan    CRAY*T3E:*:*:*)
86266ab3337Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
86366ab3337Smrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
86466ab3337Smrg	;;
865f7ec340bSmacallan    CRAY*SV1:*:*:*)
86666ab3337Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
86766ab3337Smrg	GUESS=sv1-cray-unicos$CRAY_REL
86866ab3337Smrg	;;
869f7ec340bSmacallan    *:UNICOS/mp:*:*)
87066ab3337Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
87166ab3337Smrg	GUESS=craynv-cray-unicosmp$CRAY_REL
87266ab3337Smrg	;;
873f7ec340bSmacallan    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
87466ab3337Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
87566ab3337Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
87666ab3337Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
87766ab3337Smrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
87866ab3337Smrg	;;
8797ce7e03cSmrg    5000:UNIX_System_V:4.*:*)
88066ab3337Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
88166ab3337Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
88266ab3337Smrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
88366ab3337Smrg	;;
884f7ec340bSmacallan    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
88566ab3337Smrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
88666ab3337Smrg	;;
887f7ec340bSmacallan    sparc*:BSD/OS:*:*)
88866ab3337Smrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
88966ab3337Smrg	;;
890f7ec340bSmacallan    *:BSD/OS:*:*)
89166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
89266ab3337Smrg	;;
89366ab3337Smrg    arm:FreeBSD:*:*)
89466ab3337Smrg	UNAME_PROCESSOR=`uname -p`
89566ab3337Smrg	set_cc_for_build
89666ab3337Smrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
89766ab3337Smrg	    | grep -q __ARM_PCS_VFP
89866ab3337Smrg	then
89966ab3337Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
90066ab3337Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
90166ab3337Smrg	else
90266ab3337Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
90366ab3337Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
90466ab3337Smrg	fi
90566ab3337Smrg	;;
9067ce7e03cSmrg    *:FreeBSD:*:*)
9072a75d1c4Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
90866ab3337Smrg	case $UNAME_PROCESSOR in
9097ce7e03cSmrg	    amd64)
91066ab3337Smrg		UNAME_PROCESSOR=x86_64 ;;
91166ab3337Smrg	    i386)
91266ab3337Smrg		UNAME_PROCESSOR=i586 ;;
9137ce7e03cSmrg	esac
91466ab3337Smrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
91566ab3337Smrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
91666ab3337Smrg	;;
917f7ec340bSmacallan    i*:CYGWIN*:*)
91866ab3337Smrg	GUESS=$UNAME_MACHINE-pc-cygwin
91966ab3337Smrg	;;
9202a75d1c4Smrg    *:MINGW64*:*)
92166ab3337Smrg	GUESS=$UNAME_MACHINE-pc-mingw64
92266ab3337Smrg	;;
9237ce7e03cSmrg    *:MINGW*:*)
92466ab3337Smrg	GUESS=$UNAME_MACHINE-pc-mingw32
92566ab3337Smrg	;;
92666ab3337Smrg    *:MSYS*:*)
92766ab3337Smrg	GUESS=$UNAME_MACHINE-pc-msys
92866ab3337Smrg	;;
929f7ec340bSmacallan    i*:PW*:*)
93066ab3337Smrg	GUESS=$UNAME_MACHINE-pc-pw32
93166ab3337Smrg	;;
9322a75d1c4Smrg    *:Interix*:*)
93366ab3337Smrg	case $UNAME_MACHINE in
9347ce7e03cSmrg	    x86)
93566ab3337Smrg		GUESS=i586-pc-interix$UNAME_RELEASE
93666ab3337Smrg		;;
9372a75d1c4Smrg	    authenticamd | genuineintel | EM64T)
93866ab3337Smrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
93966ab3337Smrg		;;
9407ce7e03cSmrg	    IA64)
94166ab3337Smrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
94266ab3337Smrg		;;
9437ce7e03cSmrg	esac ;;
944f7ec340bSmacallan    i*:UWIN*:*)
94566ab3337Smrg	GUESS=$UNAME_MACHINE-pc-uwin
94666ab3337Smrg	;;
9477ce7e03cSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
94866ab3337Smrg	GUESS=x86_64-pc-cygwin
94966ab3337Smrg	;;
950f7ec340bSmacallan    prep*:SunOS:5.*:*)
95166ab3337Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
95266ab3337Smrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
95366ab3337Smrg	;;
954f7ec340bSmacallan    *:GNU:*:*)
9557ce7e03cSmrg	# the GNU system
95666ab3337Smrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
95766ab3337Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
95866ab3337Smrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
95966ab3337Smrg	;;
9607ce7e03cSmrg    *:GNU/*:*:*)
9617ce7e03cSmrg	# other systems with GNU libc and userland
96266ab3337Smrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
96366ab3337Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
96466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
96566ab3337Smrg	;;
96666ab3337Smrg    *:Minix:*:*)
96766ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-minix
96866ab3337Smrg	;;
9692a75d1c4Smrg    aarch64:Linux:*:*)
97066ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
97166ab3337Smrg	;;
9722a75d1c4Smrg    aarch64_be:Linux:*:*)
9732a75d1c4Smrg	UNAME_MACHINE=aarch64_be
97466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
97566ab3337Smrg	;;
9762a75d1c4Smrg    alpha:Linux:*:*)
97766ab3337Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
9782a75d1c4Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
9792a75d1c4Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
9802a75d1c4Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
9812a75d1c4Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
9822a75d1c4Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
9832a75d1c4Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
9842a75d1c4Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
9852a75d1c4Smrg	esac
9862a75d1c4Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
98766ab3337Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
98866ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
98966ab3337Smrg	;;
99066ab3337Smrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
99166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
99266ab3337Smrg	;;
993f7ec340bSmacallan    arm*:Linux:*:*)
99466ab3337Smrg	set_cc_for_build
9957ce7e03cSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
9967ce7e03cSmrg	    | grep -q __ARM_EABI__
9977ce7e03cSmrg	then
99866ab3337Smrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9997ce7e03cSmrg	else
10002a75d1c4Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
10012a75d1c4Smrg		| grep -q __ARM_PCS_VFP
10022a75d1c4Smrg	    then
100366ab3337Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
10042a75d1c4Smrg	    else
100566ab3337Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
10062a75d1c4Smrg	    fi
10077ce7e03cSmrg	fi
100866ab3337Smrg	;;
10097ce7e03cSmrg    avr32*:Linux:*:*)
101066ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
101166ab3337Smrg	;;
1012f7ec340bSmacallan    cris:Linux:*:*)
101366ab3337Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
101466ab3337Smrg	;;
10157ce7e03cSmrg    crisv32:Linux:*:*)
101666ab3337Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
101766ab3337Smrg	;;
101866ab3337Smrg    e2k:Linux:*:*)
101966ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102066ab3337Smrg	;;
10217ce7e03cSmrg    frv:Linux:*:*)
102266ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102366ab3337Smrg	;;
10242a75d1c4Smrg    hexagon:Linux:*:*)
102566ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
102666ab3337Smrg	;;
10272a75d1c4Smrg    i*86:Linux:*:*)
102866ab3337Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
102966ab3337Smrg	;;
1030f7ec340bSmacallan    ia64:Linux:*:*)
103166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103266ab3337Smrg	;;
103366ab3337Smrg    k1om:Linux:*:*)
103466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103566ab3337Smrg	;;
103666ab3337Smrg    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
103766ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
103866ab3337Smrg	;;
10397ce7e03cSmrg    m32r*:Linux:*:*)
104066ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
104166ab3337Smrg	;;
1042f7ec340bSmacallan    m68*:Linux:*:*)
104366ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
104466ab3337Smrg	;;
10452a75d1c4Smrg    mips:Linux:*:* | mips64:Linux:*:*)
104666ab3337Smrg	set_cc_for_build
104766ab3337Smrg	IS_GLIBC=0
104866ab3337Smrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
104966ab3337Smrg	sed 's/^	//' << EOF > "$dummy.c"
1050f7ec340bSmacallan	#undef CPU
105166ab3337Smrg	#undef mips
105266ab3337Smrg	#undef mipsel
105366ab3337Smrg	#undef mips64
105466ab3337Smrg	#undef mips64el
105566ab3337Smrg	#if ${IS_GLIBC} && defined(_ABI64)
105666ab3337Smrg	LIBCABI=gnuabi64
105766ab3337Smrg	#else
105866ab3337Smrg	#if ${IS_GLIBC} && defined(_ABIN32)
105966ab3337Smrg	LIBCABI=gnuabin32
106066ab3337Smrg	#else
106166ab3337Smrg	LIBCABI=${LIBC}
106266ab3337Smrg	#endif
106366ab3337Smrg	#endif
106466ab3337Smrg
106566ab3337Smrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
106666ab3337Smrg	CPU=mipsisa64r6
106766ab3337Smrg	#else
106866ab3337Smrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
106966ab3337Smrg	CPU=mipsisa32r6
107066ab3337Smrg	#else
107166ab3337Smrg	#if defined(__mips64)
107266ab3337Smrg	CPU=mips64
107366ab3337Smrg	#else
107466ab3337Smrg	CPU=mips
107566ab3337Smrg	#endif
107666ab3337Smrg	#endif
107766ab3337Smrg	#endif
107866ab3337Smrg
1079f7ec340bSmacallan	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
108066ab3337Smrg	MIPS_ENDIAN=el
1081f7ec340bSmacallan	#else
1082f7ec340bSmacallan	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
108366ab3337Smrg	MIPS_ENDIAN=
1084f7ec340bSmacallan	#else
108566ab3337Smrg	MIPS_ENDIAN=
1086f7ec340bSmacallan	#endif
1087f7ec340bSmacallan	#endif
1088f7ec340bSmacallanEOF
108966ab3337Smrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
109066ab3337Smrg	eval "$cc_set_vars"
109166ab3337Smrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
109266ab3337Smrg	;;
109366ab3337Smrg    mips64el:Linux:*:*)
109466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
109566ab3337Smrg	;;
109666ab3337Smrg    openrisc*:Linux:*:*)
109766ab3337Smrg	GUESS=or1k-unknown-linux-$LIBC
109866ab3337Smrg	;;
109966ab3337Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
110066ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1101f7ec340bSmacallan	;;
11022a75d1c4Smrg    padre:Linux:*:*)
110366ab3337Smrg	GUESS=sparc-unknown-linux-$LIBC
110466ab3337Smrg	;;
11052a75d1c4Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
110666ab3337Smrg	GUESS=hppa64-unknown-linux-$LIBC
110766ab3337Smrg	;;
1108f7ec340bSmacallan    parisc:Linux:*:* | hppa:Linux:*:*)
1109f7ec340bSmacallan	# Look for CPU level
1110f7ec340bSmacallan	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
111166ab3337Smrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
111266ab3337Smrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
111366ab3337Smrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
1114f7ec340bSmacallan	esac
111566ab3337Smrg	;;
11162a75d1c4Smrg    ppc64:Linux:*:*)
111766ab3337Smrg	GUESS=powerpc64-unknown-linux-$LIBC
111866ab3337Smrg	;;
11192a75d1c4Smrg    ppc:Linux:*:*)
112066ab3337Smrg	GUESS=powerpc-unknown-linux-$LIBC
112166ab3337Smrg	;;
112266ab3337Smrg    ppc64le:Linux:*:*)
112366ab3337Smrg	GUESS=powerpc64le-unknown-linux-$LIBC
112466ab3337Smrg	;;
112566ab3337Smrg    ppcle:Linux:*:*)
112666ab3337Smrg	GUESS=powerpcle-unknown-linux-$LIBC
112766ab3337Smrg	;;
112866ab3337Smrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
112966ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
113066ab3337Smrg	;;
1131f7ec340bSmacallan    s390:Linux:*:* | s390x:Linux:*:*)
113266ab3337Smrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
113366ab3337Smrg	;;
1134f7ec340bSmacallan    sh64*:Linux:*:*)
113566ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
113666ab3337Smrg	;;
1137f7ec340bSmacallan    sh*:Linux:*:*)
113866ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
113966ab3337Smrg	;;
1140f7ec340bSmacallan    sparc:Linux:*:* | sparc64:Linux:*:*)
114166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
114266ab3337Smrg	;;
11432a75d1c4Smrg    tile*:Linux:*:*)
114466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
114566ab3337Smrg	;;
11467ce7e03cSmrg    vax:Linux:*:*)
114766ab3337Smrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
114866ab3337Smrg	;;
1149f7ec340bSmacallan    x86_64:Linux:*:*)
115066ab3337Smrg	set_cc_for_build
115166ab3337Smrg	LIBCABI=$LIBC
115266ab3337Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
115366ab3337Smrg	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
115466ab3337Smrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
115566ab3337Smrg		grep IS_X32 >/dev/null
115666ab3337Smrg	    then
115766ab3337Smrg		LIBCABI=${LIBC}x32
115866ab3337Smrg	    fi
115966ab3337Smrg	fi
116066ab3337Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
116166ab3337Smrg	;;
11627ce7e03cSmrg    xtensa*:Linux:*:*)
116366ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
116466ab3337Smrg	;;
1165f7ec340bSmacallan    i*86:DYNIX/ptx:4*:*)
1166f7ec340bSmacallan	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1167f7ec340bSmacallan	# earlier versions are messed up and put the nodename in both
1168f7ec340bSmacallan	# sysname and nodename.
116966ab3337Smrg	GUESS=i386-sequent-sysv4
117066ab3337Smrg	;;
1171f7ec340bSmacallan    i*86:UNIX_SV:4.2MP:2.*)
11722a75d1c4Smrg	# Unixware is an offshoot of SVR4, but it has its own version
11732a75d1c4Smrg	# number series starting with 2...
11742a75d1c4Smrg	# I am not positive that other SVR4 systems won't match this,
1175f7ec340bSmacallan	# I just have to hope.  -- rms.
11762a75d1c4Smrg	# Use sysv4.2uw... so that sysv4* matches it.
117766ab3337Smrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
117866ab3337Smrg	;;
1179f7ec340bSmacallan    i*86:OS/2:*:*)
1180f7ec340bSmacallan	# If we were able to find `uname', then EMX Unix compatibility
1181f7ec340bSmacallan	# is probably installed.
118266ab3337Smrg	GUESS=$UNAME_MACHINE-pc-os2-emx
118366ab3337Smrg	;;
1184f7ec340bSmacallan    i*86:XTS-300:*:STOP)
118566ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-stop
118666ab3337Smrg	;;
1187f7ec340bSmacallan    i*86:atheos:*:*)
118866ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-atheos
118966ab3337Smrg	;;
11907ce7e03cSmrg    i*86:syllable:*:*)
119166ab3337Smrg	GUESS=$UNAME_MACHINE-pc-syllable
119266ab3337Smrg	;;
11932a75d1c4Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
119466ab3337Smrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
119566ab3337Smrg	;;
1196f7ec340bSmacallan    i*86:*DOS:*:*)
119766ab3337Smrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
119866ab3337Smrg	;;
119966ab3337Smrg    i*86:*:4.*:*)
120066ab3337Smrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1201f7ec340bSmacallan	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
120266ab3337Smrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1203f7ec340bSmacallan	else
120466ab3337Smrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1205f7ec340bSmacallan	fi
120666ab3337Smrg	;;
12077ce7e03cSmrg    i*86:*:5:[678]*)
12082a75d1c4Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1209f7ec340bSmacallan	case `/bin/uname -X | grep "^Machine"` in
1210f7ec340bSmacallan	    *486*)	     UNAME_MACHINE=i486 ;;
1211f7ec340bSmacallan	    *Pentium)	     UNAME_MACHINE=i586 ;;
1212f7ec340bSmacallan	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1213f7ec340bSmacallan	esac
121466ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
121566ab3337Smrg	;;
1216f7ec340bSmacallan    i*86:*:3.2:*)
1217f7ec340bSmacallan	if test -f /usr/options/cb.name; then
1218f7ec340bSmacallan		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
121966ab3337Smrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1220f7ec340bSmacallan	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1221f7ec340bSmacallan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1222f7ec340bSmacallan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1223f7ec340bSmacallan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1224f7ec340bSmacallan			&& UNAME_MACHINE=i586
1225f7ec340bSmacallan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1226f7ec340bSmacallan			&& UNAME_MACHINE=i686
1227f7ec340bSmacallan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1228f7ec340bSmacallan			&& UNAME_MACHINE=i686
122966ab3337Smrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1230f7ec340bSmacallan	else
123166ab3337Smrg		GUESS=$UNAME_MACHINE-pc-sysv32
1232f7ec340bSmacallan	fi
123366ab3337Smrg	;;
1234f7ec340bSmacallan    pc:*:*:*)
1235f7ec340bSmacallan	# Left here for compatibility:
12362a75d1c4Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
12372a75d1c4Smrg	# the processor, so we play safe by assuming i586.
12382a75d1c4Smrg	# Note: whatever this is, it MUST be the same as what config.sub
123966ab3337Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
12402a75d1c4Smrg	# this is a cross-build.
124166ab3337Smrg	GUESS=i586-pc-msdosdjgpp
124266ab3337Smrg	;;
1243f7ec340bSmacallan    Intel:Mach:3*:*)
124466ab3337Smrg	GUESS=i386-pc-mach3
124566ab3337Smrg	;;
1246f7ec340bSmacallan    paragon:*:*:*)
124766ab3337Smrg	GUESS=i860-intel-osf1
124866ab3337Smrg	;;
1249f7ec340bSmacallan    i860:*:4.*:*) # i860-SVR4
1250f7ec340bSmacallan	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
125166ab3337Smrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
1252f7ec340bSmacallan	else # Add other i860-SVR4 vendors below as they are discovered.
125366ab3337Smrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
1254f7ec340bSmacallan	fi
125566ab3337Smrg	;;
1256f7ec340bSmacallan    mini*:CTIX:SYS*5:*)
1257f7ec340bSmacallan	# "miniframe"
125866ab3337Smrg	GUESS=m68010-convergent-sysv
125966ab3337Smrg	;;
1260f7ec340bSmacallan    mc68k:UNIX:SYSTEM5:3.51m)
126166ab3337Smrg	GUESS=m68k-convergent-sysv
126266ab3337Smrg	;;
1263f7ec340bSmacallan    M680?0:D-NIX:5.3:*)
126466ab3337Smrg	GUESS=m68k-diab-dnix
126566ab3337Smrg	;;
12667ce7e03cSmrg    M68*:*:R3V[5678]*:*)
12677ce7e03cSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
12687ce7e03cSmrg    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)
1269f7ec340bSmacallan	OS_REL=''
1270f7ec340bSmacallan	test -r /etc/.relid \
1271f7ec340bSmacallan	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1272f7ec340bSmacallan	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
127366ab3337Smrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1274f7ec340bSmacallan	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
127566ab3337Smrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1276f7ec340bSmacallan    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
12772a75d1c4Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12782a75d1c4Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
12792a75d1c4Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
12802a75d1c4Smrg	OS_REL='.3'
12812a75d1c4Smrg	test -r /etc/.relid \
12822a75d1c4Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
12832a75d1c4Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
128466ab3337Smrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
12852a75d1c4Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
128666ab3337Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
12872a75d1c4Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
128866ab3337Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1289f7ec340bSmacallan    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
129066ab3337Smrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
129166ab3337Smrg	;;
1292f7ec340bSmacallan    mc68030:UNIX_System_V:4.*:*)
129366ab3337Smrg	GUESS=m68k-atari-sysv4
129466ab3337Smrg	;;
1295f7ec340bSmacallan    TSUNAMI:LynxOS:2.*:*)
129666ab3337Smrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
129766ab3337Smrg	;;
1298f7ec340bSmacallan    rs6000:LynxOS:2.*:*)
129966ab3337Smrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
130066ab3337Smrg	;;
13012a75d1c4Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
130266ab3337Smrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
130366ab3337Smrg	;;
1304f7ec340bSmacallan    SM[BE]S:UNIX_SV:*:*)
130566ab3337Smrg	GUESS=mips-dde-sysv$UNAME_RELEASE
130666ab3337Smrg	;;
1307f7ec340bSmacallan    RM*:ReliantUNIX-*:*:*)
130866ab3337Smrg	GUESS=mips-sni-sysv4
130966ab3337Smrg	;;
1310f7ec340bSmacallan    RM*:SINIX-*:*:*)
131166ab3337Smrg	GUESS=mips-sni-sysv4
131266ab3337Smrg	;;
1313f7ec340bSmacallan    *:SINIX-*:*:*)
1314f7ec340bSmacallan	if uname -p 2>/dev/null >/dev/null ; then
1315f7ec340bSmacallan		UNAME_MACHINE=`(uname -p) 2>/dev/null`
131666ab3337Smrg		GUESS=$UNAME_MACHINE-sni-sysv4
1317f7ec340bSmacallan	else
131866ab3337Smrg		GUESS=ns32k-sni-sysv
1319f7ec340bSmacallan	fi
132066ab3337Smrg	;;
13212a75d1c4Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
13222a75d1c4Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
132366ab3337Smrg	GUESS=i586-unisys-sysv4
132466ab3337Smrg	;;
1325f7ec340bSmacallan    *:UNIX_System_V:4*:FTX*)
1326f7ec340bSmacallan	# From Gerald Hewes <hewes@openmarket.com>.
1327f7ec340bSmacallan	# How about differentiating between stratus architectures? -djm
132866ab3337Smrg	GUESS=hppa1.1-stratus-sysv4
132966ab3337Smrg	;;
1330f7ec340bSmacallan    *:*:*:FTX*)
1331f7ec340bSmacallan	# From seanf@swdc.stratus.com.
133266ab3337Smrg	GUESS=i860-stratus-sysv4
133366ab3337Smrg	;;
13347ce7e03cSmrg    i*86:VOS:*:*)
13357ce7e03cSmrg	# From Paul.Green@stratus.com.
133666ab3337Smrg	GUESS=$UNAME_MACHINE-stratus-vos
133766ab3337Smrg	;;
1338f7ec340bSmacallan    *:VOS:*:*)
1339f7ec340bSmacallan	# From Paul.Green@stratus.com.
134066ab3337Smrg	GUESS=hppa1.1-stratus-vos
134166ab3337Smrg	;;
1342f7ec340bSmacallan    mc68*:A/UX:*:*)
134366ab3337Smrg	GUESS=m68k-apple-aux$UNAME_RELEASE
134466ab3337Smrg	;;
1345f7ec340bSmacallan    news*:NEWS-OS:6*:*)
134666ab3337Smrg	GUESS=mips-sony-newsos6
134766ab3337Smrg	;;
1348f7ec340bSmacallan    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
134966ab3337Smrg	if test -d /usr/nec; then
135066ab3337Smrg		GUESS=mips-nec-sysv$UNAME_RELEASE
1351f7ec340bSmacallan	else
135266ab3337Smrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
1353f7ec340bSmacallan	fi
135466ab3337Smrg	;;
1355f7ec340bSmacallan    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
135666ab3337Smrg	GUESS=powerpc-be-beos
135766ab3337Smrg	;;
1358f7ec340bSmacallan    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
135966ab3337Smrg	GUESS=powerpc-apple-beos
136066ab3337Smrg	;;
1361f7ec340bSmacallan    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
136266ab3337Smrg	GUESS=i586-pc-beos
136366ab3337Smrg	;;
13642a75d1c4Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
136566ab3337Smrg	GUESS=i586-pc-haiku
136666ab3337Smrg	;;
13672a75d1c4Smrg    x86_64:Haiku:*:*)
136866ab3337Smrg	GUESS=x86_64-unknown-haiku
136966ab3337Smrg	;;
1370f7ec340bSmacallan    SX-4:SUPER-UX:*:*)
137166ab3337Smrg	GUESS=sx4-nec-superux$UNAME_RELEASE
137266ab3337Smrg	;;
1373f7ec340bSmacallan    SX-5:SUPER-UX:*:*)
137466ab3337Smrg	GUESS=sx5-nec-superux$UNAME_RELEASE
137566ab3337Smrg	;;
1376f7ec340bSmacallan    SX-6:SUPER-UX:*:*)
137766ab3337Smrg	GUESS=sx6-nec-superux$UNAME_RELEASE
137866ab3337Smrg	;;
13797ce7e03cSmrg    SX-7:SUPER-UX:*:*)
138066ab3337Smrg	GUESS=sx7-nec-superux$UNAME_RELEASE
138166ab3337Smrg	;;
13827ce7e03cSmrg    SX-8:SUPER-UX:*:*)
138366ab3337Smrg	GUESS=sx8-nec-superux$UNAME_RELEASE
138466ab3337Smrg	;;
13857ce7e03cSmrg    SX-8R:SUPER-UX:*:*)
138666ab3337Smrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
138766ab3337Smrg	;;
138866ab3337Smrg    SX-ACE:SUPER-UX:*:*)
138966ab3337Smrg	GUESS=sxace-nec-superux$UNAME_RELEASE
139066ab3337Smrg	;;
1391f7ec340bSmacallan    Power*:Rhapsody:*:*)
139266ab3337Smrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
139366ab3337Smrg	;;
1394f7ec340bSmacallan    *:Rhapsody:*:*)
139566ab3337Smrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
139666ab3337Smrg	;;
139766ab3337Smrg    arm64:Darwin:*:*)
139866ab3337Smrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
139966ab3337Smrg	;;
1400f7ec340bSmacallan    *:Darwin:*:*)
140166ab3337Smrg	UNAME_PROCESSOR=`uname -p`
14027ce7e03cSmrg	case $UNAME_PROCESSOR in
14037ce7e03cSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1404f7ec340bSmacallan	esac
140566ab3337Smrg	if command -v xcode-select > /dev/null 2> /dev/null && \
140666ab3337Smrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
140766ab3337Smrg	    # Avoid executing cc if there is no toolchain installed as
140866ab3337Smrg	    # cc will be a stub that puts up a graphical alert
140966ab3337Smrg	    # prompting the user to install developer tools.
141066ab3337Smrg	    CC_FOR_BUILD=no_compiler_found
141166ab3337Smrg	else
141266ab3337Smrg	    set_cc_for_build
141366ab3337Smrg	fi
141466ab3337Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
141566ab3337Smrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
141666ab3337Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
141766ab3337Smrg		   grep IS_64BIT_ARCH >/dev/null
141866ab3337Smrg	    then
141966ab3337Smrg		case $UNAME_PROCESSOR in
142066ab3337Smrg		    i386) UNAME_PROCESSOR=x86_64 ;;
142166ab3337Smrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
142266ab3337Smrg		esac
142366ab3337Smrg	    fi
142466ab3337Smrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
142566ab3337Smrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
142666ab3337Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
142766ab3337Smrg		   grep IS_PPC >/dev/null
142866ab3337Smrg	    then
142966ab3337Smrg		UNAME_PROCESSOR=powerpc
143066ab3337Smrg	    fi
143166ab3337Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
143266ab3337Smrg	    # uname -m returns i386 or x86_64
143366ab3337Smrg	    UNAME_PROCESSOR=$UNAME_MACHINE
143466ab3337Smrg	fi
143566ab3337Smrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
143666ab3337Smrg	;;
1437f7ec340bSmacallan    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1438f7ec340bSmacallan	UNAME_PROCESSOR=`uname -p`
143966ab3337Smrg	if test "$UNAME_PROCESSOR" = x86; then
1440f7ec340bSmacallan		UNAME_PROCESSOR=i386
1441f7ec340bSmacallan		UNAME_MACHINE=pc
1442f7ec340bSmacallan	fi
144366ab3337Smrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
144466ab3337Smrg	;;
1445f7ec340bSmacallan    *:QNX:*:4*)
144666ab3337Smrg	GUESS=i386-pc-qnx
144766ab3337Smrg	;;
144866ab3337Smrg    NEO-*:NONSTOP_KERNEL:*:*)
144966ab3337Smrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
145066ab3337Smrg	;;
14512a75d1c4Smrg    NSE-*:NONSTOP_KERNEL:*:*)
145266ab3337Smrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
145366ab3337Smrg	;;
145466ab3337Smrg    NSR-*:NONSTOP_KERNEL:*:*)
145566ab3337Smrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
145666ab3337Smrg	;;
145766ab3337Smrg    NSV-*:NONSTOP_KERNEL:*:*)
145866ab3337Smrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
145966ab3337Smrg	;;
146066ab3337Smrg    NSX-*:NONSTOP_KERNEL:*:*)
146166ab3337Smrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
146266ab3337Smrg	;;
1463f7ec340bSmacallan    *:NonStop-UX:*:*)
146466ab3337Smrg	GUESS=mips-compaq-nonstopux
146566ab3337Smrg	;;
1466f7ec340bSmacallan    BS2000:POSIX*:*:*)
146766ab3337Smrg	GUESS=bs2000-siemens-sysv
146866ab3337Smrg	;;
1469f7ec340bSmacallan    DS/*:UNIX_System_V:*:*)
147066ab3337Smrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
147166ab3337Smrg	;;
1472f7ec340bSmacallan    *:Plan9:*:*)
1473f7ec340bSmacallan	# "uname -m" is not consistent, so use $cputype instead. 386
1474f7ec340bSmacallan	# is converted to i386 for consistency with other x86
1475f7ec340bSmacallan	# operating systems.
147666ab3337Smrg	if test "${cputype-}" = 386; then
1477f7ec340bSmacallan	    UNAME_MACHINE=i386
147866ab3337Smrg	elif test "x${cputype-}" != x; then
147966ab3337Smrg	    UNAME_MACHINE=$cputype
1480f7ec340bSmacallan	fi
148166ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-plan9
148266ab3337Smrg	;;
1483f7ec340bSmacallan    *:TOPS-10:*:*)
148466ab3337Smrg	GUESS=pdp10-unknown-tops10
148566ab3337Smrg	;;
1486f7ec340bSmacallan    *:TENEX:*:*)
148766ab3337Smrg	GUESS=pdp10-unknown-tenex
148866ab3337Smrg	;;
1489f7ec340bSmacallan    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
149066ab3337Smrg	GUESS=pdp10-dec-tops20
149166ab3337Smrg	;;
1492f7ec340bSmacallan    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
149366ab3337Smrg	GUESS=pdp10-xkl-tops20
149466ab3337Smrg	;;
1495f7ec340bSmacallan    *:TOPS-20:*:*)
149666ab3337Smrg	GUESS=pdp10-unknown-tops20
149766ab3337Smrg	;;
1498f7ec340bSmacallan    *:ITS:*:*)
149966ab3337Smrg	GUESS=pdp10-unknown-its
150066ab3337Smrg	;;
1501f7ec340bSmacallan    SEI:*:*:SEIUX)
150266ab3337Smrg	GUESS=mips-sei-seiux$UNAME_RELEASE
150366ab3337Smrg	;;
15047ce7e03cSmrg    *:DragonFly:*:*)
150566ab3337Smrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
150666ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
150766ab3337Smrg	;;
15087ce7e03cSmrg    *:*VMS:*:*)
15092a75d1c4Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
151066ab3337Smrg	case $UNAME_MACHINE in
151166ab3337Smrg	    A*) GUESS=alpha-dec-vms ;;
151266ab3337Smrg	    I*) GUESS=ia64-dec-vms ;;
151366ab3337Smrg	    V*) GUESS=vax-dec-vms ;;
15147ce7e03cSmrg	esac ;;
15157ce7e03cSmrg    *:XENIX:*:SysV)
151666ab3337Smrg	GUESS=i386-pc-xenix
151766ab3337Smrg	;;
15187ce7e03cSmrg    i*86:skyos:*:*)
151966ab3337Smrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
152066ab3337Smrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
152166ab3337Smrg	;;
15227ce7e03cSmrg    i*86:rdos:*:*)
152366ab3337Smrg	GUESS=$UNAME_MACHINE-pc-rdos
152466ab3337Smrg	;;
152566ab3337Smrg    *:AROS:*:*)
152666ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-aros
152766ab3337Smrg	;;
15282a75d1c4Smrg    x86_64:VMkernel:*:*)
152966ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-esx
153066ab3337Smrg	;;
153166ab3337Smrg    amd64:Isilon\ OneFS:*:*)
153266ab3337Smrg	GUESS=x86_64-unknown-onefs
153366ab3337Smrg	;;
153466ab3337Smrg    *:Unleashed:*:*)
153566ab3337Smrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
153666ab3337Smrg	;;
1537f7ec340bSmacallanesac
1538f7ec340bSmacallan
153966ab3337Smrg# Do we have a guess based on uname results?
154066ab3337Smrgif test "x$GUESS" != x; then
154166ab3337Smrg    echo "$GUESS"
154266ab3337Smrg    exit
154366ab3337Smrgfi
154466ab3337Smrg
154566ab3337Smrg# No uname command or uname output not recognized.
154666ab3337Smrgset_cc_for_build
154766ab3337Smrgcat > "$dummy.c" <<EOF
1548f7ec340bSmacallan#ifdef _SEQUENT_
154966ab3337Smrg#include <sys/types.h>
155066ab3337Smrg#include <sys/utsname.h>
155166ab3337Smrg#endif
155266ab3337Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
155366ab3337Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
155466ab3337Smrg#include <signal.h>
155566ab3337Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
155666ab3337Smrg#include <sys/utsname.h>
155766ab3337Smrg#endif
155866ab3337Smrg#endif
1559f7ec340bSmacallan#endif
1560f7ec340bSmacallanmain ()
1561f7ec340bSmacallan{
1562f7ec340bSmacallan#if defined (sony)
1563f7ec340bSmacallan#if defined (MIPSEB)
1564f7ec340bSmacallan  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1565f7ec340bSmacallan     I don't know....  */
1566f7ec340bSmacallan  printf ("mips-sony-bsd\n"); exit (0);
1567f7ec340bSmacallan#else
1568f7ec340bSmacallan#include <sys/param.h>
1569f7ec340bSmacallan  printf ("m68k-sony-newsos%s\n",
1570f7ec340bSmacallan#ifdef NEWSOS4
157166ab3337Smrg  "4"
1572f7ec340bSmacallan#else
157366ab3337Smrg  ""
1574f7ec340bSmacallan#endif
157566ab3337Smrg  ); exit (0);
1576f7ec340bSmacallan#endif
1577f7ec340bSmacallan#endif
1578f7ec340bSmacallan
1579f7ec340bSmacallan#if defined (NeXT)
1580f7ec340bSmacallan#if !defined (__ARCHITECTURE__)
1581f7ec340bSmacallan#define __ARCHITECTURE__ "m68k"
1582f7ec340bSmacallan#endif
1583f7ec340bSmacallan  int version;
1584f7ec340bSmacallan  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1585f7ec340bSmacallan  if (version < 4)
1586f7ec340bSmacallan    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1587f7ec340bSmacallan  else
1588f7ec340bSmacallan    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1589f7ec340bSmacallan  exit (0);
1590f7ec340bSmacallan#endif
1591f7ec340bSmacallan
1592f7ec340bSmacallan#if defined (MULTIMAX) || defined (n16)
1593f7ec340bSmacallan#if defined (UMAXV)
1594f7ec340bSmacallan  printf ("ns32k-encore-sysv\n"); exit (0);
1595f7ec340bSmacallan#else
1596f7ec340bSmacallan#if defined (CMU)
1597f7ec340bSmacallan  printf ("ns32k-encore-mach\n"); exit (0);
1598f7ec340bSmacallan#else
1599f7ec340bSmacallan  printf ("ns32k-encore-bsd\n"); exit (0);
1600f7ec340bSmacallan#endif
1601f7ec340bSmacallan#endif
1602f7ec340bSmacallan#endif
1603f7ec340bSmacallan
1604f7ec340bSmacallan#if defined (__386BSD__)
1605f7ec340bSmacallan  printf ("i386-pc-bsd\n"); exit (0);
1606f7ec340bSmacallan#endif
1607f7ec340bSmacallan
1608f7ec340bSmacallan#if defined (sequent)
1609f7ec340bSmacallan#if defined (i386)
1610f7ec340bSmacallan  printf ("i386-sequent-dynix\n"); exit (0);
1611f7ec340bSmacallan#endif
1612f7ec340bSmacallan#if defined (ns32000)
1613f7ec340bSmacallan  printf ("ns32k-sequent-dynix\n"); exit (0);
1614f7ec340bSmacallan#endif
1615f7ec340bSmacallan#endif
1616f7ec340bSmacallan
1617f7ec340bSmacallan#if defined (_SEQUENT_)
161866ab3337Smrg  struct utsname un;
1619f7ec340bSmacallan
162066ab3337Smrg  uname(&un);
162166ab3337Smrg  if (strncmp(un.version, "V2", 2) == 0) {
162266ab3337Smrg    printf ("i386-sequent-ptx2\n"); exit (0);
162366ab3337Smrg  }
162466ab3337Smrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
162566ab3337Smrg    printf ("i386-sequent-ptx1\n"); exit (0);
162666ab3337Smrg  }
162766ab3337Smrg  printf ("i386-sequent-ptx\n"); exit (0);
1628f7ec340bSmacallan#endif
1629f7ec340bSmacallan
1630f7ec340bSmacallan#if defined (vax)
163166ab3337Smrg#if !defined (ultrix)
163266ab3337Smrg#include <sys/param.h>
163366ab3337Smrg#if defined (BSD)
163466ab3337Smrg#if BSD == 43
163566ab3337Smrg  printf ("vax-dec-bsd4.3\n"); exit (0);
163666ab3337Smrg#else
163766ab3337Smrg#if BSD == 199006
163866ab3337Smrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
163966ab3337Smrg#else
164066ab3337Smrg  printf ("vax-dec-bsd\n"); exit (0);
164166ab3337Smrg#endif
164266ab3337Smrg#endif
164366ab3337Smrg#else
164466ab3337Smrg  printf ("vax-dec-bsd\n"); exit (0);
164566ab3337Smrg#endif
164666ab3337Smrg#else
164766ab3337Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
164866ab3337Smrg  struct utsname un;
164966ab3337Smrg  uname (&un);
165066ab3337Smrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
165166ab3337Smrg#else
165266ab3337Smrg  printf ("vax-dec-ultrix\n"); exit (0);
165366ab3337Smrg#endif
165466ab3337Smrg#endif
165566ab3337Smrg#endif
165666ab3337Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
165766ab3337Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
165866ab3337Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
165966ab3337Smrg  struct utsname *un;
166066ab3337Smrg  uname (&un);
166166ab3337Smrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
166266ab3337Smrg#else
166366ab3337Smrg  printf ("mips-dec-ultrix\n"); exit (0);
166466ab3337Smrg#endif
166566ab3337Smrg#endif
1666f7ec340bSmacallan#endif
1667f7ec340bSmacallan
1668f7ec340bSmacallan#if defined (alliant) && defined (i860)
1669f7ec340bSmacallan  printf ("i860-alliant-bsd\n"); exit (0);
1670f7ec340bSmacallan#endif
1671f7ec340bSmacallan
1672f7ec340bSmacallan  exit (1);
1673f7ec340bSmacallan}
1674f7ec340bSmacallanEOF
1675f7ec340bSmacallan
167666ab3337Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
16777ce7e03cSmrg	{ echo "$SYSTEM_NAME"; exit; }
1678f7ec340bSmacallan
1679f7ec340bSmacallan# Apollos put the system type in the environment.
168066ab3337Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1681f7ec340bSmacallan
168266ab3337Smrgecho "$0: unable to guess system type" >&2
1683f7ec340bSmacallan
168466ab3337Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
168566ab3337Smrg    mips:Linux | mips64:Linux)
168666ab3337Smrg	# If we got here on MIPS GNU/Linux, output extra information.
168766ab3337Smrg	cat >&2 <<EOF
1688f7ec340bSmacallan
168966ab3337SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
169066ab3337Smrgthe system type. Please install a C compiler and try again.
169166ab3337SmrgEOF
169266ab3337Smrg	;;
169366ab3337Smrgesac
1694f7ec340bSmacallan
1695f7ec340bSmacallancat >&2 <<EOF
1696f7ec340bSmacallan
169766ab3337SmrgThis script (version $timestamp), has failed to recognize the
169866ab3337Smrgoperating system you are using. If your script is old, overwrite *all*
169966ab3337Smrgcopies of config.guess and config.sub with the latest versions from:
1700f7ec340bSmacallan
170166ab3337Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
17027ce7e03cSmrgand
170366ab3337Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
170466ab3337SmrgEOF
1705f7ec340bSmacallan
170666ab3337Smrgour_year=`echo $timestamp | sed 's,-.*,,'`
170766ab3337Smrgthisyear=`date +%Y`
170866ab3337Smrg# shellcheck disable=SC2003
170966ab3337Smrgscript_age=`expr "$thisyear" - "$our_year"`
171066ab3337Smrgif test "$script_age" -lt 3 ; then
171166ab3337Smrg   cat >&2 <<EOF
171266ab3337Smrg
171366ab3337SmrgIf $0 has already been updated, send the following data and any
171466ab3337Smrginformation you think might be pertinent to config-patches@gnu.org to
171566ab3337Smrgprovide the necessary information to handle your system.
1716f7ec340bSmacallan
1717f7ec340bSmacallanconfig.guess timestamp = $timestamp
1718f7ec340bSmacallan
1719f7ec340bSmacallanuname -m = `(uname -m) 2>/dev/null || echo unknown`
1720f7ec340bSmacallanuname -r = `(uname -r) 2>/dev/null || echo unknown`
1721f7ec340bSmacallanuname -s = `(uname -s) 2>/dev/null || echo unknown`
1722f7ec340bSmacallanuname -v = `(uname -v) 2>/dev/null || echo unknown`
1723f7ec340bSmacallan
1724f7ec340bSmacallan/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1725f7ec340bSmacallan/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1726f7ec340bSmacallan
1727f7ec340bSmacallanhostinfo               = `(hostinfo) 2>/dev/null`
1728f7ec340bSmacallan/bin/universe          = `(/bin/universe) 2>/dev/null`
1729f7ec340bSmacallan/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1730f7ec340bSmacallan/bin/arch              = `(/bin/arch) 2>/dev/null`
1731f7ec340bSmacallan/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1732f7ec340bSmacallan/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1733f7ec340bSmacallan
173466ab3337SmrgUNAME_MACHINE = "$UNAME_MACHINE"
173566ab3337SmrgUNAME_RELEASE = "$UNAME_RELEASE"
173666ab3337SmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
173766ab3337SmrgUNAME_VERSION = "$UNAME_VERSION"
1738f7ec340bSmacallanEOF
173966ab3337Smrgfi
1740f7ec340bSmacallan
1741f7ec340bSmacallanexit 1
1742f7ec340bSmacallan
1743f7ec340bSmacallan# Local variables:
174466ab3337Smrg# eval: (add-hook 'before-save-hook 'time-stamp)
1745f7ec340bSmacallan# time-stamp-start: "timestamp='"
1746f7ec340bSmacallan# time-stamp-format: "%:y-%02m-%02d"
1747f7ec340bSmacallan# time-stamp-end: "'"
1748f7ec340bSmacallan# End:
1749