xref: /freebsd/contrib/ncurses/config.guess (revision aae38d10b4eebf81c0942947e8b83a9bb8651d88)
10e3d5408SPeter Wemm#! /bin/sh
20e3d5408SPeter Wemm# Attempt to guess a canonical system name.
3*aae38d10SBaptiste Daroussin#   Copyright 1992-2019 Free Software Foundation, Inc.
415589c42SPeter Wemm
5*aae38d10SBaptiste Daroussintimestamp='2019-12-21'
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
973f0a83dSXin 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*aae38d10SBaptiste Daroussin# along with this program; if not, see <https://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
2373f0a83dSXin LI# the same distribution terms that you use for the rest of that
2473f0a83dSXin LI# program.  This Exception is an additional permission under section 7
2573f0a83dSXin LI# of the GNU General Public License, version 3 ("GPLv3").
260e3d5408SPeter Wemm#
27*aae38d10SBaptiste Daroussin# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
280e3d5408SPeter Wemm#
2906bfebdeSXin LI# You can get the latest version of this script from:
30*aae38d10SBaptiste Daroussin# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
3173f0a83dSXin LI#
32*aae38d10SBaptiste Daroussin# Please send patches to <config-patches@gnu.org>.
3373f0a83dSXin 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
42*aae38d10SBaptiste DaroussinOptions:
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*aae38d10SBaptiste DaroussinCopyright 1992-2019 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
874a1a9510SRong-En Fan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
884a1a9510SRong-En Fan# compiler to aid in system detection is discouraged as it requires
894a1a9510SRong-En Fan# temporary files to be created and, as you can see below, it is a
904a1a9510SRong-En Fan# headache to deal with in a portable fashion.
917a69bbfbSPeter Wemm
927a69bbfbSPeter Wemm# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
937a69bbfbSPeter Wemm# use `HOST_CC' if defined, but it is deprecated.
947a69bbfbSPeter Wemm
954a1a9510SRong-En Fan# Portable tmp directory creation inspired by the Autoconf team.
964a1a9510SRong-En Fan
97*aae38d10SBaptiste Daroussintmp=
98*aae38d10SBaptiste Daroussin# shellcheck disable=SC2172
99*aae38d10SBaptiste Daroussintrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
100*aae38d10SBaptiste Daroussin
101*aae38d10SBaptiste Daroussinset_cc_for_build() {
102*aae38d10SBaptiste Daroussin    # prevent multiple calls if $tmp is already set
103*aae38d10SBaptiste Daroussin    test "$tmp" && return 0
104*aae38d10SBaptiste Daroussin    : "${TMPDIR=/tmp}"
105*aae38d10SBaptiste Daroussin    # shellcheck disable=SC2039
1064a1a9510SRong-En Fan    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
107*aae38d10SBaptiste Daroussin	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
108*aae38d10SBaptiste Daroussin	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
109*aae38d10SBaptiste Daroussin	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
110*aae38d10SBaptiste Daroussin    dummy=$tmp/dummy
111*aae38d10SBaptiste Daroussin    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
112*aae38d10SBaptiste Daroussin	,,)    echo "int x;" > "$dummy.c"
113*aae38d10SBaptiste Daroussin	       for driver in cc gcc c89 c99 ; do
114*aae38d10SBaptiste Daroussin		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
115*aae38d10SBaptiste Daroussin		       CC_FOR_BUILD="$driver"
116*aae38d10SBaptiste Daroussin		       break
117*aae38d10SBaptiste Daroussin		   fi
118*aae38d10SBaptiste Daroussin	       done
1197a69bbfbSPeter Wemm	       if test x"$CC_FOR_BUILD" = x ; then
120*aae38d10SBaptiste Daroussin		   CC_FOR_BUILD=no_compiler_found
1217a69bbfbSPeter Wemm	       fi
1227a69bbfbSPeter Wemm	       ;;
1237a69bbfbSPeter Wemm	,,*)   CC_FOR_BUILD=$CC ;;
1247a69bbfbSPeter Wemm	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
125*aae38d10SBaptiste Daroussin    esac
126*aae38d10SBaptiste Daroussin}
12715589c42SPeter Wemm
1280e3d5408SPeter Wemm# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
12939f2269fSPeter Wemm# (ghazi@noc.rutgers.edu 1994-08-24)
130*aae38d10SBaptiste Daroussinif test -f /.attbin/uname ; then
1310e3d5408SPeter Wemm	PATH=$PATH:/.attbin ; export PATH
1320e3d5408SPeter Wemmfi
1330e3d5408SPeter Wemm
1340e3d5408SPeter WemmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1350e3d5408SPeter WemmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1360e3d5408SPeter WemmUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1370e3d5408SPeter WemmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1380e3d5408SPeter Wemm
139*aae38d10SBaptiste Daroussincase "$UNAME_SYSTEM" in
14073f0a83dSXin LILinux|GNU|GNU/*)
14173f0a83dSXin LI	# If the system lacks a compiler, then just pick glibc.
14273f0a83dSXin LI	# We could probably try harder.
14373f0a83dSXin LI	LIBC=gnu
14473f0a83dSXin LI
145*aae38d10SBaptiste Daroussin	set_cc_for_build
146*aae38d10SBaptiste Daroussin	cat <<-EOF > "$dummy.c"
14773f0a83dSXin LI	#include <features.h>
14873f0a83dSXin LI	#if defined(__UCLIBC__)
14973f0a83dSXin LI	LIBC=uclibc
15073f0a83dSXin LI	#elif defined(__dietlibc__)
15173f0a83dSXin LI	LIBC=dietlibc
15273f0a83dSXin LI	#else
15373f0a83dSXin LI	LIBC=gnu
15473f0a83dSXin LI	#endif
15573f0a83dSXin LI	EOF
156*aae38d10SBaptiste Daroussin	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
157*aae38d10SBaptiste Daroussin
158*aae38d10SBaptiste Daroussin	# If ldd exists, use it to detect musl libc.
159*aae38d10SBaptiste Daroussin	if command -v ldd >/dev/null && \
160*aae38d10SBaptiste Daroussin		ldd --version 2>&1 | grep -q ^musl
161*aae38d10SBaptiste Daroussin	then
162*aae38d10SBaptiste Daroussin	    LIBC=musl
163*aae38d10SBaptiste Daroussin	fi
16473f0a83dSXin LI	;;
16573f0a83dSXin LIesac
16673f0a83dSXin LI
1670e3d5408SPeter Wemm# Note: order is significant - the case branches are not exclusive.
1680e3d5408SPeter Wemm
169*aae38d10SBaptiste Daroussincase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
17015589c42SPeter Wemm    *:NetBSD:*:*)
17139f2269fSPeter Wemm	# NetBSD (nbsd) targets should (where applicable) match one or
17273f0a83dSXin LI	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
17315589c42SPeter Wemm	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
17415589c42SPeter Wemm	# switched to ELF, *-*-netbsd* would select the old
17515589c42SPeter Wemm	# object file format.  This provides both forward
17615589c42SPeter Wemm	# compatibility and a consistent mechanism for selecting the
17715589c42SPeter Wemm	# object file format.
17839f2269fSPeter Wemm	#
17939f2269fSPeter Wemm	# Note: NetBSD doesn't particularly care about the vendor
18039f2269fSPeter Wemm	# portion of the name.  We always set it to "unknown".
18139f2269fSPeter Wemm	sysctl="sysctl -n hw.machine_arch"
182*aae38d10SBaptiste Daroussin	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
183*aae38d10SBaptiste Daroussin	    "/sbin/$sysctl" 2>/dev/null || \
184*aae38d10SBaptiste Daroussin	    "/usr/sbin/$sysctl" 2>/dev/null || \
185*aae38d10SBaptiste Daroussin	    echo unknown)`
186*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE_ARCH" in
1874a1a9510SRong-En Fan	    armeb) machine=armeb-unknown ;;
18839f2269fSPeter Wemm	    arm*) machine=arm-unknown ;;
18939f2269fSPeter Wemm	    sh3el) machine=shl-unknown ;;
19039f2269fSPeter Wemm	    sh3eb) machine=sh-unknown ;;
1915ca44d1cSRong-En Fan	    sh5el) machine=sh5le-unknown ;;
192*aae38d10SBaptiste Daroussin	    earmv*)
193*aae38d10SBaptiste Daroussin		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
194*aae38d10SBaptiste Daroussin		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
195*aae38d10SBaptiste Daroussin		machine="${arch}${endian}"-unknown
196*aae38d10SBaptiste Daroussin		;;
197*aae38d10SBaptiste Daroussin	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
19815589c42SPeter Wemm	esac
1997a69bbfbSPeter Wemm	# The Operating System including object format, if it has switched
200*aae38d10SBaptiste Daroussin	# to ELF recently (or will in the future) and ABI.
201*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE_ARCH" in
202*aae38d10SBaptiste Daroussin	    earm*)
203*aae38d10SBaptiste Daroussin		os=netbsdelf
204*aae38d10SBaptiste Daroussin		;;
20539f2269fSPeter Wemm	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
206*aae38d10SBaptiste Daroussin		set_cc_for_build
20715589c42SPeter Wemm		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
20806bfebdeSXin LI			| grep -q __ELF__
20915589c42SPeter Wemm		then
21015589c42SPeter Wemm		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
21115589c42SPeter Wemm		    # Return netbsd for either.  FIX?
21215589c42SPeter Wemm		    os=netbsd
21315589c42SPeter Wemm		else
21415589c42SPeter Wemm		    os=netbsdelf
21515589c42SPeter Wemm		fi
2167a69bbfbSPeter Wemm		;;
2177a69bbfbSPeter Wemm	    *)
2187a69bbfbSPeter Wemm		os=netbsd
2197a69bbfbSPeter Wemm		;;
2207a69bbfbSPeter Wemm	esac
221*aae38d10SBaptiste Daroussin	# Determine ABI tags.
222*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE_ARCH" in
223*aae38d10SBaptiste Daroussin	    earm*)
224*aae38d10SBaptiste Daroussin		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
225*aae38d10SBaptiste Daroussin		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
226*aae38d10SBaptiste Daroussin		;;
227*aae38d10SBaptiste Daroussin	esac
22815589c42SPeter Wemm	# The OS release
2294a1a9510SRong-En Fan	# Debian GNU/NetBSD machines have a different userland, and
2304a1a9510SRong-En Fan	# thus, need a distinct triplet. However, they do not need
2314a1a9510SRong-En Fan	# kernel version information, so it can be replaced with a
2324a1a9510SRong-En Fan	# suitable tag, in the style of linux-gnu.
233*aae38d10SBaptiste Daroussin	case "$UNAME_VERSION" in
2344a1a9510SRong-En Fan	    Debian*)
2354a1a9510SRong-En Fan		release='-gnu'
2364a1a9510SRong-En Fan		;;
2374a1a9510SRong-En Fan	    *)
238*aae38d10SBaptiste Daroussin		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
2394a1a9510SRong-En Fan		;;
2404a1a9510SRong-En Fan	esac
24115589c42SPeter Wemm	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
24215589c42SPeter Wemm	# contains redundant information, the shorter form:
24315589c42SPeter Wemm	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
244*aae38d10SBaptiste Daroussin	echo "$machine-${os}${release}${abi-}"
2454a1a9510SRong-En Fan	exit ;;
24673f0a83dSXin LI    *:Bitrig:*:*)
24773f0a83dSXin LI	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
248*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
24973f0a83dSXin LI	exit ;;
25039f2269fSPeter Wemm    *:OpenBSD:*:*)
2514a1a9510SRong-En Fan	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
252*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
253*aae38d10SBaptiste Daroussin	exit ;;
254*aae38d10SBaptiste Daroussin    *:LibertyBSD:*:*)
255*aae38d10SBaptiste Daroussin	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
256*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
257*aae38d10SBaptiste Daroussin	exit ;;
258*aae38d10SBaptiste Daroussin    *:MidnightBSD:*:*)
259*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
2604a1a9510SRong-En Fan	exit ;;
2614a1a9510SRong-En Fan    *:ekkoBSD:*:*)
262*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
2634a1a9510SRong-En Fan	exit ;;
2644a1a9510SRong-En Fan    *:SolidBSD:*:*)
265*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
266*aae38d10SBaptiste Daroussin	exit ;;
267*aae38d10SBaptiste Daroussin    *:OS108:*:*)
268*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
2694a1a9510SRong-En Fan	exit ;;
2704a1a9510SRong-En Fan    macppc:MirBSD:*:*)
271*aae38d10SBaptiste Daroussin	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
2724a1a9510SRong-En Fan	exit ;;
2734a1a9510SRong-En Fan    *:MirBSD:*:*)
274*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
275*aae38d10SBaptiste Daroussin	exit ;;
276*aae38d10SBaptiste Daroussin    *:Sortix:*:*)
277*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-sortix
278*aae38d10SBaptiste Daroussin	exit ;;
279*aae38d10SBaptiste Daroussin    *:Twizzler:*:*)
280*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-twizzler
281*aae38d10SBaptiste Daroussin	exit ;;
282*aae38d10SBaptiste Daroussin    *:Redox:*:*)
283*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-redox
284*aae38d10SBaptiste Daroussin	exit ;;
285*aae38d10SBaptiste Daroussin    mips:OSF1:*.*)
286*aae38d10SBaptiste Daroussin	echo mips-dec-osf1
2874a1a9510SRong-En Fan	exit ;;
2880e3d5408SPeter Wemm    alpha:OSF1:*:*)
2894a1a9510SRong-En Fan	case $UNAME_RELEASE in
2904a1a9510SRong-En Fan	*4.0)
2910e3d5408SPeter Wemm		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2924a1a9510SRong-En Fan		;;
2934a1a9510SRong-En Fan	*5.*)
2944a1a9510SRong-En Fan		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2954a1a9510SRong-En Fan		;;
2964a1a9510SRong-En Fan	esac
2974a1a9510SRong-En Fan	# According to Compaq, /usr/sbin/psrinfo has been available on
2984a1a9510SRong-En Fan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2994a1a9510SRong-En Fan	# covers most systems running today.  This code pipes the CPU
3004a1a9510SRong-En Fan	# types through head -n 1, so we only detect the type of CPU 0.
3014a1a9510SRong-En Fan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
3024a1a9510SRong-En Fan	case "$ALPHA_CPU_TYPE" in
3034a1a9510SRong-En Fan	    "EV4 (21064)")
304*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3054a1a9510SRong-En Fan	    "EV4.5 (21064)")
306*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3074a1a9510SRong-En Fan	    "LCA4 (21066/21068)")
308*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3094a1a9510SRong-En Fan	    "EV5 (21164)")
310*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev5 ;;
3114a1a9510SRong-En Fan	    "EV5.6 (21164A)")
312*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev56 ;;
3134a1a9510SRong-En Fan	    "EV5.6 (21164PC)")
314*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphapca56 ;;
3154a1a9510SRong-En Fan	    "EV5.7 (21164PC)")
316*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphapca57 ;;
3174a1a9510SRong-En Fan	    "EV6 (21264)")
318*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev6 ;;
3194a1a9510SRong-En Fan	    "EV6.7 (21264A)")
320*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev67 ;;
3214a1a9510SRong-En Fan	    "EV6.8CB (21264C)")
322*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3234a1a9510SRong-En Fan	    "EV6.8AL (21264B)")
324*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3254a1a9510SRong-En Fan	    "EV6.8CX (21264D)")
326*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3274a1a9510SRong-En Fan	    "EV6.9A (21264/EV69A)")
328*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev69 ;;
3294a1a9510SRong-En Fan	    "EV7 (21364)")
330*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev7 ;;
3314a1a9510SRong-En Fan	    "EV7.9 (21364A)")
332*aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev79 ;;
3334a1a9510SRong-En Fan	esac
3344a1a9510SRong-En Fan	# A Pn.n version is a patched version.
3350e3d5408SPeter Wemm	# A Vn.n version is a released version.
3360e3d5408SPeter Wemm	# A Tn.n version is a released field test version.
3370e3d5408SPeter Wemm	# A Xn.n version is an unreleased experimental baselevel.
3380e3d5408SPeter Wemm	# 1.2 uses "1.2" for uname -r.
339*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
34073f0a83dSXin LI	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
34173f0a83dSXin LI	exitcode=$?
34273f0a83dSXin LI	trap '' 0
34373f0a83dSXin LI	exit $exitcode ;;
3440e3d5408SPeter Wemm    Amiga*:UNIX_System_V:4.0:*)
3457a69bbfbSPeter Wemm	echo m68k-unknown-sysv4
3464a1a9510SRong-En Fan	exit ;;
3470e3d5408SPeter Wemm    *:[Aa]miga[Oo][Ss]:*:*)
348*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-amigaos
3494a1a9510SRong-En Fan	exit ;;
35039f2269fSPeter Wemm    *:[Mm]orph[Oo][Ss]:*:*)
351*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-morphos
3524a1a9510SRong-En Fan	exit ;;
35315589c42SPeter Wemm    *:OS/390:*:*)
35415589c42SPeter Wemm	echo i370-ibm-openedition
3554a1a9510SRong-En Fan	exit ;;
3564a1a9510SRong-En Fan    *:z/VM:*:*)
3574a1a9510SRong-En Fan	echo s390-ibm-zvmoe
3584a1a9510SRong-En Fan	exit ;;
3594a1a9510SRong-En Fan    *:OS400:*:*)
3604a1a9510SRong-En Fan	echo powerpc-ibm-os400
3614a1a9510SRong-En Fan	exit ;;
3620e3d5408SPeter Wemm    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
363*aae38d10SBaptiste Daroussin	echo arm-acorn-riscix"$UNAME_RELEASE"
3644a1a9510SRong-En Fan	exit ;;
36573f0a83dSXin LI    arm*:riscos:*:*|arm*:RISCOS:*:*)
3664a1a9510SRong-En Fan	echo arm-unknown-riscos
3674a1a9510SRong-En Fan	exit ;;
3687a69bbfbSPeter Wemm    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3690e3d5408SPeter Wemm	echo hppa1.1-hitachi-hiuxmpp
3704a1a9510SRong-En Fan	exit ;;
3710e3d5408SPeter Wemm    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3720e3d5408SPeter Wemm	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3730e3d5408SPeter Wemm	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3740e3d5408SPeter Wemm		echo pyramid-pyramid-sysv3
3750e3d5408SPeter Wemm	else
3760e3d5408SPeter Wemm		echo pyramid-pyramid-bsd
3770e3d5408SPeter Wemm	fi
3784a1a9510SRong-En Fan	exit ;;
37915589c42SPeter Wemm    NILE*:*:*:dcosx)
3800e3d5408SPeter Wemm	echo pyramid-pyramid-svr4
3814a1a9510SRong-En Fan	exit ;;
3824a1a9510SRong-En Fan    DRS?6000:unix:4.0:6*)
3834a1a9510SRong-En Fan	echo sparc-icl-nx6
3844a1a9510SRong-En Fan	exit ;;
3854a1a9510SRong-En Fan    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3864a1a9510SRong-En Fan	case `/usr/bin/uname -p` in
3874a1a9510SRong-En Fan	    sparc) echo sparc-icl-nx7; exit ;;
3884a1a9510SRong-En Fan	esac ;;
38906bfebdeSXin LI    s390x:SunOS:*:*)
390*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
39106bfebdeSXin LI	exit ;;
3920e3d5408SPeter Wemm    sun4H:SunOS:5.*:*)
393*aae38d10SBaptiste Daroussin	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
3944a1a9510SRong-En Fan	exit ;;
3950e3d5408SPeter Wemm    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
396*aae38d10SBaptiste Daroussin	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
3974a1a9510SRong-En Fan	exit ;;
39806bfebdeSXin LI    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
399*aae38d10SBaptiste Daroussin	echo i386-pc-auroraux"$UNAME_RELEASE"
40006bfebdeSXin LI	exit ;;
401aa59d4d4SRong-En Fan    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
402*aae38d10SBaptiste Daroussin	set_cc_for_build
403*aae38d10SBaptiste Daroussin	SUN_ARCH=i386
40406bfebdeSXin LI	# If there is a compiler, see if it is configured for 64-bit objects.
40506bfebdeSXin LI	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
40606bfebdeSXin LI	# This test works for both compilers.
407*aae38d10SBaptiste Daroussin	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
40806bfebdeSXin LI	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
409*aae38d10SBaptiste Daroussin		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
41006bfebdeSXin LI		grep IS_64BIT_ARCH >/dev/null
41106bfebdeSXin LI	    then
412*aae38d10SBaptiste Daroussin		SUN_ARCH=x86_64
41306bfebdeSXin LI	    fi
41406bfebdeSXin LI	fi
415*aae38d10SBaptiste Daroussin	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
4164a1a9510SRong-En Fan	exit ;;
4170e3d5408SPeter Wemm    sun4*:SunOS:6*:*)
4180e3d5408SPeter Wemm	# According to config.sub, this is the proper way to canonicalize
4190e3d5408SPeter Wemm	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
4200e3d5408SPeter Wemm	# it's likely to be more like Solaris than SunOS4.
421*aae38d10SBaptiste Daroussin	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
4224a1a9510SRong-En Fan	exit ;;
4230e3d5408SPeter Wemm    sun4*:SunOS:*:*)
4240e3d5408SPeter Wemm	case "`/usr/bin/arch -k`" in
4250e3d5408SPeter Wemm	    Series*|S4*)
4260e3d5408SPeter Wemm		UNAME_RELEASE=`uname -v`
4270e3d5408SPeter Wemm		;;
4280e3d5408SPeter Wemm	esac
4290e3d5408SPeter Wemm	# Japanese Language versions have a version number like `4.1.3-JL'.
430*aae38d10SBaptiste Daroussin	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
4314a1a9510SRong-En Fan	exit ;;
4320e3d5408SPeter Wemm    sun3*:SunOS:*:*)
433*aae38d10SBaptiste Daroussin	echo m68k-sun-sunos"$UNAME_RELEASE"
4344a1a9510SRong-En Fan	exit ;;
4350e3d5408SPeter Wemm    sun*:*:4.2BSD:*)
43639f2269fSPeter Wemm	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
437*aae38d10SBaptiste Daroussin	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
4380e3d5408SPeter Wemm	case "`/bin/arch`" in
4390e3d5408SPeter Wemm	    sun3)
440*aae38d10SBaptiste Daroussin		echo m68k-sun-sunos"$UNAME_RELEASE"
4410e3d5408SPeter Wemm		;;
4420e3d5408SPeter Wemm	    sun4)
443*aae38d10SBaptiste Daroussin		echo sparc-sun-sunos"$UNAME_RELEASE"
4440e3d5408SPeter Wemm		;;
4450e3d5408SPeter Wemm	esac
4464a1a9510SRong-En Fan	exit ;;
4470e3d5408SPeter Wemm    aushp:SunOS:*:*)
448*aae38d10SBaptiste Daroussin	echo sparc-auspex-sunos"$UNAME_RELEASE"
4494a1a9510SRong-En Fan	exit ;;
45015589c42SPeter Wemm    # The situation for MiNT is a little confusing.  The machine name
45115589c42SPeter Wemm    # can be virtually everything (everything which is not
45215589c42SPeter Wemm    # "atarist" or "atariste" at least should have a processor
45315589c42SPeter Wemm    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
45415589c42SPeter Wemm    # to the lowercase version "mint" (or "freemint").  Finally
45515589c42SPeter Wemm    # the system name "TOS" denotes a system which is actually not
45615589c42SPeter Wemm    # MiNT.  But MiNT is downward compatible to TOS, so this should
45715589c42SPeter Wemm    # be no problem.
45815589c42SPeter Wemm    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
459*aae38d10SBaptiste Daroussin	echo m68k-atari-mint"$UNAME_RELEASE"
4604a1a9510SRong-En Fan	exit ;;
46115589c42SPeter Wemm    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
462*aae38d10SBaptiste Daroussin	echo m68k-atari-mint"$UNAME_RELEASE"
4634a1a9510SRong-En Fan	exit ;;
46415589c42SPeter Wemm    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
465*aae38d10SBaptiste Daroussin	echo m68k-atari-mint"$UNAME_RELEASE"
4664a1a9510SRong-En Fan	exit ;;
46715589c42SPeter Wemm    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
468*aae38d10SBaptiste Daroussin	echo m68k-milan-mint"$UNAME_RELEASE"
4694a1a9510SRong-En Fan	exit ;;
47015589c42SPeter Wemm    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
471*aae38d10SBaptiste Daroussin	echo m68k-hades-mint"$UNAME_RELEASE"
4724a1a9510SRong-En Fan	exit ;;
47315589c42SPeter Wemm    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
474*aae38d10SBaptiste Daroussin	echo m68k-unknown-mint"$UNAME_RELEASE"
4754a1a9510SRong-En Fan	exit ;;
4764a1a9510SRong-En Fan    m68k:machten:*:*)
477*aae38d10SBaptiste Daroussin	echo m68k-apple-machten"$UNAME_RELEASE"
4784a1a9510SRong-En Fan	exit ;;
4790e3d5408SPeter Wemm    powerpc:machten:*:*)
480*aae38d10SBaptiste Daroussin	echo powerpc-apple-machten"$UNAME_RELEASE"
4814a1a9510SRong-En Fan	exit ;;
4820e3d5408SPeter Wemm    RISC*:Mach:*:*)
4830e3d5408SPeter Wemm	echo mips-dec-mach_bsd4.3
4844a1a9510SRong-En Fan	exit ;;
4850e3d5408SPeter Wemm    RISC*:ULTRIX:*:*)
486*aae38d10SBaptiste Daroussin	echo mips-dec-ultrix"$UNAME_RELEASE"
4874a1a9510SRong-En Fan	exit ;;
4880e3d5408SPeter Wemm    VAX*:ULTRIX*:*:*)
489*aae38d10SBaptiste Daroussin	echo vax-dec-ultrix"$UNAME_RELEASE"
4904a1a9510SRong-En Fan	exit ;;
4910e3d5408SPeter Wemm    2020:CLIX:*:* | 2430:CLIX:*:*)
492*aae38d10SBaptiste Daroussin	echo clipper-intergraph-clix"$UNAME_RELEASE"
4934a1a9510SRong-En Fan	exit ;;
4940e3d5408SPeter Wemm    mips:*:*:UMIPS | mips:*:*:RISCos)
495*aae38d10SBaptiste Daroussin	set_cc_for_build
496*aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
49715589c42SPeter Wemm#ifdef __cplusplus
49815589c42SPeter Wemm#include <stdio.h>  /* for printf() prototype */
49915589c42SPeter Wemm	int main (int argc, char *argv[]) {
50015589c42SPeter Wemm#else
50115589c42SPeter Wemm	int main (argc, argv) int argc; char *argv[]; {
50215589c42SPeter Wemm#endif
5030e3d5408SPeter Wemm	#if defined (host_mips) && defined (MIPSEB)
5040e3d5408SPeter Wemm	#if defined (SYSTYPE_SYSV)
505*aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
5060e3d5408SPeter Wemm	#endif
5070e3d5408SPeter Wemm	#if defined (SYSTYPE_SVR4)
508*aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
5090e3d5408SPeter Wemm	#endif
5100e3d5408SPeter Wemm	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
511*aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
5120e3d5408SPeter Wemm	#endif
5130e3d5408SPeter Wemm	#endif
5140e3d5408SPeter Wemm	  exit (-1);
5150e3d5408SPeter Wemm	}
5160e3d5408SPeter WemmEOF
517*aae38d10SBaptiste Daroussin	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
518*aae38d10SBaptiste Daroussin	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
519*aae38d10SBaptiste Daroussin	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5204a1a9510SRong-En Fan	    { echo "$SYSTEM_NAME"; exit; }
521*aae38d10SBaptiste Daroussin	echo mips-mips-riscos"$UNAME_RELEASE"
5224a1a9510SRong-En Fan	exit ;;
52339f2269fSPeter Wemm    Motorola:PowerMAX_OS:*:*)
52439f2269fSPeter Wemm	echo powerpc-motorola-powermax
5254a1a9510SRong-En Fan	exit ;;
5264a1a9510SRong-En Fan    Motorola:*:4.3:PL8-*)
5274a1a9510SRong-En Fan	echo powerpc-harris-powermax
5284a1a9510SRong-En Fan	exit ;;
5294a1a9510SRong-En Fan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
5304a1a9510SRong-En Fan	echo powerpc-harris-powermax
5314a1a9510SRong-En Fan	exit ;;
5320e3d5408SPeter Wemm    Night_Hawk:Power_UNIX:*:*)
5330e3d5408SPeter Wemm	echo powerpc-harris-powerunix
5344a1a9510SRong-En Fan	exit ;;
5350e3d5408SPeter Wemm    m88k:CX/UX:7*:*)
5360e3d5408SPeter Wemm	echo m88k-harris-cxux7
5374a1a9510SRong-En Fan	exit ;;
5380e3d5408SPeter Wemm    m88k:*:4*:R4*)
5390e3d5408SPeter Wemm	echo m88k-motorola-sysv4
5404a1a9510SRong-En Fan	exit ;;
5410e3d5408SPeter Wemm    m88k:*:3*:R3*)
5420e3d5408SPeter Wemm	echo m88k-motorola-sysv3
5434a1a9510SRong-En Fan	exit ;;
5440e3d5408SPeter Wemm    AViiON:dgux:*:*)
5450e3d5408SPeter Wemm	# DG/UX returns AViiON for all architectures
5460e3d5408SPeter Wemm	UNAME_PROCESSOR=`/usr/bin/uname -p`
547*aae38d10SBaptiste Daroussin	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
54815589c42SPeter Wemm	then
549*aae38d10SBaptiste Daroussin	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
550*aae38d10SBaptiste Daroussin	       [ "$TARGET_BINARY_INTERFACE"x = x ]
55115589c42SPeter Wemm	    then
552*aae38d10SBaptiste Daroussin		echo m88k-dg-dgux"$UNAME_RELEASE"
5530e3d5408SPeter Wemm	    else
554*aae38d10SBaptiste Daroussin		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
5550e3d5408SPeter Wemm	    fi
55615589c42SPeter Wemm	else
557*aae38d10SBaptiste Daroussin	    echo i586-dg-dgux"$UNAME_RELEASE"
5580e3d5408SPeter Wemm	fi
5594a1a9510SRong-En Fan	exit ;;
5600e3d5408SPeter Wemm    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5610e3d5408SPeter Wemm	echo m88k-dolphin-sysv3
5624a1a9510SRong-En Fan	exit ;;
5630e3d5408SPeter Wemm    M88*:*:R3*:*)
5640e3d5408SPeter Wemm	# Delta 88k system running SVR3
5650e3d5408SPeter Wemm	echo m88k-motorola-sysv3
5664a1a9510SRong-En Fan	exit ;;
5670e3d5408SPeter Wemm    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5680e3d5408SPeter Wemm	echo m88k-tektronix-sysv3
5694a1a9510SRong-En Fan	exit ;;
5700e3d5408SPeter Wemm    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5710e3d5408SPeter Wemm	echo m68k-tektronix-bsd
5724a1a9510SRong-En Fan	exit ;;
5730e3d5408SPeter Wemm    *:IRIX*:*:*)
574*aae38d10SBaptiste Daroussin	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
5754a1a9510SRong-En Fan	exit ;;
5760e3d5408SPeter Wemm    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5770e3d5408SPeter Wemm	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
5784a1a9510SRong-En Fan	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
57939f2269fSPeter Wemm    i*86:AIX:*:*)
5800e3d5408SPeter Wemm	echo i386-ibm-aix
5814a1a9510SRong-En Fan	exit ;;
5827a69bbfbSPeter Wemm    ia64:AIX:*:*)
5837a69bbfbSPeter Wemm	if [ -x /usr/bin/oslevel ] ; then
5847a69bbfbSPeter Wemm		IBM_REV=`/usr/bin/oslevel`
5857a69bbfbSPeter Wemm	else
586*aae38d10SBaptiste Daroussin		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
5877a69bbfbSPeter Wemm	fi
588*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
5894a1a9510SRong-En Fan	exit ;;
5900e3d5408SPeter Wemm    *:AIX:2:3)
5910e3d5408SPeter Wemm	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
592*aae38d10SBaptiste Daroussin		set_cc_for_build
593*aae38d10SBaptiste Daroussin		sed 's/^		//' << EOF > "$dummy.c"
5940e3d5408SPeter Wemm		#include <sys/systemcfg.h>
5950e3d5408SPeter Wemm
5960e3d5408SPeter Wemm		main()
5970e3d5408SPeter Wemm			{
5980e3d5408SPeter Wemm			if (!__power_pc())
5990e3d5408SPeter Wemm				exit(1);
6000e3d5408SPeter Wemm			puts("powerpc-ibm-aix3.2.5");
6010e3d5408SPeter Wemm			exit(0);
6020e3d5408SPeter Wemm			}
6030e3d5408SPeter WemmEOF
604*aae38d10SBaptiste Daroussin		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6054a1a9510SRong-En Fan		then
6064a1a9510SRong-En Fan			echo "$SYSTEM_NAME"
6074a1a9510SRong-En Fan		else
6080e3d5408SPeter Wemm			echo rs6000-ibm-aix3.2.5
6094a1a9510SRong-En Fan		fi
6100e3d5408SPeter Wemm	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
6110e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2.4
6120e3d5408SPeter Wemm	else
6130e3d5408SPeter Wemm		echo rs6000-ibm-aix3.2
6140e3d5408SPeter Wemm	fi
6154a1a9510SRong-En Fan	exit ;;
61606bfebdeSXin LI    *:AIX:*:[4567])
61739f2269fSPeter Wemm	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
618*aae38d10SBaptiste Daroussin	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
6190e3d5408SPeter Wemm		IBM_ARCH=rs6000
6200e3d5408SPeter Wemm	else
6210e3d5408SPeter Wemm		IBM_ARCH=powerpc
6220e3d5408SPeter Wemm	fi
623*aae38d10SBaptiste Daroussin	if [ -x /usr/bin/lslpp ] ; then
624*aae38d10SBaptiste Daroussin		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
625*aae38d10SBaptiste Daroussin			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
6260e3d5408SPeter Wemm	else
627*aae38d10SBaptiste Daroussin		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
6280e3d5408SPeter Wemm	fi
629*aae38d10SBaptiste Daroussin	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
6304a1a9510SRong-En Fan	exit ;;
6310e3d5408SPeter Wemm    *:AIX:*:*)
6320e3d5408SPeter Wemm	echo rs6000-ibm-aix
6334a1a9510SRong-En Fan	exit ;;
634*aae38d10SBaptiste Daroussin    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
6350e3d5408SPeter Wemm	echo romp-ibm-bsd4.4
6364a1a9510SRong-En Fan	exit ;;
63715589c42SPeter Wemm    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
638*aae38d10SBaptiste Daroussin	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
6394a1a9510SRong-En Fan	exit ;;                             # report: romp-ibm BSD 4.3
6400e3d5408SPeter Wemm    *:BOSX:*:*)
6410e3d5408SPeter Wemm	echo rs6000-bull-bosx
6424a1a9510SRong-En Fan	exit ;;
6430e3d5408SPeter Wemm    DPX/2?00:B.O.S.:*:*)
6440e3d5408SPeter Wemm	echo m68k-bull-sysv3
6454a1a9510SRong-En Fan	exit ;;
6460e3d5408SPeter Wemm    9000/[34]??:4.3bsd:1.*:*)
6470e3d5408SPeter Wemm	echo m68k-hp-bsd
6484a1a9510SRong-En Fan	exit ;;
6490e3d5408SPeter Wemm    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
6500e3d5408SPeter Wemm	echo m68k-hp-bsd4.4
6514a1a9510SRong-En Fan	exit ;;
6520e3d5408SPeter Wemm    9000/[34678]??:HP-UX:*:*)
653*aae38d10SBaptiste Daroussin	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
654*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE" in
6550e3d5408SPeter Wemm	    9000/31?)            HP_ARCH=m68000 ;;
6560e3d5408SPeter Wemm	    9000/[34]??)         HP_ARCH=m68k ;;
65715589c42SPeter Wemm	    9000/[678][0-9][0-9])
6587a69bbfbSPeter Wemm		if [ -x /usr/bin/getconf ]; then
6597a69bbfbSPeter Wemm		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
6607a69bbfbSPeter Wemm		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
661*aae38d10SBaptiste Daroussin		    case "$sc_cpu_version" in
662*aae38d10SBaptiste Daroussin		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
663*aae38d10SBaptiste Daroussin		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
6647a69bbfbSPeter Wemm		      532)                      # CPU_PA_RISC2_0
665*aae38d10SBaptiste Daroussin			case "$sc_kernel_bits" in
666*aae38d10SBaptiste Daroussin			  32) HP_ARCH=hppa2.0n ;;
667*aae38d10SBaptiste Daroussin			  64) HP_ARCH=hppa2.0w ;;
668*aae38d10SBaptiste Daroussin			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
6697a69bbfbSPeter Wemm			esac ;;
6707a69bbfbSPeter Wemm		    esac
67139f2269fSPeter Wemm		fi
672*aae38d10SBaptiste Daroussin		if [ "$HP_ARCH" = "" ]; then
673*aae38d10SBaptiste Daroussin		    set_cc_for_build
674*aae38d10SBaptiste Daroussin		    sed 's/^		//' << EOF > "$dummy.c"
67515589c42SPeter Wemm
67615589c42SPeter Wemm		#define _HPUX_SOURCE
6770e3d5408SPeter Wemm		#include <stdlib.h>
6780e3d5408SPeter Wemm		#include <unistd.h>
6790e3d5408SPeter Wemm
6800e3d5408SPeter Wemm		int main ()
6810e3d5408SPeter Wemm		{
6820e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
6830e3d5408SPeter Wemm		    long bits = sysconf(_SC_KERNEL_BITS);
6840e3d5408SPeter Wemm		#endif
6850e3d5408SPeter Wemm		    long cpu  = sysconf (_SC_CPU_VERSION);
6860e3d5408SPeter Wemm
6870e3d5408SPeter Wemm		    switch (cpu)
6880e3d5408SPeter Wemm			{
6890e3d5408SPeter Wemm			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6900e3d5408SPeter Wemm			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6910e3d5408SPeter Wemm			case CPU_PA_RISC2_0:
6920e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
6930e3d5408SPeter Wemm			    switch (bits)
6940e3d5408SPeter Wemm				{
6950e3d5408SPeter Wemm				case 64: puts ("hppa2.0w"); break;
6960e3d5408SPeter Wemm				case 32: puts ("hppa2.0n"); break;
6970e3d5408SPeter Wemm				default: puts ("hppa2.0"); break;
6980e3d5408SPeter Wemm				} break;
6990e3d5408SPeter Wemm		#else  /* !defined(_SC_KERNEL_BITS) */
7000e3d5408SPeter Wemm			    puts ("hppa2.0"); break;
7010e3d5408SPeter Wemm		#endif
7020e3d5408SPeter Wemm			default: puts ("hppa1.0"); break;
7030e3d5408SPeter Wemm			}
7040e3d5408SPeter Wemm		    exit (0);
7050e3d5408SPeter Wemm		}
7060e3d5408SPeter WemmEOF
707*aae38d10SBaptiste Daroussin		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
7084a1a9510SRong-En Fan		    test -z "$HP_ARCH" && HP_ARCH=hppa
7097a69bbfbSPeter Wemm		fi ;;
7100e3d5408SPeter Wemm	esac
711*aae38d10SBaptiste Daroussin	if [ "$HP_ARCH" = hppa2.0w ]
7124a1a9510SRong-En Fan	then
713*aae38d10SBaptiste Daroussin	    set_cc_for_build
7144a1a9510SRong-En Fan
7154a1a9510SRong-En Fan	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7164a1a9510SRong-En Fan	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7174a1a9510SRong-En Fan	    # generating 64-bit code.  GNU and HP use different nomenclature:
7184a1a9510SRong-En Fan	    #
7194a1a9510SRong-En Fan	    # $ CC_FOR_BUILD=cc ./config.guess
7204a1a9510SRong-En Fan	    # => hppa2.0w-hp-hpux11.23
7214a1a9510SRong-En Fan	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7224a1a9510SRong-En Fan	    # => hppa64-hp-hpux11.23
7234a1a9510SRong-En Fan
724*aae38d10SBaptiste Daroussin	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
72506bfebdeSXin LI		grep -q __LP64__
7264a1a9510SRong-En Fan	    then
727*aae38d10SBaptiste Daroussin		HP_ARCH=hppa2.0w
7284a1a9510SRong-En Fan	    else
729*aae38d10SBaptiste Daroussin		HP_ARCH=hppa64
7304a1a9510SRong-En Fan	    fi
7314a1a9510SRong-En Fan	fi
732*aae38d10SBaptiste Daroussin	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
7334a1a9510SRong-En Fan	exit ;;
7347a69bbfbSPeter Wemm    ia64:HP-UX:*:*)
735*aae38d10SBaptiste Daroussin	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
736*aae38d10SBaptiste Daroussin	echo ia64-hp-hpux"$HPUX_REV"
7374a1a9510SRong-En Fan	exit ;;
7380e3d5408SPeter Wemm    3050*:HI-UX:*:*)
739*aae38d10SBaptiste Daroussin	set_cc_for_build
740*aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
7410e3d5408SPeter Wemm	#include <unistd.h>
7420e3d5408SPeter Wemm	int
7430e3d5408SPeter Wemm	main ()
7440e3d5408SPeter Wemm	{
7450e3d5408SPeter Wemm	  long cpu = sysconf (_SC_CPU_VERSION);
7460e3d5408SPeter Wemm	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7470e3d5408SPeter Wemm	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7480e3d5408SPeter Wemm	     results, however.  */
7490e3d5408SPeter Wemm	  if (CPU_IS_PA_RISC (cpu))
7500e3d5408SPeter Wemm	    {
7510e3d5408SPeter Wemm	      switch (cpu)
7520e3d5408SPeter Wemm		{
7530e3d5408SPeter Wemm		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7540e3d5408SPeter Wemm		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7550e3d5408SPeter Wemm		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7560e3d5408SPeter Wemm		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7570e3d5408SPeter Wemm		}
7580e3d5408SPeter Wemm	    }
7590e3d5408SPeter Wemm	  else if (CPU_IS_HP_MC68K (cpu))
7600e3d5408SPeter Wemm	    puts ("m68k-hitachi-hiuxwe2");
7610e3d5408SPeter Wemm	  else puts ("unknown-hitachi-hiuxwe2");
7620e3d5408SPeter Wemm	  exit (0);
7630e3d5408SPeter Wemm	}
7640e3d5408SPeter WemmEOF
765*aae38d10SBaptiste Daroussin	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
7664a1a9510SRong-En Fan		{ echo "$SYSTEM_NAME"; exit; }
7670e3d5408SPeter Wemm	echo unknown-hitachi-hiuxwe2
7684a1a9510SRong-En Fan	exit ;;
7690e3d5408SPeter Wemm    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
7700e3d5408SPeter Wemm	echo hppa1.1-hp-bsd
7714a1a9510SRong-En Fan	exit ;;
7720e3d5408SPeter Wemm    9000/8??:4.3bsd:*:*)
7730e3d5408SPeter Wemm	echo hppa1.0-hp-bsd
7744a1a9510SRong-En Fan	exit ;;
77539f2269fSPeter Wemm    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
77615589c42SPeter Wemm	echo hppa1.0-hp-mpeix
7774a1a9510SRong-En Fan	exit ;;
7780e3d5408SPeter Wemm    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
7790e3d5408SPeter Wemm	echo hppa1.1-hp-osf
7804a1a9510SRong-En Fan	exit ;;
7810e3d5408SPeter Wemm    hp8??:OSF1:*:*)
7820e3d5408SPeter Wemm	echo hppa1.0-hp-osf
7834a1a9510SRong-En Fan	exit ;;
78439f2269fSPeter Wemm    i*86:OSF1:*:*)
7850e3d5408SPeter Wemm	if [ -x /usr/sbin/sysversion ] ; then
786*aae38d10SBaptiste Daroussin	    echo "$UNAME_MACHINE"-unknown-osf1mk
7870e3d5408SPeter Wemm	else
788*aae38d10SBaptiste Daroussin	    echo "$UNAME_MACHINE"-unknown-osf1
7890e3d5408SPeter Wemm	fi
7904a1a9510SRong-En Fan	exit ;;
7910e3d5408SPeter Wemm    parisc*:Lites*:*:*)
7920e3d5408SPeter Wemm	echo hppa1.1-hp-lites
7934a1a9510SRong-En Fan	exit ;;
7940e3d5408SPeter Wemm    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7950e3d5408SPeter Wemm	echo c1-convex-bsd
7964a1a9510SRong-En Fan	exit ;;
7970e3d5408SPeter Wemm    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7980e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
7990e3d5408SPeter Wemm	then echo c32-convex-bsd
8000e3d5408SPeter Wemm	else echo c2-convex-bsd
8010e3d5408SPeter Wemm	fi
8024a1a9510SRong-En Fan	exit ;;
8030e3d5408SPeter Wemm    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
8040e3d5408SPeter Wemm	echo c34-convex-bsd
8054a1a9510SRong-En Fan	exit ;;
8060e3d5408SPeter Wemm    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
8070e3d5408SPeter Wemm	echo c38-convex-bsd
8084a1a9510SRong-En Fan	exit ;;
8090e3d5408SPeter Wemm    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
8100e3d5408SPeter Wemm	echo c4-convex-bsd
8114a1a9510SRong-En Fan	exit ;;
8120e3d5408SPeter Wemm    CRAY*Y-MP:*:*:*)
813*aae38d10SBaptiste Daroussin	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
8144a1a9510SRong-En Fan	exit ;;
8150e3d5408SPeter Wemm    CRAY*[A-Z]90:*:*:*)
816*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
8170e3d5408SPeter Wemm	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
81839f2269fSPeter Wemm	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
81939f2269fSPeter Wemm	      -e 's/\.[^.]*$/.X/'
8204a1a9510SRong-En Fan	exit ;;
8210e3d5408SPeter Wemm    CRAY*TS:*:*:*)
822*aae38d10SBaptiste Daroussin	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
8234a1a9510SRong-En Fan	exit ;;
8247a69bbfbSPeter Wemm    CRAY*T3E:*:*:*)
825*aae38d10SBaptiste Daroussin	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
8264a1a9510SRong-En Fan	exit ;;
82715589c42SPeter Wemm    CRAY*SV1:*:*:*)
828*aae38d10SBaptiste Daroussin	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
8294a1a9510SRong-En Fan	exit ;;
8304a1a9510SRong-En Fan    *:UNICOS/mp:*:*)
831*aae38d10SBaptiste Daroussin	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
8324a1a9510SRong-En Fan	exit ;;
8337a69bbfbSPeter Wemm    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
834*aae38d10SBaptiste Daroussin	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
835*aae38d10SBaptiste Daroussin	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
836*aae38d10SBaptiste Daroussin	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
8377a69bbfbSPeter Wemm	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
8384a1a9510SRong-En Fan	exit ;;
8394a1a9510SRong-En Fan    5000:UNIX_System_V:4.*:*)
840*aae38d10SBaptiste Daroussin	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
841*aae38d10SBaptiste Daroussin	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
8424a1a9510SRong-En Fan	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
8434a1a9510SRong-En Fan	exit ;;
84439f2269fSPeter Wemm    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
845*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
8464a1a9510SRong-En Fan	exit ;;
8470e3d5408SPeter Wemm    sparc*:BSD/OS:*:*)
848*aae38d10SBaptiste Daroussin	echo sparc-unknown-bsdi"$UNAME_RELEASE"
8494a1a9510SRong-En Fan	exit ;;
85015589c42SPeter Wemm    *:BSD/OS:*:*)
851*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
852*aae38d10SBaptiste Daroussin	exit ;;
853*aae38d10SBaptiste Daroussin    arm:FreeBSD:*:*)
854*aae38d10SBaptiste Daroussin	UNAME_PROCESSOR=`uname -p`
855*aae38d10SBaptiste Daroussin	set_cc_for_build
856*aae38d10SBaptiste Daroussin	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
857*aae38d10SBaptiste Daroussin	    | grep -q __ARM_PCS_VFP
858*aae38d10SBaptiste Daroussin	then
859*aae38d10SBaptiste Daroussin	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
860*aae38d10SBaptiste Daroussin	else
861*aae38d10SBaptiste Daroussin	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
862*aae38d10SBaptiste Daroussin	fi
8634a1a9510SRong-En Fan	exit ;;
8640e3d5408SPeter Wemm    *:FreeBSD:*:*)
86573f0a83dSXin LI	UNAME_PROCESSOR=`/usr/bin/uname -p`
866*aae38d10SBaptiste Daroussin	case "$UNAME_PROCESSOR" in
8674a1a9510SRong-En Fan	    amd64)
868*aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=x86_64 ;;
869*aae38d10SBaptiste Daroussin	    i386)
870*aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=i586 ;;
8714a1a9510SRong-En Fan	esac
872*aae38d10SBaptiste Daroussin	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
8734a1a9510SRong-En Fan	exit ;;
8740e3d5408SPeter Wemm    i*:CYGWIN*:*)
875*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-cygwin
8764a1a9510SRong-En Fan	exit ;;
87773f0a83dSXin LI    *:MINGW64*:*)
878*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-mingw64
87973f0a83dSXin LI	exit ;;
8805ca44d1cSRong-En Fan    *:MINGW*:*)
881*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-mingw32
8824a1a9510SRong-En Fan	exit ;;
883*aae38d10SBaptiste Daroussin    *:MSYS*:*)
884*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-msys
8854a1a9510SRong-En Fan	exit ;;
8867a69bbfbSPeter Wemm    i*:PW*:*)
887*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-pw32
8884a1a9510SRong-En Fan	exit ;;
88906bfebdeSXin LI    *:Interix*:*)
890*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE" in
8915ca44d1cSRong-En Fan	    x86)
892*aae38d10SBaptiste Daroussin		echo i586-pc-interix"$UNAME_RELEASE"
8934a1a9510SRong-En Fan		exit ;;
89406bfebdeSXin LI	    authenticamd | genuineintel | EM64T)
895*aae38d10SBaptiste Daroussin		echo x86_64-unknown-interix"$UNAME_RELEASE"
8964a1a9510SRong-En Fan		exit ;;
897aa59d4d4SRong-En Fan	    IA64)
898*aae38d10SBaptiste Daroussin		echo ia64-unknown-interix"$UNAME_RELEASE"
899aa59d4d4SRong-En Fan		exit ;;
9005ca44d1cSRong-En Fan	esac ;;
90115589c42SPeter Wemm    i*:UWIN*:*)
902*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-uwin
9034a1a9510SRong-En Fan	exit ;;
9044a1a9510SRong-En Fan    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
905*aae38d10SBaptiste Daroussin	echo x86_64-pc-cygwin
9064a1a9510SRong-En Fan	exit ;;
9070e3d5408SPeter Wemm    prep*:SunOS:5.*:*)
908*aae38d10SBaptiste Daroussin	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
9094a1a9510SRong-En Fan	exit ;;
9100e3d5408SPeter Wemm    *:GNU:*:*)
9114a1a9510SRong-En Fan	# the GNU system
912*aae38d10SBaptiste Daroussin	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
9134a1a9510SRong-En Fan	exit ;;
9144a1a9510SRong-En Fan    *:GNU/*:*:*)
9154a1a9510SRong-En Fan	# other systems with GNU libc and userland
916*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
9174a1a9510SRong-En Fan	exit ;;
918*aae38d10SBaptiste Daroussin    *:Minix:*:*)
919*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-minix
9204a1a9510SRong-En Fan	exit ;;
92173f0a83dSXin LI    aarch64:Linux:*:*)
922*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
92373f0a83dSXin LI	exit ;;
92473f0a83dSXin LI    aarch64_be:Linux:*:*)
92573f0a83dSXin LI	UNAME_MACHINE=aarch64_be
926*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
92773f0a83dSXin LI	exit ;;
92806bfebdeSXin LI    alpha:Linux:*:*)
929*aae38d10SBaptiste Daroussin	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
93006bfebdeSXin LI	  EV5)   UNAME_MACHINE=alphaev5 ;;
93106bfebdeSXin LI	  EV56)  UNAME_MACHINE=alphaev56 ;;
93206bfebdeSXin LI	  PCA56) UNAME_MACHINE=alphapca56 ;;
93306bfebdeSXin LI	  PCA57) UNAME_MACHINE=alphapca56 ;;
93406bfebdeSXin LI	  EV6)   UNAME_MACHINE=alphaev6 ;;
93506bfebdeSXin LI	  EV67)  UNAME_MACHINE=alphaev67 ;;
93606bfebdeSXin LI	  EV68*) UNAME_MACHINE=alphaev68 ;;
93706bfebdeSXin LI	esac
93806bfebdeSXin LI	objdump --private-headers /bin/sh | grep -q ld.so.1
939*aae38d10SBaptiste Daroussin	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
940*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
94173f0a83dSXin LI	exit ;;
94273f0a83dSXin LI    arc:Linux:*:* | arceb:Linux:*:*)
943*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
94406bfebdeSXin LI	exit ;;
9457a69bbfbSPeter Wemm    arm*:Linux:*:*)
946*aae38d10SBaptiste Daroussin	set_cc_for_build
94773f0a83dSXin LI	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
94873f0a83dSXin LI	    | grep -q __ARM_EABI__
949aa59d4d4SRong-En Fan	then
950*aae38d10SBaptiste Daroussin	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
951aa59d4d4SRong-En Fan	else
95273f0a83dSXin LI	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
95373f0a83dSXin LI		| grep -q __ARM_PCS_VFP
95473f0a83dSXin LI	    then
955*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
95673f0a83dSXin LI	    else
957*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
95873f0a83dSXin LI	    fi
959aa59d4d4SRong-En Fan	fi
9604a1a9510SRong-En Fan	exit ;;
9614a1a9510SRong-En Fan    avr32*:Linux:*:*)
962*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9634a1a9510SRong-En Fan	exit ;;
9644a1a9510SRong-En Fan    cris:Linux:*:*)
965*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
9664a1a9510SRong-En Fan	exit ;;
9674a1a9510SRong-En Fan    crisv32:Linux:*:*)
968*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
969*aae38d10SBaptiste Daroussin	exit ;;
970*aae38d10SBaptiste Daroussin    e2k:Linux:*:*)
971*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9724a1a9510SRong-En Fan	exit ;;
9734a1a9510SRong-En Fan    frv:Linux:*:*)
974*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
97573f0a83dSXin LI	exit ;;
97673f0a83dSXin LI    hexagon:Linux:*:*)
977*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9784a1a9510SRong-En Fan	exit ;;
97906bfebdeSXin LI    i*86:Linux:*:*)
980*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
98106bfebdeSXin LI	exit ;;
9827a69bbfbSPeter Wemm    ia64:Linux:*:*)
983*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
984*aae38d10SBaptiste Daroussin	exit ;;
985*aae38d10SBaptiste Daroussin    k1om:Linux:*:*)
986*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9874a1a9510SRong-En Fan	exit ;;
9884a1a9510SRong-En Fan    m32r*:Linux:*:*)
989*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9904a1a9510SRong-En Fan	exit ;;
9917a69bbfbSPeter Wemm    m68*:Linux:*:*)
992*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9934a1a9510SRong-En Fan	exit ;;
99406bfebdeSXin LI    mips:Linux:*:* | mips64:Linux:*:*)
995*aae38d10SBaptiste Daroussin	set_cc_for_build
996*aae38d10SBaptiste Daroussin	IS_GLIBC=0
997*aae38d10SBaptiste Daroussin	test x"${LIBC}" = xgnu && IS_GLIBC=1
998*aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
99939f2269fSPeter Wemm	#undef CPU
1000*aae38d10SBaptiste Daroussin	#undef mips
1001*aae38d10SBaptiste Daroussin	#undef mipsel
1002*aae38d10SBaptiste Daroussin	#undef mips64
1003*aae38d10SBaptiste Daroussin	#undef mips64el
1004*aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(_ABI64)
1005*aae38d10SBaptiste Daroussin	LIBCABI=gnuabi64
1006*aae38d10SBaptiste Daroussin	#else
1007*aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(_ABIN32)
1008*aae38d10SBaptiste Daroussin	LIBCABI=gnuabin32
1009*aae38d10SBaptiste Daroussin	#else
1010*aae38d10SBaptiste Daroussin	LIBCABI=${LIBC}
1011*aae38d10SBaptiste Daroussin	#endif
1012*aae38d10SBaptiste Daroussin	#endif
1013*aae38d10SBaptiste Daroussin
1014*aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1015*aae38d10SBaptiste Daroussin	CPU=mipsisa64r6
1016*aae38d10SBaptiste Daroussin	#else
1017*aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1018*aae38d10SBaptiste Daroussin	CPU=mipsisa32r6
1019*aae38d10SBaptiste Daroussin	#else
1020*aae38d10SBaptiste Daroussin	#if defined(__mips64)
1021*aae38d10SBaptiste Daroussin	CPU=mips64
1022*aae38d10SBaptiste Daroussin	#else
1023*aae38d10SBaptiste Daroussin	CPU=mips
1024*aae38d10SBaptiste Daroussin	#endif
1025*aae38d10SBaptiste Daroussin	#endif
1026*aae38d10SBaptiste Daroussin	#endif
1027*aae38d10SBaptiste Daroussin
102839f2269fSPeter Wemm	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1029*aae38d10SBaptiste Daroussin	MIPS_ENDIAN=el
10307a69bbfbSPeter Wemm	#else
103139f2269fSPeter Wemm	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1032*aae38d10SBaptiste Daroussin	MIPS_ENDIAN=
103339f2269fSPeter Wemm	#else
1034*aae38d10SBaptiste Daroussin	MIPS_ENDIAN=
10357a69bbfbSPeter Wemm	#endif
10367a69bbfbSPeter Wemm	#endif
10377a69bbfbSPeter WemmEOF
1038*aae38d10SBaptiste Daroussin	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
1039*aae38d10SBaptiste Daroussin	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
10404a1a9510SRong-En Fan	;;
1041*aae38d10SBaptiste Daroussin    mips64el:Linux:*:*)
1042*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
104373f0a83dSXin LI	exit ;;
1044*aae38d10SBaptiste Daroussin    openrisc*:Linux:*:*)
1045*aae38d10SBaptiste Daroussin	echo or1k-unknown-linux-"$LIBC"
1046*aae38d10SBaptiste Daroussin	exit ;;
1047*aae38d10SBaptiste Daroussin    or32:Linux:*:* | or1k*:Linux:*:*)
1048*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10494a1a9510SRong-En Fan	exit ;;
105006bfebdeSXin LI    padre:Linux:*:*)
1051*aae38d10SBaptiste Daroussin	echo sparc-unknown-linux-"$LIBC"
10524a1a9510SRong-En Fan	exit ;;
105306bfebdeSXin LI    parisc64:Linux:*:* | hppa64:Linux:*:*)
1054*aae38d10SBaptiste Daroussin	echo hppa64-unknown-linux-"$LIBC"
10554a1a9510SRong-En Fan	exit ;;
10567a69bbfbSPeter Wemm    parisc:Linux:*:* | hppa:Linux:*:*)
10577a69bbfbSPeter Wemm	# Look for CPU level
10587a69bbfbSPeter Wemm	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1059*aae38d10SBaptiste Daroussin	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
1060*aae38d10SBaptiste Daroussin	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
1061*aae38d10SBaptiste Daroussin	  *)    echo hppa-unknown-linux-"$LIBC" ;;
10627a69bbfbSPeter Wemm	esac
10634a1a9510SRong-En Fan	exit ;;
106406bfebdeSXin LI    ppc64:Linux:*:*)
1065*aae38d10SBaptiste Daroussin	echo powerpc64-unknown-linux-"$LIBC"
106606bfebdeSXin LI	exit ;;
106706bfebdeSXin LI    ppc:Linux:*:*)
1068*aae38d10SBaptiste Daroussin	echo powerpc-unknown-linux-"$LIBC"
106973f0a83dSXin LI	exit ;;
107073f0a83dSXin LI    ppc64le:Linux:*:*)
1071*aae38d10SBaptiste Daroussin	echo powerpc64le-unknown-linux-"$LIBC"
107273f0a83dSXin LI	exit ;;
107373f0a83dSXin LI    ppcle:Linux:*:*)
1074*aae38d10SBaptiste Daroussin	echo powerpcle-unknown-linux-"$LIBC"
1075*aae38d10SBaptiste Daroussin	exit ;;
1076*aae38d10SBaptiste Daroussin    riscv32:Linux:*:* | riscv64:Linux:*:*)
1077*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10784a1a9510SRong-En Fan	exit ;;
10797a69bbfbSPeter Wemm    s390:Linux:*:* | s390x:Linux:*:*)
1080*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
10814a1a9510SRong-En Fan	exit ;;
10824a1a9510SRong-En Fan    sh64*:Linux:*:*)
1083*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10844a1a9510SRong-En Fan	exit ;;
10857a69bbfbSPeter Wemm    sh*:Linux:*:*)
1086*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10874a1a9510SRong-En Fan	exit ;;
10887a69bbfbSPeter Wemm    sparc:Linux:*:* | sparc64:Linux:*:*)
1089*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10904a1a9510SRong-En Fan	exit ;;
109106bfebdeSXin LI    tile*:Linux:*:*)
1092*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
109306bfebdeSXin LI	exit ;;
10944a1a9510SRong-En Fan    vax:Linux:*:*)
1095*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
10964a1a9510SRong-En Fan	exit ;;
10977a69bbfbSPeter Wemm    x86_64:Linux:*:*)
1098*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
10994a1a9510SRong-En Fan	exit ;;
1100aa59d4d4SRong-En Fan    xtensa*:Linux:*:*)
1101*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
11025ca44d1cSRong-En Fan	exit ;;
110339f2269fSPeter Wemm    i*86:DYNIX/ptx:4*:*)
110439f2269fSPeter Wemm	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
110539f2269fSPeter Wemm	# earlier versions are messed up and put the nodename in both
110639f2269fSPeter Wemm	# sysname and nodename.
11070e3d5408SPeter Wemm	echo i386-sequent-sysv4
11084a1a9510SRong-En Fan	exit ;;
110939f2269fSPeter Wemm    i*86:UNIX_SV:4.2MP:2.*)
11100e3d5408SPeter Wemm	# Unixware is an offshoot of SVR4, but it has its own version
11110e3d5408SPeter Wemm	# number series starting with 2...
11120e3d5408SPeter Wemm	# I am not positive that other SVR4 systems won't match this,
11130e3d5408SPeter Wemm	# I just have to hope.  -- rms.
11140e3d5408SPeter Wemm	# Use sysv4.2uw... so that sysv4* matches it.
1115*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
11164a1a9510SRong-En Fan	exit ;;
11174a1a9510SRong-En Fan    i*86:OS/2:*:*)
11184a1a9510SRong-En Fan	# If we were able to find `uname', then EMX Unix compatibility
11194a1a9510SRong-En Fan	# is probably installed.
1120*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-os2-emx
11214a1a9510SRong-En Fan	exit ;;
11224a1a9510SRong-En Fan    i*86:XTS-300:*:STOP)
1123*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-stop
11244a1a9510SRong-En Fan	exit ;;
11254a1a9510SRong-En Fan    i*86:atheos:*:*)
1126*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-atheos
11274a1a9510SRong-En Fan	exit ;;
11284a1a9510SRong-En Fan    i*86:syllable:*:*)
1129*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-syllable
11304a1a9510SRong-En Fan	exit ;;
113106bfebdeSXin LI    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1132*aae38d10SBaptiste Daroussin	echo i386-unknown-lynxos"$UNAME_RELEASE"
11334a1a9510SRong-En Fan	exit ;;
11344a1a9510SRong-En Fan    i*86:*DOS:*:*)
1135*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-msdosdjgpp
11364a1a9510SRong-En Fan	exit ;;
1137*aae38d10SBaptiste Daroussin    i*86:*:4.*:*)
1138*aae38d10SBaptiste Daroussin	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
113915589c42SPeter Wemm	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1140*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
11410e3d5408SPeter Wemm	else
1142*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
11430e3d5408SPeter Wemm	fi
11444a1a9510SRong-En Fan	exit ;;
11454a1a9510SRong-En Fan    i*86:*:5:[678]*)
11464a1a9510SRong-En Fan	# UnixWare 7.x, OpenUNIX and OpenServer 6.
114739f2269fSPeter Wemm	case `/bin/uname -X | grep "^Machine"` in
114839f2269fSPeter Wemm	    *486*)	     UNAME_MACHINE=i486 ;;
114939f2269fSPeter Wemm	    *Pentium)	     UNAME_MACHINE=i586 ;;
115039f2269fSPeter Wemm	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
115139f2269fSPeter Wemm	esac
1152*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
11534a1a9510SRong-En Fan	exit ;;
115439f2269fSPeter Wemm    i*86:*:3.2:*)
11550e3d5408SPeter Wemm	if test -f /usr/options/cb.name; then
11560e3d5408SPeter Wemm		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1157*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
11580e3d5408SPeter Wemm	elif /bin/uname -X 2>/dev/null >/dev/null ; then
11594a1a9510SRong-En Fan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
11604a1a9510SRong-En Fan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
11614a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
11620e3d5408SPeter Wemm			&& UNAME_MACHINE=i586
11634a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
116415589c42SPeter Wemm			&& UNAME_MACHINE=i686
11654a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
116615589c42SPeter Wemm			&& UNAME_MACHINE=i686
1167*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
11680e3d5408SPeter Wemm	else
1169*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-pc-sysv32
11700e3d5408SPeter Wemm	fi
11714a1a9510SRong-En Fan	exit ;;
11720e3d5408SPeter Wemm    pc:*:*:*)
117315589c42SPeter Wemm	# Left here for compatibility:
11740e3d5408SPeter Wemm	# uname -m prints for DJGPP always 'pc', but it prints nothing about
117506bfebdeSXin LI	# the processor, so we play safe by assuming i586.
117606bfebdeSXin LI	# Note: whatever this is, it MUST be the same as what config.sub
1177*aae38d10SBaptiste Daroussin	# prints for the "djgpp" host, or else GDB configure will decide that
117806bfebdeSXin LI	# this is a cross-build.
117906bfebdeSXin LI	echo i586-pc-msdosdjgpp
11804a1a9510SRong-En Fan	exit ;;
11810e3d5408SPeter Wemm    Intel:Mach:3*:*)
11820e3d5408SPeter Wemm	echo i386-pc-mach3
11834a1a9510SRong-En Fan	exit ;;
11840e3d5408SPeter Wemm    paragon:*:*:*)
11850e3d5408SPeter Wemm	echo i860-intel-osf1
11864a1a9510SRong-En Fan	exit ;;
11870e3d5408SPeter Wemm    i860:*:4.*:*) # i860-SVR4
11880e3d5408SPeter Wemm	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1189*aae38d10SBaptiste Daroussin	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
11900e3d5408SPeter Wemm	else # Add other i860-SVR4 vendors below as they are discovered.
1191*aae38d10SBaptiste Daroussin	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
11920e3d5408SPeter Wemm	fi
11934a1a9510SRong-En Fan	exit ;;
11940e3d5408SPeter Wemm    mini*:CTIX:SYS*5:*)
11950e3d5408SPeter Wemm	# "miniframe"
11960e3d5408SPeter Wemm	echo m68010-convergent-sysv
11974a1a9510SRong-En Fan	exit ;;
11984a1a9510SRong-En Fan    mc68k:UNIX:SYSTEM5:3.51m)
11994a1a9510SRong-En Fan	echo m68k-convergent-sysv
12004a1a9510SRong-En Fan	exit ;;
12014a1a9510SRong-En Fan    M680?0:D-NIX:5.3:*)
12024a1a9510SRong-En Fan	echo m68k-diab-dnix
12034a1a9510SRong-En Fan	exit ;;
12044a1a9510SRong-En Fan    M68*:*:R3V[5678]*:*)
12054a1a9510SRong-En Fan	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
12064a1a9510SRong-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)
12070e3d5408SPeter Wemm	OS_REL=''
12080e3d5408SPeter Wemm	test -r /etc/.relid \
12090e3d5408SPeter Wemm	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
12100e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1211*aae38d10SBaptiste Daroussin	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
12120e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1213*aae38d10SBaptiste Daroussin	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
12140e3d5408SPeter Wemm    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
12150e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12164a1a9510SRong-En Fan	  && { echo i486-ncr-sysv4; exit; } ;;
121706bfebdeSXin LI    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
121806bfebdeSXin LI	OS_REL='.3'
121906bfebdeSXin LI	test -r /etc/.relid \
122006bfebdeSXin LI	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
122106bfebdeSXin LI	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1222*aae38d10SBaptiste Daroussin	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
122306bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1224*aae38d10SBaptiste Daroussin	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
122506bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1226*aae38d10SBaptiste Daroussin	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
122739f2269fSPeter Wemm    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1228*aae38d10SBaptiste Daroussin	echo m68k-unknown-lynxos"$UNAME_RELEASE"
12294a1a9510SRong-En Fan	exit ;;
12300e3d5408SPeter Wemm    mc68030:UNIX_System_V:4.*:*)
12310e3d5408SPeter Wemm	echo m68k-atari-sysv4
12324a1a9510SRong-En Fan	exit ;;
12330e3d5408SPeter Wemm    TSUNAMI:LynxOS:2.*:*)
1234*aae38d10SBaptiste Daroussin	echo sparc-unknown-lynxos"$UNAME_RELEASE"
12354a1a9510SRong-En Fan	exit ;;
12367a69bbfbSPeter Wemm    rs6000:LynxOS:2.*:*)
1237*aae38d10SBaptiste Daroussin	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
12384a1a9510SRong-En Fan	exit ;;
123906bfebdeSXin LI    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1240*aae38d10SBaptiste Daroussin	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
12414a1a9510SRong-En Fan	exit ;;
12420e3d5408SPeter Wemm    SM[BE]S:UNIX_SV:*:*)
1243*aae38d10SBaptiste Daroussin	echo mips-dde-sysv"$UNAME_RELEASE"
12444a1a9510SRong-En Fan	exit ;;
124515589c42SPeter Wemm    RM*:ReliantUNIX-*:*:*)
124615589c42SPeter Wemm	echo mips-sni-sysv4
12474a1a9510SRong-En Fan	exit ;;
12480e3d5408SPeter Wemm    RM*:SINIX-*:*:*)
12490e3d5408SPeter Wemm	echo mips-sni-sysv4
12504a1a9510SRong-En Fan	exit ;;
12510e3d5408SPeter Wemm    *:SINIX-*:*:*)
12520e3d5408SPeter Wemm	if uname -p 2>/dev/null >/dev/null ; then
12530e3d5408SPeter Wemm		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1254*aae38d10SBaptiste Daroussin		echo "$UNAME_MACHINE"-sni-sysv4
12550e3d5408SPeter Wemm	else
12560e3d5408SPeter Wemm		echo ns32k-sni-sysv
12570e3d5408SPeter Wemm	fi
12584a1a9510SRong-En Fan	exit ;;
125939f2269fSPeter Wemm    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
12600e3d5408SPeter Wemm			# says <Richard.M.Bartel@ccMail.Census.GOV>
12610e3d5408SPeter Wemm	echo i586-unisys-sysv4
12624a1a9510SRong-En Fan	exit ;;
12630e3d5408SPeter Wemm    *:UNIX_System_V:4*:FTX*)
12640e3d5408SPeter Wemm	# From Gerald Hewes <hewes@openmarket.com>.
12650e3d5408SPeter Wemm	# How about differentiating between stratus architectures? -djm
12660e3d5408SPeter Wemm	echo hppa1.1-stratus-sysv4
12674a1a9510SRong-En Fan	exit ;;
12680e3d5408SPeter Wemm    *:*:*:FTX*)
12690e3d5408SPeter Wemm	# From seanf@swdc.stratus.com.
12700e3d5408SPeter Wemm	echo i860-stratus-sysv4
12714a1a9510SRong-En Fan	exit ;;
12724a1a9510SRong-En Fan    i*86:VOS:*:*)
12734a1a9510SRong-En Fan	# From Paul.Green@stratus.com.
1274*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-stratus-vos
12754a1a9510SRong-En Fan	exit ;;
127639f2269fSPeter Wemm    *:VOS:*:*)
127739f2269fSPeter Wemm	# From Paul.Green@stratus.com.
127839f2269fSPeter Wemm	echo hppa1.1-stratus-vos
12794a1a9510SRong-En Fan	exit ;;
12800e3d5408SPeter Wemm    mc68*:A/UX:*:*)
1281*aae38d10SBaptiste Daroussin	echo m68k-apple-aux"$UNAME_RELEASE"
12824a1a9510SRong-En Fan	exit ;;
12837a69bbfbSPeter Wemm    news*:NEWS-OS:6*:*)
12840e3d5408SPeter Wemm	echo mips-sony-newsos6
12854a1a9510SRong-En Fan	exit ;;
128615589c42SPeter Wemm    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12870e3d5408SPeter Wemm	if [ -d /usr/nec ]; then
1288*aae38d10SBaptiste Daroussin		echo mips-nec-sysv"$UNAME_RELEASE"
12890e3d5408SPeter Wemm	else
1290*aae38d10SBaptiste Daroussin		echo mips-unknown-sysv"$UNAME_RELEASE"
12910e3d5408SPeter Wemm	fi
12924a1a9510SRong-En Fan	exit ;;
12930e3d5408SPeter Wemm    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
12940e3d5408SPeter Wemm	echo powerpc-be-beos
12954a1a9510SRong-En Fan	exit ;;
12960e3d5408SPeter Wemm    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
12970e3d5408SPeter Wemm	echo powerpc-apple-beos
12984a1a9510SRong-En Fan	exit ;;
12990e3d5408SPeter Wemm    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
13000e3d5408SPeter Wemm	echo i586-pc-beos
13014a1a9510SRong-En Fan	exit ;;
1302aa59d4d4SRong-En Fan    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1303aa59d4d4SRong-En Fan	echo i586-pc-haiku
1304aa59d4d4SRong-En Fan	exit ;;
130573f0a83dSXin LI    x86_64:Haiku:*:*)
130673f0a83dSXin LI	echo x86_64-unknown-haiku
130773f0a83dSXin LI	exit ;;
130815589c42SPeter Wemm    SX-4:SUPER-UX:*:*)
1309*aae38d10SBaptiste Daroussin	echo sx4-nec-superux"$UNAME_RELEASE"
13104a1a9510SRong-En Fan	exit ;;
131115589c42SPeter Wemm    SX-5:SUPER-UX:*:*)
1312*aae38d10SBaptiste Daroussin	echo sx5-nec-superux"$UNAME_RELEASE"
13134a1a9510SRong-En Fan	exit ;;
13144a1a9510SRong-En Fan    SX-6:SUPER-UX:*:*)
1315*aae38d10SBaptiste Daroussin	echo sx6-nec-superux"$UNAME_RELEASE"
13164a1a9510SRong-En Fan	exit ;;
13175ca44d1cSRong-En Fan    SX-7:SUPER-UX:*:*)
1318*aae38d10SBaptiste Daroussin	echo sx7-nec-superux"$UNAME_RELEASE"
13195ca44d1cSRong-En Fan	exit ;;
13205ca44d1cSRong-En Fan    SX-8:SUPER-UX:*:*)
1321*aae38d10SBaptiste Daroussin	echo sx8-nec-superux"$UNAME_RELEASE"
13225ca44d1cSRong-En Fan	exit ;;
13235ca44d1cSRong-En Fan    SX-8R:SUPER-UX:*:*)
1324*aae38d10SBaptiste Daroussin	echo sx8r-nec-superux"$UNAME_RELEASE"
1325*aae38d10SBaptiste Daroussin	exit ;;
1326*aae38d10SBaptiste Daroussin    SX-ACE:SUPER-UX:*:*)
1327*aae38d10SBaptiste Daroussin	echo sxace-nec-superux"$UNAME_RELEASE"
13285ca44d1cSRong-En Fan	exit ;;
132915589c42SPeter Wemm    Power*:Rhapsody:*:*)
1330*aae38d10SBaptiste Daroussin	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
13314a1a9510SRong-En Fan	exit ;;
133215589c42SPeter Wemm    *:Rhapsody:*:*)
1333*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
13344a1a9510SRong-En Fan	exit ;;
133515589c42SPeter Wemm    *:Darwin:*:*)
1336*aae38d10SBaptiste Daroussin	UNAME_PROCESSOR=`uname -p`
1337*aae38d10SBaptiste Daroussin	case $UNAME_PROCESSOR in
1338*aae38d10SBaptiste Daroussin	    unknown) UNAME_PROCESSOR=powerpc ;;
1339*aae38d10SBaptiste Daroussin	esac
1340*aae38d10SBaptiste Daroussin	if command -v xcode-select > /dev/null 2> /dev/null && \
1341*aae38d10SBaptiste Daroussin		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1342*aae38d10SBaptiste Daroussin	    # Avoid executing cc if there is no toolchain installed as
1343*aae38d10SBaptiste Daroussin	    # cc will be a stub that puts up a graphical alert
1344*aae38d10SBaptiste Daroussin	    # prompting the user to install developer tools.
1345*aae38d10SBaptiste Daroussin	    CC_FOR_BUILD=no_compiler_found
1346*aae38d10SBaptiste Daroussin	else
1347*aae38d10SBaptiste Daroussin	    set_cc_for_build
134873f0a83dSXin LI	fi
1349*aae38d10SBaptiste Daroussin	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
135006bfebdeSXin LI	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1351*aae38d10SBaptiste Daroussin		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
135206bfebdeSXin LI		   grep IS_64BIT_ARCH >/dev/null
135306bfebdeSXin LI	    then
135473f0a83dSXin LI		case $UNAME_PROCESSOR in
135573f0a83dSXin LI		    i386) UNAME_PROCESSOR=x86_64 ;;
135673f0a83dSXin LI		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
13574a1a9510SRong-En Fan		esac
135873f0a83dSXin LI	    fi
1359*aae38d10SBaptiste Daroussin	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1360*aae38d10SBaptiste Daroussin	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1361*aae38d10SBaptiste Daroussin		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1362*aae38d10SBaptiste Daroussin		   grep IS_PPC >/dev/null
1363*aae38d10SBaptiste Daroussin	    then
1364*aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=powerpc
136573f0a83dSXin LI	    fi
1366*aae38d10SBaptiste Daroussin	elif test "$UNAME_PROCESSOR" = i386 ; then
1367*aae38d10SBaptiste Daroussin	    # uname -m returns i386 or x86_64
1368*aae38d10SBaptiste Daroussin	    UNAME_PROCESSOR=$UNAME_MACHINE
1369*aae38d10SBaptiste Daroussin	fi
1370*aae38d10SBaptiste Daroussin	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
13714a1a9510SRong-En Fan	exit ;;
137215589c42SPeter Wemm    *:procnto*:*:* | *:QNX:[0123456789]*:*)
137339f2269fSPeter Wemm	UNAME_PROCESSOR=`uname -p`
1374*aae38d10SBaptiste Daroussin	if test "$UNAME_PROCESSOR" = x86; then
137539f2269fSPeter Wemm		UNAME_PROCESSOR=i386
137615589c42SPeter Wemm		UNAME_MACHINE=pc
137715589c42SPeter Wemm	fi
1378*aae38d10SBaptiste Daroussin	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
13794a1a9510SRong-En Fan	exit ;;
138015589c42SPeter Wemm    *:QNX:*:4*)
138115589c42SPeter Wemm	echo i386-pc-qnx
13824a1a9510SRong-En Fan	exit ;;
1383*aae38d10SBaptiste Daroussin    NEO-*:NONSTOP_KERNEL:*:*)
1384*aae38d10SBaptiste Daroussin	echo neo-tandem-nsk"$UNAME_RELEASE"
138506bfebdeSXin LI	exit ;;
138673f0a83dSXin LI    NSE-*:NONSTOP_KERNEL:*:*)
1387*aae38d10SBaptiste Daroussin	echo nse-tandem-nsk"$UNAME_RELEASE"
13884a1a9510SRong-En Fan	exit ;;
1389*aae38d10SBaptiste Daroussin    NSR-*:NONSTOP_KERNEL:*:*)
1390*aae38d10SBaptiste Daroussin	echo nsr-tandem-nsk"$UNAME_RELEASE"
1391*aae38d10SBaptiste Daroussin	exit ;;
1392*aae38d10SBaptiste Daroussin    NSV-*:NONSTOP_KERNEL:*:*)
1393*aae38d10SBaptiste Daroussin	echo nsv-tandem-nsk"$UNAME_RELEASE"
1394*aae38d10SBaptiste Daroussin	exit ;;
1395*aae38d10SBaptiste Daroussin    NSX-*:NONSTOP_KERNEL:*:*)
1396*aae38d10SBaptiste Daroussin	echo nsx-tandem-nsk"$UNAME_RELEASE"
13974a1a9510SRong-En Fan	exit ;;
13987a69bbfbSPeter Wemm    *:NonStop-UX:*:*)
13997a69bbfbSPeter Wemm	echo mips-compaq-nonstopux
14004a1a9510SRong-En Fan	exit ;;
140115589c42SPeter Wemm    BS2000:POSIX*:*:*)
140215589c42SPeter Wemm	echo bs2000-siemens-sysv
14034a1a9510SRong-En Fan	exit ;;
140415589c42SPeter Wemm    DS/*:UNIX_System_V:*:*)
1405*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
14064a1a9510SRong-En Fan	exit ;;
14077a69bbfbSPeter Wemm    *:Plan9:*:*)
14087a69bbfbSPeter Wemm	# "uname -m" is not consistent, so use $cputype instead. 386
14097a69bbfbSPeter Wemm	# is converted to i386 for consistency with other x86
14107a69bbfbSPeter Wemm	# operating systems.
1411*aae38d10SBaptiste Daroussin	# shellcheck disable=SC2154
1412*aae38d10SBaptiste Daroussin	if test "$cputype" = 386; then
14137a69bbfbSPeter Wemm	    UNAME_MACHINE=i386
14147a69bbfbSPeter Wemm	else
14157a69bbfbSPeter Wemm	    UNAME_MACHINE="$cputype"
14167a69bbfbSPeter Wemm	fi
1417*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-plan9
14184a1a9510SRong-En Fan	exit ;;
14197a69bbfbSPeter Wemm    *:TOPS-10:*:*)
14207a69bbfbSPeter Wemm	echo pdp10-unknown-tops10
14214a1a9510SRong-En Fan	exit ;;
14227a69bbfbSPeter Wemm    *:TENEX:*:*)
14237a69bbfbSPeter Wemm	echo pdp10-unknown-tenex
14244a1a9510SRong-En Fan	exit ;;
14257a69bbfbSPeter Wemm    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
14267a69bbfbSPeter Wemm	echo pdp10-dec-tops20
14274a1a9510SRong-En Fan	exit ;;
14287a69bbfbSPeter Wemm    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
14297a69bbfbSPeter Wemm	echo pdp10-xkl-tops20
14304a1a9510SRong-En Fan	exit ;;
14317a69bbfbSPeter Wemm    *:TOPS-20:*:*)
14327a69bbfbSPeter Wemm	echo pdp10-unknown-tops20
14334a1a9510SRong-En Fan	exit ;;
14347a69bbfbSPeter Wemm    *:ITS:*:*)
14357a69bbfbSPeter Wemm	echo pdp10-unknown-its
14364a1a9510SRong-En Fan	exit ;;
14374a1a9510SRong-En Fan    SEI:*:*:SEIUX)
1438*aae38d10SBaptiste Daroussin	echo mips-sei-seiux"$UNAME_RELEASE"
14394a1a9510SRong-En Fan	exit ;;
14404a1a9510SRong-En Fan    *:DragonFly:*:*)
1441*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
14424a1a9510SRong-En Fan	exit ;;
14434a1a9510SRong-En Fan    *:*VMS:*:*)
14444a1a9510SRong-En Fan	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1445*aae38d10SBaptiste Daroussin	case "$UNAME_MACHINE" in
14464a1a9510SRong-En Fan	    A*) echo alpha-dec-vms ; exit ;;
14474a1a9510SRong-En Fan	    I*) echo ia64-dec-vms ; exit ;;
14484a1a9510SRong-En Fan	    V*) echo vax-dec-vms ; exit ;;
14494a1a9510SRong-En Fan	esac ;;
14504a1a9510SRong-En Fan    *:XENIX:*:SysV)
14514a1a9510SRong-En Fan	echo i386-pc-xenix
14524a1a9510SRong-En Fan	exit ;;
14534a1a9510SRong-En Fan    i*86:skyos:*:*)
1454*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
14554a1a9510SRong-En Fan	exit ;;
14564a1a9510SRong-En Fan    i*86:rdos:*:*)
1457*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-rdos
14584a1a9510SRong-En Fan	exit ;;
145906bfebdeSXin LI    i*86:AROS:*:*)
1460*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-pc-aros
146106bfebdeSXin LI	exit ;;
146273f0a83dSXin LI    x86_64:VMkernel:*:*)
1463*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-esx
1464*aae38d10SBaptiste Daroussin	exit ;;
1465*aae38d10SBaptiste Daroussin    amd64:Isilon\ OneFS:*:*)
1466*aae38d10SBaptiste Daroussin	echo x86_64-unknown-onefs
1467*aae38d10SBaptiste Daroussin	exit ;;
1468*aae38d10SBaptiste Daroussin    *:Unleashed:*:*)
1469*aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
147073f0a83dSXin LI	exit ;;
14710e3d5408SPeter Wemmesac
14720e3d5408SPeter Wemm
1473*aae38d10SBaptiste Daroussin# No uname command or uname output not recognized.
1474*aae38d10SBaptiste Daroussinset_cc_for_build
1475*aae38d10SBaptiste Daroussincat > "$dummy.c" <<EOF
14760e3d5408SPeter Wemm#ifdef _SEQUENT_
14770e3d5408SPeter Wemm#include <sys/types.h>
14780e3d5408SPeter Wemm#include <sys/utsname.h>
14790e3d5408SPeter Wemm#endif
1480*aae38d10SBaptiste Daroussin#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1481*aae38d10SBaptiste Daroussin#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1482*aae38d10SBaptiste Daroussin#include <signal.h>
1483*aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1484*aae38d10SBaptiste Daroussin#include <sys/utsname.h>
1485*aae38d10SBaptiste Daroussin#endif
1486*aae38d10SBaptiste Daroussin#endif
1487*aae38d10SBaptiste Daroussin#endif
14880e3d5408SPeter Wemmmain ()
14890e3d5408SPeter Wemm{
14900e3d5408SPeter Wemm#if defined (sony)
14910e3d5408SPeter Wemm#if defined (MIPSEB)
14920e3d5408SPeter Wemm  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
14930e3d5408SPeter Wemm     I don't know....  */
14940e3d5408SPeter Wemm  printf ("mips-sony-bsd\n"); exit (0);
14950e3d5408SPeter Wemm#else
14960e3d5408SPeter Wemm#include <sys/param.h>
14970e3d5408SPeter Wemm  printf ("m68k-sony-newsos%s\n",
14980e3d5408SPeter Wemm#ifdef NEWSOS4
14990e3d5408SPeter Wemm  "4"
15000e3d5408SPeter Wemm#else
15010e3d5408SPeter Wemm  ""
15020e3d5408SPeter Wemm#endif
15030e3d5408SPeter Wemm  ); exit (0);
15040e3d5408SPeter Wemm#endif
15050e3d5408SPeter Wemm#endif
15060e3d5408SPeter Wemm
15070e3d5408SPeter Wemm#if defined (NeXT)
15080e3d5408SPeter Wemm#if !defined (__ARCHITECTURE__)
15090e3d5408SPeter Wemm#define __ARCHITECTURE__ "m68k"
15100e3d5408SPeter Wemm#endif
15110e3d5408SPeter Wemm  int version;
15120e3d5408SPeter Wemm  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
151315589c42SPeter Wemm  if (version < 4)
15140e3d5408SPeter Wemm    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
151515589c42SPeter Wemm  else
151615589c42SPeter Wemm    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
15170e3d5408SPeter Wemm  exit (0);
15180e3d5408SPeter Wemm#endif
15190e3d5408SPeter Wemm
15200e3d5408SPeter Wemm#if defined (MULTIMAX) || defined (n16)
15210e3d5408SPeter Wemm#if defined (UMAXV)
15220e3d5408SPeter Wemm  printf ("ns32k-encore-sysv\n"); exit (0);
15230e3d5408SPeter Wemm#else
15240e3d5408SPeter Wemm#if defined (CMU)
15250e3d5408SPeter Wemm  printf ("ns32k-encore-mach\n"); exit (0);
15260e3d5408SPeter Wemm#else
15270e3d5408SPeter Wemm  printf ("ns32k-encore-bsd\n"); exit (0);
15280e3d5408SPeter Wemm#endif
15290e3d5408SPeter Wemm#endif
15300e3d5408SPeter Wemm#endif
15310e3d5408SPeter Wemm
15320e3d5408SPeter Wemm#if defined (__386BSD__)
15330e3d5408SPeter Wemm  printf ("i386-pc-bsd\n"); exit (0);
15340e3d5408SPeter Wemm#endif
15350e3d5408SPeter Wemm
15360e3d5408SPeter Wemm#if defined (sequent)
15370e3d5408SPeter Wemm#if defined (i386)
15380e3d5408SPeter Wemm  printf ("i386-sequent-dynix\n"); exit (0);
15390e3d5408SPeter Wemm#endif
15400e3d5408SPeter Wemm#if defined (ns32000)
15410e3d5408SPeter Wemm  printf ("ns32k-sequent-dynix\n"); exit (0);
15420e3d5408SPeter Wemm#endif
15430e3d5408SPeter Wemm#endif
15440e3d5408SPeter Wemm
15450e3d5408SPeter Wemm#if defined (_SEQUENT_)
15460e3d5408SPeter Wemm  struct utsname un;
15470e3d5408SPeter Wemm
15480e3d5408SPeter Wemm  uname(&un);
15490e3d5408SPeter Wemm  if (strncmp(un.version, "V2", 2) == 0) {
15500e3d5408SPeter Wemm    printf ("i386-sequent-ptx2\n"); exit (0);
15510e3d5408SPeter Wemm  }
15520e3d5408SPeter Wemm  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
15530e3d5408SPeter Wemm    printf ("i386-sequent-ptx1\n"); exit (0);
15540e3d5408SPeter Wemm  }
15550e3d5408SPeter Wemm  printf ("i386-sequent-ptx\n"); exit (0);
15560e3d5408SPeter Wemm#endif
15570e3d5408SPeter Wemm
15580e3d5408SPeter Wemm#if defined (vax)
15590e3d5408SPeter Wemm#if !defined (ultrix)
15607a69bbfbSPeter Wemm#include <sys/param.h>
15617a69bbfbSPeter Wemm#if defined (BSD)
15627a69bbfbSPeter Wemm#if BSD == 43
15637a69bbfbSPeter Wemm  printf ("vax-dec-bsd4.3\n"); exit (0);
15647a69bbfbSPeter Wemm#else
15657a69bbfbSPeter Wemm#if BSD == 199006
15667a69bbfbSPeter Wemm  printf ("vax-dec-bsd4.3reno\n"); exit (0);
15677a69bbfbSPeter Wemm#else
15680e3d5408SPeter Wemm  printf ("vax-dec-bsd\n"); exit (0);
15697a69bbfbSPeter Wemm#endif
15707a69bbfbSPeter Wemm#endif
15717a69bbfbSPeter Wemm#else
15727a69bbfbSPeter Wemm  printf ("vax-dec-bsd\n"); exit (0);
15737a69bbfbSPeter Wemm#endif
15740e3d5408SPeter Wemm#else
1575*aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1576*aae38d10SBaptiste Daroussin  struct utsname un;
1577*aae38d10SBaptiste Daroussin  uname (&un);
1578*aae38d10SBaptiste Daroussin  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1579*aae38d10SBaptiste Daroussin#else
15800e3d5408SPeter Wemm  printf ("vax-dec-ultrix\n"); exit (0);
15810e3d5408SPeter Wemm#endif
15820e3d5408SPeter Wemm#endif
1583*aae38d10SBaptiste Daroussin#endif
1584*aae38d10SBaptiste Daroussin#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1585*aae38d10SBaptiste Daroussin#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1586*aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1587*aae38d10SBaptiste Daroussin  struct utsname *un;
1588*aae38d10SBaptiste Daroussin  uname (&un);
1589*aae38d10SBaptiste Daroussin  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1590*aae38d10SBaptiste Daroussin#else
1591*aae38d10SBaptiste Daroussin  printf ("mips-dec-ultrix\n"); exit (0);
1592*aae38d10SBaptiste Daroussin#endif
1593*aae38d10SBaptiste Daroussin#endif
1594*aae38d10SBaptiste Daroussin#endif
15950e3d5408SPeter Wemm
15960e3d5408SPeter Wemm#if defined (alliant) && defined (i860)
15970e3d5408SPeter Wemm  printf ("i860-alliant-bsd\n"); exit (0);
15980e3d5408SPeter Wemm#endif
15990e3d5408SPeter Wemm
16000e3d5408SPeter Wemm  exit (1);
16010e3d5408SPeter Wemm}
16020e3d5408SPeter WemmEOF
16030e3d5408SPeter Wemm
1604*aae38d10SBaptiste Daroussin$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
16054a1a9510SRong-En Fan	{ echo "$SYSTEM_NAME"; exit; }
16060e3d5408SPeter Wemm
16070e3d5408SPeter Wemm# Apollos put the system type in the environment.
1608*aae38d10SBaptiste Daroussintest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
16090e3d5408SPeter Wemm
1610*aae38d10SBaptiste Daroussinecho "$0: unable to guess system type" >&2
16110e3d5408SPeter Wemm
1612*aae38d10SBaptiste Daroussincase "$UNAME_MACHINE:$UNAME_SYSTEM" in
1613*aae38d10SBaptiste Daroussin    mips:Linux | mips64:Linux)
1614*aae38d10SBaptiste Daroussin	# If we got here on MIPS GNU/Linux, output extra information.
1615*aae38d10SBaptiste Daroussin	cat >&2 <<EOF
16160e3d5408SPeter Wemm
1617*aae38d10SBaptiste DaroussinNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1618*aae38d10SBaptiste Daroussinthe system type. Please install a C compiler and try again.
1619*aae38d10SBaptiste DaroussinEOF
1620*aae38d10SBaptiste Daroussin	;;
16210e3d5408SPeter Wemmesac
16220e3d5408SPeter Wemm
162315589c42SPeter Wemmcat >&2 <<EOF
162415589c42SPeter Wemm
1625*aae38d10SBaptiste DaroussinThis script (version $timestamp), has failed to recognize the
1626*aae38d10SBaptiste Daroussinoperating system you are using. If your script is old, overwrite *all*
1627*aae38d10SBaptiste Daroussincopies of config.guess and config.sub with the latest versions from:
162815589c42SPeter Wemm
1629*aae38d10SBaptiste Daroussin  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
16304a1a9510SRong-En Fanand
1631*aae38d10SBaptiste Daroussin  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
163215589c42SPeter Wemm
1633*aae38d10SBaptiste DaroussinIf $0 has already been updated, send the following data and any
1634*aae38d10SBaptiste Daroussininformation you think might be pertinent to config-patches@gnu.org to
1635*aae38d10SBaptiste Daroussinprovide the necessary information to handle your system.
163615589c42SPeter Wemm
16377a69bbfbSPeter Wemmconfig.guess timestamp = $timestamp
163815589c42SPeter Wemm
163915589c42SPeter Wemmuname -m = `(uname -m) 2>/dev/null || echo unknown`
164015589c42SPeter Wemmuname -r = `(uname -r) 2>/dev/null || echo unknown`
164115589c42SPeter Wemmuname -s = `(uname -s) 2>/dev/null || echo unknown`
164215589c42SPeter Wemmuname -v = `(uname -v) 2>/dev/null || echo unknown`
164315589c42SPeter Wemm
164415589c42SPeter Wemm/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
164515589c42SPeter Wemm/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
164615589c42SPeter Wemm
164715589c42SPeter Wemmhostinfo               = `(hostinfo) 2>/dev/null`
164815589c42SPeter Wemm/bin/universe          = `(/bin/universe) 2>/dev/null`
164915589c42SPeter Wemm/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
165015589c42SPeter Wemm/bin/arch              = `(/bin/arch) 2>/dev/null`
165115589c42SPeter Wemm/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
165215589c42SPeter Wemm/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
165315589c42SPeter Wemm
1654*aae38d10SBaptiste DaroussinUNAME_MACHINE = "$UNAME_MACHINE"
1655*aae38d10SBaptiste DaroussinUNAME_RELEASE = "$UNAME_RELEASE"
1656*aae38d10SBaptiste DaroussinUNAME_SYSTEM  = "$UNAME_SYSTEM"
1657*aae38d10SBaptiste DaroussinUNAME_VERSION = "$UNAME_VERSION"
165815589c42SPeter WemmEOF
16590e3d5408SPeter Wemm
16600e3d5408SPeter Wemmexit 1
166115589c42SPeter Wemm
166215589c42SPeter Wemm# Local variables:
1663*aae38d10SBaptiste Daroussin# eval: (add-hook 'before-save-hook 'time-stamp)
16647a69bbfbSPeter Wemm# time-stamp-start: "timestamp='"
166515589c42SPeter Wemm# time-stamp-format: "%:y-%02m-%02d"
166615589c42SPeter Wemm# time-stamp-end: "'"
166715589c42SPeter Wemm# End:
1668