xref: /freebsd/contrib/ncurses/config.guess (revision 73f0a83d68863a383fd8953972cd36eb6420ec7d)
10e3d5408SPeter Wemm#! /bin/sh
20e3d5408SPeter Wemm# Attempt to guess a canonical system name.
3*73f0a83dSXin LI#   Copyright 1992-2013 Free Software Foundation, Inc.
415589c42SPeter Wemm
5*73f0a83dSXin LItimestamp='2013-06-10'
615589c42SPeter Wemm
70e3d5408SPeter Wemm# This file is free software; you can redistribute it and/or modify it
80e3d5408SPeter Wemm# under the terms of the GNU General Public License as published by
9*73f0a83dSXin LI# the Free Software Foundation; either version 3 of the License, or
100e3d5408SPeter Wemm# (at your option) any later version.
110e3d5408SPeter Wemm#
120e3d5408SPeter Wemm# This program is distributed in the hope that it will be useful, but
130e3d5408SPeter Wemm# WITHOUT ANY WARRANTY; without even the implied warranty of
140e3d5408SPeter Wemm# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
150e3d5408SPeter Wemm# General Public License for more details.
160e3d5408SPeter Wemm#
170e3d5408SPeter Wemm# You should have received a copy of the GNU General Public License
18*73f0a83dSXin LI# along with this program; if not, see <http://www.gnu.org/licenses/>.
190e3d5408SPeter Wemm#
200e3d5408SPeter Wemm# As a special exception to the GNU General Public License, if you
210e3d5408SPeter Wemm# distribute this file as part of a program that contains a
220e3d5408SPeter Wemm# configuration script generated by Autoconf, you may include it under
23*73f0a83dSXin LI# the same distribution terms that you use for the rest of that
24*73f0a83dSXin LI# program.  This Exception is an additional permission under section 7
25*73f0a83dSXin LI# of the GNU General Public License, version 3 ("GPLv3").
260e3d5408SPeter Wemm#
27*73f0a83dSXin LI# Originally written by Per Bothner.
280e3d5408SPeter Wemm#
2906bfebdeSXin LI# You can get the latest version of this script from:
3006bfebdeSXin LI# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
31*73f0a83dSXin LI#
32*73f0a83dSXin LI# Please send patches with a ChangeLog entry to config-patches@gnu.org.
33*73f0a83dSXin LI
340e3d5408SPeter Wemm
3515589c42SPeter Wemmme=`echo "$0" | sed -e 's,.*/,,'`
3615589c42SPeter Wemm
3715589c42SPeter Wemmusage="\
3815589c42SPeter WemmUsage: $0 [OPTION]
3915589c42SPeter Wemm
407a69bbfbSPeter WemmOutput the configuration name of the system \`$me' is run on.
4115589c42SPeter Wemm
4215589c42SPeter WemmOperation modes:
4315589c42SPeter Wemm  -h, --help         print this help, then exit
447a69bbfbSPeter Wemm  -t, --time-stamp   print date of last modification, then exit
457a69bbfbSPeter Wemm  -v, --version      print version number, then exit
467a69bbfbSPeter Wemm
477a69bbfbSPeter WemmReport bugs and patches to <config-patches@gnu.org>."
487a69bbfbSPeter Wemm
497a69bbfbSPeter Wemmversion="\
507a69bbfbSPeter WemmGNU config.guess ($timestamp)
517a69bbfbSPeter Wemm
527a69bbfbSPeter WemmOriginally written by Per Bothner.
53*73f0a83dSXin LICopyright 1992-2013 Free Software Foundation, Inc.
547a69bbfbSPeter Wemm
557a69bbfbSPeter WemmThis is free software; see the source for copying conditions.  There is NO
567a69bbfbSPeter Wemmwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
5715589c42SPeter Wemm
5815589c42SPeter Wemmhelp="
5915589c42SPeter WemmTry \`$me --help' for more information."
6015589c42SPeter Wemm
6115589c42SPeter Wemm# Parse command line
6215589c42SPeter Wemmwhile test $# -gt 0 ; do
637a69bbfbSPeter Wemm  case $1 in
647a69bbfbSPeter Wemm    --time-stamp | --time* | -t )
654a1a9510SRong-En Fan       echo "$timestamp" ; exit ;;
667a69bbfbSPeter Wemm    --version | -v )
674a1a9510SRong-En Fan       echo "$version" ; exit ;;
6815589c42SPeter Wemm    --help | --h* | -h )
694a1a9510SRong-En Fan       echo "$usage"; exit ;;
7015589c42SPeter Wemm    -- )     # Stop option processing
7115589c42SPeter Wemm       shift; break ;;
7215589c42SPeter Wemm    - )	# Use stdin as input.
7315589c42SPeter Wemm       break ;;
7415589c42SPeter Wemm    -* )
757a69bbfbSPeter Wemm       echo "$me: invalid option $1$help" >&2
7615589c42SPeter Wemm       exit 1 ;;
7715589c42SPeter Wemm    * )
7815589c42SPeter Wemm       break ;;
7915589c42SPeter Wemm  esac
8015589c42SPeter Wemmdone
8115589c42SPeter Wemm
8215589c42SPeter Wemmif test $# != 0; then
8315589c42SPeter Wemm  echo "$me: too many arguments$help" >&2
8415589c42SPeter Wemm  exit 1
8515589c42SPeter Wemmfi
8615589c42SPeter Wemm
87*73f0a83dSXin LItrap 'exit 1' 1 2 15
8815589c42SPeter Wemm
894a1a9510SRong-En Fan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
904a1a9510SRong-En Fan# compiler to aid in system detection is discouraged as it requires
914a1a9510SRong-En Fan# temporary files to be created and, as you can see below, it is a
924a1a9510SRong-En Fan# headache to deal with in a portable fashion.
937a69bbfbSPeter Wemm
947a69bbfbSPeter Wemm# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
957a69bbfbSPeter Wemm# use `HOST_CC' if defined, but it is deprecated.
967a69bbfbSPeter Wemm
974a1a9510SRong-En Fan# Portable tmp directory creation inspired by the Autoconf team.
984a1a9510SRong-En Fan
994a1a9510SRong-En Fanset_cc_for_build='
1004a1a9510SRong-En Fantrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101*73f0a83dSXin LItrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1024a1a9510SRong-En Fan: ${TMPDIR=/tmp} ;
1034a1a9510SRong-En Fan { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1044a1a9510SRong-En Fan { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1054a1a9510SRong-En Fan { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1064a1a9510SRong-En Fan { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1074a1a9510SRong-En Fandummy=$tmp/dummy ;
1084a1a9510SRong-En Fantmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1094a1a9510SRong-En Fancase $CC_FOR_BUILD,$HOST_CC,$CC in
1104a1a9510SRong-En Fan ,,)    echo "int x;" > $dummy.c ;
11139f2269fSPeter Wemm	for c in cc gcc c89 c99 ; do
1124a1a9510SRong-En Fan	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
11339f2269fSPeter Wemm	     CC_FOR_BUILD="$c"; break ;
11439f2269fSPeter Wemm	  fi ;
11539f2269fSPeter Wemm	done ;
1167a69bbfbSPeter Wemm	if test x"$CC_FOR_BUILD" = x ; then
11739f2269fSPeter Wemm	  CC_FOR_BUILD=no_compiler_found ;
1187a69bbfbSPeter Wemm	fi
1197a69bbfbSPeter Wemm	;;
1207a69bbfbSPeter Wemm ,,*)   CC_FOR_BUILD=$CC ;;
1217a69bbfbSPeter Wemm ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1224a1a9510SRong-En Fanesac ; set_cc_for_build= ;'
12315589c42SPeter Wemm
1240e3d5408SPeter Wemm# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
12539f2269fSPeter Wemm# (ghazi@noc.rutgers.edu 1994-08-24)
1260e3d5408SPeter Wemmif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1270e3d5408SPeter Wemm	PATH=$PATH:/.attbin ; export PATH
1280e3d5408SPeter Wemmfi
1290e3d5408SPeter Wemm
1300e3d5408SPeter WemmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1310e3d5408SPeter WemmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1320e3d5408SPeter WemmUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1330e3d5408SPeter WemmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1340e3d5408SPeter Wemm
135*73f0a83dSXin LIcase "${UNAME_SYSTEM}" in
136*73f0a83dSXin LILinux|GNU|GNU/*)
137*73f0a83dSXin LI	# If the system lacks a compiler, then just pick glibc.
138*73f0a83dSXin LI	# We could probably try harder.
139*73f0a83dSXin LI	LIBC=gnu
140*73f0a83dSXin LI
141*73f0a83dSXin LI	eval $set_cc_for_build
142*73f0a83dSXin LI	cat <<-EOF > $dummy.c
143*73f0a83dSXin LI	#include <features.h>
144*73f0a83dSXin LI	#if defined(__UCLIBC__)
145*73f0a83dSXin LI	LIBC=uclibc
146*73f0a83dSXin LI	#elif defined(__dietlibc__)
147*73f0a83dSXin LI	LIBC=dietlibc
148*73f0a83dSXin LI	#else
149*73f0a83dSXin LI	LIBC=gnu
150*73f0a83dSXin LI	#endif
151*73f0a83dSXin LI	EOF
152*73f0a83dSXin LI	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
153*73f0a83dSXin LI	;;
154*73f0a83dSXin LIesac
155*73f0a83dSXin LI
1560e3d5408SPeter Wemm# Note: order is significant - the case branches are not exclusive.
1570e3d5408SPeter Wemm
1580e3d5408SPeter Wemmcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
15915589c42SPeter Wemm    *:NetBSD:*:*)
16039f2269fSPeter Wemm	# NetBSD (nbsd) targets should (where applicable) match one or
161*73f0a83dSXin LI	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
16215589c42SPeter Wemm	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
16315589c42SPeter Wemm	# switched to ELF, *-*-netbsd* would select the old
16415589c42SPeter Wemm	# object file format.  This provides both forward
16515589c42SPeter Wemm	# compatibility and a consistent mechanism for selecting the
16615589c42SPeter Wemm	# object file format.
16739f2269fSPeter Wemm	#
16839f2269fSPeter Wemm	# Note: NetBSD doesn't particularly care about the vendor
16939f2269fSPeter Wemm	# portion of the name.  We always set it to "unknown".
17039f2269fSPeter Wemm	sysctl="sysctl -n hw.machine_arch"
17139f2269fSPeter Wemm	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
17239f2269fSPeter Wemm	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
17339f2269fSPeter Wemm	case "${UNAME_MACHINE_ARCH}" in
1744a1a9510SRong-En Fan	    armeb) machine=armeb-unknown ;;
17539f2269fSPeter Wemm	    arm*) machine=arm-unknown ;;
17639f2269fSPeter Wemm	    sh3el) machine=shl-unknown ;;
17739f2269fSPeter Wemm	    sh3eb) machine=sh-unknown ;;
1785ca44d1cSRong-En Fan	    sh5el) machine=sh5le-unknown ;;
17939f2269fSPeter Wemm	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
18015589c42SPeter Wemm	esac
1817a69bbfbSPeter Wemm	# The Operating System including object format, if it has switched
1827a69bbfbSPeter Wemm	# to ELF recently, or will in the future.
18339f2269fSPeter Wemm	case "${UNAME_MACHINE_ARCH}" in
18439f2269fSPeter Wemm	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
18539f2269fSPeter Wemm		eval $set_cc_for_build
18615589c42SPeter Wemm		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
18706bfebdeSXin LI			| grep -q __ELF__
18815589c42SPeter Wemm		then
18915589c42SPeter Wemm		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
19015589c42SPeter Wemm		    # Return netbsd for either.  FIX?
19115589c42SPeter Wemm		    os=netbsd
19215589c42SPeter Wemm		else
19315589c42SPeter Wemm		    os=netbsdelf
19415589c42SPeter Wemm		fi
1957a69bbfbSPeter Wemm		;;
1967a69bbfbSPeter Wemm	    *)
1977a69bbfbSPeter Wemm		os=netbsd
1987a69bbfbSPeter Wemm		;;
1997a69bbfbSPeter Wemm	esac
20015589c42SPeter Wemm	# The OS release
2014a1a9510SRong-En Fan	# Debian GNU/NetBSD machines have a different userland, and
2024a1a9510SRong-En Fan	# thus, need a distinct triplet. However, they do not need
2034a1a9510SRong-En Fan	# kernel version information, so it can be replaced with a
2044a1a9510SRong-En Fan	# suitable tag, in the style of linux-gnu.
2054a1a9510SRong-En Fan	case "${UNAME_VERSION}" in
2064a1a9510SRong-En Fan	    Debian*)
2074a1a9510SRong-En Fan		release='-gnu'
2084a1a9510SRong-En Fan		;;
2094a1a9510SRong-En Fan	    *)
21015589c42SPeter Wemm		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
2114a1a9510SRong-En Fan		;;
2124a1a9510SRong-En Fan	esac
21315589c42SPeter Wemm	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
21415589c42SPeter Wemm	# contains redundant information, the shorter form:
21515589c42SPeter Wemm	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
21615589c42SPeter Wemm	echo "${machine}-${os}${release}"
2174a1a9510SRong-En Fan	exit ;;
218*73f0a83dSXin LI    *:Bitrig:*:*)
219*73f0a83dSXin LI	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
220*73f0a83dSXin LI	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
221*73f0a83dSXin LI	exit ;;
22239f2269fSPeter Wemm    *:OpenBSD:*:*)
2234a1a9510SRong-En Fan	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2244a1a9510SRong-En Fan	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2254a1a9510SRong-En Fan	exit ;;
2264a1a9510SRong-En Fan    *:ekkoBSD:*:*)
2274a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2284a1a9510SRong-En Fan	exit ;;
2294a1a9510SRong-En Fan    *:SolidBSD:*:*)
2304a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2314a1a9510SRong-En Fan	exit ;;
2324a1a9510SRong-En Fan    macppc:MirBSD:*:*)
2334a1a9510SRong-En Fan	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2344a1a9510SRong-En Fan	exit ;;
2354a1a9510SRong-En Fan    *:MirBSD:*:*)
2364a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2374a1a9510SRong-En Fan	exit ;;
2380e3d5408SPeter Wemm    alpha:OSF1:*:*)
2394a1a9510SRong-En Fan	case $UNAME_RELEASE in
2404a1a9510SRong-En Fan	*4.0)
2410e3d5408SPeter Wemm		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2424a1a9510SRong-En Fan		;;
2434a1a9510SRong-En Fan	*5.*)
2444a1a9510SRong-En Fan		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2454a1a9510SRong-En Fan		;;
2464a1a9510SRong-En Fan	esac
2474a1a9510SRong-En Fan	# According to Compaq, /usr/sbin/psrinfo has been available on
2484a1a9510SRong-En Fan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2494a1a9510SRong-En Fan	# covers most systems running today.  This code pipes the CPU
2504a1a9510SRong-En Fan	# types through head -n 1, so we only detect the type of CPU 0.
2514a1a9510SRong-En Fan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2524a1a9510SRong-En Fan	case "$ALPHA_CPU_TYPE" in
2534a1a9510SRong-En Fan	    "EV4 (21064)")
2544a1a9510SRong-En Fan		UNAME_MACHINE="alpha" ;;
2554a1a9510SRong-En Fan	    "EV4.5 (21064)")
2564a1a9510SRong-En Fan		UNAME_MACHINE="alpha" ;;
2574a1a9510SRong-En Fan	    "LCA4 (21066/21068)")
2584a1a9510SRong-En Fan		UNAME_MACHINE="alpha" ;;
2594a1a9510SRong-En Fan	    "EV5 (21164)")
2604a1a9510SRong-En Fan		UNAME_MACHINE="alphaev5" ;;
2614a1a9510SRong-En Fan	    "EV5.6 (21164A)")
2624a1a9510SRong-En Fan		UNAME_MACHINE="alphaev56" ;;
2634a1a9510SRong-En Fan	    "EV5.6 (21164PC)")
2644a1a9510SRong-En Fan		UNAME_MACHINE="alphapca56" ;;
2654a1a9510SRong-En Fan	    "EV5.7 (21164PC)")
2664a1a9510SRong-En Fan		UNAME_MACHINE="alphapca57" ;;
2674a1a9510SRong-En Fan	    "EV6 (21264)")
2684a1a9510SRong-En Fan		UNAME_MACHINE="alphaev6" ;;
2694a1a9510SRong-En Fan	    "EV6.7 (21264A)")
2704a1a9510SRong-En Fan		UNAME_MACHINE="alphaev67" ;;
2714a1a9510SRong-En Fan	    "EV6.8CB (21264C)")
2724a1a9510SRong-En Fan		UNAME_MACHINE="alphaev68" ;;
2734a1a9510SRong-En Fan	    "EV6.8AL (21264B)")
2744a1a9510SRong-En Fan		UNAME_MACHINE="alphaev68" ;;
2754a1a9510SRong-En Fan	    "EV6.8CX (21264D)")
2764a1a9510SRong-En Fan		UNAME_MACHINE="alphaev68" ;;
2774a1a9510SRong-En Fan	    "EV6.9A (21264/EV69A)")
2784a1a9510SRong-En Fan		UNAME_MACHINE="alphaev69" ;;
2794a1a9510SRong-En Fan	    "EV7 (21364)")
2804a1a9510SRong-En Fan		UNAME_MACHINE="alphaev7" ;;
2814a1a9510SRong-En Fan	    "EV7.9 (21364A)")
2824a1a9510SRong-En Fan		UNAME_MACHINE="alphaev79" ;;
2834a1a9510SRong-En Fan	esac
2844a1a9510SRong-En Fan	# A Pn.n version is a patched version.
2850e3d5408SPeter Wemm	# A Vn.n version is a released version.
2860e3d5408SPeter Wemm	# A Tn.n version is a released field test version.
2870e3d5408SPeter Wemm	# A Xn.n version is an unreleased experimental baselevel.
2880e3d5408SPeter Wemm	# 1.2 uses "1.2" for uname -r.
2894a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
290*73f0a83dSXin LI	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
291*73f0a83dSXin LI	exitcode=$?
292*73f0a83dSXin LI	trap '' 0
293*73f0a83dSXin LI	exit $exitcode ;;
29415589c42SPeter Wemm    Alpha\ *:Windows_NT*:*)
29515589c42SPeter Wemm	# How do we know it's Interix rather than the generic POSIX subsystem?
29615589c42SPeter Wemm	# Should we change UNAME_MACHINE based on the output of uname instead
29715589c42SPeter Wemm	# of the specific Alpha model?
29815589c42SPeter Wemm	echo alpha-pc-interix
2994a1a9510SRong-En Fan	exit ;;
3000e3d5408SPeter Wemm    21064:Windows_NT:50:3)
3010e3d5408SPeter Wemm	echo alpha-dec-winnt3.5
3024a1a9510SRong-En Fan	exit ;;
3030e3d5408SPeter Wemm    Amiga*:UNIX_System_V:4.0:*)
3047a69bbfbSPeter Wemm	echo m68k-unknown-sysv4
3054a1a9510SRong-En Fan	exit ;;
3060e3d5408SPeter Wemm    *:[Aa]miga[Oo][Ss]:*:*)
3070e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-unknown-amigaos
3084a1a9510SRong-En Fan	exit ;;
30939f2269fSPeter Wemm    *:[Mm]orph[Oo][Ss]:*:*)
31039f2269fSPeter Wemm	echo ${UNAME_MACHINE}-unknown-morphos
3114a1a9510SRong-En Fan	exit ;;
31215589c42SPeter Wemm    *:OS/390:*:*)
31315589c42SPeter Wemm	echo i370-ibm-openedition
3144a1a9510SRong-En Fan	exit ;;
3154a1a9510SRong-En Fan    *:z/VM:*:*)
3164a1a9510SRong-En Fan	echo s390-ibm-zvmoe
3174a1a9510SRong-En Fan	exit ;;
3184a1a9510SRong-En Fan    *:OS400:*:*)
3194a1a9510SRong-En Fan	echo powerpc-ibm-os400
3204a1a9510SRong-En Fan	exit ;;
3210e3d5408SPeter Wemm    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3220e3d5408SPeter Wemm	echo arm-acorn-riscix${UNAME_RELEASE}
3234a1a9510SRong-En Fan	exit ;;
324*73f0a83dSXin LI    arm*:riscos:*:*|arm*:RISCOS:*:*)
3254a1a9510SRong-En Fan	echo arm-unknown-riscos
3264a1a9510SRong-En Fan	exit ;;
3277a69bbfbSPeter Wemm    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3280e3d5408SPeter Wemm	echo hppa1.1-hitachi-hiuxmpp
3294a1a9510SRong-En Fan	exit ;;
3300e3d5408SPeter Wemm    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3310e3d5408SPeter Wemm	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3320e3d5408SPeter Wemm	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3330e3d5408SPeter Wemm		echo pyramid-pyramid-sysv3
3340e3d5408SPeter Wemm	else
3350e3d5408SPeter Wemm		echo pyramid-pyramid-bsd
3360e3d5408SPeter Wemm	fi
3374a1a9510SRong-En Fan	exit ;;
33815589c42SPeter Wemm    NILE*:*:*:dcosx)
3390e3d5408SPeter Wemm	echo pyramid-pyramid-svr4
3404a1a9510SRong-En Fan	exit ;;
3414a1a9510SRong-En Fan    DRS?6000:unix:4.0:6*)
3424a1a9510SRong-En Fan	echo sparc-icl-nx6
3434a1a9510SRong-En Fan	exit ;;
3444a1a9510SRong-En Fan    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3454a1a9510SRong-En Fan	case `/usr/bin/uname -p` in
3464a1a9510SRong-En Fan	    sparc) echo sparc-icl-nx7; exit ;;
3474a1a9510SRong-En Fan	esac ;;
34806bfebdeSXin LI    s390x:SunOS:*:*)
34906bfebdeSXin LI	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
35006bfebdeSXin LI	exit ;;
3510e3d5408SPeter Wemm    sun4H:SunOS:5.*:*)
3520e3d5408SPeter Wemm	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3534a1a9510SRong-En Fan	exit ;;
3540e3d5408SPeter Wemm    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3550e3d5408SPeter Wemm	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3564a1a9510SRong-En Fan	exit ;;
35706bfebdeSXin LI    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
35806bfebdeSXin LI	echo i386-pc-auroraux${UNAME_RELEASE}
35906bfebdeSXin LI	exit ;;
360aa59d4d4SRong-En Fan    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
36106bfebdeSXin LI	eval $set_cc_for_build
36206bfebdeSXin LI	SUN_ARCH="i386"
36306bfebdeSXin LI	# If there is a compiler, see if it is configured for 64-bit objects.
36406bfebdeSXin LI	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
36506bfebdeSXin LI	# This test works for both compilers.
36606bfebdeSXin LI	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
36706bfebdeSXin LI	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
36806bfebdeSXin LI		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
36906bfebdeSXin LI		grep IS_64BIT_ARCH >/dev/null
37006bfebdeSXin LI	    then
37106bfebdeSXin LI		SUN_ARCH="x86_64"
37206bfebdeSXin LI	    fi
37306bfebdeSXin LI	fi
37406bfebdeSXin LI	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3754a1a9510SRong-En Fan	exit ;;
3760e3d5408SPeter Wemm    sun4*:SunOS:6*:*)
3770e3d5408SPeter Wemm	# According to config.sub, this is the proper way to canonicalize
3780e3d5408SPeter Wemm	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3790e3d5408SPeter Wemm	# it's likely to be more like Solaris than SunOS4.
3800e3d5408SPeter Wemm	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3814a1a9510SRong-En Fan	exit ;;
3820e3d5408SPeter Wemm    sun4*:SunOS:*:*)
3830e3d5408SPeter Wemm	case "`/usr/bin/arch -k`" in
3840e3d5408SPeter Wemm	    Series*|S4*)
3850e3d5408SPeter Wemm		UNAME_RELEASE=`uname -v`
3860e3d5408SPeter Wemm		;;
3870e3d5408SPeter Wemm	esac
3880e3d5408SPeter Wemm	# Japanese Language versions have a version number like `4.1.3-JL'.
3890e3d5408SPeter Wemm	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3904a1a9510SRong-En Fan	exit ;;
3910e3d5408SPeter Wemm    sun3*:SunOS:*:*)
3920e3d5408SPeter Wemm	echo m68k-sun-sunos${UNAME_RELEASE}
3934a1a9510SRong-En Fan	exit ;;
3940e3d5408SPeter Wemm    sun*:*:4.2BSD:*)
39539f2269fSPeter Wemm	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
3960e3d5408SPeter Wemm	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
3970e3d5408SPeter Wemm	case "`/bin/arch`" in
3980e3d5408SPeter Wemm	    sun3)
3990e3d5408SPeter Wemm		echo m68k-sun-sunos${UNAME_RELEASE}
4000e3d5408SPeter Wemm		;;
4010e3d5408SPeter Wemm	    sun4)
4020e3d5408SPeter Wemm		echo sparc-sun-sunos${UNAME_RELEASE}
4030e3d5408SPeter Wemm		;;
4040e3d5408SPeter Wemm	esac
4054a1a9510SRong-En Fan	exit ;;
4060e3d5408SPeter Wemm    aushp:SunOS:*:*)
4070e3d5408SPeter Wemm	echo sparc-auspex-sunos${UNAME_RELEASE}
4084a1a9510SRong-En Fan	exit ;;
40915589c42SPeter Wemm    # The situation for MiNT is a little confusing.  The machine name
41015589c42SPeter Wemm    # can be virtually everything (everything which is not
41115589c42SPeter Wemm    # "atarist" or "atariste" at least should have a processor
41215589c42SPeter Wemm    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
41315589c42SPeter Wemm    # to the lowercase version "mint" (or "freemint").  Finally
41415589c42SPeter Wemm    # the system name "TOS" denotes a system which is actually not
41515589c42SPeter Wemm    # MiNT.  But MiNT is downward compatible to TOS, so this should
41615589c42SPeter Wemm    # be no problem.
41715589c42SPeter Wemm    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
41815589c42SPeter Wemm	echo m68k-atari-mint${UNAME_RELEASE}
4194a1a9510SRong-En Fan	exit ;;
42015589c42SPeter Wemm    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
42115589c42SPeter Wemm	echo m68k-atari-mint${UNAME_RELEASE}
4224a1a9510SRong-En Fan	exit ;;
42315589c42SPeter Wemm    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
42415589c42SPeter Wemm	echo m68k-atari-mint${UNAME_RELEASE}
4254a1a9510SRong-En Fan	exit ;;
42615589c42SPeter Wemm    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
42715589c42SPeter Wemm	echo m68k-milan-mint${UNAME_RELEASE}
4284a1a9510SRong-En Fan	exit ;;
42915589c42SPeter Wemm    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
43015589c42SPeter Wemm	echo m68k-hades-mint${UNAME_RELEASE}
4314a1a9510SRong-En Fan	exit ;;
43215589c42SPeter Wemm    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
43315589c42SPeter Wemm	echo m68k-unknown-mint${UNAME_RELEASE}
4344a1a9510SRong-En Fan	exit ;;
4354a1a9510SRong-En Fan    m68k:machten:*:*)
4364a1a9510SRong-En Fan	echo m68k-apple-machten${UNAME_RELEASE}
4374a1a9510SRong-En Fan	exit ;;
4380e3d5408SPeter Wemm    powerpc:machten:*:*)
4390e3d5408SPeter Wemm	echo powerpc-apple-machten${UNAME_RELEASE}
4404a1a9510SRong-En Fan	exit ;;
4410e3d5408SPeter Wemm    RISC*:Mach:*:*)
4420e3d5408SPeter Wemm	echo mips-dec-mach_bsd4.3
4434a1a9510SRong-En Fan	exit ;;
4440e3d5408SPeter Wemm    RISC*:ULTRIX:*:*)
4450e3d5408SPeter Wemm	echo mips-dec-ultrix${UNAME_RELEASE}
4464a1a9510SRong-En Fan	exit ;;
4470e3d5408SPeter Wemm    VAX*:ULTRIX*:*:*)
4480e3d5408SPeter Wemm	echo vax-dec-ultrix${UNAME_RELEASE}
4494a1a9510SRong-En Fan	exit ;;
4500e3d5408SPeter Wemm    2020:CLIX:*:* | 2430:CLIX:*:*)
4510e3d5408SPeter Wemm	echo clipper-intergraph-clix${UNAME_RELEASE}
4524a1a9510SRong-En Fan	exit ;;
4530e3d5408SPeter Wemm    mips:*:*:UMIPS | mips:*:*:RISCos)
45439f2269fSPeter Wemm	eval $set_cc_for_build
45515589c42SPeter Wemm	sed 's/^	//' << EOF >$dummy.c
45615589c42SPeter Wemm#ifdef __cplusplus
45715589c42SPeter Wemm#include <stdio.h>  /* for printf() prototype */
45815589c42SPeter Wemm	int main (int argc, char *argv[]) {
45915589c42SPeter Wemm#else
46015589c42SPeter Wemm	int main (argc, argv) int argc; char *argv[]; {
46115589c42SPeter Wemm#endif
4620e3d5408SPeter Wemm	#if defined (host_mips) && defined (MIPSEB)
4630e3d5408SPeter Wemm	#if defined (SYSTYPE_SYSV)
4640e3d5408SPeter Wemm	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4650e3d5408SPeter Wemm	#endif
4660e3d5408SPeter Wemm	#if defined (SYSTYPE_SVR4)
4670e3d5408SPeter Wemm	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4680e3d5408SPeter Wemm	#endif
4690e3d5408SPeter Wemm	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4700e3d5408SPeter Wemm	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4710e3d5408SPeter Wemm	#endif
4720e3d5408SPeter Wemm	#endif
4730e3d5408SPeter Wemm	  exit (-1);
4740e3d5408SPeter Wemm	}
4750e3d5408SPeter WemmEOF
4764a1a9510SRong-En Fan	$CC_FOR_BUILD -o $dummy $dummy.c &&
4774a1a9510SRong-En Fan	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4784a1a9510SRong-En Fan	  SYSTEM_NAME=`$dummy $dummyarg` &&
4794a1a9510SRong-En Fan	    { echo "$SYSTEM_NAME"; exit; }
4800e3d5408SPeter Wemm	echo mips-mips-riscos${UNAME_RELEASE}
4814a1a9510SRong-En Fan	exit ;;
48239f2269fSPeter Wemm    Motorola:PowerMAX_OS:*:*)
48339f2269fSPeter Wemm	echo powerpc-motorola-powermax
4844a1a9510SRong-En Fan	exit ;;
4854a1a9510SRong-En Fan    Motorola:*:4.3:PL8-*)
4864a1a9510SRong-En Fan	echo powerpc-harris-powermax
4874a1a9510SRong-En Fan	exit ;;
4884a1a9510SRong-En Fan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4894a1a9510SRong-En Fan	echo powerpc-harris-powermax
4904a1a9510SRong-En Fan	exit ;;
4910e3d5408SPeter Wemm    Night_Hawk:Power_UNIX:*:*)
4920e3d5408SPeter Wemm	echo powerpc-harris-powerunix
4934a1a9510SRong-En Fan	exit ;;
4940e3d5408SPeter Wemm    m88k:CX/UX:7*:*)
4950e3d5408SPeter Wemm	echo m88k-harris-cxux7
4964a1a9510SRong-En Fan	exit ;;
4970e3d5408SPeter Wemm    m88k:*:4*:R4*)
4980e3d5408SPeter Wemm	echo m88k-motorola-sysv4
4994a1a9510SRong-En Fan	exit ;;
5000e3d5408SPeter Wemm    m88k:*:3*:R3*)
5010e3d5408SPeter Wemm	echo m88k-motorola-sysv3
5024a1a9510SRong-En Fan	exit ;;
5030e3d5408SPeter Wemm    AViiON:dgux:*:*)
5040e3d5408SPeter Wemm	# DG/UX returns AViiON for all architectures
5050e3d5408SPeter Wemm	UNAME_PROCESSOR=`/usr/bin/uname -p`
50615589c42SPeter Wemm	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
50715589c42SPeter Wemm	then
50815589c42SPeter Wemm	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
50915589c42SPeter Wemm	       [ ${TARGET_BINARY_INTERFACE}x = x ]
51015589c42SPeter Wemm	    then
5110e3d5408SPeter Wemm		echo m88k-dg-dgux${UNAME_RELEASE}
5120e3d5408SPeter Wemm	    else
5130e3d5408SPeter Wemm		echo m88k-dg-dguxbcs${UNAME_RELEASE}
5140e3d5408SPeter Wemm	    fi
51515589c42SPeter Wemm	else
51615589c42SPeter Wemm	    echo i586-dg-dgux${UNAME_RELEASE}
5170e3d5408SPeter Wemm	fi
5184a1a9510SRong-En Fan	exit ;;
5190e3d5408SPeter Wemm    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5200e3d5408SPeter Wemm	echo m88k-dolphin-sysv3
5214a1a9510SRong-En Fan	exit ;;
5220e3d5408SPeter Wemm    M88*:*:R3*:*)
5230e3d5408SPeter Wemm	# Delta 88k system running SVR3
5240e3d5408SPeter Wemm	echo m88k-motorola-sysv3
5254a1a9510SRong-En Fan	exit ;;
5260e3d5408SPeter Wemm    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5270e3d5408SPeter Wemm	echo m88k-tektronix-sysv3
5284a1a9510SRong-En Fan	exit ;;
5290e3d5408SPeter Wemm    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5300e3d5408SPeter Wemm	echo m68k-tektronix-bsd
5314a1a9510SRong-En Fan	exit ;;
5320e3d5408SPeter Wemm    *:IRIX*:*:*)
5330e3d5408SPeter Wemm	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
5344a1a9510SRong-En Fan	exit ;;
5350e3d5408SPeter Wemm    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5360e3d5408SPeter Wemm	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
5374a1a9510SRong-En Fan	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
53839f2269fSPeter Wemm    i*86:AIX:*:*)
5390e3d5408SPeter Wemm	echo i386-ibm-aix
5404a1a9510SRong-En Fan	exit ;;
5417a69bbfbSPeter Wemm    ia64:AIX:*:*)
5427a69bbfbSPeter Wemm	if [ -x /usr/bin/oslevel ] ; then
5437a69bbfbSPeter Wemm		IBM_REV=`/usr/bin/oslevel`
5447a69bbfbSPeter Wemm	else
5457a69bbfbSPeter Wemm		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5467a69bbfbSPeter Wemm	fi
5477a69bbfbSPeter Wemm	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5484a1a9510SRong-En Fan	exit ;;
5490e3d5408SPeter Wemm    *:AIX:2:3)
5500e3d5408SPeter Wemm	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
55139f2269fSPeter Wemm		eval $set_cc_for_build
55215589c42SPeter Wemm		sed 's/^		//' << EOF >$dummy.c
5530e3d5408SPeter Wemm		#include <sys/systemcfg.h>
5540e3d5408SPeter Wemm
5550e3d5408SPeter Wemm		main()
5560e3d5408SPeter Wemm			{
5570e3d5408SPeter Wemm			if (!__power_pc())
5580e3d5408SPeter Wemm				exit(1);
5590e3d5408SPeter Wemm			puts("powerpc-ibm-aix3.2.5");
5600e3d5408SPeter Wemm			exit(0);
5610e3d5408SPeter Wemm			}
5620e3d5408SPeter WemmEOF
5634a1a9510SRong-En Fan		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5644a1a9510SRong-En Fan		then
5654a1a9510SRong-En Fan			echo "$SYSTEM_NAME"
5664a1a9510SRong-En Fan		else
5670e3d5408SPeter Wemm			echo rs6000-ibm-aix3.2.5
5684a1a9510SRong-En Fan		fi
5690e3d5408SPeter Wemm	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5700e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2.4
5710e3d5408SPeter Wemm	else
5720e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2
5730e3d5408SPeter Wemm	fi
5744a1a9510SRong-En Fan	exit ;;
57506bfebdeSXin LI    *:AIX:*:[4567])
57639f2269fSPeter Wemm	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
5777a69bbfbSPeter Wemm	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5780e3d5408SPeter Wemm		IBM_ARCH=rs6000
5790e3d5408SPeter Wemm	else
5800e3d5408SPeter Wemm		IBM_ARCH=powerpc
5810e3d5408SPeter Wemm	fi
5820e3d5408SPeter Wemm	if [ -x /usr/bin/oslevel ] ; then
5830e3d5408SPeter Wemm		IBM_REV=`/usr/bin/oslevel`
5840e3d5408SPeter Wemm	else
5857a69bbfbSPeter Wemm		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5860e3d5408SPeter Wemm	fi
5870e3d5408SPeter Wemm	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5884a1a9510SRong-En Fan	exit ;;
5890e3d5408SPeter Wemm    *:AIX:*:*)
5900e3d5408SPeter Wemm	echo rs6000-ibm-aix
5914a1a9510SRong-En Fan	exit ;;
5920e3d5408SPeter Wemm    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
5930e3d5408SPeter Wemm	echo romp-ibm-bsd4.4
5944a1a9510SRong-En Fan	exit ;;
59515589c42SPeter Wemm    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
5960e3d5408SPeter Wemm	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5974a1a9510SRong-En Fan	exit ;;                             # report: romp-ibm BSD 4.3
5980e3d5408SPeter Wemm    *:BOSX:*:*)
5990e3d5408SPeter Wemm	echo rs6000-bull-bosx
6004a1a9510SRong-En Fan	exit ;;
6010e3d5408SPeter Wemm    DPX/2?00:B.O.S.:*:*)
6020e3d5408SPeter Wemm	echo m68k-bull-sysv3
6034a1a9510SRong-En Fan	exit ;;
6040e3d5408SPeter Wemm    9000/[34]??:4.3bsd:1.*:*)
6050e3d5408SPeter Wemm	echo m68k-hp-bsd
6064a1a9510SRong-En Fan	exit ;;
6070e3d5408SPeter Wemm    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6080e3d5408SPeter Wemm	echo m68k-hp-bsd4.4
6094a1a9510SRong-En Fan	exit ;;
6100e3d5408SPeter Wemm    9000/[34678]??:HP-UX:*:*)
6117a69bbfbSPeter Wemm	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6120e3d5408SPeter Wemm	case "${UNAME_MACHINE}" in
6130e3d5408SPeter Wemm	    9000/31? )            HP_ARCH=m68000 ;;
6140e3d5408SPeter Wemm	    9000/[34]?? )         HP_ARCH=m68k ;;
61515589c42SPeter Wemm	    9000/[678][0-9][0-9])
6167a69bbfbSPeter Wemm		if [ -x /usr/bin/getconf ]; then
6177a69bbfbSPeter Wemm		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
6187a69bbfbSPeter Wemm		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6197a69bbfbSPeter Wemm		    case "${sc_cpu_version}" in
6207a69bbfbSPeter Wemm		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
6217a69bbfbSPeter Wemm		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
6227a69bbfbSPeter Wemm		      532)                      # CPU_PA_RISC2_0
6237a69bbfbSPeter Wemm			case "${sc_kernel_bits}" in
6247a69bbfbSPeter Wemm			  32) HP_ARCH="hppa2.0n" ;;
6257a69bbfbSPeter Wemm			  64) HP_ARCH="hppa2.0w" ;;
62639f2269fSPeter Wemm			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
6277a69bbfbSPeter Wemm			esac ;;
6287a69bbfbSPeter Wemm		    esac
62939f2269fSPeter Wemm		fi
6307a69bbfbSPeter Wemm		if [ "${HP_ARCH}" = "" ]; then
63139f2269fSPeter Wemm		    eval $set_cc_for_build
63215589c42SPeter Wemm		    sed 's/^		//' << EOF >$dummy.c
63315589c42SPeter Wemm
63415589c42SPeter Wemm		#define _HPUX_SOURCE
6350e3d5408SPeter Wemm		#include <stdlib.h>
6360e3d5408SPeter Wemm		#include <unistd.h>
6370e3d5408SPeter Wemm
6380e3d5408SPeter Wemm		int main ()
6390e3d5408SPeter Wemm		{
6400e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
6410e3d5408SPeter Wemm		    long bits = sysconf(_SC_KERNEL_BITS);
6420e3d5408SPeter Wemm		#endif
6430e3d5408SPeter Wemm		    long cpu  = sysconf (_SC_CPU_VERSION);
6440e3d5408SPeter Wemm
6450e3d5408SPeter Wemm		    switch (cpu)
6460e3d5408SPeter Wemm			{
6470e3d5408SPeter Wemm			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6480e3d5408SPeter Wemm			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6490e3d5408SPeter Wemm			case CPU_PA_RISC2_0:
6500e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
6510e3d5408SPeter Wemm			    switch (bits)
6520e3d5408SPeter Wemm				{
6530e3d5408SPeter Wemm				case 64: puts ("hppa2.0w"); break;
6540e3d5408SPeter Wemm				case 32: puts ("hppa2.0n"); break;
6550e3d5408SPeter Wemm				default: puts ("hppa2.0"); break;
6560e3d5408SPeter Wemm				} break;
6570e3d5408SPeter Wemm		#else  /* !defined(_SC_KERNEL_BITS) */
6580e3d5408SPeter Wemm			    puts ("hppa2.0"); break;
6590e3d5408SPeter Wemm		#endif
6600e3d5408SPeter Wemm			default: puts ("hppa1.0"); break;
6610e3d5408SPeter Wemm			}
6620e3d5408SPeter Wemm		    exit (0);
6630e3d5408SPeter Wemm		}
6640e3d5408SPeter WemmEOF
6654a1a9510SRong-En Fan		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6664a1a9510SRong-En Fan		    test -z "$HP_ARCH" && HP_ARCH=hppa
6677a69bbfbSPeter Wemm		fi ;;
6680e3d5408SPeter Wemm	esac
6694a1a9510SRong-En Fan	if [ ${HP_ARCH} = "hppa2.0w" ]
6704a1a9510SRong-En Fan	then
6714a1a9510SRong-En Fan	    eval $set_cc_for_build
6724a1a9510SRong-En Fan
6734a1a9510SRong-En Fan	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6744a1a9510SRong-En Fan	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6754a1a9510SRong-En Fan	    # generating 64-bit code.  GNU and HP use different nomenclature:
6764a1a9510SRong-En Fan	    #
6774a1a9510SRong-En Fan	    # $ CC_FOR_BUILD=cc ./config.guess
6784a1a9510SRong-En Fan	    # => hppa2.0w-hp-hpux11.23
6794a1a9510SRong-En Fan	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6804a1a9510SRong-En Fan	    # => hppa64-hp-hpux11.23
6814a1a9510SRong-En Fan
6824a1a9510SRong-En Fan	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
68306bfebdeSXin LI		grep -q __LP64__
6844a1a9510SRong-En Fan	    then
6854a1a9510SRong-En Fan		HP_ARCH="hppa2.0w"
6864a1a9510SRong-En Fan	    else
6874a1a9510SRong-En Fan		HP_ARCH="hppa64"
6884a1a9510SRong-En Fan	    fi
6894a1a9510SRong-En Fan	fi
6900e3d5408SPeter Wemm	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6914a1a9510SRong-En Fan	exit ;;
6927a69bbfbSPeter Wemm    ia64:HP-UX:*:*)
6937a69bbfbSPeter Wemm	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6947a69bbfbSPeter Wemm	echo ia64-hp-hpux${HPUX_REV}
6954a1a9510SRong-En Fan	exit ;;
6960e3d5408SPeter Wemm    3050*:HI-UX:*:*)
69739f2269fSPeter Wemm	eval $set_cc_for_build
69815589c42SPeter Wemm	sed 's/^	//' << EOF >$dummy.c
6990e3d5408SPeter Wemm	#include <unistd.h>
7000e3d5408SPeter Wemm	int
7010e3d5408SPeter Wemm	main ()
7020e3d5408SPeter Wemm	{
7030e3d5408SPeter Wemm	  long cpu = sysconf (_SC_CPU_VERSION);
7040e3d5408SPeter Wemm	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7050e3d5408SPeter Wemm	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7060e3d5408SPeter Wemm	     results, however.  */
7070e3d5408SPeter Wemm	  if (CPU_IS_PA_RISC (cpu))
7080e3d5408SPeter Wemm	    {
7090e3d5408SPeter Wemm	      switch (cpu)
7100e3d5408SPeter Wemm		{
7110e3d5408SPeter Wemm		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7120e3d5408SPeter Wemm		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7130e3d5408SPeter Wemm		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7140e3d5408SPeter Wemm		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7150e3d5408SPeter Wemm		}
7160e3d5408SPeter Wemm	    }
7170e3d5408SPeter Wemm	  else if (CPU_IS_HP_MC68K (cpu))
7180e3d5408SPeter Wemm	    puts ("m68k-hitachi-hiuxwe2");
7190e3d5408SPeter Wemm	  else puts ("unknown-hitachi-hiuxwe2");
7200e3d5408SPeter Wemm	  exit (0);
7210e3d5408SPeter Wemm	}
7220e3d5408SPeter WemmEOF
7234a1a9510SRong-En Fan	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
7244a1a9510SRong-En Fan		{ echo "$SYSTEM_NAME"; exit; }
7250e3d5408SPeter Wemm	echo unknown-hitachi-hiuxwe2
7264a1a9510SRong-En Fan	exit ;;
7270e3d5408SPeter Wemm    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
7280e3d5408SPeter Wemm	echo hppa1.1-hp-bsd
7294a1a9510SRong-En Fan	exit ;;
7300e3d5408SPeter Wemm    9000/8??:4.3bsd:*:*)
7310e3d5408SPeter Wemm	echo hppa1.0-hp-bsd
7324a1a9510SRong-En Fan	exit ;;
73339f2269fSPeter Wemm    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
73415589c42SPeter Wemm	echo hppa1.0-hp-mpeix
7354a1a9510SRong-En Fan	exit ;;
7360e3d5408SPeter Wemm    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
7370e3d5408SPeter Wemm	echo hppa1.1-hp-osf
7384a1a9510SRong-En Fan	exit ;;
7390e3d5408SPeter Wemm    hp8??:OSF1:*:*)
7400e3d5408SPeter Wemm	echo hppa1.0-hp-osf
7414a1a9510SRong-En Fan	exit ;;
74239f2269fSPeter Wemm    i*86:OSF1:*:*)
7430e3d5408SPeter Wemm	if [ -x /usr/sbin/sysversion ] ; then
7440e3d5408SPeter Wemm	    echo ${UNAME_MACHINE}-unknown-osf1mk
7450e3d5408SPeter Wemm	else
7460e3d5408SPeter Wemm	    echo ${UNAME_MACHINE}-unknown-osf1
7470e3d5408SPeter Wemm	fi
7484a1a9510SRong-En Fan	exit ;;
7490e3d5408SPeter Wemm    parisc*:Lites*:*:*)
7500e3d5408SPeter Wemm	echo hppa1.1-hp-lites
7514a1a9510SRong-En Fan	exit ;;
7520e3d5408SPeter Wemm    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7530e3d5408SPeter Wemm	echo c1-convex-bsd
7544a1a9510SRong-En Fan	exit ;;
7550e3d5408SPeter Wemm    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7560e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
7570e3d5408SPeter Wemm	then echo c32-convex-bsd
7580e3d5408SPeter Wemm	else echo c2-convex-bsd
7590e3d5408SPeter Wemm	fi
7604a1a9510SRong-En Fan	exit ;;
7610e3d5408SPeter Wemm    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7620e3d5408SPeter Wemm	echo c34-convex-bsd
7634a1a9510SRong-En Fan	exit ;;
7640e3d5408SPeter Wemm    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7650e3d5408SPeter Wemm	echo c38-convex-bsd
7664a1a9510SRong-En Fan	exit ;;
7670e3d5408SPeter Wemm    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7680e3d5408SPeter Wemm	echo c4-convex-bsd
7694a1a9510SRong-En Fan	exit ;;
7700e3d5408SPeter Wemm    CRAY*Y-MP:*:*:*)
77139f2269fSPeter Wemm	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7724a1a9510SRong-En Fan	exit ;;
7730e3d5408SPeter Wemm    CRAY*[A-Z]90:*:*:*)
7740e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7750e3d5408SPeter Wemm	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
77639f2269fSPeter Wemm	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
77739f2269fSPeter Wemm	      -e 's/\.[^.]*$/.X/'
7784a1a9510SRong-En Fan	exit ;;
7790e3d5408SPeter Wemm    CRAY*TS:*:*:*)
78015589c42SPeter Wemm	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7814a1a9510SRong-En Fan	exit ;;
7827a69bbfbSPeter Wemm    CRAY*T3E:*:*:*)
7837a69bbfbSPeter Wemm	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7844a1a9510SRong-En Fan	exit ;;
78515589c42SPeter Wemm    CRAY*SV1:*:*:*)
78615589c42SPeter Wemm	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7874a1a9510SRong-En Fan	exit ;;
7884a1a9510SRong-En Fan    *:UNICOS/mp:*:*)
7894a1a9510SRong-En Fan	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7904a1a9510SRong-En Fan	exit ;;
7917a69bbfbSPeter Wemm    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
7927a69bbfbSPeter Wemm	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
79315589c42SPeter Wemm	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7940e3d5408SPeter Wemm	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7957a69bbfbSPeter Wemm	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7964a1a9510SRong-En Fan	exit ;;
7974a1a9510SRong-En Fan    5000:UNIX_System_V:4.*:*)
7984a1a9510SRong-En Fan	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7994a1a9510SRong-En Fan	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
8004a1a9510SRong-En Fan	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
8014a1a9510SRong-En Fan	exit ;;
80239f2269fSPeter Wemm    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
80315589c42SPeter Wemm	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
8044a1a9510SRong-En Fan	exit ;;
8050e3d5408SPeter Wemm    sparc*:BSD/OS:*:*)
8060e3d5408SPeter Wemm	echo sparc-unknown-bsdi${UNAME_RELEASE}
8074a1a9510SRong-En Fan	exit ;;
80815589c42SPeter Wemm    *:BSD/OS:*:*)
80915589c42SPeter Wemm	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
8104a1a9510SRong-En Fan	exit ;;
8110e3d5408SPeter Wemm    *:FreeBSD:*:*)
812*73f0a83dSXin LI	UNAME_PROCESSOR=`/usr/bin/uname -p`
813*73f0a83dSXin LI	case ${UNAME_PROCESSOR} in
8144a1a9510SRong-En Fan	    amd64)
8154a1a9510SRong-En Fan		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
8164a1a9510SRong-En Fan	    *)
817*73f0a83dSXin LI		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
8184a1a9510SRong-En Fan	esac
8194a1a9510SRong-En Fan	exit ;;
8200e3d5408SPeter Wemm    i*:CYGWIN*:*)
8210e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-cygwin
8224a1a9510SRong-En Fan	exit ;;
823*73f0a83dSXin LI    *:MINGW64*:*)
824*73f0a83dSXin LI	echo ${UNAME_MACHINE}-pc-mingw64
825*73f0a83dSXin LI	exit ;;
8265ca44d1cSRong-En Fan    *:MINGW*:*)
8270e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-mingw32
8284a1a9510SRong-En Fan	exit ;;
829*73f0a83dSXin LI    i*:MSYS*:*)
830*73f0a83dSXin LI	echo ${UNAME_MACHINE}-pc-msys
831*73f0a83dSXin LI	exit ;;
8324a1a9510SRong-En Fan    i*:windows32*:*)
8334a1a9510SRong-En Fan	# uname -m includes "-pc" on this system.
8344a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-mingw32
8354a1a9510SRong-En Fan	exit ;;
8367a69bbfbSPeter Wemm    i*:PW*:*)
8377a69bbfbSPeter Wemm	echo ${UNAME_MACHINE}-pc-pw32
8384a1a9510SRong-En Fan	exit ;;
83906bfebdeSXin LI    *:Interix*:*)
8405ca44d1cSRong-En Fan	case ${UNAME_MACHINE} in
8415ca44d1cSRong-En Fan	    x86)
8424a1a9510SRong-En Fan		echo i586-pc-interix${UNAME_RELEASE}
8434a1a9510SRong-En Fan		exit ;;
84406bfebdeSXin LI	    authenticamd | genuineintel | EM64T)
8454a1a9510SRong-En Fan		echo x86_64-unknown-interix${UNAME_RELEASE}
8464a1a9510SRong-En Fan		exit ;;
847aa59d4d4SRong-En Fan	    IA64)
848aa59d4d4SRong-En Fan		echo ia64-unknown-interix${UNAME_RELEASE}
849aa59d4d4SRong-En Fan		exit ;;
8505ca44d1cSRong-En Fan	esac ;;
8514a1a9510SRong-En Fan    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8524a1a9510SRong-En Fan	echo i${UNAME_MACHINE}-pc-mks
8534a1a9510SRong-En Fan	exit ;;
85406bfebdeSXin LI    8664:Windows_NT:*)
85506bfebdeSXin LI	echo x86_64-pc-mks
85606bfebdeSXin LI	exit ;;
85715589c42SPeter Wemm    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
85815589c42SPeter Wemm	# How do we know it's Interix rather than the generic POSIX subsystem?
85915589c42SPeter Wemm	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
86015589c42SPeter Wemm	# UNAME_MACHINE based on the output of uname instead of i386?
8614a1a9510SRong-En Fan	echo i586-pc-interix
8624a1a9510SRong-En Fan	exit ;;
86315589c42SPeter Wemm    i*:UWIN*:*)
86415589c42SPeter Wemm	echo ${UNAME_MACHINE}-pc-uwin
8654a1a9510SRong-En Fan	exit ;;
8664a1a9510SRong-En Fan    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8674a1a9510SRong-En Fan	echo x86_64-unknown-cygwin
8684a1a9510SRong-En Fan	exit ;;
8690e3d5408SPeter Wemm    p*:CYGWIN*:*)
8700e3d5408SPeter Wemm	echo powerpcle-unknown-cygwin
8714a1a9510SRong-En Fan	exit ;;
8720e3d5408SPeter Wemm    prep*:SunOS:5.*:*)
8730e3d5408SPeter Wemm	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8744a1a9510SRong-En Fan	exit ;;
8750e3d5408SPeter Wemm    *:GNU:*:*)
8764a1a9510SRong-En Fan	# the GNU system
877*73f0a83dSXin LI	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8784a1a9510SRong-En Fan	exit ;;
8794a1a9510SRong-En Fan    *:GNU/*:*:*)
8804a1a9510SRong-En Fan	# other systems with GNU libc and userland
881*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
8824a1a9510SRong-En Fan	exit ;;
88315589c42SPeter Wemm    i*86:Minix:*:*)
88415589c42SPeter Wemm	echo ${UNAME_MACHINE}-pc-minix
8854a1a9510SRong-En Fan	exit ;;
886*73f0a83dSXin LI    aarch64:Linux:*:*)
887*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
888*73f0a83dSXin LI	exit ;;
889*73f0a83dSXin LI    aarch64_be:Linux:*:*)
890*73f0a83dSXin LI	UNAME_MACHINE=aarch64_be
891*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
892*73f0a83dSXin LI	exit ;;
89306bfebdeSXin LI    alpha:Linux:*:*)
89406bfebdeSXin LI	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
89506bfebdeSXin LI	  EV5)   UNAME_MACHINE=alphaev5 ;;
89606bfebdeSXin LI	  EV56)  UNAME_MACHINE=alphaev56 ;;
89706bfebdeSXin LI	  PCA56) UNAME_MACHINE=alphapca56 ;;
89806bfebdeSXin LI	  PCA57) UNAME_MACHINE=alphapca56 ;;
89906bfebdeSXin LI	  EV6)   UNAME_MACHINE=alphaev6 ;;
90006bfebdeSXin LI	  EV67)  UNAME_MACHINE=alphaev67 ;;
90106bfebdeSXin LI	  EV68*) UNAME_MACHINE=alphaev68 ;;
90206bfebdeSXin LI	esac
90306bfebdeSXin LI	objdump --private-headers /bin/sh | grep -q ld.so.1
904*73f0a83dSXin LI	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
905*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
906*73f0a83dSXin LI	exit ;;
907*73f0a83dSXin LI    arc:Linux:*:* | arceb:Linux:*:*)
908*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
90906bfebdeSXin LI	exit ;;
9107a69bbfbSPeter Wemm    arm*:Linux:*:*)
911aa59d4d4SRong-En Fan	eval $set_cc_for_build
912*73f0a83dSXin LI	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
913*73f0a83dSXin LI	    | grep -q __ARM_EABI__
914aa59d4d4SRong-En Fan	then
915*73f0a83dSXin LI	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
916aa59d4d4SRong-En Fan	else
917*73f0a83dSXin LI	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
918*73f0a83dSXin LI		| grep -q __ARM_PCS_VFP
919*73f0a83dSXin LI	    then
920*73f0a83dSXin LI		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
921*73f0a83dSXin LI	    else
922*73f0a83dSXin LI		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
923*73f0a83dSXin LI	    fi
924aa59d4d4SRong-En Fan	fi
9254a1a9510SRong-En Fan	exit ;;
9264a1a9510SRong-En Fan    avr32*:Linux:*:*)
927*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9284a1a9510SRong-En Fan	exit ;;
9294a1a9510SRong-En Fan    cris:Linux:*:*)
930*73f0a83dSXin LI	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
9314a1a9510SRong-En Fan	exit ;;
9324a1a9510SRong-En Fan    crisv32:Linux:*:*)
933*73f0a83dSXin LI	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
9344a1a9510SRong-En Fan	exit ;;
9354a1a9510SRong-En Fan    frv:Linux:*:*)
936*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
937*73f0a83dSXin LI	exit ;;
938*73f0a83dSXin LI    hexagon:Linux:*:*)
939*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9404a1a9510SRong-En Fan	exit ;;
94106bfebdeSXin LI    i*86:Linux:*:*)
942*73f0a83dSXin LI	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
94306bfebdeSXin LI	exit ;;
9447a69bbfbSPeter Wemm    ia64:Linux:*:*)
945*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9464a1a9510SRong-En Fan	exit ;;
9474a1a9510SRong-En Fan    m32r*:Linux:*:*)
948*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9494a1a9510SRong-En Fan	exit ;;
9507a69bbfbSPeter Wemm    m68*:Linux:*:*)
951*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9524a1a9510SRong-En Fan	exit ;;
95306bfebdeSXin LI    mips:Linux:*:* | mips64:Linux:*:*)
95439f2269fSPeter Wemm	eval $set_cc_for_build
95539f2269fSPeter Wemm	sed 's/^	//' << EOF >$dummy.c
95639f2269fSPeter Wemm	#undef CPU
95706bfebdeSXin LI	#undef ${UNAME_MACHINE}
95806bfebdeSXin LI	#undef ${UNAME_MACHINE}el
95939f2269fSPeter Wemm	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
96006bfebdeSXin LI	CPU=${UNAME_MACHINE}el
9617a69bbfbSPeter Wemm	#else
96239f2269fSPeter Wemm	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
96306bfebdeSXin LI	CPU=${UNAME_MACHINE}
96439f2269fSPeter Wemm	#else
96539f2269fSPeter Wemm	CPU=
9667a69bbfbSPeter Wemm	#endif
9677a69bbfbSPeter Wemm	#endif
9687a69bbfbSPeter WemmEOF
96906bfebdeSXin LI	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
970*73f0a83dSXin LI	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
9714a1a9510SRong-En Fan	;;
972*73f0a83dSXin LI    or1k:Linux:*:*)
973*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
974*73f0a83dSXin LI	exit ;;
9754a1a9510SRong-En Fan    or32:Linux:*:*)
976*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
9774a1a9510SRong-En Fan	exit ;;
97806bfebdeSXin LI    padre:Linux:*:*)
979*73f0a83dSXin LI	echo sparc-unknown-linux-${LIBC}
9804a1a9510SRong-En Fan	exit ;;
98106bfebdeSXin LI    parisc64:Linux:*:* | hppa64:Linux:*:*)
982*73f0a83dSXin LI	echo hppa64-unknown-linux-${LIBC}
9834a1a9510SRong-En Fan	exit ;;
9847a69bbfbSPeter Wemm    parisc:Linux:*:* | hppa:Linux:*:*)
9857a69bbfbSPeter Wemm	# Look for CPU level
9867a69bbfbSPeter Wemm	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
987*73f0a83dSXin LI	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
988*73f0a83dSXin LI	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
989*73f0a83dSXin LI	  *)    echo hppa-unknown-linux-${LIBC} ;;
9907a69bbfbSPeter Wemm	esac
9914a1a9510SRong-En Fan	exit ;;
99206bfebdeSXin LI    ppc64:Linux:*:*)
993*73f0a83dSXin LI	echo powerpc64-unknown-linux-${LIBC}
99406bfebdeSXin LI	exit ;;
99506bfebdeSXin LI    ppc:Linux:*:*)
996*73f0a83dSXin LI	echo powerpc-unknown-linux-${LIBC}
997*73f0a83dSXin LI	exit ;;
998*73f0a83dSXin LI    ppc64le:Linux:*:*)
999*73f0a83dSXin LI	echo powerpc64le-unknown-linux-${LIBC}
1000*73f0a83dSXin LI	exit ;;
1001*73f0a83dSXin LI    ppcle:Linux:*:*)
1002*73f0a83dSXin LI	echo powerpcle-unknown-linux-${LIBC}
10034a1a9510SRong-En Fan	exit ;;
10047a69bbfbSPeter Wemm    s390:Linux:*:* | s390x:Linux:*:*)
1005*73f0a83dSXin LI	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
10064a1a9510SRong-En Fan	exit ;;
10074a1a9510SRong-En Fan    sh64*:Linux:*:*)
1008*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10094a1a9510SRong-En Fan	exit ;;
10107a69bbfbSPeter Wemm    sh*:Linux:*:*)
1011*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10124a1a9510SRong-En Fan	exit ;;
10137a69bbfbSPeter Wemm    sparc:Linux:*:* | sparc64:Linux:*:*)
1014*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10154a1a9510SRong-En Fan	exit ;;
101606bfebdeSXin LI    tile*:Linux:*:*)
1017*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
101806bfebdeSXin LI	exit ;;
10194a1a9510SRong-En Fan    vax:Linux:*:*)
1020*73f0a83dSXin LI	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
10214a1a9510SRong-En Fan	exit ;;
10227a69bbfbSPeter Wemm    x86_64:Linux:*:*)
1023*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10244a1a9510SRong-En Fan	exit ;;
1025aa59d4d4SRong-En Fan    xtensa*:Linux:*:*)
1026*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
10275ca44d1cSRong-En Fan	exit ;;
102839f2269fSPeter Wemm    i*86:DYNIX/ptx:4*:*)
102939f2269fSPeter Wemm	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
103039f2269fSPeter Wemm	# earlier versions are messed up and put the nodename in both
103139f2269fSPeter Wemm	# sysname and nodename.
10320e3d5408SPeter Wemm	echo i386-sequent-sysv4
10334a1a9510SRong-En Fan	exit ;;
103439f2269fSPeter Wemm    i*86:UNIX_SV:4.2MP:2.*)
10350e3d5408SPeter Wemm	# Unixware is an offshoot of SVR4, but it has its own version
10360e3d5408SPeter Wemm	# number series starting with 2...
10370e3d5408SPeter Wemm	# I am not positive that other SVR4 systems won't match this,
10380e3d5408SPeter Wemm	# I just have to hope.  -- rms.
10390e3d5408SPeter Wemm	# Use sysv4.2uw... so that sysv4* matches it.
10400e3d5408SPeter Wemm	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10414a1a9510SRong-En Fan	exit ;;
10424a1a9510SRong-En Fan    i*86:OS/2:*:*)
10434a1a9510SRong-En Fan	# If we were able to find `uname', then EMX Unix compatibility
10444a1a9510SRong-En Fan	# is probably installed.
10454a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-pc-os2-emx
10464a1a9510SRong-En Fan	exit ;;
10474a1a9510SRong-En Fan    i*86:XTS-300:*:STOP)
10484a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-stop
10494a1a9510SRong-En Fan	exit ;;
10504a1a9510SRong-En Fan    i*86:atheos:*:*)
10514a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-atheos
10524a1a9510SRong-En Fan	exit ;;
10534a1a9510SRong-En Fan    i*86:syllable:*:*)
10544a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-pc-syllable
10554a1a9510SRong-En Fan	exit ;;
105606bfebdeSXin LI    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10574a1a9510SRong-En Fan	echo i386-unknown-lynxos${UNAME_RELEASE}
10584a1a9510SRong-En Fan	exit ;;
10594a1a9510SRong-En Fan    i*86:*DOS:*:*)
10604a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10614a1a9510SRong-En Fan	exit ;;
106239f2269fSPeter Wemm    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
106315589c42SPeter Wemm	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
106415589c42SPeter Wemm	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
106515589c42SPeter Wemm		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
10660e3d5408SPeter Wemm	else
106715589c42SPeter Wemm		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
10680e3d5408SPeter Wemm	fi
10694a1a9510SRong-En Fan	exit ;;
10704a1a9510SRong-En Fan    i*86:*:5:[678]*)
10714a1a9510SRong-En Fan	# UnixWare 7.x, OpenUNIX and OpenServer 6.
107239f2269fSPeter Wemm	case `/bin/uname -X | grep "^Machine"` in
107339f2269fSPeter Wemm	    *486*)	     UNAME_MACHINE=i486 ;;
107439f2269fSPeter Wemm	    *Pentium)	     UNAME_MACHINE=i586 ;;
107539f2269fSPeter Wemm	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
107639f2269fSPeter Wemm	esac
107739f2269fSPeter Wemm	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10784a1a9510SRong-En Fan	exit ;;
107939f2269fSPeter Wemm    i*86:*:3.2:*)
10800e3d5408SPeter Wemm	if test -f /usr/options/cb.name; then
10810e3d5408SPeter Wemm		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
10820e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
10830e3d5408SPeter Wemm	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10844a1a9510SRong-En Fan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
10854a1a9510SRong-En Fan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
10864a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
10870e3d5408SPeter Wemm			&& UNAME_MACHINE=i586
10884a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
108915589c42SPeter Wemm			&& UNAME_MACHINE=i686
10904a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
109115589c42SPeter Wemm			&& UNAME_MACHINE=i686
10920e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
10930e3d5408SPeter Wemm	else
10940e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-pc-sysv32
10950e3d5408SPeter Wemm	fi
10964a1a9510SRong-En Fan	exit ;;
10970e3d5408SPeter Wemm    pc:*:*:*)
109815589c42SPeter Wemm	# Left here for compatibility:
10990e3d5408SPeter Wemm	# uname -m prints for DJGPP always 'pc', but it prints nothing about
110006bfebdeSXin LI	# the processor, so we play safe by assuming i586.
110106bfebdeSXin LI	# Note: whatever this is, it MUST be the same as what config.sub
110206bfebdeSXin LI	# prints for the "djgpp" host, or else GDB configury will decide that
110306bfebdeSXin LI	# this is a cross-build.
110406bfebdeSXin LI	echo i586-pc-msdosdjgpp
11054a1a9510SRong-En Fan	exit ;;
11060e3d5408SPeter Wemm    Intel:Mach:3*:*)
11070e3d5408SPeter Wemm	echo i386-pc-mach3
11084a1a9510SRong-En Fan	exit ;;
11090e3d5408SPeter Wemm    paragon:*:*:*)
11100e3d5408SPeter Wemm	echo i860-intel-osf1
11114a1a9510SRong-En Fan	exit ;;
11120e3d5408SPeter Wemm    i860:*:4.*:*) # i860-SVR4
11130e3d5408SPeter Wemm	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
11140e3d5408SPeter Wemm	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
11150e3d5408SPeter Wemm	else # Add other i860-SVR4 vendors below as they are discovered.
11160e3d5408SPeter Wemm	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
11170e3d5408SPeter Wemm	fi
11184a1a9510SRong-En Fan	exit ;;
11190e3d5408SPeter Wemm    mini*:CTIX:SYS*5:*)
11200e3d5408SPeter Wemm	# "miniframe"
11210e3d5408SPeter Wemm	echo m68010-convergent-sysv
11224a1a9510SRong-En Fan	exit ;;
11234a1a9510SRong-En Fan    mc68k:UNIX:SYSTEM5:3.51m)
11244a1a9510SRong-En Fan	echo m68k-convergent-sysv
11254a1a9510SRong-En Fan	exit ;;
11264a1a9510SRong-En Fan    M680?0:D-NIX:5.3:*)
11274a1a9510SRong-En Fan	echo m68k-diab-dnix
11284a1a9510SRong-En Fan	exit ;;
11294a1a9510SRong-En Fan    M68*:*:R3V[5678]*:*)
11304a1a9510SRong-En Fan	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11314a1a9510SRong-En Fan    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)
11320e3d5408SPeter Wemm	OS_REL=''
11330e3d5408SPeter Wemm	test -r /etc/.relid \
11340e3d5408SPeter Wemm	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11350e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11364a1a9510SRong-En Fan	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11370e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11384a1a9510SRong-En Fan	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11390e3d5408SPeter Wemm    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11400e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11414a1a9510SRong-En Fan	  && { echo i486-ncr-sysv4; exit; } ;;
114206bfebdeSXin LI    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
114306bfebdeSXin LI	OS_REL='.3'
114406bfebdeSXin LI	test -r /etc/.relid \
114506bfebdeSXin LI	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
114606bfebdeSXin LI	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
114706bfebdeSXin LI	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
114806bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
114906bfebdeSXin LI	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
115006bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
115106bfebdeSXin LI	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
115239f2269fSPeter Wemm    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11530e3d5408SPeter Wemm	echo m68k-unknown-lynxos${UNAME_RELEASE}
11544a1a9510SRong-En Fan	exit ;;
11550e3d5408SPeter Wemm    mc68030:UNIX_System_V:4.*:*)
11560e3d5408SPeter Wemm	echo m68k-atari-sysv4
11574a1a9510SRong-En Fan	exit ;;
11580e3d5408SPeter Wemm    TSUNAMI:LynxOS:2.*:*)
11590e3d5408SPeter Wemm	echo sparc-unknown-lynxos${UNAME_RELEASE}
11604a1a9510SRong-En Fan	exit ;;
11617a69bbfbSPeter Wemm    rs6000:LynxOS:2.*:*)
11620e3d5408SPeter Wemm	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11634a1a9510SRong-En Fan	exit ;;
116406bfebdeSXin LI    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
11657a69bbfbSPeter Wemm	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11664a1a9510SRong-En Fan	exit ;;
11670e3d5408SPeter Wemm    SM[BE]S:UNIX_SV:*:*)
11680e3d5408SPeter Wemm	echo mips-dde-sysv${UNAME_RELEASE}
11694a1a9510SRong-En Fan	exit ;;
117015589c42SPeter Wemm    RM*:ReliantUNIX-*:*:*)
117115589c42SPeter Wemm	echo mips-sni-sysv4
11724a1a9510SRong-En Fan	exit ;;
11730e3d5408SPeter Wemm    RM*:SINIX-*:*:*)
11740e3d5408SPeter Wemm	echo mips-sni-sysv4
11754a1a9510SRong-En Fan	exit ;;
11760e3d5408SPeter Wemm    *:SINIX-*:*:*)
11770e3d5408SPeter Wemm	if uname -p 2>/dev/null >/dev/null ; then
11780e3d5408SPeter Wemm		UNAME_MACHINE=`(uname -p) 2>/dev/null`
11790e3d5408SPeter Wemm		echo ${UNAME_MACHINE}-sni-sysv4
11800e3d5408SPeter Wemm	else
11810e3d5408SPeter Wemm		echo ns32k-sni-sysv
11820e3d5408SPeter Wemm	fi
11834a1a9510SRong-En Fan	exit ;;
118439f2269fSPeter Wemm    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
11850e3d5408SPeter Wemm			# says <Richard.M.Bartel@ccMail.Census.GOV>
11860e3d5408SPeter Wemm	echo i586-unisys-sysv4
11874a1a9510SRong-En Fan	exit ;;
11880e3d5408SPeter Wemm    *:UNIX_System_V:4*:FTX*)
11890e3d5408SPeter Wemm	# From Gerald Hewes <hewes@openmarket.com>.
11900e3d5408SPeter Wemm	# How about differentiating between stratus architectures? -djm
11910e3d5408SPeter Wemm	echo hppa1.1-stratus-sysv4
11924a1a9510SRong-En Fan	exit ;;
11930e3d5408SPeter Wemm    *:*:*:FTX*)
11940e3d5408SPeter Wemm	# From seanf@swdc.stratus.com.
11950e3d5408SPeter Wemm	echo i860-stratus-sysv4
11964a1a9510SRong-En Fan	exit ;;
11974a1a9510SRong-En Fan    i*86:VOS:*:*)
11984a1a9510SRong-En Fan	# From Paul.Green@stratus.com.
11994a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-stratus-vos
12004a1a9510SRong-En Fan	exit ;;
120139f2269fSPeter Wemm    *:VOS:*:*)
120239f2269fSPeter Wemm	# From Paul.Green@stratus.com.
120339f2269fSPeter Wemm	echo hppa1.1-stratus-vos
12044a1a9510SRong-En Fan	exit ;;
12050e3d5408SPeter Wemm    mc68*:A/UX:*:*)
12060e3d5408SPeter Wemm	echo m68k-apple-aux${UNAME_RELEASE}
12074a1a9510SRong-En Fan	exit ;;
12087a69bbfbSPeter Wemm    news*:NEWS-OS:6*:*)
12090e3d5408SPeter Wemm	echo mips-sony-newsos6
12104a1a9510SRong-En Fan	exit ;;
121115589c42SPeter Wemm    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12120e3d5408SPeter Wemm	if [ -d /usr/nec ]; then
12130e3d5408SPeter Wemm		echo mips-nec-sysv${UNAME_RELEASE}
12140e3d5408SPeter Wemm	else
12150e3d5408SPeter Wemm		echo mips-unknown-sysv${UNAME_RELEASE}
12160e3d5408SPeter Wemm	fi
12174a1a9510SRong-En Fan	exit ;;
12180e3d5408SPeter Wemm    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
12190e3d5408SPeter Wemm	echo powerpc-be-beos
12204a1a9510SRong-En Fan	exit ;;
12210e3d5408SPeter Wemm    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
12220e3d5408SPeter Wemm	echo powerpc-apple-beos
12234a1a9510SRong-En Fan	exit ;;
12240e3d5408SPeter Wemm    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
12250e3d5408SPeter Wemm	echo i586-pc-beos
12264a1a9510SRong-En Fan	exit ;;
1227aa59d4d4SRong-En Fan    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1228aa59d4d4SRong-En Fan	echo i586-pc-haiku
1229aa59d4d4SRong-En Fan	exit ;;
1230*73f0a83dSXin LI    x86_64:Haiku:*:*)
1231*73f0a83dSXin LI	echo x86_64-unknown-haiku
1232*73f0a83dSXin LI	exit ;;
123315589c42SPeter Wemm    SX-4:SUPER-UX:*:*)
123415589c42SPeter Wemm	echo sx4-nec-superux${UNAME_RELEASE}
12354a1a9510SRong-En Fan	exit ;;
123615589c42SPeter Wemm    SX-5:SUPER-UX:*:*)
123715589c42SPeter Wemm	echo sx5-nec-superux${UNAME_RELEASE}
12384a1a9510SRong-En Fan	exit ;;
12394a1a9510SRong-En Fan    SX-6:SUPER-UX:*:*)
12404a1a9510SRong-En Fan	echo sx6-nec-superux${UNAME_RELEASE}
12414a1a9510SRong-En Fan	exit ;;
12425ca44d1cSRong-En Fan    SX-7:SUPER-UX:*:*)
12435ca44d1cSRong-En Fan	echo sx7-nec-superux${UNAME_RELEASE}
12445ca44d1cSRong-En Fan	exit ;;
12455ca44d1cSRong-En Fan    SX-8:SUPER-UX:*:*)
12465ca44d1cSRong-En Fan	echo sx8-nec-superux${UNAME_RELEASE}
12475ca44d1cSRong-En Fan	exit ;;
12485ca44d1cSRong-En Fan    SX-8R:SUPER-UX:*:*)
12495ca44d1cSRong-En Fan	echo sx8r-nec-superux${UNAME_RELEASE}
12505ca44d1cSRong-En Fan	exit ;;
125115589c42SPeter Wemm    Power*:Rhapsody:*:*)
125215589c42SPeter Wemm	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12534a1a9510SRong-En Fan	exit ;;
125415589c42SPeter Wemm    *:Rhapsody:*:*)
125515589c42SPeter Wemm	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12564a1a9510SRong-En Fan	exit ;;
125715589c42SPeter Wemm    *:Darwin:*:*)
12584a1a9510SRong-En Fan	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
125906bfebdeSXin LI	eval $set_cc_for_build
1260*73f0a83dSXin LI	if test "$UNAME_PROCESSOR" = unknown ; then
1261*73f0a83dSXin LI	    UNAME_PROCESSOR=powerpc
1262*73f0a83dSXin LI	fi
126306bfebdeSXin LI	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
126406bfebdeSXin LI	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
126506bfebdeSXin LI		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
126606bfebdeSXin LI		grep IS_64BIT_ARCH >/dev/null
126706bfebdeSXin LI	    then
1268*73f0a83dSXin LI		case $UNAME_PROCESSOR in
1269*73f0a83dSXin LI		    i386) UNAME_PROCESSOR=x86_64 ;;
1270*73f0a83dSXin LI		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
12714a1a9510SRong-En Fan		esac
1272*73f0a83dSXin LI	    fi
1273*73f0a83dSXin LI	fi
12744a1a9510SRong-En Fan	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12754a1a9510SRong-En Fan	exit ;;
127615589c42SPeter Wemm    *:procnto*:*:* | *:QNX:[0123456789]*:*)
127739f2269fSPeter Wemm	UNAME_PROCESSOR=`uname -p`
127839f2269fSPeter Wemm	if test "$UNAME_PROCESSOR" = "x86"; then
127939f2269fSPeter Wemm		UNAME_PROCESSOR=i386
128015589c42SPeter Wemm		UNAME_MACHINE=pc
128115589c42SPeter Wemm	fi
128239f2269fSPeter Wemm	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12834a1a9510SRong-En Fan	exit ;;
128415589c42SPeter Wemm    *:QNX:*:4*)
128515589c42SPeter Wemm	echo i386-pc-qnx
12864a1a9510SRong-En Fan	exit ;;
128706bfebdeSXin LI    NEO-?:NONSTOP_KERNEL:*:*)
128806bfebdeSXin LI	echo neo-tandem-nsk${UNAME_RELEASE}
128906bfebdeSXin LI	exit ;;
1290*73f0a83dSXin LI    NSE-*:NONSTOP_KERNEL:*:*)
12914a1a9510SRong-En Fan	echo nse-tandem-nsk${UNAME_RELEASE}
12924a1a9510SRong-En Fan	exit ;;
12934a1a9510SRong-En Fan    NSR-?:NONSTOP_KERNEL:*:*)
129415589c42SPeter Wemm	echo nsr-tandem-nsk${UNAME_RELEASE}
12954a1a9510SRong-En Fan	exit ;;
12967a69bbfbSPeter Wemm    *:NonStop-UX:*:*)
12977a69bbfbSPeter Wemm	echo mips-compaq-nonstopux
12984a1a9510SRong-En Fan	exit ;;
129915589c42SPeter Wemm    BS2000:POSIX*:*:*)
130015589c42SPeter Wemm	echo bs2000-siemens-sysv
13014a1a9510SRong-En Fan	exit ;;
130215589c42SPeter Wemm    DS/*:UNIX_System_V:*:*)
130315589c42SPeter Wemm	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
13044a1a9510SRong-En Fan	exit ;;
13057a69bbfbSPeter Wemm    *:Plan9:*:*)
13067a69bbfbSPeter Wemm	# "uname -m" is not consistent, so use $cputype instead. 386
13077a69bbfbSPeter Wemm	# is converted to i386 for consistency with other x86
13087a69bbfbSPeter Wemm	# operating systems.
13097a69bbfbSPeter Wemm	if test "$cputype" = "386"; then
13107a69bbfbSPeter Wemm	    UNAME_MACHINE=i386
13117a69bbfbSPeter Wemm	else
13127a69bbfbSPeter Wemm	    UNAME_MACHINE="$cputype"
13137a69bbfbSPeter Wemm	fi
13147a69bbfbSPeter Wemm	echo ${UNAME_MACHINE}-unknown-plan9
13154a1a9510SRong-En Fan	exit ;;
13167a69bbfbSPeter Wemm    *:TOPS-10:*:*)
13177a69bbfbSPeter Wemm	echo pdp10-unknown-tops10
13184a1a9510SRong-En Fan	exit ;;
13197a69bbfbSPeter Wemm    *:TENEX:*:*)
13207a69bbfbSPeter Wemm	echo pdp10-unknown-tenex
13214a1a9510SRong-En Fan	exit ;;
13227a69bbfbSPeter Wemm    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
13237a69bbfbSPeter Wemm	echo pdp10-dec-tops20
13244a1a9510SRong-En Fan	exit ;;
13257a69bbfbSPeter Wemm    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
13267a69bbfbSPeter Wemm	echo pdp10-xkl-tops20
13274a1a9510SRong-En Fan	exit ;;
13287a69bbfbSPeter Wemm    *:TOPS-20:*:*)
13297a69bbfbSPeter Wemm	echo pdp10-unknown-tops20
13304a1a9510SRong-En Fan	exit ;;
13317a69bbfbSPeter Wemm    *:ITS:*:*)
13327a69bbfbSPeter Wemm	echo pdp10-unknown-its
13334a1a9510SRong-En Fan	exit ;;
13344a1a9510SRong-En Fan    SEI:*:*:SEIUX)
13354a1a9510SRong-En Fan	echo mips-sei-seiux${UNAME_RELEASE}
13364a1a9510SRong-En Fan	exit ;;
13374a1a9510SRong-En Fan    *:DragonFly:*:*)
13384a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13394a1a9510SRong-En Fan	exit ;;
13404a1a9510SRong-En Fan    *:*VMS:*:*)
13414a1a9510SRong-En Fan	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13424a1a9510SRong-En Fan	case "${UNAME_MACHINE}" in
13434a1a9510SRong-En Fan	    A*) echo alpha-dec-vms ; exit ;;
13444a1a9510SRong-En Fan	    I*) echo ia64-dec-vms ; exit ;;
13454a1a9510SRong-En Fan	    V*) echo vax-dec-vms ; exit ;;
13464a1a9510SRong-En Fan	esac ;;
13474a1a9510SRong-En Fan    *:XENIX:*:SysV)
13484a1a9510SRong-En Fan	echo i386-pc-xenix
13494a1a9510SRong-En Fan	exit ;;
13504a1a9510SRong-En Fan    i*86:skyos:*:*)
13514a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13524a1a9510SRong-En Fan	exit ;;
13534a1a9510SRong-En Fan    i*86:rdos:*:*)
13544a1a9510SRong-En Fan	echo ${UNAME_MACHINE}-pc-rdos
13554a1a9510SRong-En Fan	exit ;;
135606bfebdeSXin LI    i*86:AROS:*:*)
135706bfebdeSXin LI	echo ${UNAME_MACHINE}-pc-aros
135806bfebdeSXin LI	exit ;;
1359*73f0a83dSXin LI    x86_64:VMkernel:*:*)
1360*73f0a83dSXin LI	echo ${UNAME_MACHINE}-unknown-esx
1361*73f0a83dSXin LI	exit ;;
13620e3d5408SPeter Wemmesac
13630e3d5408SPeter Wemm
136439f2269fSPeter Wemmeval $set_cc_for_build
136515589c42SPeter Wemmcat >$dummy.c <<EOF
13660e3d5408SPeter Wemm#ifdef _SEQUENT_
13670e3d5408SPeter Wemm# include <sys/types.h>
13680e3d5408SPeter Wemm# include <sys/utsname.h>
13690e3d5408SPeter Wemm#endif
13700e3d5408SPeter Wemmmain ()
13710e3d5408SPeter Wemm{
13720e3d5408SPeter Wemm#if defined (sony)
13730e3d5408SPeter Wemm#if defined (MIPSEB)
13740e3d5408SPeter Wemm  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
13750e3d5408SPeter Wemm     I don't know....  */
13760e3d5408SPeter Wemm  printf ("mips-sony-bsd\n"); exit (0);
13770e3d5408SPeter Wemm#else
13780e3d5408SPeter Wemm#include <sys/param.h>
13790e3d5408SPeter Wemm  printf ("m68k-sony-newsos%s\n",
13800e3d5408SPeter Wemm#ifdef NEWSOS4
13810e3d5408SPeter Wemm	"4"
13820e3d5408SPeter Wemm#else
13830e3d5408SPeter Wemm	""
13840e3d5408SPeter Wemm#endif
13850e3d5408SPeter Wemm	); exit (0);
13860e3d5408SPeter Wemm#endif
13870e3d5408SPeter Wemm#endif
13880e3d5408SPeter Wemm
13890e3d5408SPeter Wemm#if defined (__arm) && defined (__acorn) && defined (__unix)
13904a1a9510SRong-En Fan  printf ("arm-acorn-riscix\n"); exit (0);
13910e3d5408SPeter Wemm#endif
13920e3d5408SPeter Wemm
13930e3d5408SPeter Wemm#if defined (hp300) && !defined (hpux)
13940e3d5408SPeter Wemm  printf ("m68k-hp-bsd\n"); exit (0);
13950e3d5408SPeter Wemm#endif
13960e3d5408SPeter Wemm
13970e3d5408SPeter Wemm#if defined (NeXT)
13980e3d5408SPeter Wemm#if !defined (__ARCHITECTURE__)
13990e3d5408SPeter Wemm#define __ARCHITECTURE__ "m68k"
14000e3d5408SPeter Wemm#endif
14010e3d5408SPeter Wemm  int version;
14020e3d5408SPeter Wemm  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
140315589c42SPeter Wemm  if (version < 4)
14040e3d5408SPeter Wemm    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
140515589c42SPeter Wemm  else
140615589c42SPeter Wemm    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
14070e3d5408SPeter Wemm  exit (0);
14080e3d5408SPeter Wemm#endif
14090e3d5408SPeter Wemm
14100e3d5408SPeter Wemm#if defined (MULTIMAX) || defined (n16)
14110e3d5408SPeter Wemm#if defined (UMAXV)
14120e3d5408SPeter Wemm  printf ("ns32k-encore-sysv\n"); exit (0);
14130e3d5408SPeter Wemm#else
14140e3d5408SPeter Wemm#if defined (CMU)
14150e3d5408SPeter Wemm  printf ("ns32k-encore-mach\n"); exit (0);
14160e3d5408SPeter Wemm#else
14170e3d5408SPeter Wemm  printf ("ns32k-encore-bsd\n"); exit (0);
14180e3d5408SPeter Wemm#endif
14190e3d5408SPeter Wemm#endif
14200e3d5408SPeter Wemm#endif
14210e3d5408SPeter Wemm
14220e3d5408SPeter Wemm#if defined (__386BSD__)
14230e3d5408SPeter Wemm  printf ("i386-pc-bsd\n"); exit (0);
14240e3d5408SPeter Wemm#endif
14250e3d5408SPeter Wemm
14260e3d5408SPeter Wemm#if defined (sequent)
14270e3d5408SPeter Wemm#if defined (i386)
14280e3d5408SPeter Wemm  printf ("i386-sequent-dynix\n"); exit (0);
14290e3d5408SPeter Wemm#endif
14300e3d5408SPeter Wemm#if defined (ns32000)
14310e3d5408SPeter Wemm  printf ("ns32k-sequent-dynix\n"); exit (0);
14320e3d5408SPeter Wemm#endif
14330e3d5408SPeter Wemm#endif
14340e3d5408SPeter Wemm
14350e3d5408SPeter Wemm#if defined (_SEQUENT_)
14360e3d5408SPeter Wemm    struct utsname un;
14370e3d5408SPeter Wemm
14380e3d5408SPeter Wemm    uname(&un);
14390e3d5408SPeter Wemm
14400e3d5408SPeter Wemm    if (strncmp(un.version, "V2", 2) == 0) {
14410e3d5408SPeter Wemm	printf ("i386-sequent-ptx2\n"); exit (0);
14420e3d5408SPeter Wemm    }
14430e3d5408SPeter Wemm    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
14440e3d5408SPeter Wemm	printf ("i386-sequent-ptx1\n"); exit (0);
14450e3d5408SPeter Wemm    }
14460e3d5408SPeter Wemm    printf ("i386-sequent-ptx\n"); exit (0);
14470e3d5408SPeter Wemm
14480e3d5408SPeter Wemm#endif
14490e3d5408SPeter Wemm
14500e3d5408SPeter Wemm#if defined (vax)
14510e3d5408SPeter Wemm# if !defined (ultrix)
14527a69bbfbSPeter Wemm#  include <sys/param.h>
14537a69bbfbSPeter Wemm#  if defined (BSD)
14547a69bbfbSPeter Wemm#   if BSD == 43
14557a69bbfbSPeter Wemm      printf ("vax-dec-bsd4.3\n"); exit (0);
14567a69bbfbSPeter Wemm#   else
14577a69bbfbSPeter Wemm#    if BSD == 199006
14587a69bbfbSPeter Wemm      printf ("vax-dec-bsd4.3reno\n"); exit (0);
14597a69bbfbSPeter Wemm#    else
14600e3d5408SPeter Wemm      printf ("vax-dec-bsd\n"); exit (0);
14617a69bbfbSPeter Wemm#    endif
14627a69bbfbSPeter Wemm#   endif
14637a69bbfbSPeter Wemm#  else
14647a69bbfbSPeter Wemm    printf ("vax-dec-bsd\n"); exit (0);
14657a69bbfbSPeter Wemm#  endif
14660e3d5408SPeter Wemm# else
14670e3d5408SPeter Wemm    printf ("vax-dec-ultrix\n"); exit (0);
14680e3d5408SPeter Wemm# endif
14690e3d5408SPeter Wemm#endif
14700e3d5408SPeter Wemm
14710e3d5408SPeter Wemm#if defined (alliant) && defined (i860)
14720e3d5408SPeter Wemm  printf ("i860-alliant-bsd\n"); exit (0);
14730e3d5408SPeter Wemm#endif
14740e3d5408SPeter Wemm
14750e3d5408SPeter Wemm  exit (1);
14760e3d5408SPeter Wemm}
14770e3d5408SPeter WemmEOF
14780e3d5408SPeter Wemm
14794a1a9510SRong-En Fan$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14804a1a9510SRong-En Fan	{ echo "$SYSTEM_NAME"; exit; }
14810e3d5408SPeter Wemm
14820e3d5408SPeter Wemm# Apollos put the system type in the environment.
14830e3d5408SPeter Wemm
14844a1a9510SRong-En Fantest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
14850e3d5408SPeter Wemm
14860e3d5408SPeter Wemm# Convex versions that predate uname can use getsysinfo(1)
14870e3d5408SPeter Wemm
14880e3d5408SPeter Wemmif [ -x /usr/convex/getsysinfo ]
14890e3d5408SPeter Wemmthen
14900e3d5408SPeter Wemm    case `getsysinfo -f cpu_type` in
14910e3d5408SPeter Wemm    c1*)
14920e3d5408SPeter Wemm	echo c1-convex-bsd
14934a1a9510SRong-En Fan	exit ;;
14940e3d5408SPeter Wemm    c2*)
14950e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
14960e3d5408SPeter Wemm	then echo c32-convex-bsd
14970e3d5408SPeter Wemm	else echo c2-convex-bsd
14980e3d5408SPeter Wemm	fi
14994a1a9510SRong-En Fan	exit ;;
15000e3d5408SPeter Wemm    c34*)
15010e3d5408SPeter Wemm	echo c34-convex-bsd
15024a1a9510SRong-En Fan	exit ;;
15030e3d5408SPeter Wemm    c38*)
15040e3d5408SPeter Wemm	echo c38-convex-bsd
15054a1a9510SRong-En Fan	exit ;;
15060e3d5408SPeter Wemm    c4*)
15070e3d5408SPeter Wemm	echo c4-convex-bsd
15084a1a9510SRong-En Fan	exit ;;
15090e3d5408SPeter Wemm    esac
15100e3d5408SPeter Wemmfi
15110e3d5408SPeter Wemm
151215589c42SPeter Wemmcat >&2 <<EOF
151315589c42SPeter Wemm$0: unable to guess system type
151415589c42SPeter Wemm
15157a69bbfbSPeter WemmThis script, last modified $timestamp, has failed to recognize
15167a69bbfbSPeter Wemmthe operating system you are using. It is advised that you
15177a69bbfbSPeter Wemmdownload the most up to date version of the config scripts from
151815589c42SPeter Wemm
15195d08fb1fSRong-En Fan  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
15204a1a9510SRong-En Fanand
15215d08fb1fSRong-En Fan  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
152215589c42SPeter Wemm
152315589c42SPeter WemmIf the version you run ($0) is already up to date, please
152415589c42SPeter Wemmsend the following data and any information you think might be
152515589c42SPeter Wemmpertinent to <config-patches@gnu.org> in order to provide the needed
152615589c42SPeter Wemminformation to handle your system.
152715589c42SPeter Wemm
15287a69bbfbSPeter Wemmconfig.guess timestamp = $timestamp
152915589c42SPeter Wemm
153015589c42SPeter Wemmuname -m = `(uname -m) 2>/dev/null || echo unknown`
153115589c42SPeter Wemmuname -r = `(uname -r) 2>/dev/null || echo unknown`
153215589c42SPeter Wemmuname -s = `(uname -s) 2>/dev/null || echo unknown`
153315589c42SPeter Wemmuname -v = `(uname -v) 2>/dev/null || echo unknown`
153415589c42SPeter Wemm
153515589c42SPeter Wemm/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
153615589c42SPeter Wemm/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
153715589c42SPeter Wemm
153815589c42SPeter Wemmhostinfo               = `(hostinfo) 2>/dev/null`
153915589c42SPeter Wemm/bin/universe          = `(/bin/universe) 2>/dev/null`
154015589c42SPeter Wemm/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
154115589c42SPeter Wemm/bin/arch              = `(/bin/arch) 2>/dev/null`
154215589c42SPeter Wemm/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
154315589c42SPeter Wemm/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
154415589c42SPeter Wemm
154515589c42SPeter WemmUNAME_MACHINE = ${UNAME_MACHINE}
154615589c42SPeter WemmUNAME_RELEASE = ${UNAME_RELEASE}
154715589c42SPeter WemmUNAME_SYSTEM  = ${UNAME_SYSTEM}
154815589c42SPeter WemmUNAME_VERSION = ${UNAME_VERSION}
154915589c42SPeter WemmEOF
15500e3d5408SPeter Wemm
15510e3d5408SPeter Wemmexit 1
155215589c42SPeter Wemm
155315589c42SPeter Wemm# Local variables:
155415589c42SPeter Wemm# eval: (add-hook 'write-file-hooks 'time-stamp)
15557a69bbfbSPeter Wemm# time-stamp-start: "timestamp='"
155615589c42SPeter Wemm# time-stamp-format: "%:y-%02m-%02d"
155715589c42SPeter Wemm# time-stamp-end: "'"
155815589c42SPeter Wemm# End:
1559