xref: /openbsd/gnu/llvm/llvm/cmake/config.guess (revision d415bd75)
109467b48Spatrick#! /bin/sh
209467b48Spatrick# Attempt to guess a canonical system name.
309467b48Spatrick#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
409467b48Spatrick#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
509467b48Spatrick#   2011 Free Software Foundation, Inc.
609467b48Spatrick
709467b48Spatricktimestamp='2011-08-20'
809467b48Spatrick
909467b48Spatrick# This file is free software; you can redistribute it and/or modify it
1009467b48Spatrick# under the terms of the GNU General Public License as published by
1109467b48Spatrick# the Free Software Foundation; either version 2 of the License, or
1209467b48Spatrick# (at your option) any later version.
1309467b48Spatrick#
1409467b48Spatrick# This program is distributed in the hope that it will be useful, but
1509467b48Spatrick# WITHOUT ANY WARRANTY; without even the implied warranty of
1609467b48Spatrick# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1709467b48Spatrick# General Public License for more details.
1809467b48Spatrick#
1909467b48Spatrick# You should have received a copy of the GNU General Public License
2009467b48Spatrick# along with this program; if not, write to the Free Software
2109467b48Spatrick# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2209467b48Spatrick# 02110-1301, USA.
2309467b48Spatrick#
2409467b48Spatrick# As a special exception to the GNU General Public License, if you
2509467b48Spatrick# distribute this file as part of a program that contains a
2609467b48Spatrick# configuration script generated by Autoconf, you may include it under
2709467b48Spatrick# the same distribution terms that you use for the rest of that program.
2809467b48Spatrick
2909467b48Spatrick
3009467b48Spatrick# Originally written by Per Bothner.  Please send patches (context
3109467b48Spatrick# diff format) to <config-patches@gnu.org> and include a ChangeLog
3209467b48Spatrick# entry.
3309467b48Spatrick#
3409467b48Spatrick# This script attempts to guess a canonical system name similar to
3509467b48Spatrick# config.sub.  If it succeeds, it prints the system name on stdout, and
3609467b48Spatrick# exits with 0.  Otherwise, it exits with 1.
3709467b48Spatrick#
3809467b48Spatrick# You can get the latest version of this script from:
3909467b48Spatrick# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
4009467b48Spatrick
4109467b48Spatrickme=`echo "$0" | sed -e 's,.*/,,'`
4209467b48Spatrick
4309467b48Spatrickusage="\
4409467b48SpatrickUsage: $0 [OPTION]
4509467b48Spatrick
4609467b48SpatrickOutput the configuration name of the system \`$me' is run on.
4709467b48Spatrick
4809467b48SpatrickOperation modes:
4909467b48Spatrick  -h, --help         print this help, then exit
5009467b48Spatrick  -t, --time-stamp   print date of last modification, then exit
5109467b48Spatrick  -v, --version      print version number, then exit
5209467b48Spatrick
5309467b48SpatrickReport bugs and patches to <config-patches@gnu.org>."
5409467b48Spatrick
5509467b48Spatrickversion="\
5609467b48SpatrickGNU config.guess ($timestamp)
5709467b48Spatrick
5809467b48SpatrickOriginally written by Per Bothner.
5909467b48SpatrickCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
6009467b48Spatrick2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
6109467b48SpatrickSoftware Foundation, Inc.
6209467b48Spatrick
6309467b48SpatrickThis is free software; see the source for copying conditions.  There is NO
6409467b48Spatrickwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6509467b48Spatrick
6609467b48Spatrickhelp="
6709467b48SpatrickTry \`$me --help' for more information."
6809467b48Spatrick
6909467b48Spatrick# Parse command line
7009467b48Spatrickwhile test $# -gt 0 ; do
7109467b48Spatrick  case $1 in
7209467b48Spatrick    --time-stamp | --time* | -t )
7309467b48Spatrick       echo "$timestamp" ; exit ;;
7409467b48Spatrick    --version | -v )
7509467b48Spatrick       echo "$version" ; exit ;;
7609467b48Spatrick    --help | --h* | -h )
7709467b48Spatrick       echo "$usage"; exit ;;
7809467b48Spatrick    -- )     # Stop option processing
7909467b48Spatrick       shift; break ;;
8009467b48Spatrick    - )	# Use stdin as input.
8109467b48Spatrick       break ;;
8209467b48Spatrick    -* )
8309467b48Spatrick       echo "$me: invalid option $1$help" >&2
8409467b48Spatrick       exit 1 ;;
8509467b48Spatrick    * )
8609467b48Spatrick       break ;;
8709467b48Spatrick  esac
8809467b48Spatrickdone
8909467b48Spatrick
9009467b48Spatrickif test $# != 0; then
9109467b48Spatrick  echo "$me: too many arguments$help" >&2
9209467b48Spatrick  exit 1
9309467b48Spatrickfi
9409467b48Spatrick
9509467b48Spatricktrap 'exit 1' 1 2 15
9609467b48Spatrick
9709467b48Spatrick# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
9809467b48Spatrick# compiler to aid in system detection is discouraged as it requires
9909467b48Spatrick# temporary files to be created and, as you can see below, it is a
10009467b48Spatrick# headache to deal with in a portable fashion.
10109467b48Spatrick
10209467b48Spatrick# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10309467b48Spatrick# use `HOST_CC' if defined, but it is deprecated.
10409467b48Spatrick
10509467b48Spatrick# Portable tmp directory creation inspired by the Autoconf team.
10609467b48Spatrick
10709467b48Spatrickset_cc_for_build='
10809467b48Spatricktrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
10909467b48Spatricktrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
11009467b48Spatrick: ${TMPDIR=/tmp} ;
11109467b48Spatrick { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
11209467b48Spatrick { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
11309467b48Spatrick { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
11409467b48Spatrick { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
11509467b48Spatrickdummy=$tmp/dummy ;
11609467b48Spatricktmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
11709467b48Spatrickcase $CC_FOR_BUILD,$HOST_CC,$CC in
11809467b48Spatrick ,,)    echo "int x;" > $dummy.c ;
11909467b48Spatrick	for c in cc gcc c89 c99 ; do
12009467b48Spatrick	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
12109467b48Spatrick	     CC_FOR_BUILD="$c"; break ;
12209467b48Spatrick	  fi ;
12309467b48Spatrick	done ;
12409467b48Spatrick	if test x"$CC_FOR_BUILD" = x ; then
12509467b48Spatrick	  CC_FOR_BUILD=no_compiler_found ;
12609467b48Spatrick	fi
12709467b48Spatrick	;;
12809467b48Spatrick ,,*)   CC_FOR_BUILD=$CC ;;
12909467b48Spatrick ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
13009467b48Spatrickesac ; set_cc_for_build= ;'
13109467b48Spatrick
13209467b48Spatrick# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
13309467b48Spatrick# (ghazi@noc.rutgers.edu 1994-08-24)
13409467b48Spatrickif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13509467b48Spatrick	PATH=$PATH:/.attbin ; export PATH
13609467b48Spatrickfi
13709467b48Spatrick
13809467b48SpatrickUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13909467b48SpatrickUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
14009467b48SpatrickUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14109467b48SpatrickUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14209467b48Spatrick
14309467b48Spatrick# Note: order is significant - the case branches are not exclusive.
14409467b48Spatrick
14509467b48Spatrickcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14609467b48Spatrick    *:NetBSD:*:*)
14709467b48Spatrick	# NetBSD (nbsd) targets should (where applicable) match one or
14809467b48Spatrick	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14909467b48Spatrick	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
15009467b48Spatrick	# switched to ELF, *-*-netbsd* would select the old
15109467b48Spatrick	# object file format.  This provides both forward
15209467b48Spatrick	# compatibility and a consistent mechanism for selecting the
15309467b48Spatrick	# object file format.
15409467b48Spatrick	#
15509467b48Spatrick	# Note: NetBSD doesn't particularly care about the vendor
15609467b48Spatrick	# portion of the name.  We always set it to "unknown".
15709467b48Spatrick	sysctl="sysctl -n hw.machine_arch"
15809467b48Spatrick	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
15909467b48Spatrick	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
16009467b48Spatrick	case "${UNAME_MACHINE_ARCH}" in
16109467b48Spatrick	    armeb) machine=armeb-unknown ;;
16209467b48Spatrick	    arm*) machine=arm-unknown ;;
16309467b48Spatrick	    sh3el) machine=shl-unknown ;;
16409467b48Spatrick	    sh3eb) machine=sh-unknown ;;
16509467b48Spatrick	    sh5el) machine=sh5le-unknown ;;
16609467b48Spatrick	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16709467b48Spatrick	esac
16809467b48Spatrick	# The Operating System including object format, if it has switched
16909467b48Spatrick	# to ELF recently, or will in the future.
17009467b48Spatrick	case "${UNAME_MACHINE_ARCH}" in
17109467b48Spatrick	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
17209467b48Spatrick		eval $set_cc_for_build
17309467b48Spatrick		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17409467b48Spatrick			| grep -q __ELF__
17509467b48Spatrick		then
17609467b48Spatrick		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17709467b48Spatrick		    # Return netbsd for either.  FIX?
17809467b48Spatrick		    os=netbsd
17909467b48Spatrick		else
18009467b48Spatrick		    os=netbsdelf
18109467b48Spatrick		fi
18209467b48Spatrick		;;
18309467b48Spatrick	    *)
18409467b48Spatrick		os=netbsd
18509467b48Spatrick		;;
18609467b48Spatrick	esac
18709467b48Spatrick	# The OS release
18809467b48Spatrick	# Debian GNU/NetBSD machines have a different userland, and
18909467b48Spatrick	# thus, need a distinct triplet. However, they do not need
19009467b48Spatrick	# kernel version information, so it can be replaced with a
19109467b48Spatrick	# suitable tag, in the style of linux-gnu.
19209467b48Spatrick	case "${UNAME_VERSION}" in
19309467b48Spatrick	    Debian*)
19409467b48Spatrick		release='-gnu'
19509467b48Spatrick		;;
19609467b48Spatrick	    *)
19709467b48Spatrick		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
19809467b48Spatrick		;;
19909467b48Spatrick	esac
20009467b48Spatrick	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20109467b48Spatrick	# contains redundant information, the shorter form:
20209467b48Spatrick	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20309467b48Spatrick	echo "${machine}-${os}${release}"
20409467b48Spatrick	exit ;;
20509467b48Spatrick    *:OpenBSD:*:*)
20609467b48Spatrick	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
20709467b48Spatrick	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
20809467b48Spatrick	exit ;;
20909467b48Spatrick    *:ekkoBSD:*:*)
21009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
21109467b48Spatrick	exit ;;
21209467b48Spatrick    *:SolidBSD:*:*)
21309467b48Spatrick	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
21409467b48Spatrick	exit ;;
21509467b48Spatrick    macppc:MirBSD:*:*)
21609467b48Spatrick	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
21709467b48Spatrick	exit ;;
21809467b48Spatrick    *:MirBSD:*:*)
21909467b48Spatrick	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
22009467b48Spatrick	exit ;;
22109467b48Spatrick    alpha:OSF1:*:*)
22209467b48Spatrick	case $UNAME_RELEASE in
22309467b48Spatrick	*4.0)
22409467b48Spatrick		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
22509467b48Spatrick		;;
22609467b48Spatrick	*5.*)
22709467b48Spatrick		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
22809467b48Spatrick		;;
22909467b48Spatrick	esac
23009467b48Spatrick	# According to Compaq, /usr/sbin/psrinfo has been available on
23109467b48Spatrick	# OSF/1 and Tru64 systems produced since 1995.  I hope that
23209467b48Spatrick	# covers most systems running today.  This code pipes the CPU
23309467b48Spatrick	# types through head -n 1, so we only detect the type of CPU 0.
23409467b48Spatrick	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
23509467b48Spatrick	case "$ALPHA_CPU_TYPE" in
23609467b48Spatrick	    "EV4 (21064)")
23709467b48Spatrick		UNAME_MACHINE="alpha" ;;
23809467b48Spatrick	    "EV4.5 (21064)")
23909467b48Spatrick		UNAME_MACHINE="alpha" ;;
24009467b48Spatrick	    "LCA4 (21066/21068)")
24109467b48Spatrick		UNAME_MACHINE="alpha" ;;
24209467b48Spatrick	    "EV5 (21164)")
24309467b48Spatrick		UNAME_MACHINE="alphaev5" ;;
24409467b48Spatrick	    "EV5.6 (21164A)")
24509467b48Spatrick		UNAME_MACHINE="alphaev56" ;;
24609467b48Spatrick	    "EV5.6 (21164PC)")
24709467b48Spatrick		UNAME_MACHINE="alphapca56" ;;
24809467b48Spatrick	    "EV5.7 (21164PC)")
24909467b48Spatrick		UNAME_MACHINE="alphapca57" ;;
25009467b48Spatrick	    "EV6 (21264)")
25109467b48Spatrick		UNAME_MACHINE="alphaev6" ;;
25209467b48Spatrick	    "EV6.7 (21264A)")
25309467b48Spatrick		UNAME_MACHINE="alphaev67" ;;
25409467b48Spatrick	    "EV6.8CB (21264C)")
25509467b48Spatrick		UNAME_MACHINE="alphaev68" ;;
25609467b48Spatrick	    "EV6.8AL (21264B)")
25709467b48Spatrick		UNAME_MACHINE="alphaev68" ;;
25809467b48Spatrick	    "EV6.8CX (21264D)")
25909467b48Spatrick		UNAME_MACHINE="alphaev68" ;;
26009467b48Spatrick	    "EV6.9A (21264/EV69A)")
26109467b48Spatrick		UNAME_MACHINE="alphaev69" ;;
26209467b48Spatrick	    "EV7 (21364)")
26309467b48Spatrick		UNAME_MACHINE="alphaev7" ;;
26409467b48Spatrick	    "EV7.9 (21364A)")
26509467b48Spatrick		UNAME_MACHINE="alphaev79" ;;
26609467b48Spatrick	esac
26709467b48Spatrick	# A Pn.n version is a patched version.
26809467b48Spatrick	# A Vn.n version is a released version.
26909467b48Spatrick	# A Tn.n version is a released field test version.
27009467b48Spatrick	# A Xn.n version is an unreleased experimental baselevel.
27109467b48Spatrick	# 1.2 uses "1.2" for uname -r.
27209467b48Spatrick	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
27309467b48Spatrick	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
27409467b48Spatrick	exitcode=$?
27509467b48Spatrick	trap '' 0
27609467b48Spatrick	exit $exitcode ;;
27709467b48Spatrick    Alpha\ *:Windows_NT*:*)
27809467b48Spatrick	# How do we know it's Interix rather than the generic POSIX subsystem?
27909467b48Spatrick	# Should we change UNAME_MACHINE based on the output of uname instead
28009467b48Spatrick	# of the specific Alpha model?
28109467b48Spatrick	echo alpha-pc-interix
28209467b48Spatrick	exit ;;
28309467b48Spatrick    21064:Windows_NT:50:3)
28409467b48Spatrick	echo alpha-dec-winnt3.5
28509467b48Spatrick	exit ;;
28609467b48Spatrick    Amiga*:UNIX_System_V:4.0:*)
28709467b48Spatrick	echo m68k-unknown-sysv4
28809467b48Spatrick	exit ;;
28909467b48Spatrick    *:[Aa]miga[Oo][Ss]:*:*)
29009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-amigaos
29109467b48Spatrick	exit ;;
29209467b48Spatrick    *:[Mm]orph[Oo][Ss]:*:*)
29309467b48Spatrick	echo ${UNAME_MACHINE}-unknown-morphos
29409467b48Spatrick	exit ;;
29509467b48Spatrick    *:OS/390:*:*)
29609467b48Spatrick	echo i370-ibm-openedition
29709467b48Spatrick	exit ;;
29809467b48Spatrick    *:z/VM:*:*)
29909467b48Spatrick	echo s390-ibm-zvmoe
30009467b48Spatrick	exit ;;
30109467b48Spatrick    *:OS400:*:*)
30209467b48Spatrick	echo powerpc-ibm-os400
30309467b48Spatrick	exit ;;
30409467b48Spatrick    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30509467b48Spatrick	echo arm-acorn-riscix${UNAME_RELEASE}
30609467b48Spatrick	exit ;;
30709467b48Spatrick    arm:riscos:*:*|arm:RISCOS:*:*)
30809467b48Spatrick	echo arm-unknown-riscos
30909467b48Spatrick	exit ;;
31009467b48Spatrick    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
31109467b48Spatrick	echo hppa1.1-hitachi-hiuxmpp
31209467b48Spatrick	exit ;;
31309467b48Spatrick    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
31409467b48Spatrick	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31509467b48Spatrick	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31609467b48Spatrick		echo pyramid-pyramid-sysv3
31709467b48Spatrick	else
31809467b48Spatrick		echo pyramid-pyramid-bsd
31909467b48Spatrick	fi
32009467b48Spatrick	exit ;;
32109467b48Spatrick    NILE*:*:*:dcosx)
32209467b48Spatrick	echo pyramid-pyramid-svr4
32309467b48Spatrick	exit ;;
32409467b48Spatrick    DRS?6000:unix:4.0:6*)
32509467b48Spatrick	echo sparc-icl-nx6
32609467b48Spatrick	exit ;;
32709467b48Spatrick    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
32809467b48Spatrick	case `/usr/bin/uname -p` in
32909467b48Spatrick	    sparc) echo sparc-icl-nx7; exit ;;
33009467b48Spatrick	esac ;;
33109467b48Spatrick    s390x:SunOS:*:*)
33209467b48Spatrick	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33309467b48Spatrick	exit ;;
33409467b48Spatrick    sun4H:SunOS:5.*:*)
33509467b48Spatrick	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33609467b48Spatrick	exit ;;
33709467b48Spatrick    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33809467b48Spatrick	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
33909467b48Spatrick	exit ;;
34009467b48Spatrick    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
34109467b48Spatrick	echo i386-pc-auroraux${UNAME_RELEASE}
34209467b48Spatrick	exit ;;
34309467b48Spatrick    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
34409467b48Spatrick	eval $set_cc_for_build
34509467b48Spatrick	SUN_ARCH="i386"
34609467b48Spatrick	# If there is a compiler, see if it is configured for 64-bit objects.
34709467b48Spatrick	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
34809467b48Spatrick	# This test works for both compilers.
34909467b48Spatrick	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
35009467b48Spatrick	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
35109467b48Spatrick		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
35209467b48Spatrick		grep IS_64BIT_ARCH >/dev/null
35309467b48Spatrick	    then
35409467b48Spatrick		SUN_ARCH="x86_64"
35509467b48Spatrick	    fi
35609467b48Spatrick	fi
35709467b48Spatrick	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
35809467b48Spatrick	exit ;;
35909467b48Spatrick    sun4*:SunOS:6*:*)
36009467b48Spatrick	# According to config.sub, this is the proper way to canonicalize
36109467b48Spatrick	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
36209467b48Spatrick	# it's likely to be more like Solaris than SunOS4.
36309467b48Spatrick	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
36409467b48Spatrick	exit ;;
36509467b48Spatrick    sun4*:SunOS:*:*)
36609467b48Spatrick	case "`/usr/bin/arch -k`" in
36709467b48Spatrick	    Series*|S4*)
36809467b48Spatrick		UNAME_RELEASE=`uname -v`
36909467b48Spatrick		;;
37009467b48Spatrick	esac
37109467b48Spatrick	# Japanese Language versions have a version number like `4.1.3-JL'.
37209467b48Spatrick	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
37309467b48Spatrick	exit ;;
37409467b48Spatrick    sun3*:SunOS:*:*)
37509467b48Spatrick	echo m68k-sun-sunos${UNAME_RELEASE}
37609467b48Spatrick	exit ;;
37709467b48Spatrick    sun*:*:4.2BSD:*)
37809467b48Spatrick	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
37909467b48Spatrick	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
38009467b48Spatrick	case "`/bin/arch`" in
38109467b48Spatrick	    sun3)
38209467b48Spatrick		echo m68k-sun-sunos${UNAME_RELEASE}
38309467b48Spatrick		;;
38409467b48Spatrick	    sun4)
38509467b48Spatrick		echo sparc-sun-sunos${UNAME_RELEASE}
38609467b48Spatrick		;;
38709467b48Spatrick	esac
38809467b48Spatrick	exit ;;
38909467b48Spatrick    aushp:SunOS:*:*)
39009467b48Spatrick	echo sparc-auspex-sunos${UNAME_RELEASE}
39109467b48Spatrick	exit ;;
39209467b48Spatrick    # The situation for MiNT is a little confusing.  The machine name
39309467b48Spatrick    # can be virtually everything (everything which is not
39409467b48Spatrick    # "atarist" or "atariste" at least should have a processor
39509467b48Spatrick    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
39609467b48Spatrick    # to the lowercase version "mint" (or "freemint").  Finally
39709467b48Spatrick    # the system name "TOS" denotes a system which is actually not
39809467b48Spatrick    # MiNT.  But MiNT is downward compatible to TOS, so this should
39909467b48Spatrick    # be no problem.
40009467b48Spatrick    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
40109467b48Spatrick	echo m68k-atari-mint${UNAME_RELEASE}
40209467b48Spatrick	exit ;;
40309467b48Spatrick    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
40409467b48Spatrick	echo m68k-atari-mint${UNAME_RELEASE}
40509467b48Spatrick	exit ;;
40609467b48Spatrick    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
40709467b48Spatrick	echo m68k-atari-mint${UNAME_RELEASE}
40809467b48Spatrick	exit ;;
40909467b48Spatrick    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
41009467b48Spatrick	echo m68k-milan-mint${UNAME_RELEASE}
41109467b48Spatrick	exit ;;
41209467b48Spatrick    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
41309467b48Spatrick	echo m68k-hades-mint${UNAME_RELEASE}
41409467b48Spatrick	exit ;;
41509467b48Spatrick    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
41609467b48Spatrick	echo m68k-unknown-mint${UNAME_RELEASE}
41709467b48Spatrick	exit ;;
41809467b48Spatrick    m68k:machten:*:*)
41909467b48Spatrick	echo m68k-apple-machten${UNAME_RELEASE}
42009467b48Spatrick	exit ;;
42109467b48Spatrick    powerpc:machten:*:*)
42209467b48Spatrick	echo powerpc-apple-machten${UNAME_RELEASE}
42309467b48Spatrick	exit ;;
42409467b48Spatrick    RISC*:Mach:*:*)
42509467b48Spatrick	echo mips-dec-mach_bsd4.3
42609467b48Spatrick	exit ;;
42709467b48Spatrick    RISC*:ULTRIX:*:*)
42809467b48Spatrick	echo mips-dec-ultrix${UNAME_RELEASE}
42909467b48Spatrick	exit ;;
43009467b48Spatrick    VAX*:ULTRIX*:*:*)
43109467b48Spatrick	echo vax-dec-ultrix${UNAME_RELEASE}
43209467b48Spatrick	exit ;;
43309467b48Spatrick    2020:CLIX:*:* | 2430:CLIX:*:*)
43409467b48Spatrick	echo clipper-intergraph-clix${UNAME_RELEASE}
43509467b48Spatrick	exit ;;
43609467b48Spatrick    mips:*:*:UMIPS | mips:*:*:RISCos)
43709467b48Spatrick	eval $set_cc_for_build
43809467b48Spatrick	sed 's/^	//' << EOF >$dummy.c
43909467b48Spatrick#ifdef __cplusplus
44009467b48Spatrick#include <stdio.h>  /* for printf() prototype */
44109467b48Spatrick	int main (int argc, char *argv[]) {
44209467b48Spatrick#else
44309467b48Spatrick	int main (argc, argv) int argc; char *argv[]; {
44409467b48Spatrick#endif
44509467b48Spatrick	#if defined (host_mips) && defined (MIPSEB)
44609467b48Spatrick	#if defined (SYSTYPE_SYSV)
44709467b48Spatrick	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
44809467b48Spatrick	#endif
44909467b48Spatrick	#if defined (SYSTYPE_SVR4)
45009467b48Spatrick	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
45109467b48Spatrick	#endif
45209467b48Spatrick	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
45309467b48Spatrick	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
45409467b48Spatrick	#endif
45509467b48Spatrick	#endif
45609467b48Spatrick	  exit (-1);
45709467b48Spatrick	}
45809467b48SpatrickEOF
45909467b48Spatrick	$CC_FOR_BUILD -o $dummy $dummy.c &&
46009467b48Spatrick	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
46109467b48Spatrick	  SYSTEM_NAME=`$dummy $dummyarg` &&
46209467b48Spatrick	    { echo "$SYSTEM_NAME"; exit; }
46309467b48Spatrick	echo mips-mips-riscos${UNAME_RELEASE}
46409467b48Spatrick	exit ;;
46509467b48Spatrick    Motorola:PowerMAX_OS:*:*)
46609467b48Spatrick	echo powerpc-motorola-powermax
46709467b48Spatrick	exit ;;
46809467b48Spatrick    Motorola:*:4.3:PL8-*)
46909467b48Spatrick	echo powerpc-harris-powermax
47009467b48Spatrick	exit ;;
47109467b48Spatrick    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
47209467b48Spatrick	echo powerpc-harris-powermax
47309467b48Spatrick	exit ;;
47409467b48Spatrick    Night_Hawk:Power_UNIX:*:*)
47509467b48Spatrick	echo powerpc-harris-powerunix
47609467b48Spatrick	exit ;;
47709467b48Spatrick    m88k:CX/UX:7*:*)
47809467b48Spatrick	echo m88k-harris-cxux7
47909467b48Spatrick	exit ;;
48009467b48Spatrick    m88k:*:4*:R4*)
48109467b48Spatrick	echo m88k-motorola-sysv4
48209467b48Spatrick	exit ;;
48309467b48Spatrick    m88k:*:3*:R3*)
48409467b48Spatrick	echo m88k-motorola-sysv3
48509467b48Spatrick	exit ;;
48609467b48Spatrick    AViiON:dgux:*:*)
48709467b48Spatrick	# DG/UX returns AViiON for all architectures
48809467b48Spatrick	UNAME_PROCESSOR=`/usr/bin/uname -p`
48909467b48Spatrick	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
49009467b48Spatrick	then
49109467b48Spatrick	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
49209467b48Spatrick	       [ ${TARGET_BINARY_INTERFACE}x = x ]
49309467b48Spatrick	    then
49409467b48Spatrick		echo m88k-dg-dgux${UNAME_RELEASE}
49509467b48Spatrick	    else
49609467b48Spatrick		echo m88k-dg-dguxbcs${UNAME_RELEASE}
49709467b48Spatrick	    fi
49809467b48Spatrick	else
49909467b48Spatrick	    echo i586-dg-dgux${UNAME_RELEASE}
50009467b48Spatrick	fi
50109467b48Spatrick	exit ;;
50209467b48Spatrick    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
50309467b48Spatrick	echo m88k-dolphin-sysv3
50409467b48Spatrick	exit ;;
50509467b48Spatrick    M88*:*:R3*:*)
50609467b48Spatrick	# Delta 88k system running SVR3
50709467b48Spatrick	echo m88k-motorola-sysv3
50809467b48Spatrick	exit ;;
50909467b48Spatrick    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
51009467b48Spatrick	echo m88k-tektronix-sysv3
51109467b48Spatrick	exit ;;
51209467b48Spatrick    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
51309467b48Spatrick	echo m68k-tektronix-bsd
51409467b48Spatrick	exit ;;
51509467b48Spatrick    *:IRIX*:*:*)
51609467b48Spatrick	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
51709467b48Spatrick	exit ;;
51809467b48Spatrick    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
51909467b48Spatrick	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
52009467b48Spatrick	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
52109467b48Spatrick    i*86:AIX:*:*)
52209467b48Spatrick	echo i386-ibm-aix
52309467b48Spatrick	exit ;;
52409467b48Spatrick    ia64:AIX:*:*)
52509467b48Spatrick	if [ -x /usr/bin/oslevel ] ; then
52609467b48Spatrick		IBM_REV=`/usr/bin/oslevel`
52709467b48Spatrick	else
52809467b48Spatrick		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
52909467b48Spatrick	fi
53009467b48Spatrick	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
53109467b48Spatrick	exit ;;
53209467b48Spatrick    *:AIX:2:3)
53309467b48Spatrick	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
53409467b48Spatrick		eval $set_cc_for_build
53509467b48Spatrick		sed 's/^		//' << EOF >$dummy.c
53609467b48Spatrick		#include <sys/systemcfg.h>
53709467b48Spatrick
53809467b48Spatrick		main()
53909467b48Spatrick			{
54009467b48Spatrick			if (!__power_pc())
54109467b48Spatrick				exit(1);
54209467b48Spatrick			puts("powerpc-ibm-aix3.2.5");
54309467b48Spatrick			exit(0);
54409467b48Spatrick			}
54509467b48SpatrickEOF
54609467b48Spatrick		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
54709467b48Spatrick		then
54809467b48Spatrick			echo "$SYSTEM_NAME"
54909467b48Spatrick		else
55009467b48Spatrick			echo rs6000-ibm-aix3.2.5
55109467b48Spatrick		fi
55209467b48Spatrick	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
55309467b48Spatrick		echo rs6000-ibm-aix3.2.4
55409467b48Spatrick	else
55509467b48Spatrick		echo rs6000-ibm-aix3.2
55609467b48Spatrick	fi
55709467b48Spatrick	exit ;;
55809467b48Spatrick    *:AIX:*:[4567])
55909467b48Spatrick	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
56009467b48Spatrick	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
56109467b48Spatrick		IBM_ARCH=rs6000
56209467b48Spatrick	else
56309467b48Spatrick		IBM_ARCH=powerpc
56409467b48Spatrick	fi
56509467b48Spatrick	if [ -x /usr/bin/oslevel ] ; then
56609467b48Spatrick		IBM_REV=`/usr/bin/oslevel`
56709467b48Spatrick	else
56809467b48Spatrick		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
56909467b48Spatrick	fi
57009467b48Spatrick	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
57109467b48Spatrick	exit ;;
57209467b48Spatrick    *:AIX:*:*)
57309467b48Spatrick	echo rs6000-ibm-aix
57409467b48Spatrick	exit ;;
57509467b48Spatrick    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
57609467b48Spatrick	echo romp-ibm-bsd4.4
57709467b48Spatrick	exit ;;
57809467b48Spatrick    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
57909467b48Spatrick	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
58009467b48Spatrick	exit ;;                             # report: romp-ibm BSD 4.3
58109467b48Spatrick    *:BOSX:*:*)
58209467b48Spatrick	echo rs6000-bull-bosx
58309467b48Spatrick	exit ;;
58409467b48Spatrick    DPX/2?00:B.O.S.:*:*)
58509467b48Spatrick	echo m68k-bull-sysv3
58609467b48Spatrick	exit ;;
58709467b48Spatrick    9000/[34]??:4.3bsd:1.*:*)
58809467b48Spatrick	echo m68k-hp-bsd
58909467b48Spatrick	exit ;;
59009467b48Spatrick    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
59109467b48Spatrick	echo m68k-hp-bsd4.4
59209467b48Spatrick	exit ;;
59309467b48Spatrick    9000/[34678]??:HP-UX:*:*)
59409467b48Spatrick	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
59509467b48Spatrick	case "${UNAME_MACHINE}" in
59609467b48Spatrick	    9000/31? )            HP_ARCH=m68000 ;;
59709467b48Spatrick	    9000/[34]?? )         HP_ARCH=m68k ;;
59809467b48Spatrick	    9000/[678][0-9][0-9])
59909467b48Spatrick		if [ -x /usr/bin/getconf ]; then
60009467b48Spatrick		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
60109467b48Spatrick		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
60209467b48Spatrick		    case "${sc_cpu_version}" in
60309467b48Spatrick		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
60409467b48Spatrick		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
60509467b48Spatrick		      532)                      # CPU_PA_RISC2_0
60609467b48Spatrick			case "${sc_kernel_bits}" in
60709467b48Spatrick			  32) HP_ARCH="hppa2.0n" ;;
60809467b48Spatrick			  64) HP_ARCH="hppa2.0w" ;;
60909467b48Spatrick			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
61009467b48Spatrick			esac ;;
61109467b48Spatrick		    esac
61209467b48Spatrick		fi
61309467b48Spatrick		if [ "${HP_ARCH}" = "" ]; then
61409467b48Spatrick		    eval $set_cc_for_build
61509467b48Spatrick		    sed 's/^		//' << EOF >$dummy.c
61609467b48Spatrick
61709467b48Spatrick		#define _HPUX_SOURCE
61809467b48Spatrick		#include <stdlib.h>
61909467b48Spatrick		#include <unistd.h>
62009467b48Spatrick
62109467b48Spatrick		int main ()
62209467b48Spatrick		{
62309467b48Spatrick		#if defined(_SC_KERNEL_BITS)
62409467b48Spatrick		    long bits = sysconf(_SC_KERNEL_BITS);
62509467b48Spatrick		#endif
62609467b48Spatrick		    long cpu  = sysconf (_SC_CPU_VERSION);
62709467b48Spatrick
62809467b48Spatrick		    switch (cpu)
62909467b48Spatrick			{
63009467b48Spatrick			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
63109467b48Spatrick			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
63209467b48Spatrick			case CPU_PA_RISC2_0:
63309467b48Spatrick		#if defined(_SC_KERNEL_BITS)
63409467b48Spatrick			    switch (bits)
63509467b48Spatrick				{
63609467b48Spatrick				case 64: puts ("hppa2.0w"); break;
63709467b48Spatrick				case 32: puts ("hppa2.0n"); break;
63809467b48Spatrick				default: puts ("hppa2.0"); break;
63909467b48Spatrick				} break;
64009467b48Spatrick		#else  /* !defined(_SC_KERNEL_BITS) */
64109467b48Spatrick			    puts ("hppa2.0"); break;
64209467b48Spatrick		#endif
64309467b48Spatrick			default: puts ("hppa1.0"); break;
64409467b48Spatrick			}
64509467b48Spatrick		    exit (0);
64609467b48Spatrick		}
64709467b48SpatrickEOF
64809467b48Spatrick		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
64909467b48Spatrick		    test -z "$HP_ARCH" && HP_ARCH=hppa
65009467b48Spatrick		fi ;;
65109467b48Spatrick	esac
65209467b48Spatrick	if [ ${HP_ARCH} = "hppa2.0w" ]
65309467b48Spatrick	then
65409467b48Spatrick	    eval $set_cc_for_build
65509467b48Spatrick
65609467b48Spatrick	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
65709467b48Spatrick	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
65809467b48Spatrick	    # generating 64-bit code.  GNU and HP use different nomenclature:
65909467b48Spatrick	    #
66009467b48Spatrick	    # $ CC_FOR_BUILD=cc ./config.guess
66109467b48Spatrick	    # => hppa2.0w-hp-hpux11.23
66209467b48Spatrick	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
66309467b48Spatrick	    # => hppa64-hp-hpux11.23
66409467b48Spatrick
66509467b48Spatrick	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
66609467b48Spatrick		grep -q __LP64__
66709467b48Spatrick	    then
66809467b48Spatrick		HP_ARCH="hppa2.0w"
66909467b48Spatrick	    else
67009467b48Spatrick		HP_ARCH="hppa64"
67109467b48Spatrick	    fi
67209467b48Spatrick	fi
67309467b48Spatrick	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
67409467b48Spatrick	exit ;;
67509467b48Spatrick    ia64:HP-UX:*:*)
67609467b48Spatrick	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
67709467b48Spatrick	echo ia64-hp-hpux${HPUX_REV}
67809467b48Spatrick	exit ;;
67909467b48Spatrick    3050*:HI-UX:*:*)
68009467b48Spatrick	eval $set_cc_for_build
68109467b48Spatrick	sed 's/^	//' << EOF >$dummy.c
68209467b48Spatrick	#include <unistd.h>
68309467b48Spatrick	int
68409467b48Spatrick	main ()
68509467b48Spatrick	{
68609467b48Spatrick	  long cpu = sysconf (_SC_CPU_VERSION);
68709467b48Spatrick	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
68809467b48Spatrick	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
68909467b48Spatrick	     results, however.  */
69009467b48Spatrick	  if (CPU_IS_PA_RISC (cpu))
69109467b48Spatrick	    {
69209467b48Spatrick	      switch (cpu)
69309467b48Spatrick		{
69409467b48Spatrick		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
69509467b48Spatrick		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
69609467b48Spatrick		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
69709467b48Spatrick		  default: puts ("hppa-hitachi-hiuxwe2"); break;
69809467b48Spatrick		}
69909467b48Spatrick	    }
70009467b48Spatrick	  else if (CPU_IS_HP_MC68K (cpu))
70109467b48Spatrick	    puts ("m68k-hitachi-hiuxwe2");
70209467b48Spatrick	  else puts ("unknown-hitachi-hiuxwe2");
70309467b48Spatrick	  exit (0);
70409467b48Spatrick	}
70509467b48SpatrickEOF
70609467b48Spatrick	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
70709467b48Spatrick		{ echo "$SYSTEM_NAME"; exit; }
70809467b48Spatrick	echo unknown-hitachi-hiuxwe2
70909467b48Spatrick	exit ;;
71009467b48Spatrick    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
71109467b48Spatrick	echo hppa1.1-hp-bsd
71209467b48Spatrick	exit ;;
71309467b48Spatrick    9000/8??:4.3bsd:*:*)
71409467b48Spatrick	echo hppa1.0-hp-bsd
71509467b48Spatrick	exit ;;
71609467b48Spatrick    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
71709467b48Spatrick	echo hppa1.0-hp-mpeix
71809467b48Spatrick	exit ;;
71909467b48Spatrick    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
72009467b48Spatrick	echo hppa1.1-hp-osf
72109467b48Spatrick	exit ;;
72209467b48Spatrick    hp8??:OSF1:*:*)
72309467b48Spatrick	echo hppa1.0-hp-osf
72409467b48Spatrick	exit ;;
72509467b48Spatrick    i*86:OSF1:*:*)
72609467b48Spatrick	if [ -x /usr/sbin/sysversion ] ; then
72709467b48Spatrick	    echo ${UNAME_MACHINE}-unknown-osf1mk
72809467b48Spatrick	else
72909467b48Spatrick	    echo ${UNAME_MACHINE}-unknown-osf1
73009467b48Spatrick	fi
73109467b48Spatrick	exit ;;
73209467b48Spatrick    parisc*:Lites*:*:*)
73309467b48Spatrick	echo hppa1.1-hp-lites
73409467b48Spatrick	exit ;;
73509467b48Spatrick    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
73609467b48Spatrick	echo c1-convex-bsd
73709467b48Spatrick	exit ;;
73809467b48Spatrick    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
73909467b48Spatrick	if getsysinfo -f scalar_acc
74009467b48Spatrick	then echo c32-convex-bsd
74109467b48Spatrick	else echo c2-convex-bsd
74209467b48Spatrick	fi
74309467b48Spatrick	exit ;;
74409467b48Spatrick    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
74509467b48Spatrick	echo c34-convex-bsd
74609467b48Spatrick	exit ;;
74709467b48Spatrick    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
74809467b48Spatrick	echo c38-convex-bsd
74909467b48Spatrick	exit ;;
75009467b48Spatrick    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
75109467b48Spatrick	echo c4-convex-bsd
75209467b48Spatrick	exit ;;
75309467b48Spatrick    CRAY*Y-MP:*:*:*)
75409467b48Spatrick	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
75509467b48Spatrick	exit ;;
75609467b48Spatrick    CRAY*[A-Z]90:*:*:*)
75709467b48Spatrick	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
75809467b48Spatrick	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
75909467b48Spatrick	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
76009467b48Spatrick	      -e 's/\.[^.]*$/.X/'
76109467b48Spatrick	exit ;;
76209467b48Spatrick    CRAY*TS:*:*:*)
76309467b48Spatrick	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
76409467b48Spatrick	exit ;;
76509467b48Spatrick    CRAY*T3E:*:*:*)
76609467b48Spatrick	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
76709467b48Spatrick	exit ;;
76809467b48Spatrick    CRAY*SV1:*:*:*)
76909467b48Spatrick	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
77009467b48Spatrick	exit ;;
77109467b48Spatrick    *:UNICOS/mp:*:*)
77209467b48Spatrick	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
77309467b48Spatrick	exit ;;
77409467b48Spatrick    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
77509467b48Spatrick	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
77609467b48Spatrick	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
77709467b48Spatrick	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
77809467b48Spatrick	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
77909467b48Spatrick	exit ;;
78009467b48Spatrick    5000:UNIX_System_V:4.*:*)
78109467b48Spatrick	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
78209467b48Spatrick	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
78309467b48Spatrick	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
78409467b48Spatrick	exit ;;
78509467b48Spatrick    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
78609467b48Spatrick	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
78709467b48Spatrick	exit ;;
78809467b48Spatrick    sparc*:BSD/OS:*:*)
78909467b48Spatrick	echo sparc-unknown-bsdi${UNAME_RELEASE}
79009467b48Spatrick	exit ;;
79109467b48Spatrick    *:BSD/OS:*:*)
79209467b48Spatrick	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
79309467b48Spatrick	exit ;;
79409467b48Spatrick    *:FreeBSD:*:*)
79509467b48Spatrick	UNAME_PROCESSOR=`/usr/bin/uname -p`
79609467b48Spatrick	case ${UNAME_PROCESSOR} in
79709467b48Spatrick	    amd64)
79809467b48Spatrick		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
79909467b48Spatrick	    *)
80009467b48Spatrick		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
80109467b48Spatrick	esac
80209467b48Spatrick	exit ;;
80309467b48Spatrick    i*:CYGWIN*:*)
80409467b48Spatrick	echo ${UNAME_MACHINE}-pc-cygwin
80509467b48Spatrick	exit ;;
80609467b48Spatrick    *:MINGW*:*)
80709467b48Spatrick	echo ${UNAME_MACHINE}-pc-mingw32
80809467b48Spatrick	exit ;;
80909467b48Spatrick    *:MSYS*:*)
81009467b48Spatrick	echo ${UNAME_MACHINE}-pc-msys
81109467b48Spatrick	exit ;;
81209467b48Spatrick    i*:windows32*:*)
81309467b48Spatrick	# uname -m includes "-pc" on this system.
81409467b48Spatrick	echo ${UNAME_MACHINE}-mingw32
81509467b48Spatrick	exit ;;
81609467b48Spatrick    i*:PW*:*)
81709467b48Spatrick	echo ${UNAME_MACHINE}-pc-pw32
81809467b48Spatrick	exit ;;
81909467b48Spatrick    *:Interix*:*)
82009467b48Spatrick	case ${UNAME_MACHINE} in
82109467b48Spatrick	    x86)
82209467b48Spatrick		echo i586-pc-interix${UNAME_RELEASE}
82309467b48Spatrick		exit ;;
82409467b48Spatrick	    authenticamd | genuineintel | EM64T)
82509467b48Spatrick		echo x86_64-unknown-interix${UNAME_RELEASE}
82609467b48Spatrick		exit ;;
82709467b48Spatrick	    IA64)
82809467b48Spatrick		echo ia64-unknown-interix${UNAME_RELEASE}
82909467b48Spatrick		exit ;;
83009467b48Spatrick	esac ;;
83109467b48Spatrick    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
83209467b48Spatrick	echo i${UNAME_MACHINE}-pc-mks
83309467b48Spatrick	exit ;;
83409467b48Spatrick    8664:Windows_NT:*)
83509467b48Spatrick	echo x86_64-pc-mks
83609467b48Spatrick	exit ;;
83709467b48Spatrick    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
83809467b48Spatrick	# How do we know it's Interix rather than the generic POSIX subsystem?
83909467b48Spatrick	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
84009467b48Spatrick	# UNAME_MACHINE based on the output of uname instead of i386?
84109467b48Spatrick	echo i586-pc-interix
84209467b48Spatrick	exit ;;
84309467b48Spatrick    i*:UWIN*:*)
84409467b48Spatrick	echo ${UNAME_MACHINE}-pc-uwin
84509467b48Spatrick	exit ;;
84609467b48Spatrick    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
84709467b48Spatrick	echo x86_64-unknown-cygwin
84809467b48Spatrick	exit ;;
84909467b48Spatrick    p*:CYGWIN*:*)
85009467b48Spatrick	echo powerpcle-unknown-cygwin
85109467b48Spatrick	exit ;;
85209467b48Spatrick    prep*:SunOS:5.*:*)
85309467b48Spatrick	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
85409467b48Spatrick	exit ;;
85509467b48Spatrick    *:GNU:*:*)
85609467b48Spatrick	# the GNU system
85709467b48Spatrick	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
85809467b48Spatrick	exit ;;
85909467b48Spatrick    *:GNU/*:*:*)
86009467b48Spatrick	# other systems with GNU libc and userland
86109467b48Spatrick	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
86209467b48Spatrick	exit ;;
86309467b48Spatrick    i*86:Minix:*:*)
86409467b48Spatrick	echo ${UNAME_MACHINE}-pc-minix
86509467b48Spatrick	exit ;;
86609467b48Spatrick    aarch64*:Linux:*)
86709467b48Spatrick	    echo ${UNAME_MACHINE}-unknown-linux-gnu
86809467b48Spatrick	exit ;;
86909467b48Spatrick    alpha:Linux:*:*)
87009467b48Spatrick	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
87109467b48Spatrick	  EV5)   UNAME_MACHINE=alphaev5 ;;
87209467b48Spatrick	  EV56)  UNAME_MACHINE=alphaev56 ;;
87309467b48Spatrick	  PCA56) UNAME_MACHINE=alphapca56 ;;
87409467b48Spatrick	  PCA57) UNAME_MACHINE=alphapca56 ;;
87509467b48Spatrick	  EV6)   UNAME_MACHINE=alphaev6 ;;
87609467b48Spatrick	  EV67)  UNAME_MACHINE=alphaev67 ;;
87709467b48Spatrick	  EV68*) UNAME_MACHINE=alphaev68 ;;
87809467b48Spatrick	esac
87909467b48Spatrick	objdump --private-headers /bin/sh | grep -q ld.so.1
88009467b48Spatrick	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
88109467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
88209467b48Spatrick	exit ;;
88309467b48Spatrick    arm*:Linux:*:*)
88409467b48Spatrick	eval $set_cc_for_build
88509467b48Spatrick	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
88609467b48Spatrick	    | grep -q __ARM_EABI__
88709467b48Spatrick	then
88809467b48Spatrick	    echo ${UNAME_MACHINE}-unknown-linux-gnu
88909467b48Spatrick	else
89009467b48Spatrick	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
89109467b48Spatrick		| grep -q __ARM_PCS_VFP
89209467b48Spatrick	    then
89309467b48Spatrick		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
89409467b48Spatrick	    else
89509467b48Spatrick		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
89609467b48Spatrick	    fi
89709467b48Spatrick	fi
89809467b48Spatrick	exit ;;
89909467b48Spatrick    avr32*:Linux:*:*)
90009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
90109467b48Spatrick	exit ;;
90209467b48Spatrick    cris:Linux:*:*)
90309467b48Spatrick	echo cris-axis-linux-gnu
90409467b48Spatrick	exit ;;
90509467b48Spatrick    crisv32:Linux:*:*)
90609467b48Spatrick	echo crisv32-axis-linux-gnu
90709467b48Spatrick	exit ;;
90809467b48Spatrick    frv:Linux:*:*)
90909467b48Spatrick	echo frv-unknown-linux-gnu
91009467b48Spatrick	exit ;;
91109467b48Spatrick    i*86:Linux:*:*)
91209467b48Spatrick	LIBC=gnu
91309467b48Spatrick	eval $set_cc_for_build
91409467b48Spatrick	sed 's/^	//' << EOF >$dummy.c
91509467b48Spatrick	#ifdef __dietlibc__
91609467b48Spatrick	LIBC=dietlibc
91709467b48Spatrick	#endif
91809467b48SpatrickEOF
91909467b48Spatrick	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
92009467b48Spatrick	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
92109467b48Spatrick	exit ;;
92209467b48Spatrick    ia64:Linux:*:*)
92309467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
92409467b48Spatrick	exit ;;
925*d415bd75Srobert    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
926*d415bd75Srobert	LIBC=gnu
927*d415bd75Srobert	eval $set_cc_for_build
928*d415bd75Srobert	# Do not check for __GLIBC__ because uclibc defines it too
929*d415bd75Srobert	sed 's/^	//' << EOF >$dummy.c
930*d415bd75Srobert	#include <features.h>
931*d415bd75Srobert	#if defined(__UCLIBC__)
932*d415bd75Srobert	LIBC=uclibc
933*d415bd75Srobert	#elif defined(__dietlibc__)
934*d415bd75Srobert	LIBC=dietlibc
935*d415bd75Srobert	#endif
936*d415bd75SrobertEOF
937*d415bd75Srobert	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
938*d415bd75Srobert
939*d415bd75Srobert	# There is no features test macro for musl
940*d415bd75Srobert	# Follow the GNU's config.guess approach of
941*d415bd75Srobert	# checking the output of ldd
942*d415bd75Srobert	if command -v ldd >/dev/null && \
943*d415bd75Srobert		ldd --version 2>&1 | grep -q ^musl; then
944*d415bd75Srobert	    LIBC=musl
945*d415bd75Srobert	fi
946*d415bd75Srobert
947*d415bd75Srobert	echo "${UNAME_MACHINE}-unknown-linux-${LIBC}"
948*d415bd75Srobert	exit ;;
94909467b48Spatrick    m32r*:Linux:*:*)
95009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
95109467b48Spatrick	exit ;;
95209467b48Spatrick    m68*:Linux:*:*)
95309467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
95409467b48Spatrick	exit ;;
95509467b48Spatrick    mips:Linux:*:* | mips64:Linux:*:*)
95609467b48Spatrick	eval $set_cc_for_build
95709467b48Spatrick	sed 's/^	//' << EOF >$dummy.c
95809467b48Spatrick	#undef CPU
95909467b48Spatrick	#undef ${UNAME_MACHINE}
96009467b48Spatrick	#undef ${UNAME_MACHINE}el
96109467b48Spatrick	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
96209467b48Spatrick	CPU=${UNAME_MACHINE}el
96309467b48Spatrick	#else
96409467b48Spatrick	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
96509467b48Spatrick	CPU=${UNAME_MACHINE}
96609467b48Spatrick	#else
96709467b48Spatrick	CPU=
96809467b48Spatrick	#endif
96909467b48Spatrick	#endif
97009467b48SpatrickEOF
97109467b48Spatrick	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
97209467b48Spatrick	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
97309467b48Spatrick	;;
97409467b48Spatrick    or32:Linux:*:*)
97509467b48Spatrick	echo or32-unknown-linux-gnu
97609467b48Spatrick	exit ;;
97709467b48Spatrick    padre:Linux:*:*)
97809467b48Spatrick	echo sparc-unknown-linux-gnu
97909467b48Spatrick	exit ;;
98009467b48Spatrick    parisc64:Linux:*:* | hppa64:Linux:*:*)
98109467b48Spatrick	echo hppa64-unknown-linux-gnu
98209467b48Spatrick	exit ;;
98309467b48Spatrick    parisc:Linux:*:* | hppa:Linux:*:*)
98409467b48Spatrick	# Look for CPU level
98509467b48Spatrick	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
98609467b48Spatrick	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
98709467b48Spatrick	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
98809467b48Spatrick	  *)    echo hppa-unknown-linux-gnu ;;
98909467b48Spatrick	esac
99009467b48Spatrick	exit ;;
99109467b48Spatrick    ppc64:Linux:*:*)
99209467b48Spatrick	echo powerpc64-unknown-linux-gnu
99309467b48Spatrick	exit ;;
99409467b48Spatrick    ppc64le:Linux:*:*)
99509467b48Spatrick	echo powerpc64le-unknown-linux-gnu
99609467b48Spatrick	exit ;;
99709467b48Spatrick    ppc:Linux:*:*)
99809467b48Spatrick	echo powerpc-unknown-linux-gnu
99909467b48Spatrick	exit ;;
100073471bf0Spatrick    ppcle:Linux:*:*)
100173471bf0Spatrick	echo powerpcle-unknown-linux-gnu
100273471bf0Spatrick	exit ;;
1003097a140dSpatrick    riscv32:Linux:*:* | riscv64:Linux:*:*)
1004097a140dSpatrick	LIBC=gnu
1005097a140dSpatrick	eval $set_cc_for_build
1006097a140dSpatrick	# Do not check for __GLIBC__ because uclibc defines it too
1007097a140dSpatrick	sed 's/^	//' << EOF >$dummy.c
1008097a140dSpatrick	#include <features.h>
1009097a140dSpatrick	#if defined(__UCLIBC__)
1010097a140dSpatrick	LIBC=uclibc
1011097a140dSpatrick	#elif defined(__dietlibc__)
1012097a140dSpatrick	LIBC=dietlibc
1013097a140dSpatrick	#endif
1014097a140dSpatrickEOF
1015097a140dSpatrick	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
1016097a140dSpatrick
1017097a140dSpatrick	# There is no features test macro for musl
1018097a140dSpatrick	# Follow the GNU's config.guess approach of
1019097a140dSpatrick	# checking the output of ldd
1020097a140dSpatrick	if command -v ldd >/dev/null && \
1021097a140dSpatrick		ldd --version 2>&1 | grep -q ^musl; then
1022097a140dSpatrick	    LIBC=musl
1023097a140dSpatrick	fi
1024097a140dSpatrick
1025097a140dSpatrick	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1026097a140dSpatrick	exit ;;
102709467b48Spatrick    s390:Linux:*:* | s390x:Linux:*:*)
102809467b48Spatrick	echo ${UNAME_MACHINE}-ibm-linux
102909467b48Spatrick	exit ;;
103009467b48Spatrick    sh64*:Linux:*:*)
103109467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
103209467b48Spatrick	exit ;;
103309467b48Spatrick    sh*:Linux:*:*)
103409467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
103509467b48Spatrick	exit ;;
103609467b48Spatrick    sparc:Linux:*:* | sparc64:Linux:*:*)
103709467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
103809467b48Spatrick	exit ;;
103909467b48Spatrick    tile*:Linux:*:*)
104009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
104109467b48Spatrick	exit ;;
104209467b48Spatrick    vax:Linux:*:*)
104309467b48Spatrick	echo ${UNAME_MACHINE}-dec-linux-gnu
104409467b48Spatrick	exit ;;
104509467b48Spatrick    x86_64:Linux:*:*)
104609467b48Spatrick	echo x86_64-unknown-linux-gnu
104709467b48Spatrick	exit ;;
104809467b48Spatrick    xtensa*:Linux:*:*)
104909467b48Spatrick	echo ${UNAME_MACHINE}-unknown-linux-gnu
105009467b48Spatrick	exit ;;
105109467b48Spatrick    i*86:DYNIX/ptx:4*:*)
105209467b48Spatrick	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
105309467b48Spatrick	# earlier versions are messed up and put the nodename in both
105409467b48Spatrick	# sysname and nodename.
105509467b48Spatrick	echo i386-sequent-sysv4
105609467b48Spatrick	exit ;;
105709467b48Spatrick    i*86:UNIX_SV:4.2MP:2.*)
105809467b48Spatrick	# Unixware is an offshoot of SVR4, but it has its own version
105909467b48Spatrick	# number series starting with 2...
106009467b48Spatrick	# I am not positive that other SVR4 systems won't match this,
106109467b48Spatrick	# I just have to hope.  -- rms.
106209467b48Spatrick	# Use sysv4.2uw... so that sysv4* matches it.
106309467b48Spatrick	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
106409467b48Spatrick	exit ;;
106509467b48Spatrick    i*86:OS/2:*:*)
106609467b48Spatrick	# If we were able to find `uname', then EMX Unix compatibility
106709467b48Spatrick	# is probably installed.
106809467b48Spatrick	echo ${UNAME_MACHINE}-pc-os2-emx
106909467b48Spatrick	exit ;;
107009467b48Spatrick    i*86:XTS-300:*:STOP)
107109467b48Spatrick	echo ${UNAME_MACHINE}-unknown-stop
107209467b48Spatrick	exit ;;
107309467b48Spatrick    i*86:atheos:*:*)
107409467b48Spatrick	echo ${UNAME_MACHINE}-unknown-atheos
107509467b48Spatrick	exit ;;
107609467b48Spatrick    i*86:syllable:*:*)
107709467b48Spatrick	echo ${UNAME_MACHINE}-pc-syllable
107809467b48Spatrick	exit ;;
107909467b48Spatrick    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
108009467b48Spatrick	echo i386-unknown-lynxos${UNAME_RELEASE}
108109467b48Spatrick	exit ;;
108209467b48Spatrick    i*86:*DOS:*:*)
108309467b48Spatrick	echo ${UNAME_MACHINE}-pc-msdosdjgpp
108409467b48Spatrick	exit ;;
108509467b48Spatrick    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
108609467b48Spatrick	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
108709467b48Spatrick	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
108809467b48Spatrick		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
108909467b48Spatrick	else
109009467b48Spatrick		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
109109467b48Spatrick	fi
109209467b48Spatrick	exit ;;
109309467b48Spatrick    i*86:*:5:[678]*)
109409467b48Spatrick	# UnixWare 7.x, OpenUNIX and OpenServer 6.
109509467b48Spatrick	case `/bin/uname -X | grep "^Machine"` in
109609467b48Spatrick	    *486*)	     UNAME_MACHINE=i486 ;;
109709467b48Spatrick	    *Pentium)	     UNAME_MACHINE=i586 ;;
109809467b48Spatrick	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
109909467b48Spatrick	esac
110009467b48Spatrick	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
110109467b48Spatrick	exit ;;
110209467b48Spatrick    i*86:*:3.2:*)
110309467b48Spatrick	if test -f /usr/options/cb.name; then
110409467b48Spatrick		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
110509467b48Spatrick		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
110609467b48Spatrick	elif /bin/uname -X 2>/dev/null >/dev/null ; then
110709467b48Spatrick		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
110809467b48Spatrick		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
110909467b48Spatrick		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
111009467b48Spatrick			&& UNAME_MACHINE=i586
111109467b48Spatrick		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
111209467b48Spatrick			&& UNAME_MACHINE=i686
111309467b48Spatrick		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
111409467b48Spatrick			&& UNAME_MACHINE=i686
111509467b48Spatrick		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
111609467b48Spatrick	else
111709467b48Spatrick		echo ${UNAME_MACHINE}-pc-sysv32
111809467b48Spatrick	fi
111909467b48Spatrick	exit ;;
112009467b48Spatrick    pc:*:*:*)
112109467b48Spatrick	# Left here for compatibility:
112209467b48Spatrick	# uname -m prints for DJGPP always 'pc', but it prints nothing about
112309467b48Spatrick	# the processor, so we play safe by assuming i586.
112409467b48Spatrick	# Note: whatever this is, it MUST be the same as what config.sub
112509467b48Spatrick	# prints for the "djgpp" host, or else GDB configury will decide that
112609467b48Spatrick	# this is a cross-build.
112709467b48Spatrick	echo i586-pc-msdosdjgpp
112809467b48Spatrick	exit ;;
112909467b48Spatrick    Intel:Mach:3*:*)
113009467b48Spatrick	echo i386-pc-mach3
113109467b48Spatrick	exit ;;
113209467b48Spatrick    paragon:*:*:*)
113309467b48Spatrick	echo i860-intel-osf1
113409467b48Spatrick	exit ;;
113509467b48Spatrick    i860:*:4.*:*) # i860-SVR4
113609467b48Spatrick	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
113709467b48Spatrick	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
113809467b48Spatrick	else # Add other i860-SVR4 vendors below as they are discovered.
113909467b48Spatrick	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
114009467b48Spatrick	fi
114109467b48Spatrick	exit ;;
114209467b48Spatrick    mini*:CTIX:SYS*5:*)
114309467b48Spatrick	# "miniframe"
114409467b48Spatrick	echo m68010-convergent-sysv
114509467b48Spatrick	exit ;;
114609467b48Spatrick    mc68k:UNIX:SYSTEM5:3.51m)
114709467b48Spatrick	echo m68k-convergent-sysv
114809467b48Spatrick	exit ;;
114909467b48Spatrick    M680?0:D-NIX:5.3:*)
115009467b48Spatrick	echo m68k-diab-dnix
115109467b48Spatrick	exit ;;
115209467b48Spatrick    M68*:*:R3V[5678]*:*)
115309467b48Spatrick	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
115409467b48Spatrick    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)
115509467b48Spatrick	OS_REL=''
115609467b48Spatrick	test -r /etc/.relid \
115709467b48Spatrick	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
115809467b48Spatrick	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
115909467b48Spatrick	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
116009467b48Spatrick	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
116109467b48Spatrick	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
116209467b48Spatrick    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
116309467b48Spatrick	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
116409467b48Spatrick	  && { echo i486-ncr-sysv4; exit; } ;;
116509467b48Spatrick    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
116609467b48Spatrick	OS_REL='.3'
116709467b48Spatrick	test -r /etc/.relid \
116809467b48Spatrick	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
116909467b48Spatrick	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
117009467b48Spatrick	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
117109467b48Spatrick	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
117209467b48Spatrick	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
117309467b48Spatrick	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
117409467b48Spatrick	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
117509467b48Spatrick    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
117609467b48Spatrick	echo m68k-unknown-lynxos${UNAME_RELEASE}
117709467b48Spatrick	exit ;;
117809467b48Spatrick    mc68030:UNIX_System_V:4.*:*)
117909467b48Spatrick	echo m68k-atari-sysv4
118009467b48Spatrick	exit ;;
118109467b48Spatrick    TSUNAMI:LynxOS:2.*:*)
118209467b48Spatrick	echo sparc-unknown-lynxos${UNAME_RELEASE}
118309467b48Spatrick	exit ;;
118409467b48Spatrick    rs6000:LynxOS:2.*:*)
118509467b48Spatrick	echo rs6000-unknown-lynxos${UNAME_RELEASE}
118609467b48Spatrick	exit ;;
118709467b48Spatrick    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
118809467b48Spatrick	echo powerpc-unknown-lynxos${UNAME_RELEASE}
118909467b48Spatrick	exit ;;
119009467b48Spatrick    SM[BE]S:UNIX_SV:*:*)
119109467b48Spatrick	echo mips-dde-sysv${UNAME_RELEASE}
119209467b48Spatrick	exit ;;
119309467b48Spatrick    RM*:ReliantUNIX-*:*:*)
119409467b48Spatrick	echo mips-sni-sysv4
119509467b48Spatrick	exit ;;
119609467b48Spatrick    RM*:SINIX-*:*:*)
119709467b48Spatrick	echo mips-sni-sysv4
119809467b48Spatrick	exit ;;
119909467b48Spatrick    *:SINIX-*:*:*)
120009467b48Spatrick	if uname -p 2>/dev/null >/dev/null ; then
120109467b48Spatrick		UNAME_MACHINE=`(uname -p) 2>/dev/null`
120209467b48Spatrick		echo ${UNAME_MACHINE}-sni-sysv4
120309467b48Spatrick	else
120409467b48Spatrick		echo ns32k-sni-sysv
120509467b48Spatrick	fi
120609467b48Spatrick	exit ;;
120709467b48Spatrick    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
120809467b48Spatrick			# says <Richard.M.Bartel@ccMail.Census.GOV>
120909467b48Spatrick	echo i586-unisys-sysv4
121009467b48Spatrick	exit ;;
121109467b48Spatrick    *:UNIX_System_V:4*:FTX*)
121209467b48Spatrick	# From Gerald Hewes <hewes@openmarket.com>.
121309467b48Spatrick	# How about differentiating between stratus architectures? -djm
121409467b48Spatrick	echo hppa1.1-stratus-sysv4
121509467b48Spatrick	exit ;;
121609467b48Spatrick    *:*:*:FTX*)
121709467b48Spatrick	# From seanf@swdc.stratus.com.
121809467b48Spatrick	echo i860-stratus-sysv4
121909467b48Spatrick	exit ;;
122009467b48Spatrick    i*86:VOS:*:*)
122109467b48Spatrick	# From Paul.Green@stratus.com.
122209467b48Spatrick	echo ${UNAME_MACHINE}-stratus-vos
122309467b48Spatrick	exit ;;
122409467b48Spatrick    *:VOS:*:*)
122509467b48Spatrick	# From Paul.Green@stratus.com.
122609467b48Spatrick	echo hppa1.1-stratus-vos
122709467b48Spatrick	exit ;;
122809467b48Spatrick    mc68*:A/UX:*:*)
122909467b48Spatrick	echo m68k-apple-aux${UNAME_RELEASE}
123009467b48Spatrick	exit ;;
123109467b48Spatrick    news*:NEWS-OS:6*:*)
123209467b48Spatrick	echo mips-sony-newsos6
123309467b48Spatrick	exit ;;
123409467b48Spatrick    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
123509467b48Spatrick	if [ -d /usr/nec ]; then
123609467b48Spatrick		echo mips-nec-sysv${UNAME_RELEASE}
123709467b48Spatrick	else
123809467b48Spatrick		echo mips-unknown-sysv${UNAME_RELEASE}
123909467b48Spatrick	fi
124009467b48Spatrick	exit ;;
124109467b48Spatrick    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
124209467b48Spatrick	echo powerpc-be-beos
124309467b48Spatrick	exit ;;
124409467b48Spatrick    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
124509467b48Spatrick	echo powerpc-apple-beos
124609467b48Spatrick	exit ;;
124709467b48Spatrick    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
124809467b48Spatrick	echo i586-pc-beos
124909467b48Spatrick	exit ;;
125009467b48Spatrick    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
125109467b48Spatrick	echo i586-pc-haiku
125209467b48Spatrick	exit ;;
125309467b48Spatrick    x86_64:Haiku:*:*) # Haiku running on x86_64.
125409467b48Spatrick	echo x86_64-unknown-haiku
125509467b48Spatrick	exit ;;
125609467b48Spatrick    SX-4:SUPER-UX:*:*)
125709467b48Spatrick	echo sx4-nec-superux${UNAME_RELEASE}
125809467b48Spatrick	exit ;;
125909467b48Spatrick    SX-5:SUPER-UX:*:*)
126009467b48Spatrick	echo sx5-nec-superux${UNAME_RELEASE}
126109467b48Spatrick	exit ;;
126209467b48Spatrick    SX-6:SUPER-UX:*:*)
126309467b48Spatrick	echo sx6-nec-superux${UNAME_RELEASE}
126409467b48Spatrick	exit ;;
126509467b48Spatrick    SX-7:SUPER-UX:*:*)
126609467b48Spatrick	echo sx7-nec-superux${UNAME_RELEASE}
126709467b48Spatrick	exit ;;
126809467b48Spatrick    SX-8:SUPER-UX:*:*)
126909467b48Spatrick	echo sx8-nec-superux${UNAME_RELEASE}
127009467b48Spatrick	exit ;;
127109467b48Spatrick    SX-8R:SUPER-UX:*:*)
127209467b48Spatrick	echo sx8r-nec-superux${UNAME_RELEASE}
127309467b48Spatrick	exit ;;
127409467b48Spatrick    Power*:Rhapsody:*:*)
127509467b48Spatrick	echo powerpc-apple-rhapsody${UNAME_RELEASE}
127609467b48Spatrick	exit ;;
127709467b48Spatrick    *:Rhapsody:*:*)
127809467b48Spatrick	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
127909467b48Spatrick	exit ;;
128009467b48Spatrick    *:Darwin:*:*)
128109467b48Spatrick	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
128209467b48Spatrick	case $UNAME_PROCESSOR in
128309467b48Spatrick	    i386)
128409467b48Spatrick		eval $set_cc_for_build
128509467b48Spatrick		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
128609467b48Spatrick		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
128709467b48Spatrick		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
128809467b48Spatrick		      grep IS_64BIT_ARCH >/dev/null
128909467b48Spatrick		  then
129009467b48Spatrick		      UNAME_PROCESSOR="x86_64"
129109467b48Spatrick		  fi
129209467b48Spatrick		fi ;;
1293097a140dSpatrick		arm)
1294097a140dSpatrick		eval $set_cc_for_build
1295097a140dSpatrick		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1296097a140dSpatrick			if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1297097a140dSpatrick				(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1298097a140dSpatrick				grep IS_64BIT_ARCH >/dev/null
1299097a140dSpatrick			then
1300097a140dSpatrick				if (echo '#ifdef __PTRAUTH_INTRINSICS__'; echo HAS_AUTH; echo '#endif') | \
1301097a140dSpatrick					(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1302097a140dSpatrick					grep HAS_AUTH >/dev/null
1303097a140dSpatrick				then
1304097a140dSpatrick					UNAME_PROCESSOR="arm64e"
1305097a140dSpatrick				else
1306097a140dSpatrick					UNAME_PROCESSOR="arm64"
1307097a140dSpatrick				fi
1308097a140dSpatrick			fi
1309097a140dSpatrick		fi ;;
131009467b48Spatrick	    unknown) UNAME_PROCESSOR=powerpc ;;
131109467b48Spatrick	esac
131209467b48Spatrick	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
131309467b48Spatrick	exit ;;
131409467b48Spatrick    *:procnto*:*:* | *:QNX:[0123456789]*:*)
131509467b48Spatrick	UNAME_PROCESSOR=`uname -p`
131609467b48Spatrick	if test "$UNAME_PROCESSOR" = "x86"; then
131709467b48Spatrick		UNAME_PROCESSOR=i386
131809467b48Spatrick		UNAME_MACHINE=pc
131909467b48Spatrick	fi
132009467b48Spatrick	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
132109467b48Spatrick	exit ;;
132209467b48Spatrick    *:QNX:*:4*)
132309467b48Spatrick	echo i386-pc-qnx
132409467b48Spatrick	exit ;;
132509467b48Spatrick    NEO-?:NONSTOP_KERNEL:*:*)
132609467b48Spatrick	echo neo-tandem-nsk${UNAME_RELEASE}
132709467b48Spatrick	exit ;;
132809467b48Spatrick    NSE-?:NONSTOP_KERNEL:*:*)
132909467b48Spatrick	echo nse-tandem-nsk${UNAME_RELEASE}
133009467b48Spatrick	exit ;;
133109467b48Spatrick    NSR-?:NONSTOP_KERNEL:*:*)
133209467b48Spatrick	echo nsr-tandem-nsk${UNAME_RELEASE}
133309467b48Spatrick	exit ;;
133409467b48Spatrick    *:NonStop-UX:*:*)
133509467b48Spatrick	echo mips-compaq-nonstopux
133609467b48Spatrick	exit ;;
133709467b48Spatrick    BS2000:POSIX*:*:*)
133809467b48Spatrick	echo bs2000-siemens-sysv
133909467b48Spatrick	exit ;;
134009467b48Spatrick    DS/*:UNIX_System_V:*:*)
134109467b48Spatrick	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
134209467b48Spatrick	exit ;;
134309467b48Spatrick    *:Plan9:*:*)
134409467b48Spatrick	# "uname -m" is not consistent, so use $cputype instead. 386
134509467b48Spatrick	# is converted to i386 for consistency with other x86
134609467b48Spatrick	# operating systems.
134709467b48Spatrick	if test "$cputype" = "386"; then
134809467b48Spatrick	    UNAME_MACHINE=i386
134909467b48Spatrick	else
135009467b48Spatrick	    UNAME_MACHINE="$cputype"
135109467b48Spatrick	fi
135209467b48Spatrick	echo ${UNAME_MACHINE}-unknown-plan9
135309467b48Spatrick	exit ;;
135409467b48Spatrick    *:TOPS-10:*:*)
135509467b48Spatrick	echo pdp10-unknown-tops10
135609467b48Spatrick	exit ;;
135709467b48Spatrick    *:TENEX:*:*)
135809467b48Spatrick	echo pdp10-unknown-tenex
135909467b48Spatrick	exit ;;
136009467b48Spatrick    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
136109467b48Spatrick	echo pdp10-dec-tops20
136209467b48Spatrick	exit ;;
136309467b48Spatrick    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
136409467b48Spatrick	echo pdp10-xkl-tops20
136509467b48Spatrick	exit ;;
136609467b48Spatrick    *:TOPS-20:*:*)
136709467b48Spatrick	echo pdp10-unknown-tops20
136809467b48Spatrick	exit ;;
136909467b48Spatrick    *:ITS:*:*)
137009467b48Spatrick	echo pdp10-unknown-its
137109467b48Spatrick	exit ;;
137209467b48Spatrick    SEI:*:*:SEIUX)
137309467b48Spatrick	echo mips-sei-seiux${UNAME_RELEASE}
137409467b48Spatrick	exit ;;
137509467b48Spatrick    *:DragonFly:*:*)
137609467b48Spatrick	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
137709467b48Spatrick	exit ;;
137809467b48Spatrick    *:*VMS:*:*)
137909467b48Spatrick	UNAME_MACHINE=`(uname -p) 2>/dev/null`
138009467b48Spatrick	case "${UNAME_MACHINE}" in
138109467b48Spatrick	    A*) echo alpha-dec-vms ; exit ;;
138209467b48Spatrick	    I*) echo ia64-dec-vms ; exit ;;
138309467b48Spatrick	    V*) echo vax-dec-vms ; exit ;;
138409467b48Spatrick	esac ;;
138509467b48Spatrick    *:XENIX:*:SysV)
138609467b48Spatrick	echo i386-pc-xenix
138709467b48Spatrick	exit ;;
138809467b48Spatrick    i*86:skyos:*:*)
138909467b48Spatrick	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
139009467b48Spatrick	exit ;;
139109467b48Spatrick    i*86:rdos:*:*)
139209467b48Spatrick	echo ${UNAME_MACHINE}-pc-rdos
139309467b48Spatrick	exit ;;
139409467b48Spatrick    i*86:AROS:*:*)
139509467b48Spatrick	echo ${UNAME_MACHINE}-pc-aros
139609467b48Spatrick	exit ;;
139709467b48Spatrickesac
139809467b48Spatrick
139909467b48Spatrick#echo '(No uname command or uname output not recognized.)' 1>&2
140009467b48Spatrick#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
140109467b48Spatrick
140209467b48Spatrickeval $set_cc_for_build
140309467b48Spatrickcat >$dummy.c <<EOF
140409467b48Spatrick#ifdef _SEQUENT_
140509467b48Spatrick# include <sys/types.h>
140609467b48Spatrick# include <sys/utsname.h>
140709467b48Spatrick#endif
140809467b48Spatrickmain ()
140909467b48Spatrick{
141009467b48Spatrick#if defined (sony)
141109467b48Spatrick#if defined (MIPSEB)
141209467b48Spatrick  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
141309467b48Spatrick     I don't know....  */
141409467b48Spatrick  printf ("mips-sony-bsd\n"); exit (0);
141509467b48Spatrick#else
141609467b48Spatrick#include <sys/param.h>
141709467b48Spatrick  printf ("m68k-sony-newsos%s\n",
141809467b48Spatrick#ifdef NEWSOS4
141909467b48Spatrick	"4"
142009467b48Spatrick#else
142109467b48Spatrick	""
142209467b48Spatrick#endif
142309467b48Spatrick	); exit (0);
142409467b48Spatrick#endif
142509467b48Spatrick#endif
142609467b48Spatrick
142709467b48Spatrick#if defined (__arm) && defined (__acorn) && defined (__unix)
142809467b48Spatrick  printf ("arm-acorn-riscix\n"); exit (0);
142909467b48Spatrick#endif
143009467b48Spatrick
143109467b48Spatrick#if defined (hp300) && !defined (hpux)
143209467b48Spatrick  printf ("m68k-hp-bsd\n"); exit (0);
143309467b48Spatrick#endif
143409467b48Spatrick
143509467b48Spatrick#if defined (NeXT)
143609467b48Spatrick#if !defined (__ARCHITECTURE__)
143709467b48Spatrick#define __ARCHITECTURE__ "m68k"
143809467b48Spatrick#endif
143909467b48Spatrick  int version;
144009467b48Spatrick  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
144109467b48Spatrick  if (version < 4)
144209467b48Spatrick    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
144309467b48Spatrick  else
144409467b48Spatrick    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
144509467b48Spatrick  exit (0);
144609467b48Spatrick#endif
144709467b48Spatrick
144809467b48Spatrick#if defined (MULTIMAX) || defined (n16)
144909467b48Spatrick#if defined (UMAXV)
145009467b48Spatrick  printf ("ns32k-encore-sysv\n"); exit (0);
145109467b48Spatrick#else
145209467b48Spatrick#if defined (CMU)
145309467b48Spatrick  printf ("ns32k-encore-mach\n"); exit (0);
145409467b48Spatrick#else
145509467b48Spatrick  printf ("ns32k-encore-bsd\n"); exit (0);
145609467b48Spatrick#endif
145709467b48Spatrick#endif
145809467b48Spatrick#endif
145909467b48Spatrick
146009467b48Spatrick#if defined (__386BSD__)
146109467b48Spatrick  printf ("i386-pc-bsd\n"); exit (0);
146209467b48Spatrick#endif
146309467b48Spatrick
146409467b48Spatrick#if defined (sequent)
146509467b48Spatrick#if defined (i386)
146609467b48Spatrick  printf ("i386-sequent-dynix\n"); exit (0);
146709467b48Spatrick#endif
146809467b48Spatrick#if defined (ns32000)
146909467b48Spatrick  printf ("ns32k-sequent-dynix\n"); exit (0);
147009467b48Spatrick#endif
147109467b48Spatrick#endif
147209467b48Spatrick
147309467b48Spatrick#if defined (_SEQUENT_)
147409467b48Spatrick    struct utsname un;
147509467b48Spatrick
147609467b48Spatrick    uname(&un);
147709467b48Spatrick
147809467b48Spatrick    if (strncmp(un.version, "V2", 2) == 0) {
147909467b48Spatrick	printf ("i386-sequent-ptx2\n"); exit (0);
148009467b48Spatrick    }
148109467b48Spatrick    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
148209467b48Spatrick	printf ("i386-sequent-ptx1\n"); exit (0);
148309467b48Spatrick    }
148409467b48Spatrick    printf ("i386-sequent-ptx\n"); exit (0);
148509467b48Spatrick
148609467b48Spatrick#endif
148709467b48Spatrick
148809467b48Spatrick#if defined (vax)
148909467b48Spatrick# if !defined (ultrix)
149009467b48Spatrick#  include <sys/param.h>
149109467b48Spatrick#  if defined (BSD)
149209467b48Spatrick#   if BSD == 43
149309467b48Spatrick      printf ("vax-dec-bsd4.3\n"); exit (0);
149409467b48Spatrick#   else
149509467b48Spatrick#    if BSD == 199006
149609467b48Spatrick      printf ("vax-dec-bsd4.3reno\n"); exit (0);
149709467b48Spatrick#    else
149809467b48Spatrick      printf ("vax-dec-bsd\n"); exit (0);
149909467b48Spatrick#    endif
150009467b48Spatrick#   endif
150109467b48Spatrick#  else
150209467b48Spatrick    printf ("vax-dec-bsd\n"); exit (0);
150309467b48Spatrick#  endif
150409467b48Spatrick# else
150509467b48Spatrick    printf ("vax-dec-ultrix\n"); exit (0);
150609467b48Spatrick# endif
150709467b48Spatrick#endif
150809467b48Spatrick
150909467b48Spatrick#if defined (alliant) && defined (i860)
151009467b48Spatrick  printf ("i860-alliant-bsd\n"); exit (0);
151109467b48Spatrick#endif
151209467b48Spatrick
151309467b48Spatrick  exit (1);
151409467b48Spatrick}
151509467b48SpatrickEOF
151609467b48Spatrick
151709467b48Spatrick$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
151809467b48Spatrick	{ echo "$SYSTEM_NAME"; exit; }
151909467b48Spatrick
152009467b48Spatrick# Apollos put the system type in the environment.
152109467b48Spatrick
152209467b48Spatricktest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
152309467b48Spatrick
152409467b48Spatrick# Convex versions that predate uname can use getsysinfo(1)
152509467b48Spatrick
152609467b48Spatrickif [ -x /usr/convex/getsysinfo ]
152709467b48Spatrickthen
152809467b48Spatrick    case `getsysinfo -f cpu_type` in
152909467b48Spatrick    c1*)
153009467b48Spatrick	echo c1-convex-bsd
153109467b48Spatrick	exit ;;
153209467b48Spatrick    c2*)
153309467b48Spatrick	if getsysinfo -f scalar_acc
153409467b48Spatrick	then echo c32-convex-bsd
153509467b48Spatrick	else echo c2-convex-bsd
153609467b48Spatrick	fi
153709467b48Spatrick	exit ;;
153809467b48Spatrick    c34*)
153909467b48Spatrick	echo c34-convex-bsd
154009467b48Spatrick	exit ;;
154109467b48Spatrick    c38*)
154209467b48Spatrick	echo c38-convex-bsd
154309467b48Spatrick	exit ;;
154409467b48Spatrick    c4*)
154509467b48Spatrick	echo c4-convex-bsd
154609467b48Spatrick	exit ;;
154709467b48Spatrick    esac
154809467b48Spatrickfi
154909467b48Spatrick
155009467b48Spatrickcat >&2 <<EOF
155109467b48Spatrick$0: unable to guess system type
155209467b48Spatrick
155309467b48SpatrickThis script, last modified $timestamp, has failed to recognize
155409467b48Spatrickthe operating system you are using. It is advised that you
155509467b48Spatrickdownload the most up to date version of the config scripts from
155609467b48Spatrick
155709467b48Spatrick  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
155809467b48Spatrickand
155909467b48Spatrick  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
156009467b48Spatrick
156109467b48SpatrickIf the version you run ($0) is already up to date, please
156209467b48Spatricksend the following data and any information you think might be
156309467b48Spatrickpertinent to <config-patches@gnu.org> in order to provide the needed
156409467b48Spatrickinformation to handle your system.
156509467b48Spatrick
156609467b48Spatrickconfig.guess timestamp = $timestamp
156709467b48Spatrick
156809467b48Spatrickuname -m = `(uname -m) 2>/dev/null || echo unknown`
156909467b48Spatrickuname -r = `(uname -r) 2>/dev/null || echo unknown`
157009467b48Spatrickuname -s = `(uname -s) 2>/dev/null || echo unknown`
157109467b48Spatrickuname -v = `(uname -v) 2>/dev/null || echo unknown`
157209467b48Spatrick
157309467b48Spatrick/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
157409467b48Spatrick/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
157509467b48Spatrick
157609467b48Spatrickhostinfo               = `(hostinfo) 2>/dev/null`
157709467b48Spatrick/bin/universe          = `(/bin/universe) 2>/dev/null`
157809467b48Spatrick/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
157909467b48Spatrick/bin/arch              = `(/bin/arch) 2>/dev/null`
158009467b48Spatrick/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
158109467b48Spatrick/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
158209467b48Spatrick
158309467b48SpatrickUNAME_MACHINE = ${UNAME_MACHINE}
158409467b48SpatrickUNAME_RELEASE = ${UNAME_RELEASE}
158509467b48SpatrickUNAME_SYSTEM  = ${UNAME_SYSTEM}
158609467b48SpatrickUNAME_VERSION = ${UNAME_VERSION}
158709467b48SpatrickEOF
158809467b48Spatrick
158909467b48Spatrickexit 1
159009467b48Spatrick
159109467b48Spatrick# Local variables:
159209467b48Spatrick# eval: (add-hook 'write-file-hooks 'time-stamp)
159309467b48Spatrick# time-stamp-start: "timestamp='"
159409467b48Spatrick# time-stamp-format: "%:y-%02m-%02d"
159509467b48Spatrick# time-stamp-end: "'"
159609467b48Spatrick# End:
1597