config.guess revision 7f6d8fe2
17f6d8fe2Smrg#!/usr/bin/sh
27d5e3a19Smrg# Attempt to guess a canonical system name.
37f6d8fe2Smrg#   Copyright 1992-2022 Free Software Foundation, Inc.
47d5e3a19Smrg
55212f86fSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale
65212f86fSmrg
77f6d8fe2Smrgtimestamp='2022-05-25'
87d5e3a19Smrg
97d5e3a19Smrg# This file is free software; you can redistribute it and/or modify it
107d5e3a19Smrg# under the terms of the GNU General Public License as published by
117f6d8fe2Smrg# the Free Software Foundation, either version 3 of the License, or
127d5e3a19Smrg# (at your option) any later version.
137d5e3a19Smrg#
147d5e3a19Smrg# This program is distributed in the hope that it will be useful, but
157d5e3a19Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
167d5e3a19Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
177d5e3a19Smrg# General Public License for more details.
187d5e3a19Smrg#
197d5e3a19Smrg# You should have received a copy of the GNU General Public License
2013e6bc1cSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
217d5e3a19Smrg#
227d5e3a19Smrg# As a special exception to the GNU General Public License, if you
237d5e3a19Smrg# distribute this file as part of a program that contains a
247d5e3a19Smrg# configuration script generated by Autoconf, you may include it under
25b8414663Smrg# the same distribution terms that you use for the rest of that
26b8414663Smrg# program.  This Exception is an additional permission under section 7
27b8414663Smrg# of the GNU General Public License, version 3 ("GPLv3").
287d5e3a19Smrg#
29b8414663Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
307d5e3a19Smrg#
31765486e8Smrg# You can get the latest version of this script from:
325212f86fSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33b8414663Smrg#
34b8414663Smrg# Please send patches to <config-patches@gnu.org>.
35b8414663Smrg
367d5e3a19Smrg
375212f86fSmrg# The "shellcheck disable" line above the timestamp inhibits complaints
385212f86fSmrg# about features and limitations of the classic Bourne shell that were
395212f86fSmrg# superseded or lifted in POSIX.  However, this script identifies a wide
405212f86fSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
415212f86fSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still
425212f86fSmrg# have a pre-POSIX /bin/sh.
435212f86fSmrg
445212f86fSmrg
457d5e3a19Smrgme=`echo "$0" | sed -e 's,.*/,,'`
467d5e3a19Smrg
477d5e3a19Smrgusage="\
487d5e3a19SmrgUsage: $0 [OPTION]
497d5e3a19Smrg
507d5e3a19SmrgOutput the configuration name of the system \`$me' is run on.
517d5e3a19Smrg
5213e6bc1cSmrgOptions:
537d5e3a19Smrg  -h, --help         print this help, then exit
547d5e3a19Smrg  -t, --time-stamp   print date of last modification, then exit
557d5e3a19Smrg  -v, --version      print version number, then exit
567d5e3a19Smrg
577d5e3a19SmrgReport bugs and patches to <config-patches@gnu.org>."
587d5e3a19Smrg
597d5e3a19Smrgversion="\
607d5e3a19SmrgGNU config.guess ($timestamp)
617d5e3a19Smrg
627d5e3a19SmrgOriginally written by Per Bothner.
637f6d8fe2SmrgCopyright 1992-2022 Free Software Foundation, Inc.
647d5e3a19Smrg
657d5e3a19SmrgThis is free software; see the source for copying conditions.  There is NO
667d5e3a19Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
677d5e3a19Smrg
687d5e3a19Smrghelp="
697d5e3a19SmrgTry \`$me --help' for more information."
707d5e3a19Smrg
717d5e3a19Smrg# Parse command line
727d5e3a19Smrgwhile test $# -gt 0 ; do
737d5e3a19Smrg  case $1 in
747d5e3a19Smrg    --time-stamp | --time* | -t )
757d5e3a19Smrg       echo "$timestamp" ; exit ;;
767d5e3a19Smrg    --version | -v )
777d5e3a19Smrg       echo "$version" ; exit ;;
787d5e3a19Smrg    --help | --h* | -h )
797d5e3a19Smrg       echo "$usage"; exit ;;
807d5e3a19Smrg    -- )     # Stop option processing
817d5e3a19Smrg       shift; break ;;
827d5e3a19Smrg    - )	# Use stdin as input.
837d5e3a19Smrg       break ;;
847d5e3a19Smrg    -* )
857d5e3a19Smrg       echo "$me: invalid option $1$help" >&2
867d5e3a19Smrg       exit 1 ;;
877d5e3a19Smrg    * )
887d5e3a19Smrg       break ;;
897d5e3a19Smrg  esac
907d5e3a19Smrgdone
917d5e3a19Smrg
927d5e3a19Smrgif test $# != 0; then
937d5e3a19Smrg  echo "$me: too many arguments$help" >&2
947d5e3a19Smrg  exit 1
957d5e3a19Smrgfi
967d5e3a19Smrg
975212f86fSmrg# Just in case it came from the environment.
985212f86fSmrgGUESS=
997d5e3a19Smrg
1007d5e3a19Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
1017d5e3a19Smrg# compiler to aid in system detection is discouraged as it requires
1027d5e3a19Smrg# temporary files to be created and, as you can see below, it is a
1037d5e3a19Smrg# headache to deal with in a portable fashion.
1047d5e3a19Smrg
1057d5e3a19Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1067d5e3a19Smrg# use `HOST_CC' if defined, but it is deprecated.
1077d5e3a19Smrg
1087d5e3a19Smrg# Portable tmp directory creation inspired by the Autoconf team.
1097d5e3a19Smrg
1105212f86fSmrgtmp=
1115212f86fSmrg# shellcheck disable=SC2172
1125212f86fSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
1135212f86fSmrg
1145212f86fSmrgset_cc_for_build() {
1155212f86fSmrg    # prevent multiple calls if $tmp is already set
1165212f86fSmrg    test "$tmp" && return 0
1175212f86fSmrg    : "${TMPDIR=/tmp}"
1185212f86fSmrg    # shellcheck disable=SC2039,SC3028
1195212f86fSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1205212f86fSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
1215212f86fSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1225212f86fSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
1235212f86fSmrg    dummy=$tmp/dummy
1245212f86fSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
1255212f86fSmrg	,,)    echo "int x;" > "$dummy.c"
1265212f86fSmrg	       for driver in cc gcc c89 c99 ; do
1275212f86fSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
1285212f86fSmrg		       CC_FOR_BUILD=$driver
1295212f86fSmrg		       break
1305212f86fSmrg		   fi
1315212f86fSmrg	       done
1325212f86fSmrg	       if test x"$CC_FOR_BUILD" = x ; then
1335212f86fSmrg		   CC_FOR_BUILD=no_compiler_found
1345212f86fSmrg	       fi
1355212f86fSmrg	       ;;
1365212f86fSmrg	,,*)   CC_FOR_BUILD=$CC ;;
1375212f86fSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1385212f86fSmrg    esac
1395212f86fSmrg}
1407d5e3a19Smrg
1417d5e3a19Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1427d5e3a19Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
1435212f86fSmrgif test -f /.attbin/uname ; then
1447d5e3a19Smrg	PATH=$PATH:/.attbin ; export PATH
1457d5e3a19Smrgfi
1467d5e3a19Smrg
1477d5e3a19SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1487d5e3a19SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1495212f86fSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
1507d5e3a19SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1517d5e3a19Smrg
1525212f86fSmrgcase $UNAME_SYSTEM in
153b8414663SmrgLinux|GNU|GNU/*)
1545212f86fSmrg	LIBC=unknown
155b8414663Smrg
1565212f86fSmrg	set_cc_for_build
15713e6bc1cSmrg	cat <<-EOF > "$dummy.c"
158b8414663Smrg	#include <features.h>
159b8414663Smrg	#if defined(__UCLIBC__)
160b8414663Smrg	LIBC=uclibc
161b8414663Smrg	#elif defined(__dietlibc__)
162b8414663Smrg	LIBC=dietlibc
1635212f86fSmrg	#elif defined(__GLIBC__)
164b8414663Smrg	LIBC=gnu
1655212f86fSmrg	#else
1665212f86fSmrg	#include <stdarg.h>
1675212f86fSmrg	/* First heuristic to detect musl libc.  */
1685212f86fSmrg	#ifdef __DEFINED_va_list
1695212f86fSmrg	LIBC=musl
1705212f86fSmrg	#endif
171b8414663Smrg	#endif
172b8414663Smrg	EOF
1735212f86fSmrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
1745212f86fSmrg	eval "$cc_set_libc"
17513e6bc1cSmrg
1765212f86fSmrg	# Second heuristic to detect musl libc.
1775212f86fSmrg	if [ "$LIBC" = unknown ] &&
1785212f86fSmrg	   command -v ldd >/dev/null &&
1795212f86fSmrg	   ldd --version 2>&1 | grep -q ^musl; then
1805212f86fSmrg		LIBC=musl
1815212f86fSmrg	fi
1825212f86fSmrg
1835212f86fSmrg	# If the system lacks a compiler, then just pick glibc.
1845212f86fSmrg	# We could probably try harder.
1855212f86fSmrg	if [ "$LIBC" = unknown ]; then
1865212f86fSmrg		LIBC=gnu
18713e6bc1cSmrg	fi
188b8414663Smrg	;;
189b8414663Smrgesac
190b8414663Smrg
1917d5e3a19Smrg# Note: order is significant - the case branches are not exclusive.
1927d5e3a19Smrg
1935212f86fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
1947d5e3a19Smrg    *:NetBSD:*:*)
1957d5e3a19Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
196b8414663Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
1977d5e3a19Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1987d5e3a19Smrg	# switched to ELF, *-*-netbsd* would select the old
1997d5e3a19Smrg	# object file format.  This provides both forward
2007d5e3a19Smrg	# compatibility and a consistent mechanism for selecting the
2017d5e3a19Smrg	# object file format.
2027d5e3a19Smrg	#
2037d5e3a19Smrg	# Note: NetBSD doesn't particularly care about the vendor
2047d5e3a19Smrg	# portion of the name.  We always set it to "unknown".
20513e6bc1cSmrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
2065212f86fSmrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2075212f86fSmrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
20813e6bc1cSmrg	    echo unknown)`
2095212f86fSmrg	case $UNAME_MACHINE_ARCH in
2105212f86fSmrg	    aarch64eb) machine=aarch64_be-unknown ;;
2117d5e3a19Smrg	    armeb) machine=armeb-unknown ;;
2127d5e3a19Smrg	    arm*) machine=arm-unknown ;;
2137d5e3a19Smrg	    sh3el) machine=shl-unknown ;;
2147d5e3a19Smrg	    sh3eb) machine=sh-unknown ;;
2151568b75bSmrg	    sh5el) machine=sh5le-unknown ;;
21613e6bc1cSmrg	    earmv*)
21713e6bc1cSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
21813e6bc1cSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
2195212f86fSmrg		machine=${arch}${endian}-unknown
22013e6bc1cSmrg		;;
2215212f86fSmrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
2227d5e3a19Smrg	esac
2237d5e3a19Smrg	# The Operating System including object format, if it has switched
22413e6bc1cSmrg	# to ELF recently (or will in the future) and ABI.
2255212f86fSmrg	case $UNAME_MACHINE_ARCH in
22613e6bc1cSmrg	    earm*)
22713e6bc1cSmrg		os=netbsdelf
22813e6bc1cSmrg		;;
2297d5e3a19Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
2305212f86fSmrg		set_cc_for_build
2317d5e3a19Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
232765486e8Smrg			| grep -q __ELF__
2337d5e3a19Smrg		then
2347d5e3a19Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
2357d5e3a19Smrg		    # Return netbsd for either.  FIX?
2367d5e3a19Smrg		    os=netbsd
2377d5e3a19Smrg		else
2387d5e3a19Smrg		    os=netbsdelf
2397d5e3a19Smrg		fi
2407d5e3a19Smrg		;;
2417d5e3a19Smrg	    *)
242b8414663Smrg		os=netbsd
2437d5e3a19Smrg		;;
2447d5e3a19Smrg	esac
24513e6bc1cSmrg	# Determine ABI tags.
2465212f86fSmrg	case $UNAME_MACHINE_ARCH in
24713e6bc1cSmrg	    earm*)
24813e6bc1cSmrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
24913e6bc1cSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
25013e6bc1cSmrg		;;
25113e6bc1cSmrg	esac
2527d5e3a19Smrg	# The OS release
2537d5e3a19Smrg	# Debian GNU/NetBSD machines have a different userland, and
2547d5e3a19Smrg	# thus, need a distinct triplet. However, they do not need
2557d5e3a19Smrg	# kernel version information, so it can be replaced with a
2567d5e3a19Smrg	# suitable tag, in the style of linux-gnu.
2575212f86fSmrg	case $UNAME_VERSION in
2587d5e3a19Smrg	    Debian*)
2597d5e3a19Smrg		release='-gnu'
2607d5e3a19Smrg		;;
2617d5e3a19Smrg	    *)
26213e6bc1cSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
2637d5e3a19Smrg		;;
2647d5e3a19Smrg	esac
2657d5e3a19Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2667d5e3a19Smrg	# contains redundant information, the shorter form:
2677d5e3a19Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2685212f86fSmrg	GUESS=$machine-${os}${release}${abi-}
2695212f86fSmrg	;;
270b8414663Smrg    *:Bitrig:*:*)
271b8414663Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
2725212f86fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
2735212f86fSmrg	;;
2747d5e3a19Smrg    *:OpenBSD:*:*)
2757d5e3a19Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2765212f86fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
2775212f86fSmrg	;;
2785212f86fSmrg    *:SecBSD:*:*)
2795212f86fSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
2805212f86fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
2815212f86fSmrg	;;
28213e6bc1cSmrg    *:LibertyBSD:*:*)
28313e6bc1cSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
2845212f86fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
2855212f86fSmrg	;;
28613e6bc1cSmrg    *:MidnightBSD:*:*)
2875212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
2885212f86fSmrg	;;
2897d5e3a19Smrg    *:ekkoBSD:*:*)
2905212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
2915212f86fSmrg	;;
2927d5e3a19Smrg    *:SolidBSD:*:*)
2935212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
2945212f86fSmrg	;;
2955212f86fSmrg    *:OS108:*:*)
2965212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
2975212f86fSmrg	;;
2987d5e3a19Smrg    macppc:MirBSD:*:*)
2995212f86fSmrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
3005212f86fSmrg	;;
3017d5e3a19Smrg    *:MirBSD:*:*)
3025212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
3035212f86fSmrg	;;
30413e6bc1cSmrg    *:Sortix:*:*)
3055212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-sortix
3065212f86fSmrg	;;
3075212f86fSmrg    *:Twizzler:*:*)
3085212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-twizzler
3095212f86fSmrg	;;
31013e6bc1cSmrg    *:Redox:*:*)
3115212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-redox
3125212f86fSmrg	;;
31313e6bc1cSmrg    mips:OSF1:*.*)
3145212f86fSmrg	GUESS=mips-dec-osf1
3155212f86fSmrg	;;
3167d5e3a19Smrg    alpha:OSF1:*:*)
3175212f86fSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
3185212f86fSmrg	trap '' 0
3197d5e3a19Smrg	case $UNAME_RELEASE in
3207d5e3a19Smrg	*4.0)
3217d5e3a19Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
3227d5e3a19Smrg		;;
3237d5e3a19Smrg	*5.*)
324b8414663Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
3257d5e3a19Smrg		;;
3267d5e3a19Smrg	esac
3277d5e3a19Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
3287d5e3a19Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
3297d5e3a19Smrg	# covers most systems running today.  This code pipes the CPU
3307d5e3a19Smrg	# types through head -n 1, so we only detect the type of CPU 0.
3317d5e3a19Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
3325212f86fSmrg	case $ALPHA_CPU_TYPE in
3337d5e3a19Smrg	    "EV4 (21064)")
33413e6bc1cSmrg		UNAME_MACHINE=alpha ;;
3357d5e3a19Smrg	    "EV4.5 (21064)")
33613e6bc1cSmrg		UNAME_MACHINE=alpha ;;
3377d5e3a19Smrg	    "LCA4 (21066/21068)")
33813e6bc1cSmrg		UNAME_MACHINE=alpha ;;
3397d5e3a19Smrg	    "EV5 (21164)")
34013e6bc1cSmrg		UNAME_MACHINE=alphaev5 ;;
3417d5e3a19Smrg	    "EV5.6 (21164A)")
34213e6bc1cSmrg		UNAME_MACHINE=alphaev56 ;;
3437d5e3a19Smrg	    "EV5.6 (21164PC)")
34413e6bc1cSmrg		UNAME_MACHINE=alphapca56 ;;
3457d5e3a19Smrg	    "EV5.7 (21164PC)")
34613e6bc1cSmrg		UNAME_MACHINE=alphapca57 ;;
3477d5e3a19Smrg	    "EV6 (21264)")
34813e6bc1cSmrg		UNAME_MACHINE=alphaev6 ;;
3497d5e3a19Smrg	    "EV6.7 (21264A)")
35013e6bc1cSmrg		UNAME_MACHINE=alphaev67 ;;
3517d5e3a19Smrg	    "EV6.8CB (21264C)")
35213e6bc1cSmrg		UNAME_MACHINE=alphaev68 ;;
3537d5e3a19Smrg	    "EV6.8AL (21264B)")
35413e6bc1cSmrg		UNAME_MACHINE=alphaev68 ;;
3557d5e3a19Smrg	    "EV6.8CX (21264D)")
35613e6bc1cSmrg		UNAME_MACHINE=alphaev68 ;;
3577d5e3a19Smrg	    "EV6.9A (21264/EV69A)")
35813e6bc1cSmrg		UNAME_MACHINE=alphaev69 ;;
3597d5e3a19Smrg	    "EV7 (21364)")
36013e6bc1cSmrg		UNAME_MACHINE=alphaev7 ;;
3617d5e3a19Smrg	    "EV7.9 (21364A)")
36213e6bc1cSmrg		UNAME_MACHINE=alphaev79 ;;
3637d5e3a19Smrg	esac
3647d5e3a19Smrg	# A Pn.n version is a patched version.
3657d5e3a19Smrg	# A Vn.n version is a released version.
3667d5e3a19Smrg	# A Tn.n version is a released field test version.
3677d5e3a19Smrg	# A Xn.n version is an unreleased experimental baselevel.
3687d5e3a19Smrg	# 1.2 uses "1.2" for uname -r.
3695212f86fSmrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
3705212f86fSmrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
3715212f86fSmrg	;;
3727d5e3a19Smrg    Amiga*:UNIX_System_V:4.0:*)
3735212f86fSmrg	GUESS=m68k-unknown-sysv4
3745212f86fSmrg	;;
3757d5e3a19Smrg    *:[Aa]miga[Oo][Ss]:*:*)
3765212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-amigaos
3775212f86fSmrg	;;
3787d5e3a19Smrg    *:[Mm]orph[Oo][Ss]:*:*)
3795212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-morphos
3805212f86fSmrg	;;
3817d5e3a19Smrg    *:OS/390:*:*)
3825212f86fSmrg	GUESS=i370-ibm-openedition
3835212f86fSmrg	;;
3847d5e3a19Smrg    *:z/VM:*:*)
3855212f86fSmrg	GUESS=s390-ibm-zvmoe
3865212f86fSmrg	;;
3877d5e3a19Smrg    *:OS400:*:*)
3885212f86fSmrg	GUESS=powerpc-ibm-os400
3895212f86fSmrg	;;
3907d5e3a19Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3915212f86fSmrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
3925212f86fSmrg	;;
393b8414663Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
3945212f86fSmrg	GUESS=arm-unknown-riscos
3955212f86fSmrg	;;
3967d5e3a19Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3975212f86fSmrg	GUESS=hppa1.1-hitachi-hiuxmpp
3985212f86fSmrg	;;
3997d5e3a19Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
4007d5e3a19Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
4015212f86fSmrg	case `(/bin/universe) 2>/dev/null` in
4025212f86fSmrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
4035212f86fSmrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
4045212f86fSmrg	esac
4055212f86fSmrg	;;
4067d5e3a19Smrg    NILE*:*:*:dcosx)
4075212f86fSmrg	GUESS=pyramid-pyramid-svr4
4085212f86fSmrg	;;
4097d5e3a19Smrg    DRS?6000:unix:4.0:6*)
4105212f86fSmrg	GUESS=sparc-icl-nx6
4115212f86fSmrg	;;
4127d5e3a19Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
4137d5e3a19Smrg	case `/usr/bin/uname -p` in
4145212f86fSmrg	    sparc) GUESS=sparc-icl-nx7 ;;
4155212f86fSmrg	esac
4165212f86fSmrg	;;
417765486e8Smrg    s390x:SunOS:*:*)
4185212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4195212f86fSmrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
4205212f86fSmrg	;;
4217d5e3a19Smrg    sun4H:SunOS:5.*:*)
4225212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4235212f86fSmrg	GUESS=sparc-hal-solaris2$SUN_REL
4245212f86fSmrg	;;
4257d5e3a19Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
4265212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4275212f86fSmrg	GUESS=sparc-sun-solaris2$SUN_REL
4285212f86fSmrg	;;
429765486e8Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
4305212f86fSmrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
4315212f86fSmrg	;;
4321568b75bSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
4335212f86fSmrg	set_cc_for_build
43413e6bc1cSmrg	SUN_ARCH=i386
435765486e8Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
436765486e8Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
437765486e8Smrg	# This test works for both compilers.
4385212f86fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
439765486e8Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
4407f6d8fe2Smrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
441765486e8Smrg		grep IS_64BIT_ARCH >/dev/null
442765486e8Smrg	    then
44313e6bc1cSmrg		SUN_ARCH=x86_64
444765486e8Smrg	    fi
445765486e8Smrg	fi
4465212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4475212f86fSmrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
4485212f86fSmrg	;;
4497d5e3a19Smrg    sun4*:SunOS:6*:*)
4507d5e3a19Smrg	# According to config.sub, this is the proper way to canonicalize
4517d5e3a19Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
4527d5e3a19Smrg	# it's likely to be more like Solaris than SunOS4.
4535212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
4545212f86fSmrg	GUESS=sparc-sun-solaris3$SUN_REL
4555212f86fSmrg	;;
4567d5e3a19Smrg    sun4*:SunOS:*:*)
4575212f86fSmrg	case `/usr/bin/arch -k` in
4587d5e3a19Smrg	    Series*|S4*)
4597d5e3a19Smrg		UNAME_RELEASE=`uname -v`
4607d5e3a19Smrg		;;
4617d5e3a19Smrg	esac
4627d5e3a19Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
4635212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
4645212f86fSmrg	GUESS=sparc-sun-sunos$SUN_REL
4655212f86fSmrg	;;
4667d5e3a19Smrg    sun3*:SunOS:*:*)
4675212f86fSmrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
4685212f86fSmrg	;;
4697d5e3a19Smrg    sun*:*:4.2BSD:*)
4707d5e3a19Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
47113e6bc1cSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
4725212f86fSmrg	case `/bin/arch` in
4737d5e3a19Smrg	    sun3)
4745212f86fSmrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
4757d5e3a19Smrg		;;
4767d5e3a19Smrg	    sun4)
4775212f86fSmrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
4787d5e3a19Smrg		;;
4797d5e3a19Smrg	esac
4805212f86fSmrg	;;
4817d5e3a19Smrg    aushp:SunOS:*:*)
4825212f86fSmrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
4835212f86fSmrg	;;
4847d5e3a19Smrg    # The situation for MiNT is a little confusing.  The machine name
4857d5e3a19Smrg    # can be virtually everything (everything which is not
4867d5e3a19Smrg    # "atarist" or "atariste" at least should have a processor
4877d5e3a19Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
4887d5e3a19Smrg    # to the lowercase version "mint" (or "freemint").  Finally
4897d5e3a19Smrg    # the system name "TOS" denotes a system which is actually not
4907d5e3a19Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
4917d5e3a19Smrg    # be no problem.
4927d5e3a19Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
4935212f86fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4945212f86fSmrg	;;
4957d5e3a19Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4965212f86fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
4975212f86fSmrg	;;
4987d5e3a19Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4995212f86fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
5005212f86fSmrg	;;
5017d5e3a19Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
5025212f86fSmrg	GUESS=m68k-milan-mint$UNAME_RELEASE
5035212f86fSmrg	;;
5047d5e3a19Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
5055212f86fSmrg	GUESS=m68k-hades-mint$UNAME_RELEASE
5065212f86fSmrg	;;
5077d5e3a19Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
5085212f86fSmrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
5095212f86fSmrg	;;
5107d5e3a19Smrg    m68k:machten:*:*)
5115212f86fSmrg	GUESS=m68k-apple-machten$UNAME_RELEASE
5125212f86fSmrg	;;
5137d5e3a19Smrg    powerpc:machten:*:*)
5145212f86fSmrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
5155212f86fSmrg	;;
5167d5e3a19Smrg    RISC*:Mach:*:*)
5175212f86fSmrg	GUESS=mips-dec-mach_bsd4.3
5185212f86fSmrg	;;
5197d5e3a19Smrg    RISC*:ULTRIX:*:*)
5205212f86fSmrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
5215212f86fSmrg	;;
5227d5e3a19Smrg    VAX*:ULTRIX*:*:*)
5235212f86fSmrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
5245212f86fSmrg	;;
5257d5e3a19Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
5265212f86fSmrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
5275212f86fSmrg	;;
5287d5e3a19Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
5295212f86fSmrg	set_cc_for_build
53013e6bc1cSmrg	sed 's/^	//' << EOF > "$dummy.c"
5317d5e3a19Smrg#ifdef __cplusplus
5327d5e3a19Smrg#include <stdio.h>  /* for printf() prototype */
5337d5e3a19Smrg	int main (int argc, char *argv[]) {
5347d5e3a19Smrg#else
5357d5e3a19Smrg	int main (argc, argv) int argc; char *argv[]; {
5367d5e3a19Smrg#endif
5377d5e3a19Smrg	#if defined (host_mips) && defined (MIPSEB)
5387d5e3a19Smrg	#if defined (SYSTYPE_SYSV)
53913e6bc1cSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
5407d5e3a19Smrg	#endif
5417d5e3a19Smrg	#if defined (SYSTYPE_SVR4)
54213e6bc1cSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
5437d5e3a19Smrg	#endif
5447d5e3a19Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
54513e6bc1cSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
5467d5e3a19Smrg	#endif
5477d5e3a19Smrg	#endif
5487d5e3a19Smrg	  exit (-1);
5497d5e3a19Smrg	}
5507d5e3a19SmrgEOF
55113e6bc1cSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
55213e6bc1cSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
55313e6bc1cSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5547d5e3a19Smrg	    { echo "$SYSTEM_NAME"; exit; }
5555212f86fSmrg	GUESS=mips-mips-riscos$UNAME_RELEASE
5565212f86fSmrg	;;
5577d5e3a19Smrg    Motorola:PowerMAX_OS:*:*)
5585212f86fSmrg	GUESS=powerpc-motorola-powermax
5595212f86fSmrg	;;
5607d5e3a19Smrg    Motorola:*:4.3:PL8-*)
5615212f86fSmrg	GUESS=powerpc-harris-powermax
5625212f86fSmrg	;;
5637d5e3a19Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
5645212f86fSmrg	GUESS=powerpc-harris-powermax
5655212f86fSmrg	;;
5667d5e3a19Smrg    Night_Hawk:Power_UNIX:*:*)
5675212f86fSmrg	GUESS=powerpc-harris-powerunix
5685212f86fSmrg	;;
5697d5e3a19Smrg    m88k:CX/UX:7*:*)
5705212f86fSmrg	GUESS=m88k-harris-cxux7
5715212f86fSmrg	;;
5727d5e3a19Smrg    m88k:*:4*:R4*)
5735212f86fSmrg	GUESS=m88k-motorola-sysv4
5745212f86fSmrg	;;
5757d5e3a19Smrg    m88k:*:3*:R3*)
5765212f86fSmrg	GUESS=m88k-motorola-sysv3
5775212f86fSmrg	;;
5787d5e3a19Smrg    AViiON:dgux:*:*)
579b8414663Smrg	# DG/UX returns AViiON for all architectures
580b8414663Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
5815212f86fSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
5827d5e3a19Smrg	then
5835212f86fSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
5845212f86fSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
5857d5e3a19Smrg	    then
5865212f86fSmrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
5877d5e3a19Smrg	    else
5885212f86fSmrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
5897d5e3a19Smrg	    fi
5907d5e3a19Smrg	else
5915212f86fSmrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
5927d5e3a19Smrg	fi
5935212f86fSmrg	;;
5947d5e3a19Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5955212f86fSmrg	GUESS=m88k-dolphin-sysv3
5965212f86fSmrg	;;
5977d5e3a19Smrg    M88*:*:R3*:*)
5987d5e3a19Smrg	# Delta 88k system running SVR3
5995212f86fSmrg	GUESS=m88k-motorola-sysv3
6005212f86fSmrg	;;
6017d5e3a19Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
6025212f86fSmrg	GUESS=m88k-tektronix-sysv3
6035212f86fSmrg	;;
6047d5e3a19Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
6055212f86fSmrg	GUESS=m68k-tektronix-bsd
6065212f86fSmrg	;;
6077d5e3a19Smrg    *:IRIX*:*:*)
6085212f86fSmrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
6095212f86fSmrg	GUESS=mips-sgi-irix$IRIX_REL
6105212f86fSmrg	;;
6117d5e3a19Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
6125212f86fSmrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
6135212f86fSmrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
6147d5e3a19Smrg    i*86:AIX:*:*)
6155212f86fSmrg	GUESS=i386-ibm-aix
6165212f86fSmrg	;;
6177d5e3a19Smrg    ia64:AIX:*:*)
6185212f86fSmrg	if test -x /usr/bin/oslevel ; then
6197d5e3a19Smrg		IBM_REV=`/usr/bin/oslevel`
6207d5e3a19Smrg	else
6215212f86fSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6227d5e3a19Smrg	fi
6235212f86fSmrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
6245212f86fSmrg	;;
6257d5e3a19Smrg    *:AIX:2:3)
6267d5e3a19Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
6275212f86fSmrg		set_cc_for_build
62813e6bc1cSmrg		sed 's/^		//' << EOF > "$dummy.c"
6297d5e3a19Smrg		#include <sys/systemcfg.h>
6307d5e3a19Smrg
6317d5e3a19Smrg		main()
6327d5e3a19Smrg			{
6337d5e3a19Smrg			if (!__power_pc())
6347d5e3a19Smrg				exit(1);
6357d5e3a19Smrg			puts("powerpc-ibm-aix3.2.5");
6367d5e3a19Smrg			exit(0);
6377d5e3a19Smrg			}
6387d5e3a19SmrgEOF
63913e6bc1cSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6407d5e3a19Smrg		then
6415212f86fSmrg			GUESS=$SYSTEM_NAME
6427d5e3a19Smrg		else
6435212f86fSmrg			GUESS=rs6000-ibm-aix3.2.5
6447d5e3a19Smrg		fi
6457d5e3a19Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
6465212f86fSmrg		GUESS=rs6000-ibm-aix3.2.4
6477d5e3a19Smrg	else
6485212f86fSmrg		GUESS=rs6000-ibm-aix3.2
6497d5e3a19Smrg	fi
6505212f86fSmrg	;;
651bda5b58fSmrg    *:AIX:*:[4567])
6527d5e3a19Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
65313e6bc1cSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
6547d5e3a19Smrg		IBM_ARCH=rs6000
6557d5e3a19Smrg	else
6567d5e3a19Smrg		IBM_ARCH=powerpc
6577d5e3a19Smrg	fi
6585212f86fSmrg	if test -x /usr/bin/lslpp ; then
6595212f86fSmrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
660b8414663Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
6617d5e3a19Smrg	else
6625212f86fSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6637d5e3a19Smrg	fi
6645212f86fSmrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
6655212f86fSmrg	;;
6667d5e3a19Smrg    *:AIX:*:*)
6675212f86fSmrg	GUESS=rs6000-ibm-aix
6685212f86fSmrg	;;
66913e6bc1cSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
6705212f86fSmrg	GUESS=romp-ibm-bsd4.4
6715212f86fSmrg	;;
6727d5e3a19Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
6735212f86fSmrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
6745212f86fSmrg	;;                                  # report: romp-ibm BSD 4.3
6757d5e3a19Smrg    *:BOSX:*:*)
6765212f86fSmrg	GUESS=rs6000-bull-bosx
6775212f86fSmrg	;;
6787d5e3a19Smrg    DPX/2?00:B.O.S.:*:*)
6795212f86fSmrg	GUESS=m68k-bull-sysv3
6805212f86fSmrg	;;
6817d5e3a19Smrg    9000/[34]??:4.3bsd:1.*:*)
6825212f86fSmrg	GUESS=m68k-hp-bsd
6835212f86fSmrg	;;
6847d5e3a19Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6855212f86fSmrg	GUESS=m68k-hp-bsd4.4
6865212f86fSmrg	;;
6877d5e3a19Smrg    9000/[34678]??:HP-UX:*:*)
6885212f86fSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
6895212f86fSmrg	case $UNAME_MACHINE in
69013e6bc1cSmrg	    9000/31?)            HP_ARCH=m68000 ;;
69113e6bc1cSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
6927d5e3a19Smrg	    9000/[678][0-9][0-9])
6935212f86fSmrg		if test -x /usr/bin/getconf; then
6947d5e3a19Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
695b8414663Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6965212f86fSmrg		    case $sc_cpu_version in
69713e6bc1cSmrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
69813e6bc1cSmrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
699b8414663Smrg		      532)                      # CPU_PA_RISC2_0
7005212f86fSmrg			case $sc_kernel_bits in
70113e6bc1cSmrg			  32) HP_ARCH=hppa2.0n ;;
70213e6bc1cSmrg			  64) HP_ARCH=hppa2.0w ;;
70313e6bc1cSmrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
704b8414663Smrg			esac ;;
705b8414663Smrg		    esac
7067d5e3a19Smrg		fi
7075212f86fSmrg		if test "$HP_ARCH" = ""; then
7085212f86fSmrg		    set_cc_for_build
70913e6bc1cSmrg		    sed 's/^		//' << EOF > "$dummy.c"
7107d5e3a19Smrg
711b8414663Smrg		#define _HPUX_SOURCE
712b8414663Smrg		#include <stdlib.h>
713b8414663Smrg		#include <unistd.h>
7147d5e3a19Smrg
715b8414663Smrg		int main ()
716b8414663Smrg		{
717b8414663Smrg		#if defined(_SC_KERNEL_BITS)
718b8414663Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
719b8414663Smrg		#endif
720b8414663Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
7217d5e3a19Smrg
722b8414663Smrg		    switch (cpu)
723b8414663Smrg			{
724b8414663Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
725b8414663Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
726b8414663Smrg			case CPU_PA_RISC2_0:
727b8414663Smrg		#if defined(_SC_KERNEL_BITS)
728b8414663Smrg			    switch (bits)
729b8414663Smrg				{
730b8414663Smrg				case 64: puts ("hppa2.0w"); break;
731b8414663Smrg				case 32: puts ("hppa2.0n"); break;
732b8414663Smrg				default: puts ("hppa2.0"); break;
733b8414663Smrg				} break;
734b8414663Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
735b8414663Smrg			    puts ("hppa2.0"); break;
736b8414663Smrg		#endif
737b8414663Smrg			default: puts ("hppa1.0"); break;
738b8414663Smrg			}
739b8414663Smrg		    exit (0);
740b8414663Smrg		}
7417d5e3a19SmrgEOF
74213e6bc1cSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
7437d5e3a19Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
7447d5e3a19Smrg		fi ;;
7457d5e3a19Smrg	esac
7465212f86fSmrg	if test "$HP_ARCH" = hppa2.0w
7477d5e3a19Smrg	then
7485212f86fSmrg	    set_cc_for_build
7497d5e3a19Smrg
7507d5e3a19Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7517d5e3a19Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7527d5e3a19Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
7537d5e3a19Smrg	    #
7547d5e3a19Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
7557d5e3a19Smrg	    # => hppa2.0w-hp-hpux11.23
7567d5e3a19Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7577d5e3a19Smrg	    # => hppa64-hp-hpux11.23
7587d5e3a19Smrg
75913e6bc1cSmrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
760765486e8Smrg		grep -q __LP64__
7617d5e3a19Smrg	    then
76213e6bc1cSmrg		HP_ARCH=hppa2.0w
7637d5e3a19Smrg	    else
76413e6bc1cSmrg		HP_ARCH=hppa64
7657d5e3a19Smrg	    fi
7667d5e3a19Smrg	fi
7675212f86fSmrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
7685212f86fSmrg	;;
7697d5e3a19Smrg    ia64:HP-UX:*:*)
7705212f86fSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
7715212f86fSmrg	GUESS=ia64-hp-hpux$HPUX_REV
7725212f86fSmrg	;;
7737d5e3a19Smrg    3050*:HI-UX:*:*)
7745212f86fSmrg	set_cc_for_build
77513e6bc1cSmrg	sed 's/^	//' << EOF > "$dummy.c"
7767d5e3a19Smrg	#include <unistd.h>
7777d5e3a19Smrg	int
7787d5e3a19Smrg	main ()
7797d5e3a19Smrg	{
7807d5e3a19Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
7817d5e3a19Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7827d5e3a19Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7837d5e3a19Smrg	     results, however.  */
7847d5e3a19Smrg	  if (CPU_IS_PA_RISC (cpu))
7857d5e3a19Smrg	    {
7867d5e3a19Smrg	      switch (cpu)
7877d5e3a19Smrg		{
7887d5e3a19Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7897d5e3a19Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7907d5e3a19Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7917d5e3a19Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7927d5e3a19Smrg		}
7937d5e3a19Smrg	    }
7947d5e3a19Smrg	  else if (CPU_IS_HP_MC68K (cpu))
7957d5e3a19Smrg	    puts ("m68k-hitachi-hiuxwe2");
7967d5e3a19Smrg	  else puts ("unknown-hitachi-hiuxwe2");
7977d5e3a19Smrg	  exit (0);
7987d5e3a19Smrg	}
7997d5e3a19SmrgEOF
80013e6bc1cSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
8017d5e3a19Smrg		{ echo "$SYSTEM_NAME"; exit; }
8025212f86fSmrg	GUESS=unknown-hitachi-hiuxwe2
8035212f86fSmrg	;;
80413e6bc1cSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
8055212f86fSmrg	GUESS=hppa1.1-hp-bsd
8065212f86fSmrg	;;
8077d5e3a19Smrg    9000/8??:4.3bsd:*:*)
8085212f86fSmrg	GUESS=hppa1.0-hp-bsd
8095212f86fSmrg	;;
8107d5e3a19Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
8115212f86fSmrg	GUESS=hppa1.0-hp-mpeix
8125212f86fSmrg	;;
81313e6bc1cSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
8145212f86fSmrg	GUESS=hppa1.1-hp-osf
8155212f86fSmrg	;;
8167d5e3a19Smrg    hp8??:OSF1:*:*)
8175212f86fSmrg	GUESS=hppa1.0-hp-osf
8185212f86fSmrg	;;
8197d5e3a19Smrg    i*86:OSF1:*:*)
8205212f86fSmrg	if test -x /usr/sbin/sysversion ; then
8215212f86fSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
8227d5e3a19Smrg	else
8235212f86fSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1
8247d5e3a19Smrg	fi
8255212f86fSmrg	;;
8267d5e3a19Smrg    parisc*:Lites*:*:*)
8275212f86fSmrg	GUESS=hppa1.1-hp-lites
8285212f86fSmrg	;;
8297d5e3a19Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
8305212f86fSmrg	GUESS=c1-convex-bsd
8315212f86fSmrg	;;
8327d5e3a19Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
8337d5e3a19Smrg	if getsysinfo -f scalar_acc
8347d5e3a19Smrg	then echo c32-convex-bsd
8357d5e3a19Smrg	else echo c2-convex-bsd
8367d5e3a19Smrg	fi
837b8414663Smrg	exit ;;
8387d5e3a19Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
8395212f86fSmrg	GUESS=c34-convex-bsd
8405212f86fSmrg	;;
8417d5e3a19Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
8425212f86fSmrg	GUESS=c38-convex-bsd
8435212f86fSmrg	;;
8447d5e3a19Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
8455212f86fSmrg	GUESS=c4-convex-bsd
8465212f86fSmrg	;;
8477d5e3a19Smrg    CRAY*Y-MP:*:*:*)
8485212f86fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8495212f86fSmrg	GUESS=ymp-cray-unicos$CRAY_REL
8505212f86fSmrg	;;
8517d5e3a19Smrg    CRAY*[A-Z]90:*:*:*)
85213e6bc1cSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
8537d5e3a19Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
8547d5e3a19Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
8557d5e3a19Smrg	      -e 's/\.[^.]*$/.X/'
8567d5e3a19Smrg	exit ;;
8577d5e3a19Smrg    CRAY*TS:*:*:*)
8585212f86fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8595212f86fSmrg	GUESS=t90-cray-unicos$CRAY_REL
8605212f86fSmrg	;;
8617d5e3a19Smrg    CRAY*T3E:*:*:*)
8625212f86fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8635212f86fSmrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
8645212f86fSmrg	;;
8657d5e3a19Smrg    CRAY*SV1:*:*:*)
8665212f86fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8675212f86fSmrg	GUESS=sv1-cray-unicos$CRAY_REL
8685212f86fSmrg	;;
8697d5e3a19Smrg    *:UNICOS/mp:*:*)
8705212f86fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
8715212f86fSmrg	GUESS=craynv-cray-unicosmp$CRAY_REL
8725212f86fSmrg	;;
8737d5e3a19Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
87413e6bc1cSmrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
87513e6bc1cSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
87613e6bc1cSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
8775212f86fSmrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8785212f86fSmrg	;;
8797d5e3a19Smrg    5000:UNIX_System_V:4.*:*)
88013e6bc1cSmrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
88113e6bc1cSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
8825212f86fSmrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
8835212f86fSmrg	;;
8847d5e3a19Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
8855212f86fSmrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
8865212f86fSmrg	;;
8877d5e3a19Smrg    sparc*:BSD/OS:*:*)
8885212f86fSmrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
8895212f86fSmrg	;;
8907d5e3a19Smrg    *:BSD/OS:*:*)
8915212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
8925212f86fSmrg	;;
8935212f86fSmrg    arm:FreeBSD:*:*)
8945212f86fSmrg	UNAME_PROCESSOR=`uname -p`
8955212f86fSmrg	set_cc_for_build
8965212f86fSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
8975212f86fSmrg	    | grep -q __ARM_PCS_VFP
8985212f86fSmrg	then
8995212f86fSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9005212f86fSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
9015212f86fSmrg	else
9025212f86fSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9035212f86fSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
9045212f86fSmrg	fi
9055212f86fSmrg	;;
9067d5e3a19Smrg    *:FreeBSD:*:*)
907b8414663Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
9085212f86fSmrg	case $UNAME_PROCESSOR in
9097d5e3a19Smrg	    amd64)
91013e6bc1cSmrg		UNAME_PROCESSOR=x86_64 ;;
91113e6bc1cSmrg	    i386)
91213e6bc1cSmrg		UNAME_PROCESSOR=i586 ;;
9137d5e3a19Smrg	esac
9145212f86fSmrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9155212f86fSmrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
9165212f86fSmrg	;;
9177d5e3a19Smrg    i*:CYGWIN*:*)
9185212f86fSmrg	GUESS=$UNAME_MACHINE-pc-cygwin
9195212f86fSmrg	;;
920b8414663Smrg    *:MINGW64*:*)
9215212f86fSmrg	GUESS=$UNAME_MACHINE-pc-mingw64
9225212f86fSmrg	;;
9231568b75bSmrg    *:MINGW*:*)
9245212f86fSmrg	GUESS=$UNAME_MACHINE-pc-mingw32
9255212f86fSmrg	;;
926b8414663Smrg    *:MSYS*:*)
9275212f86fSmrg	GUESS=$UNAME_MACHINE-pc-msys
9285212f86fSmrg	;;
9297d5e3a19Smrg    i*:PW*:*)
9305212f86fSmrg	GUESS=$UNAME_MACHINE-pc-pw32
9315212f86fSmrg	;;
9327f6d8fe2Smrg    *:SerenityOS:*:*)
9337f6d8fe2Smrg        GUESS=$UNAME_MACHINE-pc-serenity
9347f6d8fe2Smrg        ;;
935765486e8Smrg    *:Interix*:*)
9365212f86fSmrg	case $UNAME_MACHINE in
9371568b75bSmrg	    x86)
9385212f86fSmrg		GUESS=i586-pc-interix$UNAME_RELEASE
9395212f86fSmrg		;;
940765486e8Smrg	    authenticamd | genuineintel | EM64T)
9415212f86fSmrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
9425212f86fSmrg		;;
9431568b75bSmrg	    IA64)
9445212f86fSmrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
9455212f86fSmrg		;;
9461568b75bSmrg	esac ;;
9477d5e3a19Smrg    i*:UWIN*:*)
9485212f86fSmrg	GUESS=$UNAME_MACHINE-pc-uwin
9495212f86fSmrg	;;
9507d5e3a19Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
9515212f86fSmrg	GUESS=x86_64-pc-cygwin
9525212f86fSmrg	;;
9537d5e3a19Smrg    prep*:SunOS:5.*:*)
9545212f86fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
9555212f86fSmrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
9565212f86fSmrg	;;
9577d5e3a19Smrg    *:GNU:*:*)
9587d5e3a19Smrg	# the GNU system
9595212f86fSmrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
9605212f86fSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
9615212f86fSmrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
9625212f86fSmrg	;;
9637d5e3a19Smrg    *:GNU/*:*:*)
9647d5e3a19Smrg	# other systems with GNU libc and userland
9655212f86fSmrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
9665212f86fSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
9675212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
9685212f86fSmrg	;;
9695212f86fSmrg    *:Minix:*:*)
9705212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-minix
9715212f86fSmrg	;;
972b8414663Smrg    aarch64:Linux:*:*)
9735212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9745212f86fSmrg	;;
975b8414663Smrg    aarch64_be:Linux:*:*)
976b8414663Smrg	UNAME_MACHINE=aarch64_be
9775212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9785212f86fSmrg	;;
979765486e8Smrg    alpha:Linux:*:*)
9805212f86fSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
981765486e8Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
982765486e8Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
983765486e8Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
984765486e8Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
985765486e8Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
986765486e8Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
987765486e8Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
988b8414663Smrg	esac
989765486e8Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
99013e6bc1cSmrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
9915212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9925212f86fSmrg	;;
9935212f86fSmrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
9945212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
9955212f86fSmrg	;;
9967d5e3a19Smrg    arm*:Linux:*:*)
9975212f86fSmrg	set_cc_for_build
9981568b75bSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
9991568b75bSmrg	    | grep -q __ARM_EABI__
10001568b75bSmrg	then
10015212f86fSmrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10021568b75bSmrg	else
1003b8414663Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
1004b8414663Smrg		| grep -q __ARM_PCS_VFP
1005b8414663Smrg	    then
10065212f86fSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
1007b8414663Smrg	    else
10085212f86fSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
1009b8414663Smrg	    fi
10101568b75bSmrg	fi
10115212f86fSmrg	;;
10127d5e3a19Smrg    avr32*:Linux:*:*)
10135212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10145212f86fSmrg	;;
10157d5e3a19Smrg    cris:Linux:*:*)
10165212f86fSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10175212f86fSmrg	;;
10187d5e3a19Smrg    crisv32:Linux:*:*)
10195212f86fSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
10205212f86fSmrg	;;
102113e6bc1cSmrg    e2k:Linux:*:*)
10225212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10235212f86fSmrg	;;
10247d5e3a19Smrg    frv:Linux:*:*)
10255212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10265212f86fSmrg	;;
1027b8414663Smrg    hexagon:Linux:*:*)
10285212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10295212f86fSmrg	;;
1030765486e8Smrg    i*86:Linux:*:*)
10315212f86fSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
10325212f86fSmrg	;;
10337d5e3a19Smrg    ia64:Linux:*:*)
10345212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10355212f86fSmrg	;;
103613e6bc1cSmrg    k1om:Linux:*:*)
10375212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10385212f86fSmrg	;;
10395212f86fSmrg    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
10405212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10415212f86fSmrg	;;
10427d5e3a19Smrg    m32r*:Linux:*:*)
10435212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10445212f86fSmrg	;;
10457d5e3a19Smrg    m68*:Linux:*:*)
10465212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10475212f86fSmrg	;;
1048765486e8Smrg    mips:Linux:*:* | mips64:Linux:*:*)
10495212f86fSmrg	set_cc_for_build
10505212f86fSmrg	IS_GLIBC=0
10515212f86fSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
105213e6bc1cSmrg	sed 's/^	//' << EOF > "$dummy.c"
10537d5e3a19Smrg	#undef CPU
10545212f86fSmrg	#undef mips
10555212f86fSmrg	#undef mipsel
10565212f86fSmrg	#undef mips64
10575212f86fSmrg	#undef mips64el
10585212f86fSmrg	#if ${IS_GLIBC} && defined(_ABI64)
10595212f86fSmrg	LIBCABI=gnuabi64
10605212f86fSmrg	#else
10615212f86fSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
10625212f86fSmrg	LIBCABI=gnuabin32
10635212f86fSmrg	#else
10645212f86fSmrg	LIBCABI=${LIBC}
10655212f86fSmrg	#endif
10665212f86fSmrg	#endif
10675212f86fSmrg
10685212f86fSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10695212f86fSmrg	CPU=mipsisa64r6
10705212f86fSmrg	#else
10715212f86fSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
10725212f86fSmrg	CPU=mipsisa32r6
10735212f86fSmrg	#else
10745212f86fSmrg	#if defined(__mips64)
10755212f86fSmrg	CPU=mips64
10765212f86fSmrg	#else
10775212f86fSmrg	CPU=mips
10785212f86fSmrg	#endif
10795212f86fSmrg	#endif
10805212f86fSmrg	#endif
10815212f86fSmrg
10827d5e3a19Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
10835212f86fSmrg	MIPS_ENDIAN=el
10847d5e3a19Smrg	#else
10857d5e3a19Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
10865212f86fSmrg	MIPS_ENDIAN=
10877d5e3a19Smrg	#else
10885212f86fSmrg	MIPS_ENDIAN=
10897d5e3a19Smrg	#endif
10907d5e3a19Smrg	#endif
10917d5e3a19SmrgEOF
10925212f86fSmrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
10935212f86fSmrg	eval "$cc_set_vars"
10945212f86fSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
10957d5e3a19Smrg	;;
109613e6bc1cSmrg    mips64el:Linux:*:*)
10975212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10985212f86fSmrg	;;
1099b8414663Smrg    openrisc*:Linux:*:*)
11005212f86fSmrg	GUESS=or1k-unknown-linux-$LIBC
11015212f86fSmrg	;;
1102b8414663Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
11035212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11045212f86fSmrg	;;
1105765486e8Smrg    padre:Linux:*:*)
11065212f86fSmrg	GUESS=sparc-unknown-linux-$LIBC
11075212f86fSmrg	;;
1108765486e8Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
11095212f86fSmrg	GUESS=hppa64-unknown-linux-$LIBC
11105212f86fSmrg	;;
11117d5e3a19Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
11127d5e3a19Smrg	# Look for CPU level
11137d5e3a19Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
11145212f86fSmrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
11155212f86fSmrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
11165212f86fSmrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
11177d5e3a19Smrg	esac
11185212f86fSmrg	;;
1119765486e8Smrg    ppc64:Linux:*:*)
11205212f86fSmrg	GUESS=powerpc64-unknown-linux-$LIBC
11215212f86fSmrg	;;
1122765486e8Smrg    ppc:Linux:*:*)
11235212f86fSmrg	GUESS=powerpc-unknown-linux-$LIBC
11245212f86fSmrg	;;
1125b8414663Smrg    ppc64le:Linux:*:*)
11265212f86fSmrg	GUESS=powerpc64le-unknown-linux-$LIBC
11275212f86fSmrg	;;
1128b8414663Smrg    ppcle:Linux:*:*)
11295212f86fSmrg	GUESS=powerpcle-unknown-linux-$LIBC
11305212f86fSmrg	;;
11315212f86fSmrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
11325212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11335212f86fSmrg	;;
11347d5e3a19Smrg    s390:Linux:*:* | s390x:Linux:*:*)
11355212f86fSmrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
11365212f86fSmrg	;;
11377d5e3a19Smrg    sh64*:Linux:*:*)
11385212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11395212f86fSmrg	;;
11407d5e3a19Smrg    sh*:Linux:*:*)
11415212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11425212f86fSmrg	;;
11437d5e3a19Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
11445212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11455212f86fSmrg	;;
1146bda5b58fSmrg    tile*:Linux:*:*)
11475212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11485212f86fSmrg	;;
11497d5e3a19Smrg    vax:Linux:*:*)
11505212f86fSmrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
11515212f86fSmrg	;;
11527d5e3a19Smrg    x86_64:Linux:*:*)
11535212f86fSmrg	set_cc_for_build
11547f6d8fe2Smrg	CPU=$UNAME_MACHINE
11555212f86fSmrg	LIBCABI=$LIBC
11565212f86fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
11577f6d8fe2Smrg	    ABI=64
11587f6d8fe2Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
11597f6d8fe2Smrg	    #ifdef __i386__
11607f6d8fe2Smrg	    ABI=x86
11617f6d8fe2Smrg	    #else
11627f6d8fe2Smrg	    #ifdef __ILP32__
11637f6d8fe2Smrg	    ABI=x32
11647f6d8fe2Smrg	    #endif
11657f6d8fe2Smrg	    #endif
11667f6d8fe2SmrgEOF
11677f6d8fe2Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
11687f6d8fe2Smrg	    eval "$cc_set_abi"
11697f6d8fe2Smrg	    case $ABI in
11707f6d8fe2Smrg		x86) CPU=i686 ;;
11717f6d8fe2Smrg		x32) LIBCABI=${LIBC}x32 ;;
11727f6d8fe2Smrg	    esac
11735212f86fSmrg	fi
11747f6d8fe2Smrg	GUESS=$CPU-pc-linux-$LIBCABI
11755212f86fSmrg	;;
11761568b75bSmrg    xtensa*:Linux:*:*)
11775212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
11785212f86fSmrg	;;
11797d5e3a19Smrg    i*86:DYNIX/ptx:4*:*)
11807d5e3a19Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
11817d5e3a19Smrg	# earlier versions are messed up and put the nodename in both
11827d5e3a19Smrg	# sysname and nodename.
11835212f86fSmrg	GUESS=i386-sequent-sysv4
11845212f86fSmrg	;;
11857d5e3a19Smrg    i*86:UNIX_SV:4.2MP:2.*)
1186b8414663Smrg	# Unixware is an offshoot of SVR4, but it has its own version
1187b8414663Smrg	# number series starting with 2...
1188b8414663Smrg	# I am not positive that other SVR4 systems won't match this,
11897d5e3a19Smrg	# I just have to hope.  -- rms.
1190b8414663Smrg	# Use sysv4.2uw... so that sysv4* matches it.
11915212f86fSmrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
11925212f86fSmrg	;;
11937d5e3a19Smrg    i*86:OS/2:*:*)
11947d5e3a19Smrg	# If we were able to find `uname', then EMX Unix compatibility
11957d5e3a19Smrg	# is probably installed.
11965212f86fSmrg	GUESS=$UNAME_MACHINE-pc-os2-emx
11975212f86fSmrg	;;
11987d5e3a19Smrg    i*86:XTS-300:*:STOP)
11995212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-stop
12005212f86fSmrg	;;
12017d5e3a19Smrg    i*86:atheos:*:*)
12025212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-atheos
12035212f86fSmrg	;;
12047d5e3a19Smrg    i*86:syllable:*:*)
12055212f86fSmrg	GUESS=$UNAME_MACHINE-pc-syllable
12065212f86fSmrg	;;
1207765486e8Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
12085212f86fSmrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
12095212f86fSmrg	;;
12107d5e3a19Smrg    i*86:*DOS:*:*)
12115212f86fSmrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
12125212f86fSmrg	;;
121313e6bc1cSmrg    i*86:*:4.*:*)
121413e6bc1cSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
12157d5e3a19Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
12165212f86fSmrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
12177d5e3a19Smrg	else
12185212f86fSmrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
12197d5e3a19Smrg	fi
12205212f86fSmrg	;;
12217d5e3a19Smrg    i*86:*:5:[678]*)
1222b8414663Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
12237d5e3a19Smrg	case `/bin/uname -X | grep "^Machine"` in
12247d5e3a19Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
12257d5e3a19Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
12267d5e3a19Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
12277d5e3a19Smrg	esac
12285212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
12295212f86fSmrg	;;
12307d5e3a19Smrg    i*86:*:3.2:*)
12317d5e3a19Smrg	if test -f /usr/options/cb.name; then
12327d5e3a19Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
12335212f86fSmrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
12347d5e3a19Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
12357d5e3a19Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
12367d5e3a19Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
12377d5e3a19Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
12387d5e3a19Smrg			&& UNAME_MACHINE=i586
12397d5e3a19Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
12407d5e3a19Smrg			&& UNAME_MACHINE=i686
12417d5e3a19Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
12427d5e3a19Smrg			&& UNAME_MACHINE=i686
12435212f86fSmrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
12447d5e3a19Smrg	else
12455212f86fSmrg		GUESS=$UNAME_MACHINE-pc-sysv32
12467d5e3a19Smrg	fi
12475212f86fSmrg	;;
12487d5e3a19Smrg    pc:*:*:*)
12497d5e3a19Smrg	# Left here for compatibility:
1250b8414663Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1251b8414663Smrg	# the processor, so we play safe by assuming i586.
1252765486e8Smrg	# Note: whatever this is, it MUST be the same as what config.sub
125313e6bc1cSmrg	# prints for the "djgpp" host, or else GDB configure will decide that
1254765486e8Smrg	# this is a cross-build.
12555212f86fSmrg	GUESS=i586-pc-msdosdjgpp
12565212f86fSmrg	;;
12577d5e3a19Smrg    Intel:Mach:3*:*)
12585212f86fSmrg	GUESS=i386-pc-mach3
12595212f86fSmrg	;;
12607d5e3a19Smrg    paragon:*:*:*)
12615212f86fSmrg	GUESS=i860-intel-osf1
12625212f86fSmrg	;;
12637d5e3a19Smrg    i860:*:4.*:*) # i860-SVR4
12647d5e3a19Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
12655212f86fSmrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
12667d5e3a19Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
12675212f86fSmrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
12687d5e3a19Smrg	fi
12695212f86fSmrg	;;
12707d5e3a19Smrg    mini*:CTIX:SYS*5:*)
12717d5e3a19Smrg	# "miniframe"
12725212f86fSmrg	GUESS=m68010-convergent-sysv
12735212f86fSmrg	;;
12747d5e3a19Smrg    mc68k:UNIX:SYSTEM5:3.51m)
12755212f86fSmrg	GUESS=m68k-convergent-sysv
12765212f86fSmrg	;;
12777d5e3a19Smrg    M680?0:D-NIX:5.3:*)
12785212f86fSmrg	GUESS=m68k-diab-dnix
12795212f86fSmrg	;;
12807d5e3a19Smrg    M68*:*:R3V[5678]*:*)
12817d5e3a19Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
12827d5e3a19Smrg    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)
12837d5e3a19Smrg	OS_REL=''
12847d5e3a19Smrg	test -r /etc/.relid \
12857d5e3a19Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
12867d5e3a19Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
128713e6bc1cSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
12887d5e3a19Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
128913e6bc1cSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
12907d5e3a19Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1291b8414663Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1292b8414663Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
1293765486e8Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1294765486e8Smrg	OS_REL='.3'
1295765486e8Smrg	test -r /etc/.relid \
1296765486e8Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1297765486e8Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
129813e6bc1cSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1299765486e8Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
130013e6bc1cSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1301765486e8Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
130213e6bc1cSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
13037d5e3a19Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
13045212f86fSmrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
13055212f86fSmrg	;;
13067d5e3a19Smrg    mc68030:UNIX_System_V:4.*:*)
13075212f86fSmrg	GUESS=m68k-atari-sysv4
13085212f86fSmrg	;;
13097d5e3a19Smrg    TSUNAMI:LynxOS:2.*:*)
13105212f86fSmrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
13115212f86fSmrg	;;
13127d5e3a19Smrg    rs6000:LynxOS:2.*:*)
13135212f86fSmrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
13145212f86fSmrg	;;
1315765486e8Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
13165212f86fSmrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
13175212f86fSmrg	;;
13187d5e3a19Smrg    SM[BE]S:UNIX_SV:*:*)
13195212f86fSmrg	GUESS=mips-dde-sysv$UNAME_RELEASE
13205212f86fSmrg	;;
13217d5e3a19Smrg    RM*:ReliantUNIX-*:*:*)
13225212f86fSmrg	GUESS=mips-sni-sysv4
13235212f86fSmrg	;;
13247d5e3a19Smrg    RM*:SINIX-*:*:*)
13255212f86fSmrg	GUESS=mips-sni-sysv4
13265212f86fSmrg	;;
13277d5e3a19Smrg    *:SINIX-*:*:*)
13287d5e3a19Smrg	if uname -p 2>/dev/null >/dev/null ; then
13297d5e3a19Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
13305212f86fSmrg		GUESS=$UNAME_MACHINE-sni-sysv4
13317d5e3a19Smrg	else
13325212f86fSmrg		GUESS=ns32k-sni-sysv
13337d5e3a19Smrg	fi
13345212f86fSmrg	;;
1335b8414663Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1336b8414663Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
13375212f86fSmrg	GUESS=i586-unisys-sysv4
13385212f86fSmrg	;;
13397d5e3a19Smrg    *:UNIX_System_V:4*:FTX*)
13407d5e3a19Smrg	# From Gerald Hewes <hewes@openmarket.com>.
13417d5e3a19Smrg	# How about differentiating between stratus architectures? -djm
13425212f86fSmrg	GUESS=hppa1.1-stratus-sysv4
13435212f86fSmrg	;;
13447d5e3a19Smrg    *:*:*:FTX*)
13457d5e3a19Smrg	# From seanf@swdc.stratus.com.
13465212f86fSmrg	GUESS=i860-stratus-sysv4
13475212f86fSmrg	;;
13487d5e3a19Smrg    i*86:VOS:*:*)
13497d5e3a19Smrg	# From Paul.Green@stratus.com.
13505212f86fSmrg	GUESS=$UNAME_MACHINE-stratus-vos
13515212f86fSmrg	;;
13527d5e3a19Smrg    *:VOS:*:*)
13537d5e3a19Smrg	# From Paul.Green@stratus.com.
13545212f86fSmrg	GUESS=hppa1.1-stratus-vos
13555212f86fSmrg	;;
13567d5e3a19Smrg    mc68*:A/UX:*:*)
13575212f86fSmrg	GUESS=m68k-apple-aux$UNAME_RELEASE
13585212f86fSmrg	;;
13597d5e3a19Smrg    news*:NEWS-OS:6*:*)
13605212f86fSmrg	GUESS=mips-sony-newsos6
13615212f86fSmrg	;;
13627d5e3a19Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
13635212f86fSmrg	if test -d /usr/nec; then
13645212f86fSmrg		GUESS=mips-nec-sysv$UNAME_RELEASE
13657d5e3a19Smrg	else
13665212f86fSmrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
13677d5e3a19Smrg	fi
13685212f86fSmrg	;;
13697d5e3a19Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
13705212f86fSmrg	GUESS=powerpc-be-beos
13715212f86fSmrg	;;
13727d5e3a19Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
13735212f86fSmrg	GUESS=powerpc-apple-beos
13745212f86fSmrg	;;
13757d5e3a19Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
13765212f86fSmrg	GUESS=i586-pc-beos
13775212f86fSmrg	;;
1378765486e8Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
13795212f86fSmrg	GUESS=i586-pc-haiku
13805212f86fSmrg	;;
13817f6d8fe2Smrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
13827f6d8fe2Smrg	GUESS=powerpc-apple-haiku
13837f6d8fe2Smrg	;;
13847f6d8fe2Smrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
13857f6d8fe2Smrg	GUESS=$UNAME_MACHINE-unknown-haiku
13865212f86fSmrg	;;
13877d5e3a19Smrg    SX-4:SUPER-UX:*:*)
13885212f86fSmrg	GUESS=sx4-nec-superux$UNAME_RELEASE
13895212f86fSmrg	;;
13907d5e3a19Smrg    SX-5:SUPER-UX:*:*)
13915212f86fSmrg	GUESS=sx5-nec-superux$UNAME_RELEASE
13925212f86fSmrg	;;
13937d5e3a19Smrg    SX-6:SUPER-UX:*:*)
13945212f86fSmrg	GUESS=sx6-nec-superux$UNAME_RELEASE
13955212f86fSmrg	;;
13961568b75bSmrg    SX-7:SUPER-UX:*:*)
13975212f86fSmrg	GUESS=sx7-nec-superux$UNAME_RELEASE
13985212f86fSmrg	;;
13991568b75bSmrg    SX-8:SUPER-UX:*:*)
14005212f86fSmrg	GUESS=sx8-nec-superux$UNAME_RELEASE
14015212f86fSmrg	;;
14021568b75bSmrg    SX-8R:SUPER-UX:*:*)
14035212f86fSmrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
14045212f86fSmrg	;;
140513e6bc1cSmrg    SX-ACE:SUPER-UX:*:*)
14065212f86fSmrg	GUESS=sxace-nec-superux$UNAME_RELEASE
14075212f86fSmrg	;;
14087d5e3a19Smrg    Power*:Rhapsody:*:*)
14095212f86fSmrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
14105212f86fSmrg	;;
14117d5e3a19Smrg    *:Rhapsody:*:*)
14125212f86fSmrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
14135212f86fSmrg	;;
14145212f86fSmrg    arm64:Darwin:*:*)
14155212f86fSmrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
14165212f86fSmrg	;;
14177d5e3a19Smrg    *:Darwin:*:*)
14185212f86fSmrg	UNAME_PROCESSOR=`uname -p`
14195212f86fSmrg	case $UNAME_PROCESSOR in
14205212f86fSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
14215212f86fSmrg	esac
14225212f86fSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
14235212f86fSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
14245212f86fSmrg	    # Avoid executing cc if there is no toolchain installed as
14255212f86fSmrg	    # cc will be a stub that puts up a graphical alert
14265212f86fSmrg	    # prompting the user to install developer tools.
14275212f86fSmrg	    CC_FOR_BUILD=no_compiler_found
14285212f86fSmrg	else
14295212f86fSmrg	    set_cc_for_build
1430b8414663Smrg	fi
14315212f86fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
14325212f86fSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
14335212f86fSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14345212f86fSmrg		   grep IS_64BIT_ARCH >/dev/null
14355212f86fSmrg	    then
14365212f86fSmrg		case $UNAME_PROCESSOR in
14375212f86fSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
14385212f86fSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
14395212f86fSmrg		esac
14405212f86fSmrg	    fi
14415212f86fSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
14425212f86fSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
14435212f86fSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
14445212f86fSmrg		   grep IS_PPC >/dev/null
14455212f86fSmrg	    then
14465212f86fSmrg		UNAME_PROCESSOR=powerpc
1447b8414663Smrg	    fi
1448b8414663Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
14495212f86fSmrg	    # uname -m returns i386 or x86_64
14505212f86fSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
1451b8414663Smrg	fi
14525212f86fSmrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
14535212f86fSmrg	;;
14547d5e3a19Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
14557d5e3a19Smrg	UNAME_PROCESSOR=`uname -p`
145613e6bc1cSmrg	if test "$UNAME_PROCESSOR" = x86; then
14577d5e3a19Smrg		UNAME_PROCESSOR=i386
14587d5e3a19Smrg		UNAME_MACHINE=pc
14597d5e3a19Smrg	fi
14605212f86fSmrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
14615212f86fSmrg	;;
14627d5e3a19Smrg    *:QNX:*:4*)
14635212f86fSmrg	GUESS=i386-pc-qnx
14645212f86fSmrg	;;
146513e6bc1cSmrg    NEO-*:NONSTOP_KERNEL:*:*)
14665212f86fSmrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
14675212f86fSmrg	;;
1468b8414663Smrg    NSE-*:NONSTOP_KERNEL:*:*)
14695212f86fSmrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
14705212f86fSmrg	;;
147113e6bc1cSmrg    NSR-*:NONSTOP_KERNEL:*:*)
14725212f86fSmrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
14735212f86fSmrg	;;
147413e6bc1cSmrg    NSV-*:NONSTOP_KERNEL:*:*)
14755212f86fSmrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
14765212f86fSmrg	;;
147713e6bc1cSmrg    NSX-*:NONSTOP_KERNEL:*:*)
14785212f86fSmrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
14795212f86fSmrg	;;
14807d5e3a19Smrg    *:NonStop-UX:*:*)
14815212f86fSmrg	GUESS=mips-compaq-nonstopux
14825212f86fSmrg	;;
14837d5e3a19Smrg    BS2000:POSIX*:*:*)
14845212f86fSmrg	GUESS=bs2000-siemens-sysv
14855212f86fSmrg	;;
14867d5e3a19Smrg    DS/*:UNIX_System_V:*:*)
14875212f86fSmrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
14885212f86fSmrg	;;
14897d5e3a19Smrg    *:Plan9:*:*)
14907d5e3a19Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
14917d5e3a19Smrg	# is converted to i386 for consistency with other x86
14927d5e3a19Smrg	# operating systems.
14935212f86fSmrg	if test "${cputype-}" = 386; then
14947d5e3a19Smrg	    UNAME_MACHINE=i386
14955212f86fSmrg	elif test "x${cputype-}" != x; then
14965212f86fSmrg	    UNAME_MACHINE=$cputype
14977d5e3a19Smrg	fi
14985212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-plan9
14995212f86fSmrg	;;
15007d5e3a19Smrg    *:TOPS-10:*:*)
15015212f86fSmrg	GUESS=pdp10-unknown-tops10
15025212f86fSmrg	;;
15037d5e3a19Smrg    *:TENEX:*:*)
15045212f86fSmrg	GUESS=pdp10-unknown-tenex
15055212f86fSmrg	;;
15067d5e3a19Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
15075212f86fSmrg	GUESS=pdp10-dec-tops20
15085212f86fSmrg	;;
15097d5e3a19Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
15105212f86fSmrg	GUESS=pdp10-xkl-tops20
15115212f86fSmrg	;;
15127d5e3a19Smrg    *:TOPS-20:*:*)
15135212f86fSmrg	GUESS=pdp10-unknown-tops20
15145212f86fSmrg	;;
15157d5e3a19Smrg    *:ITS:*:*)
15165212f86fSmrg	GUESS=pdp10-unknown-its
15175212f86fSmrg	;;
15187d5e3a19Smrg    SEI:*:*:SEIUX)
15195212f86fSmrg	GUESS=mips-sei-seiux$UNAME_RELEASE
15205212f86fSmrg	;;
15217d5e3a19Smrg    *:DragonFly:*:*)
15225212f86fSmrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
15235212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
15245212f86fSmrg	;;
15257d5e3a19Smrg    *:*VMS:*:*)
1526b8414663Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
15275212f86fSmrg	case $UNAME_MACHINE in
15285212f86fSmrg	    A*) GUESS=alpha-dec-vms ;;
15295212f86fSmrg	    I*) GUESS=ia64-dec-vms ;;
15305212f86fSmrg	    V*) GUESS=vax-dec-vms ;;
15317d5e3a19Smrg	esac ;;
15327d5e3a19Smrg    *:XENIX:*:SysV)
15335212f86fSmrg	GUESS=i386-pc-xenix
15345212f86fSmrg	;;
15357d5e3a19Smrg    i*86:skyos:*:*)
15365212f86fSmrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
15375212f86fSmrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
15385212f86fSmrg	;;
15397d5e3a19Smrg    i*86:rdos:*:*)
15405212f86fSmrg	GUESS=$UNAME_MACHINE-pc-rdos
15415212f86fSmrg	;;
15427f6d8fe2Smrg    i*86:Fiwix:*:*)
15437f6d8fe2Smrg	GUESS=$UNAME_MACHINE-pc-fiwix
15447f6d8fe2Smrg	;;
15455212f86fSmrg    *:AROS:*:*)
15465212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-aros
15475212f86fSmrg	;;
1548b8414663Smrg    x86_64:VMkernel:*:*)
15495212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-esx
15505212f86fSmrg	;;
155113e6bc1cSmrg    amd64:Isilon\ OneFS:*:*)
15525212f86fSmrg	GUESS=x86_64-unknown-onefs
15535212f86fSmrg	;;
15545212f86fSmrg    *:Unleashed:*:*)
15555212f86fSmrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
15565212f86fSmrg	;;
1557b8414663Smrgesac
15587d5e3a19Smrg
15595212f86fSmrg# Do we have a guess based on uname results?
15605212f86fSmrgif test "x$GUESS" != x; then
15615212f86fSmrg    echo "$GUESS"
15625212f86fSmrg    exit
15635212f86fSmrgfi
15645212f86fSmrg
15655212f86fSmrg# No uname command or uname output not recognized.
15665212f86fSmrgset_cc_for_build
15675212f86fSmrgcat > "$dummy.c" <<EOF
15685212f86fSmrg#ifdef _SEQUENT_
15695212f86fSmrg#include <sys/types.h>
15705212f86fSmrg#include <sys/utsname.h>
15715212f86fSmrg#endif
15725212f86fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
15735212f86fSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
15745212f86fSmrg#include <signal.h>
15755212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
15765212f86fSmrg#include <sys/utsname.h>
15775212f86fSmrg#endif
15785212f86fSmrg#endif
15795212f86fSmrg#endif
15805212f86fSmrgmain ()
15815212f86fSmrg{
15825212f86fSmrg#if defined (sony)
15835212f86fSmrg#if defined (MIPSEB)
15845212f86fSmrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
15855212f86fSmrg     I don't know....  */
15865212f86fSmrg  printf ("mips-sony-bsd\n"); exit (0);
15875212f86fSmrg#else
15885212f86fSmrg#include <sys/param.h>
15895212f86fSmrg  printf ("m68k-sony-newsos%s\n",
15905212f86fSmrg#ifdef NEWSOS4
15915212f86fSmrg  "4"
15925212f86fSmrg#else
15935212f86fSmrg  ""
15945212f86fSmrg#endif
15955212f86fSmrg  ); exit (0);
15965212f86fSmrg#endif
15975212f86fSmrg#endif
15985212f86fSmrg
15995212f86fSmrg#if defined (NeXT)
16005212f86fSmrg#if !defined (__ARCHITECTURE__)
16015212f86fSmrg#define __ARCHITECTURE__ "m68k"
16025212f86fSmrg#endif
16035212f86fSmrg  int version;
16045212f86fSmrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
16055212f86fSmrg  if (version < 4)
16065212f86fSmrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
16075212f86fSmrg  else
16085212f86fSmrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
16095212f86fSmrg  exit (0);
16105212f86fSmrg#endif
16115212f86fSmrg
16125212f86fSmrg#if defined (MULTIMAX) || defined (n16)
16135212f86fSmrg#if defined (UMAXV)
16145212f86fSmrg  printf ("ns32k-encore-sysv\n"); exit (0);
16155212f86fSmrg#else
16165212f86fSmrg#if defined (CMU)
16175212f86fSmrg  printf ("ns32k-encore-mach\n"); exit (0);
16185212f86fSmrg#else
16195212f86fSmrg  printf ("ns32k-encore-bsd\n"); exit (0);
16205212f86fSmrg#endif
16215212f86fSmrg#endif
16225212f86fSmrg#endif
16235212f86fSmrg
16245212f86fSmrg#if defined (__386BSD__)
16255212f86fSmrg  printf ("i386-pc-bsd\n"); exit (0);
16265212f86fSmrg#endif
16275212f86fSmrg
16285212f86fSmrg#if defined (sequent)
16295212f86fSmrg#if defined (i386)
16305212f86fSmrg  printf ("i386-sequent-dynix\n"); exit (0);
16315212f86fSmrg#endif
16325212f86fSmrg#if defined (ns32000)
16335212f86fSmrg  printf ("ns32k-sequent-dynix\n"); exit (0);
16345212f86fSmrg#endif
16355212f86fSmrg#endif
16365212f86fSmrg
16375212f86fSmrg#if defined (_SEQUENT_)
16385212f86fSmrg  struct utsname un;
16395212f86fSmrg
16405212f86fSmrg  uname(&un);
16415212f86fSmrg  if (strncmp(un.version, "V2", 2) == 0) {
16425212f86fSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
16435212f86fSmrg  }
16445212f86fSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
16455212f86fSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
16465212f86fSmrg  }
16475212f86fSmrg  printf ("i386-sequent-ptx\n"); exit (0);
16485212f86fSmrg#endif
16495212f86fSmrg
16505212f86fSmrg#if defined (vax)
16515212f86fSmrg#if !defined (ultrix)
16525212f86fSmrg#include <sys/param.h>
16535212f86fSmrg#if defined (BSD)
16545212f86fSmrg#if BSD == 43
16555212f86fSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
16565212f86fSmrg#else
16575212f86fSmrg#if BSD == 199006
16585212f86fSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
16595212f86fSmrg#else
16605212f86fSmrg  printf ("vax-dec-bsd\n"); exit (0);
16615212f86fSmrg#endif
16625212f86fSmrg#endif
16635212f86fSmrg#else
16645212f86fSmrg  printf ("vax-dec-bsd\n"); exit (0);
16655212f86fSmrg#endif
16665212f86fSmrg#else
16675212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16685212f86fSmrg  struct utsname un;
16695212f86fSmrg  uname (&un);
16705212f86fSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
16715212f86fSmrg#else
16725212f86fSmrg  printf ("vax-dec-ultrix\n"); exit (0);
16735212f86fSmrg#endif
16745212f86fSmrg#endif
16755212f86fSmrg#endif
16765212f86fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
16775212f86fSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
16785212f86fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
16795212f86fSmrg  struct utsname *un;
16805212f86fSmrg  uname (&un);
16815212f86fSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
16825212f86fSmrg#else
16835212f86fSmrg  printf ("mips-dec-ultrix\n"); exit (0);
16845212f86fSmrg#endif
16855212f86fSmrg#endif
16865212f86fSmrg#endif
16875212f86fSmrg
16885212f86fSmrg#if defined (alliant) && defined (i860)
16895212f86fSmrg  printf ("i860-alliant-bsd\n"); exit (0);
16905212f86fSmrg#endif
16915212f86fSmrg
16925212f86fSmrg  exit (1);
16935212f86fSmrg}
16945212f86fSmrgEOF
16955212f86fSmrg
16965212f86fSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
16975212f86fSmrg	{ echo "$SYSTEM_NAME"; exit; }
16985212f86fSmrg
16995212f86fSmrg# Apollos put the system type in the environment.
17005212f86fSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
17015212f86fSmrg
170213e6bc1cSmrgecho "$0: unable to guess system type" >&2
170313e6bc1cSmrg
17045212f86fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
170513e6bc1cSmrg    mips:Linux | mips64:Linux)
170613e6bc1cSmrg	# If we got here on MIPS GNU/Linux, output extra information.
170713e6bc1cSmrg	cat >&2 <<EOF
170813e6bc1cSmrg
170913e6bc1cSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
171013e6bc1cSmrgthe system type. Please install a C compiler and try again.
171113e6bc1cSmrgEOF
171213e6bc1cSmrg	;;
171313e6bc1cSmrgesac
171413e6bc1cSmrg
17157d5e3a19Smrgcat >&2 <<EOF
17167d5e3a19Smrg
171713e6bc1cSmrgThis script (version $timestamp), has failed to recognize the
171813e6bc1cSmrgoperating system you are using. If your script is old, overwrite *all*
171913e6bc1cSmrgcopies of config.guess and config.sub with the latest versions from:
17207d5e3a19Smrg
17215212f86fSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
17227d5e3a19Smrgand
17235212f86fSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
17245212f86fSmrgEOF
17255212f86fSmrg
17265212f86fSmrgour_year=`echo $timestamp | sed 's,-.*,,'`
17275212f86fSmrgthisyear=`date +%Y`
17285212f86fSmrg# shellcheck disable=SC2003
17295212f86fSmrgscript_age=`expr "$thisyear" - "$our_year"`
17305212f86fSmrgif test "$script_age" -lt 3 ; then
17315212f86fSmrg   cat >&2 <<EOF
17327d5e3a19Smrg
173313e6bc1cSmrgIf $0 has already been updated, send the following data and any
173413e6bc1cSmrginformation you think might be pertinent to config-patches@gnu.org to
173513e6bc1cSmrgprovide the necessary information to handle your system.
17367d5e3a19Smrg
17377d5e3a19Smrgconfig.guess timestamp = $timestamp
17387d5e3a19Smrg
17397d5e3a19Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
17407d5e3a19Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
17417d5e3a19Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
17427d5e3a19Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
17437d5e3a19Smrg
17447d5e3a19Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
17457d5e3a19Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
17467d5e3a19Smrg
17477d5e3a19Smrghostinfo               = `(hostinfo) 2>/dev/null`
17487d5e3a19Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
17497d5e3a19Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
17507d5e3a19Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
17517d5e3a19Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
17527d5e3a19Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
17537d5e3a19Smrg
175413e6bc1cSmrgUNAME_MACHINE = "$UNAME_MACHINE"
175513e6bc1cSmrgUNAME_RELEASE = "$UNAME_RELEASE"
175613e6bc1cSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
175713e6bc1cSmrgUNAME_VERSION = "$UNAME_VERSION"
17587d5e3a19SmrgEOF
17595212f86fSmrgfi
17607d5e3a19Smrg
17617d5e3a19Smrgexit 1
17627d5e3a19Smrg
17637d5e3a19Smrg# Local variables:
17645212f86fSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
17657d5e3a19Smrg# time-stamp-start: "timestamp='"
17667d5e3a19Smrg# time-stamp-format: "%:y-%02m-%02d"
17677d5e3a19Smrg# time-stamp-end: "'"
17687d5e3a19Smrg# End:
1769