config.guess revision d7accfef
197e8a2e8Smrg#! /bin/sh
297e8a2e8Smrg# Attempt to guess a canonical system name.
397e8a2e8Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4d7accfefSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5d7accfefSmrg#   Free Software Foundation, Inc.
697e8a2e8Smrg
7d7accfefSmrgtimestamp='2009-04-27'
897e8a2e8Smrg
997e8a2e8Smrg# This file is free software; you can redistribute it and/or modify it
1097e8a2e8Smrg# under the terms of the GNU General Public License as published by
1197e8a2e8Smrg# the Free Software Foundation; either version 2 of the License, or
1297e8a2e8Smrg# (at your option) any later version.
1397e8a2e8Smrg#
1497e8a2e8Smrg# This program is distributed in the hope that it will be useful, but
1597e8a2e8Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1697e8a2e8Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1797e8a2e8Smrg# General Public License for more details.
1897e8a2e8Smrg#
1997e8a2e8Smrg# You should have received a copy of the GNU General Public License
2097e8a2e8Smrg# along with this program; if not, write to the Free Software
21d7accfefSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22d7accfefSmrg# 02110-1301, USA.
2397e8a2e8Smrg#
2497e8a2e8Smrg# As a special exception to the GNU General Public License, if you
2597e8a2e8Smrg# distribute this file as part of a program that contains a
2697e8a2e8Smrg# configuration script generated by Autoconf, you may include it under
2797e8a2e8Smrg# the same distribution terms that you use for the rest of that program.
2897e8a2e8Smrg
29d7accfefSmrg
3097e8a2e8Smrg# Originally written by Per Bothner <per@bothner.com>.
3197e8a2e8Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3297e8a2e8Smrg# diff and a properly formatted ChangeLog entry.
3397e8a2e8Smrg#
3497e8a2e8Smrg# This script attempts to guess a canonical system name similar to
3597e8a2e8Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
3697e8a2e8Smrg# exits with 0.  Otherwise, it exits with 1.
3797e8a2e8Smrg#
3897e8a2e8Smrg# The plan is that this can be called by configure scripts if you
3997e8a2e8Smrg# don't specify an explicit build system type.
4097e8a2e8Smrg
4197e8a2e8Smrgme=`echo "$0" | sed -e 's,.*/,,'`
4297e8a2e8Smrg
4397e8a2e8Smrgusage="\
4497e8a2e8SmrgUsage: $0 [OPTION]
4597e8a2e8Smrg
4697e8a2e8SmrgOutput the configuration name of the system \`$me' is run on.
4797e8a2e8Smrg
4897e8a2e8SmrgOperation modes:
4997e8a2e8Smrg  -h, --help         print this help, then exit
5097e8a2e8Smrg  -t, --time-stamp   print date of last modification, then exit
5197e8a2e8Smrg  -v, --version      print version number, then exit
5297e8a2e8Smrg
5397e8a2e8SmrgReport bugs and patches to <config-patches@gnu.org>."
5497e8a2e8Smrg
5597e8a2e8Smrgversion="\
5697e8a2e8SmrgGNU config.guess ($timestamp)
5797e8a2e8Smrg
5897e8a2e8SmrgOriginally written by Per Bothner.
59d7accfefSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60d7accfefSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
6197e8a2e8Smrg
6297e8a2e8SmrgThis is free software; see the source for copying conditions.  There is NO
6397e8a2e8Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6497e8a2e8Smrg
6597e8a2e8Smrghelp="
6697e8a2e8SmrgTry \`$me --help' for more information."
6797e8a2e8Smrg
6897e8a2e8Smrg# Parse command line
6997e8a2e8Smrgwhile test $# -gt 0 ; do
7097e8a2e8Smrg  case $1 in
7197e8a2e8Smrg    --time-stamp | --time* | -t )
72d7accfefSmrg       echo "$timestamp" ; exit ;;
7397e8a2e8Smrg    --version | -v )
74d7accfefSmrg       echo "$version" ; exit ;;
7597e8a2e8Smrg    --help | --h* | -h )
76d7accfefSmrg       echo "$usage"; exit ;;
7797e8a2e8Smrg    -- )     # Stop option processing
7897e8a2e8Smrg       shift; break ;;
7997e8a2e8Smrg    - )	# Use stdin as input.
8097e8a2e8Smrg       break ;;
8197e8a2e8Smrg    -* )
8297e8a2e8Smrg       echo "$me: invalid option $1$help" >&2
8397e8a2e8Smrg       exit 1 ;;
8497e8a2e8Smrg    * )
8597e8a2e8Smrg       break ;;
8697e8a2e8Smrg  esac
8797e8a2e8Smrgdone
8897e8a2e8Smrg
8997e8a2e8Smrgif test $# != 0; then
9097e8a2e8Smrg  echo "$me: too many arguments$help" >&2
9197e8a2e8Smrg  exit 1
9297e8a2e8Smrgfi
9397e8a2e8Smrg
9497e8a2e8Smrgtrap 'exit 1' 1 2 15
9597e8a2e8Smrg
9697e8a2e8Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
9797e8a2e8Smrg# compiler to aid in system detection is discouraged as it requires
9897e8a2e8Smrg# temporary files to be created and, as you can see below, it is a
9997e8a2e8Smrg# headache to deal with in a portable fashion.
10097e8a2e8Smrg
10197e8a2e8Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10297e8a2e8Smrg# use `HOST_CC' if defined, but it is deprecated.
10397e8a2e8Smrg
10497e8a2e8Smrg# Portable tmp directory creation inspired by the Autoconf team.
10597e8a2e8Smrg
10697e8a2e8Smrgset_cc_for_build='
10797e8a2e8Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
10897e8a2e8Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
10997e8a2e8Smrg: ${TMPDIR=/tmp} ;
110d7accfefSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
11197e8a2e8Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
11297e8a2e8Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
11397e8a2e8Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
11497e8a2e8Smrgdummy=$tmp/dummy ;
11597e8a2e8Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
11697e8a2e8Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
11797e8a2e8Smrg ,,)    echo "int x;" > $dummy.c ;
11897e8a2e8Smrg	for c in cc gcc c89 c99 ; do
11997e8a2e8Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
12097e8a2e8Smrg	     CC_FOR_BUILD="$c"; break ;
12197e8a2e8Smrg	  fi ;
12297e8a2e8Smrg	done ;
12397e8a2e8Smrg	if test x"$CC_FOR_BUILD" = x ; then
12497e8a2e8Smrg	  CC_FOR_BUILD=no_compiler_found ;
12597e8a2e8Smrg	fi
12697e8a2e8Smrg	;;
12797e8a2e8Smrg ,,*)   CC_FOR_BUILD=$CC ;;
12897e8a2e8Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129d7accfefSmrgesac ; set_cc_for_build= ;'
13097e8a2e8Smrg
13197e8a2e8Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
13297e8a2e8Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
13397e8a2e8Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13497e8a2e8Smrg	PATH=$PATH:/.attbin ; export PATH
13597e8a2e8Smrgfi
13697e8a2e8Smrg
13797e8a2e8SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13897e8a2e8SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
13997e8a2e8SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14097e8a2e8SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14197e8a2e8Smrg
14297e8a2e8Smrg# Note: order is significant - the case branches are not exclusive.
14397e8a2e8Smrg
14497e8a2e8Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14597e8a2e8Smrg    *:NetBSD:*:*)
14697e8a2e8Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
14797e8a2e8Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14897e8a2e8Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
14997e8a2e8Smrg	# switched to ELF, *-*-netbsd* would select the old
15097e8a2e8Smrg	# object file format.  This provides both forward
15197e8a2e8Smrg	# compatibility and a consistent mechanism for selecting the
15297e8a2e8Smrg	# object file format.
15397e8a2e8Smrg	#
15497e8a2e8Smrg	# Note: NetBSD doesn't particularly care about the vendor
15597e8a2e8Smrg	# portion of the name.  We always set it to "unknown".
15697e8a2e8Smrg	sysctl="sysctl -n hw.machine_arch"
15797e8a2e8Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
15897e8a2e8Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
15997e8a2e8Smrg	case "${UNAME_MACHINE_ARCH}" in
16097e8a2e8Smrg	    armeb) machine=armeb-unknown ;;
16197e8a2e8Smrg	    arm*) machine=arm-unknown ;;
16297e8a2e8Smrg	    sh3el) machine=shl-unknown ;;
16397e8a2e8Smrg	    sh3eb) machine=sh-unknown ;;
164d7accfefSmrg	    sh5el) machine=sh5le-unknown ;;
16597e8a2e8Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16697e8a2e8Smrg	esac
16797e8a2e8Smrg	# The Operating System including object format, if it has switched
16897e8a2e8Smrg	# to ELF recently, or will in the future.
16997e8a2e8Smrg	case "${UNAME_MACHINE_ARCH}" in
17097e8a2e8Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
17197e8a2e8Smrg		eval $set_cc_for_build
17297e8a2e8Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17397e8a2e8Smrg			| grep __ELF__ >/dev/null
17497e8a2e8Smrg		then
17597e8a2e8Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17697e8a2e8Smrg		    # Return netbsd for either.  FIX?
17797e8a2e8Smrg		    os=netbsd
17897e8a2e8Smrg		else
17997e8a2e8Smrg		    os=netbsdelf
18097e8a2e8Smrg		fi
18197e8a2e8Smrg		;;
18297e8a2e8Smrg	    *)
18397e8a2e8Smrg	        os=netbsd
18497e8a2e8Smrg		;;
18597e8a2e8Smrg	esac
18697e8a2e8Smrg	# The OS release
18797e8a2e8Smrg	# Debian GNU/NetBSD machines have a different userland, and
18897e8a2e8Smrg	# thus, need a distinct triplet. However, they do not need
18997e8a2e8Smrg	# kernel version information, so it can be replaced with a
19097e8a2e8Smrg	# suitable tag, in the style of linux-gnu.
19197e8a2e8Smrg	case "${UNAME_VERSION}" in
19297e8a2e8Smrg	    Debian*)
19397e8a2e8Smrg		release='-gnu'
19497e8a2e8Smrg		;;
19597e8a2e8Smrg	    *)
19697e8a2e8Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
19797e8a2e8Smrg		;;
19897e8a2e8Smrg	esac
19997e8a2e8Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20097e8a2e8Smrg	# contains redundant information, the shorter form:
20197e8a2e8Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20297e8a2e8Smrg	echo "${machine}-${os}${release}"
203d7accfefSmrg	exit ;;
20497e8a2e8Smrg    *:OpenBSD:*:*)
205d7accfefSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206d7accfefSmrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207d7accfefSmrg	exit ;;
208d7accfefSmrg    *:ekkoBSD:*:*)
209d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210d7accfefSmrg	exit ;;
211d7accfefSmrg    *:SolidBSD:*:*)
212d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213d7accfefSmrg	exit ;;
214d7accfefSmrg    macppc:MirBSD:*:*)
215d7accfefSmrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216d7accfefSmrg	exit ;;
217d7accfefSmrg    *:MirBSD:*:*)
218d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219d7accfefSmrg	exit ;;
22097e8a2e8Smrg    alpha:OSF1:*:*)
221d7accfefSmrg	case $UNAME_RELEASE in
222d7accfefSmrg	*4.0)
22397e8a2e8Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
224d7accfefSmrg		;;
225d7accfefSmrg	*5.*)
226d7accfefSmrg	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
227d7accfefSmrg		;;
228d7accfefSmrg	esac
22997e8a2e8Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
23097e8a2e8Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
23197e8a2e8Smrg	# covers most systems running today.  This code pipes the CPU
23297e8a2e8Smrg	# types through head -n 1, so we only detect the type of CPU 0.
23397e8a2e8Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
23497e8a2e8Smrg	case "$ALPHA_CPU_TYPE" in
23597e8a2e8Smrg	    "EV4 (21064)")
23697e8a2e8Smrg		UNAME_MACHINE="alpha" ;;
23797e8a2e8Smrg	    "EV4.5 (21064)")
23897e8a2e8Smrg		UNAME_MACHINE="alpha" ;;
23997e8a2e8Smrg	    "LCA4 (21066/21068)")
24097e8a2e8Smrg		UNAME_MACHINE="alpha" ;;
24197e8a2e8Smrg	    "EV5 (21164)")
24297e8a2e8Smrg		UNAME_MACHINE="alphaev5" ;;
24397e8a2e8Smrg	    "EV5.6 (21164A)")
24497e8a2e8Smrg		UNAME_MACHINE="alphaev56" ;;
24597e8a2e8Smrg	    "EV5.6 (21164PC)")
24697e8a2e8Smrg		UNAME_MACHINE="alphapca56" ;;
24797e8a2e8Smrg	    "EV5.7 (21164PC)")
24897e8a2e8Smrg		UNAME_MACHINE="alphapca57" ;;
24997e8a2e8Smrg	    "EV6 (21264)")
25097e8a2e8Smrg		UNAME_MACHINE="alphaev6" ;;
25197e8a2e8Smrg	    "EV6.7 (21264A)")
25297e8a2e8Smrg		UNAME_MACHINE="alphaev67" ;;
25397e8a2e8Smrg	    "EV6.8CB (21264C)")
25497e8a2e8Smrg		UNAME_MACHINE="alphaev68" ;;
25597e8a2e8Smrg	    "EV6.8AL (21264B)")
25697e8a2e8Smrg		UNAME_MACHINE="alphaev68" ;;
25797e8a2e8Smrg	    "EV6.8CX (21264D)")
25897e8a2e8Smrg		UNAME_MACHINE="alphaev68" ;;
25997e8a2e8Smrg	    "EV6.9A (21264/EV69A)")
26097e8a2e8Smrg		UNAME_MACHINE="alphaev69" ;;
26197e8a2e8Smrg	    "EV7 (21364)")
26297e8a2e8Smrg		UNAME_MACHINE="alphaev7" ;;
26397e8a2e8Smrg	    "EV7.9 (21364A)")
26497e8a2e8Smrg		UNAME_MACHINE="alphaev79" ;;
26597e8a2e8Smrg	esac
266d7accfefSmrg	# A Pn.n version is a patched version.
26797e8a2e8Smrg	# A Vn.n version is a released version.
26897e8a2e8Smrg	# A Tn.n version is a released field test version.
26997e8a2e8Smrg	# A Xn.n version is an unreleased experimental baselevel.
27097e8a2e8Smrg	# 1.2 uses "1.2" for uname -r.
271d7accfefSmrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272d7accfefSmrg	exit ;;
27397e8a2e8Smrg    Alpha\ *:Windows_NT*:*)
27497e8a2e8Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
27597e8a2e8Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
27697e8a2e8Smrg	# of the specific Alpha model?
27797e8a2e8Smrg	echo alpha-pc-interix
278d7accfefSmrg	exit ;;
27997e8a2e8Smrg    21064:Windows_NT:50:3)
28097e8a2e8Smrg	echo alpha-dec-winnt3.5
281d7accfefSmrg	exit ;;
28297e8a2e8Smrg    Amiga*:UNIX_System_V:4.0:*)
28397e8a2e8Smrg	echo m68k-unknown-sysv4
284d7accfefSmrg	exit ;;
28597e8a2e8Smrg    *:[Aa]miga[Oo][Ss]:*:*)
28697e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
287d7accfefSmrg	exit ;;
28897e8a2e8Smrg    *:[Mm]orph[Oo][Ss]:*:*)
28997e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-morphos
290d7accfefSmrg	exit ;;
29197e8a2e8Smrg    *:OS/390:*:*)
29297e8a2e8Smrg	echo i370-ibm-openedition
293d7accfefSmrg	exit ;;
294d7accfefSmrg    *:z/VM:*:*)
295d7accfefSmrg	echo s390-ibm-zvmoe
296d7accfefSmrg	exit ;;
297d7accfefSmrg    *:OS400:*:*)
298d7accfefSmrg        echo powerpc-ibm-os400
299d7accfefSmrg	exit ;;
30097e8a2e8Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30197e8a2e8Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
302d7accfefSmrg	exit ;;
303d7accfefSmrg    arm:riscos:*:*|arm:RISCOS:*:*)
304d7accfefSmrg	echo arm-unknown-riscos
305d7accfefSmrg	exit ;;
30697e8a2e8Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
30797e8a2e8Smrg	echo hppa1.1-hitachi-hiuxmpp
308d7accfefSmrg	exit ;;
30997e8a2e8Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
31097e8a2e8Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31197e8a2e8Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31297e8a2e8Smrg		echo pyramid-pyramid-sysv3
31397e8a2e8Smrg	else
31497e8a2e8Smrg		echo pyramid-pyramid-bsd
31597e8a2e8Smrg	fi
316d7accfefSmrg	exit ;;
31797e8a2e8Smrg    NILE*:*:*:dcosx)
31897e8a2e8Smrg	echo pyramid-pyramid-svr4
319d7accfefSmrg	exit ;;
32097e8a2e8Smrg    DRS?6000:unix:4.0:6*)
32197e8a2e8Smrg	echo sparc-icl-nx6
322d7accfefSmrg	exit ;;
323d7accfefSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
32497e8a2e8Smrg	case `/usr/bin/uname -p` in
325d7accfefSmrg	    sparc) echo sparc-icl-nx7; exit ;;
32697e8a2e8Smrg	esac ;;
327d7accfefSmrg    s390x:SunOS:*:*)
328d7accfefSmrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329d7accfefSmrg	exit ;;
33097e8a2e8Smrg    sun4H:SunOS:5.*:*)
33197e8a2e8Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332d7accfefSmrg	exit ;;
33397e8a2e8Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33497e8a2e8Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335d7accfefSmrg	exit ;;
336d7accfefSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
337d7accfefSmrg	eval $set_cc_for_build
338d7accfefSmrg	SUN_ARCH="i386"
339d7accfefSmrg	# If there is a compiler, see if it is configured for 64-bit objects.
340d7accfefSmrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
341d7accfefSmrg	# This test works for both compilers.
342d7accfefSmrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
343d7accfefSmrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
344d7accfefSmrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
345d7accfefSmrg		grep IS_64BIT_ARCH >/dev/null
346d7accfefSmrg	    then
347d7accfefSmrg		SUN_ARCH="x86_64"
348d7accfefSmrg	    fi
349d7accfefSmrg	fi
350d7accfefSmrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351d7accfefSmrg	exit ;;
35297e8a2e8Smrg    sun4*:SunOS:6*:*)
35397e8a2e8Smrg	# According to config.sub, this is the proper way to canonicalize
35497e8a2e8Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
35597e8a2e8Smrg	# it's likely to be more like Solaris than SunOS4.
35697e8a2e8Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
357d7accfefSmrg	exit ;;
35897e8a2e8Smrg    sun4*:SunOS:*:*)
35997e8a2e8Smrg	case "`/usr/bin/arch -k`" in
36097e8a2e8Smrg	    Series*|S4*)
36197e8a2e8Smrg		UNAME_RELEASE=`uname -v`
36297e8a2e8Smrg		;;
36397e8a2e8Smrg	esac
36497e8a2e8Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
36597e8a2e8Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
366d7accfefSmrg	exit ;;
36797e8a2e8Smrg    sun3*:SunOS:*:*)
36897e8a2e8Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
369d7accfefSmrg	exit ;;
37097e8a2e8Smrg    sun*:*:4.2BSD:*)
37197e8a2e8Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
37297e8a2e8Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
37397e8a2e8Smrg	case "`/bin/arch`" in
37497e8a2e8Smrg	    sun3)
37597e8a2e8Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
37697e8a2e8Smrg		;;
37797e8a2e8Smrg	    sun4)
37897e8a2e8Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
37997e8a2e8Smrg		;;
38097e8a2e8Smrg	esac
381d7accfefSmrg	exit ;;
38297e8a2e8Smrg    aushp:SunOS:*:*)
38397e8a2e8Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
384d7accfefSmrg	exit ;;
38597e8a2e8Smrg    # The situation for MiNT is a little confusing.  The machine name
38697e8a2e8Smrg    # can be virtually everything (everything which is not
38797e8a2e8Smrg    # "atarist" or "atariste" at least should have a processor
38897e8a2e8Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
38997e8a2e8Smrg    # to the lowercase version "mint" (or "freemint").  Finally
39097e8a2e8Smrg    # the system name "TOS" denotes a system which is actually not
39197e8a2e8Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
39297e8a2e8Smrg    # be no problem.
39397e8a2e8Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
39497e8a2e8Smrg        echo m68k-atari-mint${UNAME_RELEASE}
395d7accfefSmrg	exit ;;
39697e8a2e8Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
39797e8a2e8Smrg	echo m68k-atari-mint${UNAME_RELEASE}
398d7accfefSmrg        exit ;;
39997e8a2e8Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
40097e8a2e8Smrg        echo m68k-atari-mint${UNAME_RELEASE}
401d7accfefSmrg	exit ;;
40297e8a2e8Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
40397e8a2e8Smrg        echo m68k-milan-mint${UNAME_RELEASE}
404d7accfefSmrg        exit ;;
40597e8a2e8Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
40697e8a2e8Smrg        echo m68k-hades-mint${UNAME_RELEASE}
407d7accfefSmrg        exit ;;
40897e8a2e8Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
40997e8a2e8Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
410d7accfefSmrg        exit ;;
411d7accfefSmrg    m68k:machten:*:*)
412d7accfefSmrg	echo m68k-apple-machten${UNAME_RELEASE}
413d7accfefSmrg	exit ;;
41497e8a2e8Smrg    powerpc:machten:*:*)
41597e8a2e8Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
416d7accfefSmrg	exit ;;
41797e8a2e8Smrg    RISC*:Mach:*:*)
41897e8a2e8Smrg	echo mips-dec-mach_bsd4.3
419d7accfefSmrg	exit ;;
42097e8a2e8Smrg    RISC*:ULTRIX:*:*)
42197e8a2e8Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
422d7accfefSmrg	exit ;;
42397e8a2e8Smrg    VAX*:ULTRIX*:*:*)
42497e8a2e8Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
425d7accfefSmrg	exit ;;
42697e8a2e8Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
42797e8a2e8Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
428d7accfefSmrg	exit ;;
42997e8a2e8Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
43097e8a2e8Smrg	eval $set_cc_for_build
43197e8a2e8Smrg	sed 's/^	//' << EOF >$dummy.c
43297e8a2e8Smrg#ifdef __cplusplus
43397e8a2e8Smrg#include <stdio.h>  /* for printf() prototype */
43497e8a2e8Smrg	int main (int argc, char *argv[]) {
43597e8a2e8Smrg#else
43697e8a2e8Smrg	int main (argc, argv) int argc; char *argv[]; {
43797e8a2e8Smrg#endif
43897e8a2e8Smrg	#if defined (host_mips) && defined (MIPSEB)
43997e8a2e8Smrg	#if defined (SYSTYPE_SYSV)
44097e8a2e8Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
44197e8a2e8Smrg	#endif
44297e8a2e8Smrg	#if defined (SYSTYPE_SVR4)
44397e8a2e8Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
44497e8a2e8Smrg	#endif
44597e8a2e8Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
44697e8a2e8Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
44797e8a2e8Smrg	#endif
44897e8a2e8Smrg	#endif
44997e8a2e8Smrg	  exit (-1);
45097e8a2e8Smrg	}
45197e8a2e8SmrgEOF
452d7accfefSmrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
453d7accfefSmrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
454d7accfefSmrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
455d7accfefSmrg	    { echo "$SYSTEM_NAME"; exit; }
45697e8a2e8Smrg	echo mips-mips-riscos${UNAME_RELEASE}
457d7accfefSmrg	exit ;;
45897e8a2e8Smrg    Motorola:PowerMAX_OS:*:*)
45997e8a2e8Smrg	echo powerpc-motorola-powermax
460d7accfefSmrg	exit ;;
46197e8a2e8Smrg    Motorola:*:4.3:PL8-*)
46297e8a2e8Smrg	echo powerpc-harris-powermax
463d7accfefSmrg	exit ;;
46497e8a2e8Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
46597e8a2e8Smrg	echo powerpc-harris-powermax
466d7accfefSmrg	exit ;;
46797e8a2e8Smrg    Night_Hawk:Power_UNIX:*:*)
46897e8a2e8Smrg	echo powerpc-harris-powerunix
469d7accfefSmrg	exit ;;
47097e8a2e8Smrg    m88k:CX/UX:7*:*)
47197e8a2e8Smrg	echo m88k-harris-cxux7
472d7accfefSmrg	exit ;;
47397e8a2e8Smrg    m88k:*:4*:R4*)
47497e8a2e8Smrg	echo m88k-motorola-sysv4
475d7accfefSmrg	exit ;;
47697e8a2e8Smrg    m88k:*:3*:R3*)
47797e8a2e8Smrg	echo m88k-motorola-sysv3
478d7accfefSmrg	exit ;;
47997e8a2e8Smrg    AViiON:dgux:*:*)
48097e8a2e8Smrg        # DG/UX returns AViiON for all architectures
48197e8a2e8Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
48297e8a2e8Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
48397e8a2e8Smrg	then
48497e8a2e8Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
48597e8a2e8Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
48697e8a2e8Smrg	    then
48797e8a2e8Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
48897e8a2e8Smrg	    else
48997e8a2e8Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
49097e8a2e8Smrg	    fi
49197e8a2e8Smrg	else
49297e8a2e8Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
49397e8a2e8Smrg	fi
494d7accfefSmrg 	exit ;;
49597e8a2e8Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
49697e8a2e8Smrg	echo m88k-dolphin-sysv3
497d7accfefSmrg	exit ;;
49897e8a2e8Smrg    M88*:*:R3*:*)
49997e8a2e8Smrg	# Delta 88k system running SVR3
50097e8a2e8Smrg	echo m88k-motorola-sysv3
501d7accfefSmrg	exit ;;
50297e8a2e8Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
50397e8a2e8Smrg	echo m88k-tektronix-sysv3
504d7accfefSmrg	exit ;;
50597e8a2e8Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
50697e8a2e8Smrg	echo m68k-tektronix-bsd
507d7accfefSmrg	exit ;;
50897e8a2e8Smrg    *:IRIX*:*:*)
50997e8a2e8Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
510d7accfefSmrg	exit ;;
51197e8a2e8Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
512d7accfefSmrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
513d7accfefSmrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
51497e8a2e8Smrg    i*86:AIX:*:*)
51597e8a2e8Smrg	echo i386-ibm-aix
516d7accfefSmrg	exit ;;
51797e8a2e8Smrg    ia64:AIX:*:*)
51897e8a2e8Smrg	if [ -x /usr/bin/oslevel ] ; then
51997e8a2e8Smrg		IBM_REV=`/usr/bin/oslevel`
52097e8a2e8Smrg	else
52197e8a2e8Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
52297e8a2e8Smrg	fi
52397e8a2e8Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
524d7accfefSmrg	exit ;;
52597e8a2e8Smrg    *:AIX:2:3)
52697e8a2e8Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
52797e8a2e8Smrg		eval $set_cc_for_build
52897e8a2e8Smrg		sed 's/^		//' << EOF >$dummy.c
52997e8a2e8Smrg		#include <sys/systemcfg.h>
53097e8a2e8Smrg
53197e8a2e8Smrg		main()
53297e8a2e8Smrg			{
53397e8a2e8Smrg			if (!__power_pc())
53497e8a2e8Smrg				exit(1);
53597e8a2e8Smrg			puts("powerpc-ibm-aix3.2.5");
53697e8a2e8Smrg			exit(0);
53797e8a2e8Smrg			}
53897e8a2e8SmrgEOF
539d7accfefSmrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
540d7accfefSmrg		then
541d7accfefSmrg			echo "$SYSTEM_NAME"
542d7accfefSmrg		else
543d7accfefSmrg			echo rs6000-ibm-aix3.2.5
544d7accfefSmrg		fi
54597e8a2e8Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
54697e8a2e8Smrg		echo rs6000-ibm-aix3.2.4
54797e8a2e8Smrg	else
54897e8a2e8Smrg		echo rs6000-ibm-aix3.2
54997e8a2e8Smrg	fi
550d7accfefSmrg	exit ;;
551d7accfefSmrg    *:AIX:*:[456])
55297e8a2e8Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
55397e8a2e8Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
55497e8a2e8Smrg		IBM_ARCH=rs6000
55597e8a2e8Smrg	else
55697e8a2e8Smrg		IBM_ARCH=powerpc
55797e8a2e8Smrg	fi
55897e8a2e8Smrg	if [ -x /usr/bin/oslevel ] ; then
55997e8a2e8Smrg		IBM_REV=`/usr/bin/oslevel`
56097e8a2e8Smrg	else
56197e8a2e8Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
56297e8a2e8Smrg	fi
56397e8a2e8Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
564d7accfefSmrg	exit ;;
56597e8a2e8Smrg    *:AIX:*:*)
56697e8a2e8Smrg	echo rs6000-ibm-aix
567d7accfefSmrg	exit ;;
56897e8a2e8Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
56997e8a2e8Smrg	echo romp-ibm-bsd4.4
570d7accfefSmrg	exit ;;
57197e8a2e8Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
57297e8a2e8Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
573d7accfefSmrg	exit ;;                             # report: romp-ibm BSD 4.3
57497e8a2e8Smrg    *:BOSX:*:*)
57597e8a2e8Smrg	echo rs6000-bull-bosx
576d7accfefSmrg	exit ;;
57797e8a2e8Smrg    DPX/2?00:B.O.S.:*:*)
57897e8a2e8Smrg	echo m68k-bull-sysv3
579d7accfefSmrg	exit ;;
58097e8a2e8Smrg    9000/[34]??:4.3bsd:1.*:*)
58197e8a2e8Smrg	echo m68k-hp-bsd
582d7accfefSmrg	exit ;;
58397e8a2e8Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
58497e8a2e8Smrg	echo m68k-hp-bsd4.4
585d7accfefSmrg	exit ;;
58697e8a2e8Smrg    9000/[34678]??:HP-UX:*:*)
58797e8a2e8Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
58897e8a2e8Smrg	case "${UNAME_MACHINE}" in
58997e8a2e8Smrg	    9000/31? )            HP_ARCH=m68000 ;;
59097e8a2e8Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
59197e8a2e8Smrg	    9000/[678][0-9][0-9])
59297e8a2e8Smrg		if [ -x /usr/bin/getconf ]; then
59397e8a2e8Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
59497e8a2e8Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
59597e8a2e8Smrg                    case "${sc_cpu_version}" in
59697e8a2e8Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
59797e8a2e8Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
59897e8a2e8Smrg                      532)                      # CPU_PA_RISC2_0
59997e8a2e8Smrg                        case "${sc_kernel_bits}" in
60097e8a2e8Smrg                          32) HP_ARCH="hppa2.0n" ;;
60197e8a2e8Smrg                          64) HP_ARCH="hppa2.0w" ;;
60297e8a2e8Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
60397e8a2e8Smrg                        esac ;;
60497e8a2e8Smrg                    esac
60597e8a2e8Smrg		fi
60697e8a2e8Smrg		if [ "${HP_ARCH}" = "" ]; then
60797e8a2e8Smrg		    eval $set_cc_for_build
60897e8a2e8Smrg		    sed 's/^              //' << EOF >$dummy.c
60997e8a2e8Smrg
61097e8a2e8Smrg              #define _HPUX_SOURCE
61197e8a2e8Smrg              #include <stdlib.h>
61297e8a2e8Smrg              #include <unistd.h>
61397e8a2e8Smrg
61497e8a2e8Smrg              int main ()
61597e8a2e8Smrg              {
61697e8a2e8Smrg              #if defined(_SC_KERNEL_BITS)
61797e8a2e8Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
61897e8a2e8Smrg              #endif
61997e8a2e8Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
62097e8a2e8Smrg
62197e8a2e8Smrg                  switch (cpu)
62297e8a2e8Smrg              	{
62397e8a2e8Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
62497e8a2e8Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
62597e8a2e8Smrg              	case CPU_PA_RISC2_0:
62697e8a2e8Smrg              #if defined(_SC_KERNEL_BITS)
62797e8a2e8Smrg              	    switch (bits)
62897e8a2e8Smrg              		{
62997e8a2e8Smrg              		case 64: puts ("hppa2.0w"); break;
63097e8a2e8Smrg              		case 32: puts ("hppa2.0n"); break;
63197e8a2e8Smrg              		default: puts ("hppa2.0"); break;
63297e8a2e8Smrg              		} break;
63397e8a2e8Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
63497e8a2e8Smrg              	    puts ("hppa2.0"); break;
63597e8a2e8Smrg              #endif
63697e8a2e8Smrg              	default: puts ("hppa1.0"); break;
63797e8a2e8Smrg              	}
63897e8a2e8Smrg                  exit (0);
63997e8a2e8Smrg              }
64097e8a2e8SmrgEOF
64197e8a2e8Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
64297e8a2e8Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
64397e8a2e8Smrg		fi ;;
64497e8a2e8Smrg	esac
64597e8a2e8Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
64697e8a2e8Smrg	then
647d7accfefSmrg	    eval $set_cc_for_build
648d7accfefSmrg
649d7accfefSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
650d7accfefSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
651d7accfefSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
652d7accfefSmrg	    #
653d7accfefSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
654d7accfefSmrg	    # => hppa2.0w-hp-hpux11.23
655d7accfefSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
656d7accfefSmrg	    # => hppa64-hp-hpux11.23
657d7accfefSmrg
658d7accfefSmrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
659d7accfefSmrg		grep __LP64__ >/dev/null
66097e8a2e8Smrg	    then
66197e8a2e8Smrg		HP_ARCH="hppa2.0w"
66297e8a2e8Smrg	    else
66397e8a2e8Smrg		HP_ARCH="hppa64"
66497e8a2e8Smrg	    fi
66597e8a2e8Smrg	fi
66697e8a2e8Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
667d7accfefSmrg	exit ;;
66897e8a2e8Smrg    ia64:HP-UX:*:*)
66997e8a2e8Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
67097e8a2e8Smrg	echo ia64-hp-hpux${HPUX_REV}
671d7accfefSmrg	exit ;;
67297e8a2e8Smrg    3050*:HI-UX:*:*)
67397e8a2e8Smrg	eval $set_cc_for_build
67497e8a2e8Smrg	sed 's/^	//' << EOF >$dummy.c
67597e8a2e8Smrg	#include <unistd.h>
67697e8a2e8Smrg	int
67797e8a2e8Smrg	main ()
67897e8a2e8Smrg	{
67997e8a2e8Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
68097e8a2e8Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
68197e8a2e8Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
68297e8a2e8Smrg	     results, however.  */
68397e8a2e8Smrg	  if (CPU_IS_PA_RISC (cpu))
68497e8a2e8Smrg	    {
68597e8a2e8Smrg	      switch (cpu)
68697e8a2e8Smrg		{
68797e8a2e8Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
68897e8a2e8Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
68997e8a2e8Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
69097e8a2e8Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
69197e8a2e8Smrg		}
69297e8a2e8Smrg	    }
69397e8a2e8Smrg	  else if (CPU_IS_HP_MC68K (cpu))
69497e8a2e8Smrg	    puts ("m68k-hitachi-hiuxwe2");
69597e8a2e8Smrg	  else puts ("unknown-hitachi-hiuxwe2");
69697e8a2e8Smrg	  exit (0);
69797e8a2e8Smrg	}
69897e8a2e8SmrgEOF
699d7accfefSmrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
700d7accfefSmrg		{ echo "$SYSTEM_NAME"; exit; }
70197e8a2e8Smrg	echo unknown-hitachi-hiuxwe2
702d7accfefSmrg	exit ;;
70397e8a2e8Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
70497e8a2e8Smrg	echo hppa1.1-hp-bsd
705d7accfefSmrg	exit ;;
70697e8a2e8Smrg    9000/8??:4.3bsd:*:*)
70797e8a2e8Smrg	echo hppa1.0-hp-bsd
708d7accfefSmrg	exit ;;
70997e8a2e8Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
71097e8a2e8Smrg	echo hppa1.0-hp-mpeix
711d7accfefSmrg	exit ;;
71297e8a2e8Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
71397e8a2e8Smrg	echo hppa1.1-hp-osf
714d7accfefSmrg	exit ;;
71597e8a2e8Smrg    hp8??:OSF1:*:*)
71697e8a2e8Smrg	echo hppa1.0-hp-osf
717d7accfefSmrg	exit ;;
71897e8a2e8Smrg    i*86:OSF1:*:*)
71997e8a2e8Smrg	if [ -x /usr/sbin/sysversion ] ; then
72097e8a2e8Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
72197e8a2e8Smrg	else
72297e8a2e8Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
72397e8a2e8Smrg	fi
724d7accfefSmrg	exit ;;
72597e8a2e8Smrg    parisc*:Lites*:*:*)
72697e8a2e8Smrg	echo hppa1.1-hp-lites
727d7accfefSmrg	exit ;;
72897e8a2e8Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
72997e8a2e8Smrg	echo c1-convex-bsd
730d7accfefSmrg        exit ;;
73197e8a2e8Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
73297e8a2e8Smrg	if getsysinfo -f scalar_acc
73397e8a2e8Smrg	then echo c32-convex-bsd
73497e8a2e8Smrg	else echo c2-convex-bsd
73597e8a2e8Smrg	fi
736d7accfefSmrg        exit ;;
73797e8a2e8Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
73897e8a2e8Smrg	echo c34-convex-bsd
739d7accfefSmrg        exit ;;
74097e8a2e8Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
74197e8a2e8Smrg	echo c38-convex-bsd
742d7accfefSmrg        exit ;;
74397e8a2e8Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
74497e8a2e8Smrg	echo c4-convex-bsd
745d7accfefSmrg        exit ;;
74697e8a2e8Smrg    CRAY*Y-MP:*:*:*)
74797e8a2e8Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748d7accfefSmrg	exit ;;
74997e8a2e8Smrg    CRAY*[A-Z]90:*:*:*)
75097e8a2e8Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
75197e8a2e8Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
75297e8a2e8Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
75397e8a2e8Smrg	      -e 's/\.[^.]*$/.X/'
754d7accfefSmrg	exit ;;
75597e8a2e8Smrg    CRAY*TS:*:*:*)
75697e8a2e8Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
757d7accfefSmrg	exit ;;
75897e8a2e8Smrg    CRAY*T3E:*:*:*)
75997e8a2e8Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760d7accfefSmrg	exit ;;
76197e8a2e8Smrg    CRAY*SV1:*:*:*)
76297e8a2e8Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763d7accfefSmrg	exit ;;
76497e8a2e8Smrg    *:UNICOS/mp:*:*)
765d7accfefSmrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766d7accfefSmrg	exit ;;
76797e8a2e8Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
76897e8a2e8Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
76997e8a2e8Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
77097e8a2e8Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
77197e8a2e8Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
772d7accfefSmrg        exit ;;
773d7accfefSmrg    5000:UNIX_System_V:4.*:*)
774d7accfefSmrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775d7accfefSmrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
776d7accfefSmrg        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777d7accfefSmrg	exit ;;
77897e8a2e8Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
77997e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
780d7accfefSmrg	exit ;;
78197e8a2e8Smrg    sparc*:BSD/OS:*:*)
78297e8a2e8Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
783d7accfefSmrg	exit ;;
78497e8a2e8Smrg    *:BSD/OS:*:*)
78597e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
786d7accfefSmrg	exit ;;
787d7accfefSmrg    *:FreeBSD:*:*)
788d7accfefSmrg	case ${UNAME_MACHINE} in
789d7accfefSmrg	    pc98)
790d7accfefSmrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
791d7accfefSmrg	    amd64)
792d7accfefSmrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
793d7accfefSmrg	    *)
794d7accfefSmrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795d7accfefSmrg	esac
796d7accfefSmrg	exit ;;
79797e8a2e8Smrg    i*:CYGWIN*:*)
79897e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-cygwin
799d7accfefSmrg	exit ;;
800d7accfefSmrg    *:MINGW*:*)
80197e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-mingw32
802d7accfefSmrg	exit ;;
803d7accfefSmrg    i*:windows32*:*)
804d7accfefSmrg    	# uname -m includes "-pc" on this system.
805d7accfefSmrg    	echo ${UNAME_MACHINE}-mingw32
806d7accfefSmrg	exit ;;
80797e8a2e8Smrg    i*:PW*:*)
80897e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-pw32
809d7accfefSmrg	exit ;;
810d7accfefSmrg    *:Interix*:[3456]*)
811d7accfefSmrg    	case ${UNAME_MACHINE} in
812d7accfefSmrg	    x86)
813d7accfefSmrg		echo i586-pc-interix${UNAME_RELEASE}
814d7accfefSmrg		exit ;;
815d7accfefSmrg	    EM64T | authenticamd | genuineintel)
816d7accfefSmrg		echo x86_64-unknown-interix${UNAME_RELEASE}
817d7accfefSmrg		exit ;;
818d7accfefSmrg	    IA64)
819d7accfefSmrg		echo ia64-unknown-interix${UNAME_RELEASE}
820d7accfefSmrg		exit ;;
821d7accfefSmrg	esac ;;
82297e8a2e8Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
82397e8a2e8Smrg	echo i${UNAME_MACHINE}-pc-mks
824d7accfefSmrg	exit ;;
82597e8a2e8Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
82697e8a2e8Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
82797e8a2e8Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
82897e8a2e8Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
82997e8a2e8Smrg	echo i586-pc-interix
830d7accfefSmrg	exit ;;
83197e8a2e8Smrg    i*:UWIN*:*)
83297e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-uwin
833d7accfefSmrg	exit ;;
834d7accfefSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
835d7accfefSmrg	echo x86_64-unknown-cygwin
836d7accfefSmrg	exit ;;
83797e8a2e8Smrg    p*:CYGWIN*:*)
83897e8a2e8Smrg	echo powerpcle-unknown-cygwin
839d7accfefSmrg	exit ;;
84097e8a2e8Smrg    prep*:SunOS:5.*:*)
84197e8a2e8Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
842d7accfefSmrg	exit ;;
84397e8a2e8Smrg    *:GNU:*:*)
844d7accfefSmrg	# the GNU system
84597e8a2e8Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
846d7accfefSmrg	exit ;;
847d7accfefSmrg    *:GNU/*:*:*)
848d7accfefSmrg	# other systems with GNU libc and userland
849d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
850d7accfefSmrg	exit ;;
85197e8a2e8Smrg    i*86:Minix:*:*)
85297e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-minix
853d7accfefSmrg	exit ;;
85497e8a2e8Smrg    arm*:Linux:*:*)
855d7accfefSmrg	eval $set_cc_for_build
856d7accfefSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
857d7accfefSmrg	    | grep -q __ARM_EABI__
858d7accfefSmrg	then
859d7accfefSmrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
860d7accfefSmrg	else
861d7accfefSmrg	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
862d7accfefSmrg	fi
863d7accfefSmrg	exit ;;
864d7accfefSmrg    avr32*:Linux:*:*)
86597e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
866d7accfefSmrg	exit ;;
86797e8a2e8Smrg    cris:Linux:*:*)
86897e8a2e8Smrg	echo cris-axis-linux-gnu
869d7accfefSmrg	exit ;;
870d7accfefSmrg    crisv32:Linux:*:*)
871d7accfefSmrg	echo crisv32-axis-linux-gnu
872d7accfefSmrg	exit ;;
873d7accfefSmrg    frv:Linux:*:*)
874d7accfefSmrg    	echo frv-unknown-linux-gnu
875d7accfefSmrg	exit ;;
87697e8a2e8Smrg    ia64:Linux:*:*)
877d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
878d7accfefSmrg	exit ;;
879d7accfefSmrg    m32r*:Linux:*:*)
880d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
881d7accfefSmrg	exit ;;
88297e8a2e8Smrg    m68*:Linux:*:*)
88397e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
884d7accfefSmrg	exit ;;
88597e8a2e8Smrg    mips:Linux:*:*)
88697e8a2e8Smrg	eval $set_cc_for_build
88797e8a2e8Smrg	sed 's/^	//' << EOF >$dummy.c
88897e8a2e8Smrg	#undef CPU
88997e8a2e8Smrg	#undef mips
89097e8a2e8Smrg	#undef mipsel
89197e8a2e8Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
89297e8a2e8Smrg	CPU=mipsel
89397e8a2e8Smrg	#else
89497e8a2e8Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
89597e8a2e8Smrg	CPU=mips
89697e8a2e8Smrg	#else
89797e8a2e8Smrg	CPU=
89897e8a2e8Smrg	#endif
89997e8a2e8Smrg	#endif
90097e8a2e8SmrgEOF
901d7accfefSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
902d7accfefSmrg	    /^CPU/{
903d7accfefSmrg		s: ::g
904d7accfefSmrg		p
905d7accfefSmrg	    }'`"
906d7accfefSmrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
90797e8a2e8Smrg	;;
90897e8a2e8Smrg    mips64:Linux:*:*)
90997e8a2e8Smrg	eval $set_cc_for_build
91097e8a2e8Smrg	sed 's/^	//' << EOF >$dummy.c
91197e8a2e8Smrg	#undef CPU
91297e8a2e8Smrg	#undef mips64
91397e8a2e8Smrg	#undef mips64el
91497e8a2e8Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
91597e8a2e8Smrg	CPU=mips64el
91697e8a2e8Smrg	#else
91797e8a2e8Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
91897e8a2e8Smrg	CPU=mips64
91997e8a2e8Smrg	#else
92097e8a2e8Smrg	CPU=
92197e8a2e8Smrg	#endif
92297e8a2e8Smrg	#endif
92397e8a2e8SmrgEOF
924d7accfefSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
925d7accfefSmrg	    /^CPU/{
926d7accfefSmrg		s: ::g
927d7accfefSmrg		p
928d7accfefSmrg	    }'`"
929d7accfefSmrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
93097e8a2e8Smrg	;;
931d7accfefSmrg    or32:Linux:*:*)
932d7accfefSmrg	echo or32-unknown-linux-gnu
933d7accfefSmrg	exit ;;
93497e8a2e8Smrg    ppc:Linux:*:*)
935d7accfefSmrg	echo powerpc-unknown-linux-gnu
936d7accfefSmrg	exit ;;
93797e8a2e8Smrg    ppc64:Linux:*:*)
938d7accfefSmrg	echo powerpc64-unknown-linux-gnu
939d7accfefSmrg	exit ;;
94097e8a2e8Smrg    alpha:Linux:*:*)
94197e8a2e8Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
94297e8a2e8Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
94397e8a2e8Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
94497e8a2e8Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
94597e8a2e8Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
94697e8a2e8Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
94797e8a2e8Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
94897e8a2e8Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
94997e8a2e8Smrg        esac
95097e8a2e8Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
95197e8a2e8Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
95297e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
953d7accfefSmrg	exit ;;
954d7accfefSmrg    padre:Linux:*:*)
955d7accfefSmrg	echo sparc-unknown-linux-gnu
956d7accfefSmrg	exit ;;
95797e8a2e8Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
95897e8a2e8Smrg	# Look for CPU level
95997e8a2e8Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
96097e8a2e8Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
96197e8a2e8Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
96297e8a2e8Smrg	  *)    echo hppa-unknown-linux-gnu ;;
96397e8a2e8Smrg	esac
964d7accfefSmrg	exit ;;
96597e8a2e8Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
96697e8a2e8Smrg	echo hppa64-unknown-linux-gnu
967d7accfefSmrg	exit ;;
96897e8a2e8Smrg    s390:Linux:*:* | s390x:Linux:*:*)
969d7accfefSmrg	echo ${UNAME_MACHINE}-ibm-linux
970d7accfefSmrg	exit ;;
97197e8a2e8Smrg    sh64*:Linux:*:*)
97297e8a2e8Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
973d7accfefSmrg	exit ;;
97497e8a2e8Smrg    sh*:Linux:*:*)
97597e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
976d7accfefSmrg	exit ;;
97797e8a2e8Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
97897e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
979d7accfefSmrg	exit ;;
980d7accfefSmrg    vax:Linux:*:*)
981d7accfefSmrg	echo ${UNAME_MACHINE}-dec-linux-gnu
982d7accfefSmrg	exit ;;
98397e8a2e8Smrg    x86_64:Linux:*:*)
984d7accfefSmrg	echo x86_64-unknown-linux-gnu
985d7accfefSmrg	exit ;;
986d7accfefSmrg    xtensa*:Linux:*:*)
987d7accfefSmrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
988d7accfefSmrg	exit ;;
98997e8a2e8Smrg    i*86:Linux:*:*)
99097e8a2e8Smrg	# The BFD linker knows what the default object file format is, so
99197e8a2e8Smrg	# first see if it will tell us. cd to the root directory to prevent
99297e8a2e8Smrg	# problems with other programs or directories called `ld' in the path.
99397e8a2e8Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
99497e8a2e8Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
99597e8a2e8Smrg			 | sed -ne '/supported targets:/!d
99697e8a2e8Smrg				    s/[ 	][ 	]*/ /g
99797e8a2e8Smrg				    s/.*supported targets: *//
99897e8a2e8Smrg				    s/ .*//
99997e8a2e8Smrg				    p'`
100097e8a2e8Smrg        case "$ld_supported_targets" in
100197e8a2e8Smrg	  elf32-i386)
100297e8a2e8Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
100397e8a2e8Smrg		;;
100497e8a2e8Smrg	  a.out-i386-linux)
100597e8a2e8Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
1006d7accfefSmrg		exit ;;
100797e8a2e8Smrg	  "")
100897e8a2e8Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
100997e8a2e8Smrg		# one that does not give us useful --help.
101097e8a2e8Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
1011d7accfefSmrg		exit ;;
101297e8a2e8Smrg	esac
101397e8a2e8Smrg	# Determine whether the default compiler is a.out or elf
101497e8a2e8Smrg	eval $set_cc_for_build
101597e8a2e8Smrg	sed 's/^	//' << EOF >$dummy.c
101697e8a2e8Smrg	#include <features.h>
101797e8a2e8Smrg	#ifdef __ELF__
101897e8a2e8Smrg	# ifdef __GLIBC__
101997e8a2e8Smrg	#  if __GLIBC__ >= 2
102097e8a2e8Smrg	LIBC=gnu
102197e8a2e8Smrg	#  else
102297e8a2e8Smrg	LIBC=gnulibc1
102397e8a2e8Smrg	#  endif
102497e8a2e8Smrg	# else
102597e8a2e8Smrg	LIBC=gnulibc1
102697e8a2e8Smrg	# endif
102797e8a2e8Smrg	#else
1028d7accfefSmrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
102997e8a2e8Smrg	LIBC=gnu
103097e8a2e8Smrg	#else
103197e8a2e8Smrg	LIBC=gnuaout
103297e8a2e8Smrg	#endif
103397e8a2e8Smrg	#endif
1034d7accfefSmrg	#ifdef __dietlibc__
1035d7accfefSmrg	LIBC=dietlibc
1036d7accfefSmrg	#endif
103797e8a2e8SmrgEOF
1038d7accfefSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1039d7accfefSmrg	    /^LIBC/{
1040d7accfefSmrg		s: ::g
1041d7accfefSmrg		p
1042d7accfefSmrg	    }'`"
1043d7accfefSmrg	test x"${LIBC}" != x && {
1044d7accfefSmrg		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1045d7accfefSmrg		exit
1046d7accfefSmrg	}
1047d7accfefSmrg	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
104897e8a2e8Smrg	;;
104997e8a2e8Smrg    i*86:DYNIX/ptx:4*:*)
105097e8a2e8Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
105197e8a2e8Smrg	# earlier versions are messed up and put the nodename in both
105297e8a2e8Smrg	# sysname and nodename.
105397e8a2e8Smrg	echo i386-sequent-sysv4
1054d7accfefSmrg	exit ;;
105597e8a2e8Smrg    i*86:UNIX_SV:4.2MP:2.*)
105697e8a2e8Smrg        # Unixware is an offshoot of SVR4, but it has its own version
105797e8a2e8Smrg        # number series starting with 2...
105897e8a2e8Smrg        # I am not positive that other SVR4 systems won't match this,
105997e8a2e8Smrg	# I just have to hope.  -- rms.
106097e8a2e8Smrg        # Use sysv4.2uw... so that sysv4* matches it.
106197e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1062d7accfefSmrg	exit ;;
106397e8a2e8Smrg    i*86:OS/2:*:*)
106497e8a2e8Smrg	# If we were able to find `uname', then EMX Unix compatibility
106597e8a2e8Smrg	# is probably installed.
106697e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
1067d7accfefSmrg	exit ;;
106897e8a2e8Smrg    i*86:XTS-300:*:STOP)
106997e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-stop
1070d7accfefSmrg	exit ;;
107197e8a2e8Smrg    i*86:atheos:*:*)
107297e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-atheos
1073d7accfefSmrg	exit ;;
1074d7accfefSmrg    i*86:syllable:*:*)
1075d7accfefSmrg	echo ${UNAME_MACHINE}-pc-syllable
1076d7accfefSmrg	exit ;;
107797e8a2e8Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
107897e8a2e8Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
1079d7accfefSmrg	exit ;;
108097e8a2e8Smrg    i*86:*DOS:*:*)
108197e8a2e8Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1082d7accfefSmrg	exit ;;
108397e8a2e8Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
108497e8a2e8Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
108597e8a2e8Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
108697e8a2e8Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
108797e8a2e8Smrg	else
108897e8a2e8Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
108997e8a2e8Smrg	fi
1090d7accfefSmrg	exit ;;
1091d7accfefSmrg    i*86:*:5:[678]*)
1092d7accfefSmrg    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
109397e8a2e8Smrg	case `/bin/uname -X | grep "^Machine"` in
109497e8a2e8Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
109597e8a2e8Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
109697e8a2e8Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
109797e8a2e8Smrg	esac
109897e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1099d7accfefSmrg	exit ;;
110097e8a2e8Smrg    i*86:*:3.2:*)
110197e8a2e8Smrg	if test -f /usr/options/cb.name; then
110297e8a2e8Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
110397e8a2e8Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
110497e8a2e8Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
110597e8a2e8Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
110697e8a2e8Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
110797e8a2e8Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
110897e8a2e8Smrg			&& UNAME_MACHINE=i586
110997e8a2e8Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
111097e8a2e8Smrg			&& UNAME_MACHINE=i686
111197e8a2e8Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
111297e8a2e8Smrg			&& UNAME_MACHINE=i686
111397e8a2e8Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
111497e8a2e8Smrg	else
111597e8a2e8Smrg		echo ${UNAME_MACHINE}-pc-sysv32
111697e8a2e8Smrg	fi
1117d7accfefSmrg	exit ;;
111897e8a2e8Smrg    pc:*:*:*)
111997e8a2e8Smrg	# Left here for compatibility:
112097e8a2e8Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1121d7accfefSmrg        # the processor, so we play safe by assuming i586.
1122d7accfefSmrg	# Note: whatever this is, it MUST be the same as what config.sub
1123d7accfefSmrg	# prints for the "djgpp" host, or else GDB configury will decide that
1124d7accfefSmrg	# this is a cross-build.
1125d7accfefSmrg	echo i586-pc-msdosdjgpp
1126d7accfefSmrg        exit ;;
112797e8a2e8Smrg    Intel:Mach:3*:*)
112897e8a2e8Smrg	echo i386-pc-mach3
1129d7accfefSmrg	exit ;;
113097e8a2e8Smrg    paragon:*:*:*)
113197e8a2e8Smrg	echo i860-intel-osf1
1132d7accfefSmrg	exit ;;
113397e8a2e8Smrg    i860:*:4.*:*) # i860-SVR4
113497e8a2e8Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
113597e8a2e8Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
113697e8a2e8Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
113797e8a2e8Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
113897e8a2e8Smrg	fi
1139d7accfefSmrg	exit ;;
114097e8a2e8Smrg    mini*:CTIX:SYS*5:*)
114197e8a2e8Smrg	# "miniframe"
114297e8a2e8Smrg	echo m68010-convergent-sysv
1143d7accfefSmrg	exit ;;
114497e8a2e8Smrg    mc68k:UNIX:SYSTEM5:3.51m)
114597e8a2e8Smrg	echo m68k-convergent-sysv
1146d7accfefSmrg	exit ;;
114797e8a2e8Smrg    M680?0:D-NIX:5.3:*)
114897e8a2e8Smrg	echo m68k-diab-dnix
1149d7accfefSmrg	exit ;;
1150d7accfefSmrg    M68*:*:R3V[5678]*:*)
1151d7accfefSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1152d7accfefSmrg    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)
115397e8a2e8Smrg	OS_REL=''
115497e8a2e8Smrg	test -r /etc/.relid \
115597e8a2e8Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
115697e8a2e8Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1157d7accfefSmrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
115897e8a2e8Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1159d7accfefSmrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
116097e8a2e8Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
116197e8a2e8Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162d7accfefSmrg          && { echo i486-ncr-sysv4; exit; } ;;
1163d7accfefSmrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1164d7accfefSmrg	OS_REL='.3'
1165d7accfefSmrg	test -r /etc/.relid \
1166d7accfefSmrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1167d7accfefSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1168d7accfefSmrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1169d7accfefSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1170d7accfefSmrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1171d7accfefSmrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1172d7accfefSmrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
117397e8a2e8Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
117497e8a2e8Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
1175d7accfefSmrg	exit ;;
117697e8a2e8Smrg    mc68030:UNIX_System_V:4.*:*)
117797e8a2e8Smrg	echo m68k-atari-sysv4
1178d7accfefSmrg	exit ;;
117997e8a2e8Smrg    TSUNAMI:LynxOS:2.*:*)
118097e8a2e8Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
1181d7accfefSmrg	exit ;;
118297e8a2e8Smrg    rs6000:LynxOS:2.*:*)
118397e8a2e8Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1184d7accfefSmrg	exit ;;
118597e8a2e8Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
118697e8a2e8Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1187d7accfefSmrg	exit ;;
118897e8a2e8Smrg    SM[BE]S:UNIX_SV:*:*)
118997e8a2e8Smrg	echo mips-dde-sysv${UNAME_RELEASE}
1190d7accfefSmrg	exit ;;
119197e8a2e8Smrg    RM*:ReliantUNIX-*:*:*)
119297e8a2e8Smrg	echo mips-sni-sysv4
1193d7accfefSmrg	exit ;;
119497e8a2e8Smrg    RM*:SINIX-*:*:*)
119597e8a2e8Smrg	echo mips-sni-sysv4
1196d7accfefSmrg	exit ;;
119797e8a2e8Smrg    *:SINIX-*:*:*)
119897e8a2e8Smrg	if uname -p 2>/dev/null >/dev/null ; then
119997e8a2e8Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
120097e8a2e8Smrg		echo ${UNAME_MACHINE}-sni-sysv4
120197e8a2e8Smrg	else
120297e8a2e8Smrg		echo ns32k-sni-sysv
120397e8a2e8Smrg	fi
1204d7accfefSmrg	exit ;;
120597e8a2e8Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
120697e8a2e8Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
120797e8a2e8Smrg        echo i586-unisys-sysv4
1208d7accfefSmrg        exit ;;
120997e8a2e8Smrg    *:UNIX_System_V:4*:FTX*)
121097e8a2e8Smrg	# From Gerald Hewes <hewes@openmarket.com>.
121197e8a2e8Smrg	# How about differentiating between stratus architectures? -djm
121297e8a2e8Smrg	echo hppa1.1-stratus-sysv4
1213d7accfefSmrg	exit ;;
121497e8a2e8Smrg    *:*:*:FTX*)
121597e8a2e8Smrg	# From seanf@swdc.stratus.com.
121697e8a2e8Smrg	echo i860-stratus-sysv4
1217d7accfefSmrg	exit ;;
1218d7accfefSmrg    i*86:VOS:*:*)
1219d7accfefSmrg	# From Paul.Green@stratus.com.
1220d7accfefSmrg	echo ${UNAME_MACHINE}-stratus-vos
1221d7accfefSmrg	exit ;;
122297e8a2e8Smrg    *:VOS:*:*)
122397e8a2e8Smrg	# From Paul.Green@stratus.com.
122497e8a2e8Smrg	echo hppa1.1-stratus-vos
1225d7accfefSmrg	exit ;;
122697e8a2e8Smrg    mc68*:A/UX:*:*)
122797e8a2e8Smrg	echo m68k-apple-aux${UNAME_RELEASE}
1228d7accfefSmrg	exit ;;
122997e8a2e8Smrg    news*:NEWS-OS:6*:*)
123097e8a2e8Smrg	echo mips-sony-newsos6
1231d7accfefSmrg	exit ;;
123297e8a2e8Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
123397e8a2e8Smrg	if [ -d /usr/nec ]; then
123497e8a2e8Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
123597e8a2e8Smrg	else
123697e8a2e8Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
123797e8a2e8Smrg	fi
1238d7accfefSmrg        exit ;;
123997e8a2e8Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
124097e8a2e8Smrg	echo powerpc-be-beos
1241d7accfefSmrg	exit ;;
124297e8a2e8Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
124397e8a2e8Smrg	echo powerpc-apple-beos
1244d7accfefSmrg	exit ;;
124597e8a2e8Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
124697e8a2e8Smrg	echo i586-pc-beos
1247d7accfefSmrg	exit ;;
1248d7accfefSmrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1249d7accfefSmrg	echo i586-pc-haiku
1250d7accfefSmrg	exit ;;
125197e8a2e8Smrg    SX-4:SUPER-UX:*:*)
125297e8a2e8Smrg	echo sx4-nec-superux${UNAME_RELEASE}
1253d7accfefSmrg	exit ;;
125497e8a2e8Smrg    SX-5:SUPER-UX:*:*)
125597e8a2e8Smrg	echo sx5-nec-superux${UNAME_RELEASE}
1256d7accfefSmrg	exit ;;
125797e8a2e8Smrg    SX-6:SUPER-UX:*:*)
125897e8a2e8Smrg	echo sx6-nec-superux${UNAME_RELEASE}
1259d7accfefSmrg	exit ;;
1260d7accfefSmrg    SX-7:SUPER-UX:*:*)
1261d7accfefSmrg	echo sx7-nec-superux${UNAME_RELEASE}
1262d7accfefSmrg	exit ;;
1263d7accfefSmrg    SX-8:SUPER-UX:*:*)
1264d7accfefSmrg	echo sx8-nec-superux${UNAME_RELEASE}
1265d7accfefSmrg	exit ;;
1266d7accfefSmrg    SX-8R:SUPER-UX:*:*)
1267d7accfefSmrg	echo sx8r-nec-superux${UNAME_RELEASE}
1268d7accfefSmrg	exit ;;
126997e8a2e8Smrg    Power*:Rhapsody:*:*)
127097e8a2e8Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1271d7accfefSmrg	exit ;;
127297e8a2e8Smrg    *:Rhapsody:*:*)
127397e8a2e8Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1274d7accfefSmrg	exit ;;
127597e8a2e8Smrg    *:Darwin:*:*)
1276d7accfefSmrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1277d7accfefSmrg	case $UNAME_PROCESSOR in
1278d7accfefSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
127997e8a2e8Smrg	esac
128097e8a2e8Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1281d7accfefSmrg	exit ;;
128297e8a2e8Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
128397e8a2e8Smrg	UNAME_PROCESSOR=`uname -p`
128497e8a2e8Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
128597e8a2e8Smrg		UNAME_PROCESSOR=i386
128697e8a2e8Smrg		UNAME_MACHINE=pc
128797e8a2e8Smrg	fi
128897e8a2e8Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1289d7accfefSmrg	exit ;;
129097e8a2e8Smrg    *:QNX:*:4*)
129197e8a2e8Smrg	echo i386-pc-qnx
1292d7accfefSmrg	exit ;;
1293d7accfefSmrg    NSE-?:NONSTOP_KERNEL:*:*)
1294d7accfefSmrg	echo nse-tandem-nsk${UNAME_RELEASE}
1295d7accfefSmrg	exit ;;
1296d7accfefSmrg    NSR-?:NONSTOP_KERNEL:*:*)
129797e8a2e8Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
1298d7accfefSmrg	exit ;;
129997e8a2e8Smrg    *:NonStop-UX:*:*)
130097e8a2e8Smrg	echo mips-compaq-nonstopux
1301d7accfefSmrg	exit ;;
130297e8a2e8Smrg    BS2000:POSIX*:*:*)
130397e8a2e8Smrg	echo bs2000-siemens-sysv
1304d7accfefSmrg	exit ;;
130597e8a2e8Smrg    DS/*:UNIX_System_V:*:*)
130697e8a2e8Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1307d7accfefSmrg	exit ;;
130897e8a2e8Smrg    *:Plan9:*:*)
130997e8a2e8Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
131097e8a2e8Smrg	# is converted to i386 for consistency with other x86
131197e8a2e8Smrg	# operating systems.
131297e8a2e8Smrg	if test "$cputype" = "386"; then
131397e8a2e8Smrg	    UNAME_MACHINE=i386
131497e8a2e8Smrg	else
131597e8a2e8Smrg	    UNAME_MACHINE="$cputype"
131697e8a2e8Smrg	fi
131797e8a2e8Smrg	echo ${UNAME_MACHINE}-unknown-plan9
1318d7accfefSmrg	exit ;;
131997e8a2e8Smrg    *:TOPS-10:*:*)
132097e8a2e8Smrg	echo pdp10-unknown-tops10
1321d7accfefSmrg	exit ;;
132297e8a2e8Smrg    *:TENEX:*:*)
132397e8a2e8Smrg	echo pdp10-unknown-tenex
1324d7accfefSmrg	exit ;;
132597e8a2e8Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
132697e8a2e8Smrg	echo pdp10-dec-tops20
1327d7accfefSmrg	exit ;;
132897e8a2e8Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
132997e8a2e8Smrg	echo pdp10-xkl-tops20
1330d7accfefSmrg	exit ;;
133197e8a2e8Smrg    *:TOPS-20:*:*)
133297e8a2e8Smrg	echo pdp10-unknown-tops20
1333d7accfefSmrg	exit ;;
133497e8a2e8Smrg    *:ITS:*:*)
133597e8a2e8Smrg	echo pdp10-unknown-its
1336d7accfefSmrg	exit ;;
133797e8a2e8Smrg    SEI:*:*:SEIUX)
133897e8a2e8Smrg        echo mips-sei-seiux${UNAME_RELEASE}
1339d7accfefSmrg	exit ;;
1340d7accfefSmrg    *:DragonFly:*:*)
1341d7accfefSmrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1342d7accfefSmrg	exit ;;
1343d7accfefSmrg    *:*VMS:*:*)
1344d7accfefSmrg    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1345d7accfefSmrg	case "${UNAME_MACHINE}" in
1346d7accfefSmrg	    A*) echo alpha-dec-vms ; exit ;;
1347d7accfefSmrg	    I*) echo ia64-dec-vms ; exit ;;
1348d7accfefSmrg	    V*) echo vax-dec-vms ; exit ;;
1349d7accfefSmrg	esac ;;
1350d7accfefSmrg    *:XENIX:*:SysV)
1351d7accfefSmrg	echo i386-pc-xenix
1352d7accfefSmrg	exit ;;
1353d7accfefSmrg    i*86:skyos:*:*)
1354d7accfefSmrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1355d7accfefSmrg	exit ;;
1356d7accfefSmrg    i*86:rdos:*:*)
1357d7accfefSmrg	echo ${UNAME_MACHINE}-pc-rdos
1358d7accfefSmrg	exit ;;
1359d7accfefSmrg    i*86:AROS:*:*)
1360d7accfefSmrg	echo ${UNAME_MACHINE}-pc-aros
1361d7accfefSmrg	exit ;;
136297e8a2e8Smrgesac
136397e8a2e8Smrg
136497e8a2e8Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
136597e8a2e8Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
136697e8a2e8Smrg
136797e8a2e8Smrgeval $set_cc_for_build
136897e8a2e8Smrgcat >$dummy.c <<EOF
136997e8a2e8Smrg#ifdef _SEQUENT_
137097e8a2e8Smrg# include <sys/types.h>
137197e8a2e8Smrg# include <sys/utsname.h>
137297e8a2e8Smrg#endif
137397e8a2e8Smrgmain ()
137497e8a2e8Smrg{
137597e8a2e8Smrg#if defined (sony)
137697e8a2e8Smrg#if defined (MIPSEB)
137797e8a2e8Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
137897e8a2e8Smrg     I don't know....  */
137997e8a2e8Smrg  printf ("mips-sony-bsd\n"); exit (0);
138097e8a2e8Smrg#else
138197e8a2e8Smrg#include <sys/param.h>
138297e8a2e8Smrg  printf ("m68k-sony-newsos%s\n",
138397e8a2e8Smrg#ifdef NEWSOS4
138497e8a2e8Smrg          "4"
138597e8a2e8Smrg#else
138697e8a2e8Smrg	  ""
138797e8a2e8Smrg#endif
138897e8a2e8Smrg         ); exit (0);
138997e8a2e8Smrg#endif
139097e8a2e8Smrg#endif
139197e8a2e8Smrg
139297e8a2e8Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
1393d7accfefSmrg  printf ("arm-acorn-riscix\n"); exit (0);
139497e8a2e8Smrg#endif
139597e8a2e8Smrg
139697e8a2e8Smrg#if defined (hp300) && !defined (hpux)
139797e8a2e8Smrg  printf ("m68k-hp-bsd\n"); exit (0);
139897e8a2e8Smrg#endif
139997e8a2e8Smrg
140097e8a2e8Smrg#if defined (NeXT)
140197e8a2e8Smrg#if !defined (__ARCHITECTURE__)
140297e8a2e8Smrg#define __ARCHITECTURE__ "m68k"
140397e8a2e8Smrg#endif
140497e8a2e8Smrg  int version;
140597e8a2e8Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
140697e8a2e8Smrg  if (version < 4)
140797e8a2e8Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
140897e8a2e8Smrg  else
140997e8a2e8Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
141097e8a2e8Smrg  exit (0);
141197e8a2e8Smrg#endif
141297e8a2e8Smrg
141397e8a2e8Smrg#if defined (MULTIMAX) || defined (n16)
141497e8a2e8Smrg#if defined (UMAXV)
141597e8a2e8Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
141697e8a2e8Smrg#else
141797e8a2e8Smrg#if defined (CMU)
141897e8a2e8Smrg  printf ("ns32k-encore-mach\n"); exit (0);
141997e8a2e8Smrg#else
142097e8a2e8Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
142197e8a2e8Smrg#endif
142297e8a2e8Smrg#endif
142397e8a2e8Smrg#endif
142497e8a2e8Smrg
142597e8a2e8Smrg#if defined (__386BSD__)
142697e8a2e8Smrg  printf ("i386-pc-bsd\n"); exit (0);
142797e8a2e8Smrg#endif
142897e8a2e8Smrg
142997e8a2e8Smrg#if defined (sequent)
143097e8a2e8Smrg#if defined (i386)
143197e8a2e8Smrg  printf ("i386-sequent-dynix\n"); exit (0);
143297e8a2e8Smrg#endif
143397e8a2e8Smrg#if defined (ns32000)
143497e8a2e8Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
143597e8a2e8Smrg#endif
143697e8a2e8Smrg#endif
143797e8a2e8Smrg
143897e8a2e8Smrg#if defined (_SEQUENT_)
143997e8a2e8Smrg    struct utsname un;
144097e8a2e8Smrg
144197e8a2e8Smrg    uname(&un);
144297e8a2e8Smrg
144397e8a2e8Smrg    if (strncmp(un.version, "V2", 2) == 0) {
144497e8a2e8Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
144597e8a2e8Smrg    }
144697e8a2e8Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
144797e8a2e8Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
144897e8a2e8Smrg    }
144997e8a2e8Smrg    printf ("i386-sequent-ptx\n"); exit (0);
145097e8a2e8Smrg
145197e8a2e8Smrg#endif
145297e8a2e8Smrg
145397e8a2e8Smrg#if defined (vax)
145497e8a2e8Smrg# if !defined (ultrix)
145597e8a2e8Smrg#  include <sys/param.h>
145697e8a2e8Smrg#  if defined (BSD)
145797e8a2e8Smrg#   if BSD == 43
145897e8a2e8Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
145997e8a2e8Smrg#   else
146097e8a2e8Smrg#    if BSD == 199006
146197e8a2e8Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
146297e8a2e8Smrg#    else
146397e8a2e8Smrg      printf ("vax-dec-bsd\n"); exit (0);
146497e8a2e8Smrg#    endif
146597e8a2e8Smrg#   endif
146697e8a2e8Smrg#  else
146797e8a2e8Smrg    printf ("vax-dec-bsd\n"); exit (0);
146897e8a2e8Smrg#  endif
146997e8a2e8Smrg# else
147097e8a2e8Smrg    printf ("vax-dec-ultrix\n"); exit (0);
147197e8a2e8Smrg# endif
147297e8a2e8Smrg#endif
147397e8a2e8Smrg
147497e8a2e8Smrg#if defined (alliant) && defined (i860)
147597e8a2e8Smrg  printf ("i860-alliant-bsd\n"); exit (0);
147697e8a2e8Smrg#endif
147797e8a2e8Smrg
147897e8a2e8Smrg  exit (1);
147997e8a2e8Smrg}
148097e8a2e8SmrgEOF
148197e8a2e8Smrg
1482d7accfefSmrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1483d7accfefSmrg	{ echo "$SYSTEM_NAME"; exit; }
148497e8a2e8Smrg
148597e8a2e8Smrg# Apollos put the system type in the environment.
148697e8a2e8Smrg
1487d7accfefSmrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
148897e8a2e8Smrg
148997e8a2e8Smrg# Convex versions that predate uname can use getsysinfo(1)
149097e8a2e8Smrg
149197e8a2e8Smrgif [ -x /usr/convex/getsysinfo ]
149297e8a2e8Smrgthen
149397e8a2e8Smrg    case `getsysinfo -f cpu_type` in
149497e8a2e8Smrg    c1*)
149597e8a2e8Smrg	echo c1-convex-bsd
1496d7accfefSmrg	exit ;;
149797e8a2e8Smrg    c2*)
149897e8a2e8Smrg	if getsysinfo -f scalar_acc
149997e8a2e8Smrg	then echo c32-convex-bsd
150097e8a2e8Smrg	else echo c2-convex-bsd
150197e8a2e8Smrg	fi
1502d7accfefSmrg	exit ;;
150397e8a2e8Smrg    c34*)
150497e8a2e8Smrg	echo c34-convex-bsd
1505d7accfefSmrg	exit ;;
150697e8a2e8Smrg    c38*)
150797e8a2e8Smrg	echo c38-convex-bsd
1508d7accfefSmrg	exit ;;
150997e8a2e8Smrg    c4*)
151097e8a2e8Smrg	echo c4-convex-bsd
1511d7accfefSmrg	exit ;;
151297e8a2e8Smrg    esac
151397e8a2e8Smrgfi
151497e8a2e8Smrg
151597e8a2e8Smrgcat >&2 <<EOF
151697e8a2e8Smrg$0: unable to guess system type
151797e8a2e8Smrg
151897e8a2e8SmrgThis script, last modified $timestamp, has failed to recognize
151997e8a2e8Smrgthe operating system you are using. It is advised that you
152097e8a2e8Smrgdownload the most up to date version of the config scripts from
152197e8a2e8Smrg
1522d7accfefSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1523d7accfefSmrgand
1524d7accfefSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
152597e8a2e8Smrg
152697e8a2e8SmrgIf the version you run ($0) is already up to date, please
152797e8a2e8Smrgsend the following data and any information you think might be
152897e8a2e8Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
152997e8a2e8Smrginformation to handle your system.
153097e8a2e8Smrg
153197e8a2e8Smrgconfig.guess timestamp = $timestamp
153297e8a2e8Smrg
153397e8a2e8Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
153497e8a2e8Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
153597e8a2e8Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
153697e8a2e8Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
153797e8a2e8Smrg
153897e8a2e8Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
153997e8a2e8Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
154097e8a2e8Smrg
154197e8a2e8Smrghostinfo               = `(hostinfo) 2>/dev/null`
154297e8a2e8Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
154397e8a2e8Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
154497e8a2e8Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
154597e8a2e8Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
154697e8a2e8Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
154797e8a2e8Smrg
154897e8a2e8SmrgUNAME_MACHINE = ${UNAME_MACHINE}
154997e8a2e8SmrgUNAME_RELEASE = ${UNAME_RELEASE}
155097e8a2e8SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
155197e8a2e8SmrgUNAME_VERSION = ${UNAME_VERSION}
155297e8a2e8SmrgEOF
155397e8a2e8Smrg
155497e8a2e8Smrgexit 1
155597e8a2e8Smrg
155697e8a2e8Smrg# Local variables:
155797e8a2e8Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
155897e8a2e8Smrg# time-stamp-start: "timestamp='"
155997e8a2e8Smrg# time-stamp-format: "%:y-%02m-%02d"
156097e8a2e8Smrg# time-stamp-end: "'"
156197e8a2e8Smrg# End:
1562