150276Speter#! /bin/sh
250276Speter# Attempt to guess a canonical system name.
397049Speter#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4178866Srafan#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5178866Srafan#   Free Software Foundation, Inc.
662449Speter
7184989Srafantimestamp='2008-04-14'
862449Speter
950276Speter# This file is free software; you can redistribute it and/or modify it
1050276Speter# under the terms of the GNU General Public License as published by
1150276Speter# the Free Software Foundation; either version 2 of the License, or
1250276Speter# (at your option) any later version.
1350276Speter#
1450276Speter# This program is distributed in the hope that it will be useful, but
1550276Speter# WITHOUT ANY WARRANTY; without even the implied warranty of
1650276Speter# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1750276Speter# General Public License for more details.
1850276Speter#
1950276Speter# You should have received a copy of the GNU General Public License
2050276Speter# along with this program; if not, write to the Free Software
21166124Srafan# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22166124Srafan# 02110-1301, USA.
2350276Speter#
2450276Speter# As a special exception to the GNU General Public License, if you
2550276Speter# distribute this file as part of a program that contains a
2650276Speter# configuration script generated by Autoconf, you may include it under
2750276Speter# the same distribution terms that you use for the rest of that program.
2850276Speter
29166124Srafan
3097049Speter# Originally written by Per Bothner <per@bothner.com>.
3197049Speter# Please send patches to <config-patches@gnu.org>.  Submit a context
3297049Speter# diff and a properly formatted ChangeLog entry.
3350276Speter#
3450276Speter# This script attempts to guess a canonical system name similar to
3550276Speter# config.sub.  If it succeeds, it prints the system name on stdout, and
3650276Speter# exits with 0.  Otherwise, it exits with 1.
3750276Speter#
3850276Speter# The plan is that this can be called by configure scripts if you
3976726Speter# don't specify an explicit build system type.
4050276Speter
4162449Speterme=`echo "$0" | sed -e 's,.*/,,'`
4262449Speter
4362449Speterusage="\
4462449SpeterUsage: $0 [OPTION]
4562449Speter
4676726SpeterOutput the configuration name of the system \`$me' is run on.
4762449Speter
4862449SpeterOperation modes:
4976726Speter  -h, --help         print this help, then exit
5076726Speter  -t, --time-stamp   print date of last modification, then exit
5176726Speter  -v, --version      print version number, then exit
5262449Speter
5376726SpeterReport bugs and patches to <config-patches@gnu.org>."
5476726Speter
5576726Speterversion="\
5676726SpeterGNU config.guess ($timestamp)
5776726Speter
5876726SpeterOriginally written by Per Bothner.
59178866SrafanCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60178866Srafan2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
6176726Speter
6276726SpeterThis is free software; see the source for copying conditions.  There is NO
6376726Speterwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6476726Speter
6562449Speterhelp="
6662449SpeterTry \`$me --help' for more information."
6762449Speter
6862449Speter# Parse command line
6962449Speterwhile test $# -gt 0 ; do
7076726Speter  case $1 in
7176726Speter    --time-stamp | --time* | -t )
72166124Srafan       echo "$timestamp" ; exit ;;
7376726Speter    --version | -v )
74166124Srafan       echo "$version" ; exit ;;
7562449Speter    --help | --h* | -h )
76166124Srafan       echo "$usage"; exit ;;
7762449Speter    -- )     # Stop option processing
7862449Speter       shift; break ;;
7962449Speter    - )	# Use stdin as input.
8062449Speter       break ;;
8162449Speter    -* )
8276726Speter       echo "$me: invalid option $1$help" >&2
8362449Speter       exit 1 ;;
8462449Speter    * )
8562449Speter       break ;;
8662449Speter  esac
8762449Speterdone
8862449Speter
8962449Speterif test $# != 0; then
9062449Speter  echo "$me: too many arguments$help" >&2
9162449Speter  exit 1
9262449Speterfi
9362449Speter
94166124Srafantrap 'exit 1' 1 2 15
9562449Speter
96166124Srafan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97166124Srafan# compiler to aid in system detection is discouraged as it requires
98166124Srafan# temporary files to be created and, as you can see below, it is a
99166124Srafan# headache to deal with in a portable fashion.
10062449Speter
10176726Speter# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10276726Speter# use `HOST_CC' if defined, but it is deprecated.
10376726Speter
104166124Srafan# Portable tmp directory creation inspired by the Autoconf team.
105166124Srafan
106166124Srafanset_cc_for_build='
107166124Srafantrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108166124Srafantrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109166124Srafan: ${TMPDIR=/tmp} ;
110166124Srafan { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111166124Srafan { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112166124Srafan { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113166124Srafan { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114166124Srafandummy=$tmp/dummy ;
115166124Srafantmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116166124Srafancase $CC_FOR_BUILD,$HOST_CC,$CC in
117166124Srafan ,,)    echo "int x;" > $dummy.c ;
11897049Speter	for c in cc gcc c89 c99 ; do
119166124Srafan	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
12097049Speter	     CC_FOR_BUILD="$c"; break ;
12197049Speter	  fi ;
12297049Speter	done ;
12376726Speter	if test x"$CC_FOR_BUILD" = x ; then
12497049Speter	  CC_FOR_BUILD=no_compiler_found ;
12576726Speter	fi
12676726Speter	;;
12776726Speter ,,*)   CC_FOR_BUILD=$CC ;;
12876726Speter ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129166124Srafanesac ; set_cc_for_build= ;'
13076726Speter
13150276Speter# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
13297049Speter# (ghazi@noc.rutgers.edu 1994-08-24)
13350276Speterif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13450276Speter	PATH=$PATH:/.attbin ; export PATH
13550276Speterfi
13650276Speter
13750276SpeterUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13850276SpeterUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
13976726SpeterUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14050276SpeterUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14150276Speter
14250276Speter# Note: order is significant - the case branches are not exclusive.
14350276Speter
14450276Spetercase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14562449Speter    *:NetBSD:*:*)
14697049Speter	# NetBSD (nbsd) targets should (where applicable) match one or
14762449Speter	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14862449Speter	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
14962449Speter	# switched to ELF, *-*-netbsd* would select the old
15062449Speter	# object file format.  This provides both forward
15162449Speter	# compatibility and a consistent mechanism for selecting the
15262449Speter	# object file format.
15397049Speter	#
15497049Speter	# Note: NetBSD doesn't particularly care about the vendor
15597049Speter	# portion of the name.  We always set it to "unknown".
15697049Speter	sysctl="sysctl -n hw.machine_arch"
15797049Speter	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
15897049Speter	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
15997049Speter	case "${UNAME_MACHINE_ARCH}" in
160166124Srafan	    armeb) machine=armeb-unknown ;;
16197049Speter	    arm*) machine=arm-unknown ;;
16297049Speter	    sh3el) machine=shl-unknown ;;
16397049Speter	    sh3eb) machine=sh-unknown ;;
164174993Srafan	    sh5el) machine=sh5le-unknown ;;
16597049Speter	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16662449Speter	esac
16776726Speter	# The Operating System including object format, if it has switched
16876726Speter	# to ELF recently, or will in the future.
16997049Speter	case "${UNAME_MACHINE_ARCH}" in
17097049Speter	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
17197049Speter		eval $set_cc_for_build
17276726Speter		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17376726Speter			| grep __ELF__ >/dev/null
17476726Speter		then
17576726Speter		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17676726Speter		    # Return netbsd for either.  FIX?
17776726Speter		    os=netbsd
17876726Speter		else
17976726Speter		    os=netbsdelf
18076726Speter		fi
18176726Speter		;;
18276726Speter	    *)
183184989Srafan	        os=netbsd
18476726Speter		;;
18576726Speter	esac
18662449Speter	# The OS release
187166124Srafan	# Debian GNU/NetBSD machines have a different userland, and
188166124Srafan	# thus, need a distinct triplet. However, they do not need
189166124Srafan	# kernel version information, so it can be replaced with a
190166124Srafan	# suitable tag, in the style of linux-gnu.
191166124Srafan	case "${UNAME_VERSION}" in
192166124Srafan	    Debian*)
193166124Srafan		release='-gnu'
194166124Srafan		;;
195166124Srafan	    *)
196166124Srafan		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197166124Srafan		;;
198166124Srafan	esac
19962449Speter	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20062449Speter	# contains redundant information, the shorter form:
20162449Speter	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20262449Speter	echo "${machine}-${os}${release}"
203166124Srafan	exit ;;
20497049Speter    *:OpenBSD:*:*)
205166124Srafan	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206166124Srafan	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207166124Srafan	exit ;;
208166124Srafan    *:ekkoBSD:*:*)
209166124Srafan	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210166124Srafan	exit ;;
211166124Srafan    *:SolidBSD:*:*)
212166124Srafan	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213166124Srafan	exit ;;
214166124Srafan    macppc:MirBSD:*:*)
215166124Srafan	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216166124Srafan	exit ;;
217166124Srafan    *:MirBSD:*:*)
218166124Srafan	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219166124Srafan	exit ;;
22050276Speter    alpha:OSF1:*:*)
221166124Srafan	case $UNAME_RELEASE in
222184989Srafan	*4.0)
22350276Speter		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
224166124Srafan		;;
225184989Srafan	*5.*)
226184989Srafan	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
227166124Srafan		;;
228166124Srafan	esac
229166124Srafan	# According to Compaq, /usr/sbin/psrinfo has been available on
230166124Srafan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
231166124Srafan	# covers most systems running today.  This code pipes the CPU
232166124Srafan	# types through head -n 1, so we only detect the type of CPU 0.
233166124Srafan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234166124Srafan	case "$ALPHA_CPU_TYPE" in
235166124Srafan	    "EV4 (21064)")
236166124Srafan		UNAME_MACHINE="alpha" ;;
237166124Srafan	    "EV4.5 (21064)")
238166124Srafan		UNAME_MACHINE="alpha" ;;
239166124Srafan	    "LCA4 (21066/21068)")
240166124Srafan		UNAME_MACHINE="alpha" ;;
241166124Srafan	    "EV5 (21164)")
242166124Srafan		UNAME_MACHINE="alphaev5" ;;
243166124Srafan	    "EV5.6 (21164A)")
244166124Srafan		UNAME_MACHINE="alphaev56" ;;
245166124Srafan	    "EV5.6 (21164PC)")
246166124Srafan		UNAME_MACHINE="alphapca56" ;;
247166124Srafan	    "EV5.7 (21164PC)")
248166124Srafan		UNAME_MACHINE="alphapca57" ;;
249166124Srafan	    "EV6 (21264)")
250166124Srafan		UNAME_MACHINE="alphaev6" ;;
251166124Srafan	    "EV6.7 (21264A)")
252166124Srafan		UNAME_MACHINE="alphaev67" ;;
253166124Srafan	    "EV6.8CB (21264C)")
254166124Srafan		UNAME_MACHINE="alphaev68" ;;
255166124Srafan	    "EV6.8AL (21264B)")
256166124Srafan		UNAME_MACHINE="alphaev68" ;;
257166124Srafan	    "EV6.8CX (21264D)")
258166124Srafan		UNAME_MACHINE="alphaev68" ;;
259166124Srafan	    "EV6.9A (21264/EV69A)")
260166124Srafan		UNAME_MACHINE="alphaev69" ;;
261166124Srafan	    "EV7 (21364)")
262166124Srafan		UNAME_MACHINE="alphaev7" ;;
263166124Srafan	    "EV7.9 (21364A)")
264166124Srafan		UNAME_MACHINE="alphaev79" ;;
265166124Srafan	esac
266166124Srafan	# A Pn.n version is a patched version.
26750276Speter	# A Vn.n version is a released version.
26850276Speter	# A Tn.n version is a released field test version.
26950276Speter	# A Xn.n version is an unreleased experimental baselevel.
27050276Speter	# 1.2 uses "1.2" for uname -r.
271166124Srafan	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272166124Srafan	exit ;;
27362449Speter    Alpha\ *:Windows_NT*:*)
27462449Speter	# How do we know it's Interix rather than the generic POSIX subsystem?
27562449Speter	# Should we change UNAME_MACHINE based on the output of uname instead
27662449Speter	# of the specific Alpha model?
27762449Speter	echo alpha-pc-interix
278166124Srafan	exit ;;
27950276Speter    21064:Windows_NT:50:3)
28050276Speter	echo alpha-dec-winnt3.5
281166124Srafan	exit ;;
28250276Speter    Amiga*:UNIX_System_V:4.0:*)
28376726Speter	echo m68k-unknown-sysv4
284166124Srafan	exit ;;
28550276Speter    *:[Aa]miga[Oo][Ss]:*:*)
28650276Speter	echo ${UNAME_MACHINE}-unknown-amigaos
287166124Srafan	exit ;;
28897049Speter    *:[Mm]orph[Oo][Ss]:*:*)
28997049Speter	echo ${UNAME_MACHINE}-unknown-morphos
290166124Srafan	exit ;;
29162449Speter    *:OS/390:*:*)
29262449Speter	echo i370-ibm-openedition
293166124Srafan	exit ;;
294166124Srafan    *:z/VM:*:*)
295166124Srafan	echo s390-ibm-zvmoe
296166124Srafan	exit ;;
297166124Srafan    *:OS400:*:*)
298184989Srafan        echo powerpc-ibm-os400
299166124Srafan	exit ;;
30050276Speter    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30150276Speter	echo arm-acorn-riscix${UNAME_RELEASE}
302166124Srafan	exit ;;
303166124Srafan    arm:riscos:*:*|arm:RISCOS:*:*)
304166124Srafan	echo arm-unknown-riscos
305166124Srafan	exit ;;
30676726Speter    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
30750276Speter	echo hppa1.1-hitachi-hiuxmpp
308166124Srafan	exit ;;
30962449Speter    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
31050276Speter	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31150276Speter	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31250276Speter		echo pyramid-pyramid-sysv3
31350276Speter	else
31450276Speter		echo pyramid-pyramid-bsd
31550276Speter	fi
316166124Srafan	exit ;;
31762449Speter    NILE*:*:*:dcosx)
31850276Speter	echo pyramid-pyramid-svr4
319166124Srafan	exit ;;
320166124Srafan    DRS?6000:unix:4.0:6*)
321166124Srafan	echo sparc-icl-nx6
322166124Srafan	exit ;;
323166124Srafan    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324166124Srafan	case `/usr/bin/uname -p` in
325166124Srafan	    sparc) echo sparc-icl-nx7; exit ;;
326166124Srafan	esac ;;
32750276Speter    sun4H:SunOS:5.*:*)
32850276Speter	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329166124Srafan	exit ;;
33050276Speter    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33150276Speter	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332166124Srafan	exit ;;
333178866Srafan    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
33450276Speter	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335166124Srafan	exit ;;
33650276Speter    sun4*:SunOS:6*:*)
33750276Speter	# According to config.sub, this is the proper way to canonicalize
33850276Speter	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
33950276Speter	# it's likely to be more like Solaris than SunOS4.
34050276Speter	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341166124Srafan	exit ;;
34250276Speter    sun4*:SunOS:*:*)
34350276Speter	case "`/usr/bin/arch -k`" in
34450276Speter	    Series*|S4*)
34550276Speter		UNAME_RELEASE=`uname -v`
34650276Speter		;;
34750276Speter	esac
34850276Speter	# Japanese Language versions have a version number like `4.1.3-JL'.
34950276Speter	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
350166124Srafan	exit ;;
35150276Speter    sun3*:SunOS:*:*)
35250276Speter	echo m68k-sun-sunos${UNAME_RELEASE}
353166124Srafan	exit ;;
35450276Speter    sun*:*:4.2BSD:*)
35597049Speter	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
35650276Speter	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
35750276Speter	case "`/bin/arch`" in
35850276Speter	    sun3)
35950276Speter		echo m68k-sun-sunos${UNAME_RELEASE}
36050276Speter		;;
36150276Speter	    sun4)
36250276Speter		echo sparc-sun-sunos${UNAME_RELEASE}
36350276Speter		;;
36450276Speter	esac
365166124Srafan	exit ;;
36650276Speter    aushp:SunOS:*:*)
36750276Speter	echo sparc-auspex-sunos${UNAME_RELEASE}
368166124Srafan	exit ;;
36962449Speter    # The situation for MiNT is a little confusing.  The machine name
37062449Speter    # can be virtually everything (everything which is not
37162449Speter    # "atarist" or "atariste" at least should have a processor
37262449Speter    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
37362449Speter    # to the lowercase version "mint" (or "freemint").  Finally
37462449Speter    # the system name "TOS" denotes a system which is actually not
37562449Speter    # MiNT.  But MiNT is downward compatible to TOS, so this should
37662449Speter    # be no problem.
37762449Speter    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
378184989Srafan        echo m68k-atari-mint${UNAME_RELEASE}
379166124Srafan	exit ;;
38062449Speter    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
38162449Speter	echo m68k-atari-mint${UNAME_RELEASE}
382184989Srafan        exit ;;
38362449Speter    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
384184989Srafan        echo m68k-atari-mint${UNAME_RELEASE}
385166124Srafan	exit ;;
38662449Speter    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
387184989Srafan        echo m68k-milan-mint${UNAME_RELEASE}
388184989Srafan        exit ;;
38962449Speter    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
390184989Srafan        echo m68k-hades-mint${UNAME_RELEASE}
391184989Srafan        exit ;;
39262449Speter    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
393184989Srafan        echo m68k-unknown-mint${UNAME_RELEASE}
394184989Srafan        exit ;;
395166124Srafan    m68k:machten:*:*)
396166124Srafan	echo m68k-apple-machten${UNAME_RELEASE}
397166124Srafan	exit ;;
39850276Speter    powerpc:machten:*:*)
39950276Speter	echo powerpc-apple-machten${UNAME_RELEASE}
400166124Srafan	exit ;;
40150276Speter    RISC*:Mach:*:*)
40250276Speter	echo mips-dec-mach_bsd4.3
403166124Srafan	exit ;;
40450276Speter    RISC*:ULTRIX:*:*)
40550276Speter	echo mips-dec-ultrix${UNAME_RELEASE}
406166124Srafan	exit ;;
40750276Speter    VAX*:ULTRIX*:*:*)
40850276Speter	echo vax-dec-ultrix${UNAME_RELEASE}
409166124Srafan	exit ;;
41050276Speter    2020:CLIX:*:* | 2430:CLIX:*:*)
41150276Speter	echo clipper-intergraph-clix${UNAME_RELEASE}
412166124Srafan	exit ;;
41350276Speter    mips:*:*:UMIPS | mips:*:*:RISCos)
41497049Speter	eval $set_cc_for_build
41562449Speter	sed 's/^	//' << EOF >$dummy.c
41662449Speter#ifdef __cplusplus
41762449Speter#include <stdio.h>  /* for printf() prototype */
41862449Speter	int main (int argc, char *argv[]) {
41962449Speter#else
42062449Speter	int main (argc, argv) int argc; char *argv[]; {
42162449Speter#endif
42250276Speter	#if defined (host_mips) && defined (MIPSEB)
42350276Speter	#if defined (SYSTYPE_SYSV)
42450276Speter	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
42550276Speter	#endif
42650276Speter	#if defined (SYSTYPE_SVR4)
42750276Speter	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
42850276Speter	#endif
42950276Speter	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
43050276Speter	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
43150276Speter	#endif
43250276Speter	#endif
43350276Speter	  exit (-1);
43450276Speter	}
43550276SpeterEOF
436166124Srafan	$CC_FOR_BUILD -o $dummy $dummy.c &&
437166124Srafan	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
438166124Srafan	  SYSTEM_NAME=`$dummy $dummyarg` &&
439166124Srafan	    { echo "$SYSTEM_NAME"; exit; }
44050276Speter	echo mips-mips-riscos${UNAME_RELEASE}
441166124Srafan	exit ;;
44297049Speter    Motorola:PowerMAX_OS:*:*)
44397049Speter	echo powerpc-motorola-powermax
444166124Srafan	exit ;;
445166124Srafan    Motorola:*:4.3:PL8-*)
446166124Srafan	echo powerpc-harris-powermax
447166124Srafan	exit ;;
448166124Srafan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
449166124Srafan	echo powerpc-harris-powermax
450166124Srafan	exit ;;
45150276Speter    Night_Hawk:Power_UNIX:*:*)
45250276Speter	echo powerpc-harris-powerunix
453166124Srafan	exit ;;
45450276Speter    m88k:CX/UX:7*:*)
45550276Speter	echo m88k-harris-cxux7
456166124Srafan	exit ;;
45750276Speter    m88k:*:4*:R4*)
45850276Speter	echo m88k-motorola-sysv4
459166124Srafan	exit ;;
46050276Speter    m88k:*:3*:R3*)
46150276Speter	echo m88k-motorola-sysv3
462166124Srafan	exit ;;
46350276Speter    AViiON:dgux:*:*)
464184989Srafan        # DG/UX returns AViiON for all architectures
465184989Srafan        UNAME_PROCESSOR=`/usr/bin/uname -p`
46662449Speter	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
46762449Speter	then
46862449Speter	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
46962449Speter	       [ ${TARGET_BINARY_INTERFACE}x = x ]
47062449Speter	    then
47150276Speter		echo m88k-dg-dgux${UNAME_RELEASE}
47262449Speter	    else
47362449Speter		echo m88k-dg-dguxbcs${UNAME_RELEASE}
47462449Speter	    fi
47550276Speter	else
47662449Speter	    echo i586-dg-dgux${UNAME_RELEASE}
47750276Speter	fi
478166124Srafan 	exit ;;
47950276Speter    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
48050276Speter	echo m88k-dolphin-sysv3
481166124Srafan	exit ;;
48250276Speter    M88*:*:R3*:*)
48350276Speter	# Delta 88k system running SVR3
48450276Speter	echo m88k-motorola-sysv3
485166124Srafan	exit ;;
48650276Speter    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
48750276Speter	echo m88k-tektronix-sysv3
488166124Srafan	exit ;;
48950276Speter    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
49050276Speter	echo m68k-tektronix-bsd
491166124Srafan	exit ;;
49250276Speter    *:IRIX*:*:*)
49350276Speter	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
494166124Srafan	exit ;;
49576726Speter    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
496166124Srafan	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
497166124Srafan	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
49897049Speter    i*86:AIX:*:*)
49950276Speter	echo i386-ibm-aix
500166124Srafan	exit ;;
50176726Speter    ia64:AIX:*:*)
50276726Speter	if [ -x /usr/bin/oslevel ] ; then
50376726Speter		IBM_REV=`/usr/bin/oslevel`
50476726Speter	else
50576726Speter		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
50676726Speter	fi
50776726Speter	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
508166124Srafan	exit ;;
50950276Speter    *:AIX:2:3)
51050276Speter	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
51197049Speter		eval $set_cc_for_build
51262449Speter		sed 's/^		//' << EOF >$dummy.c
51350276Speter		#include <sys/systemcfg.h>
51450276Speter
51550276Speter		main()
51650276Speter			{
51750276Speter			if (!__power_pc())
51850276Speter				exit(1);
51950276Speter			puts("powerpc-ibm-aix3.2.5");
52050276Speter			exit(0);
52150276Speter			}
52250276SpeterEOF
523166124Srafan		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
524166124Srafan		then
525166124Srafan			echo "$SYSTEM_NAME"
526166124Srafan		else
527166124Srafan			echo rs6000-ibm-aix3.2.5
528166124Srafan		fi
52950276Speter	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
53050276Speter		echo rs6000-ibm-aix3.2.4
53150276Speter	else
53250276Speter		echo rs6000-ibm-aix3.2
53350276Speter	fi
534166124Srafan	exit ;;
535178866Srafan    *:AIX:*:[456])
53697049Speter	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
53776726Speter	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
53850276Speter		IBM_ARCH=rs6000
53950276Speter	else
54050276Speter		IBM_ARCH=powerpc
54150276Speter	fi
54250276Speter	if [ -x /usr/bin/oslevel ] ; then
54350276Speter		IBM_REV=`/usr/bin/oslevel`
54450276Speter	else
54576726Speter		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
54650276Speter	fi
54750276Speter	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
548166124Srafan	exit ;;
54950276Speter    *:AIX:*:*)
55050276Speter	echo rs6000-ibm-aix
551166124Srafan	exit ;;
55250276Speter    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
55350276Speter	echo romp-ibm-bsd4.4
554166124Srafan	exit ;;
55562449Speter    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
55650276Speter	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
557166124Srafan	exit ;;                             # report: romp-ibm BSD 4.3
55850276Speter    *:BOSX:*:*)
55950276Speter	echo rs6000-bull-bosx
560166124Srafan	exit ;;
56150276Speter    DPX/2?00:B.O.S.:*:*)
56250276Speter	echo m68k-bull-sysv3
563166124Srafan	exit ;;
56450276Speter    9000/[34]??:4.3bsd:1.*:*)
56550276Speter	echo m68k-hp-bsd
566166124Srafan	exit ;;
56750276Speter    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
56850276Speter	echo m68k-hp-bsd4.4
569166124Srafan	exit ;;
57050276Speter    9000/[34678]??:HP-UX:*:*)
57176726Speter	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
57250276Speter	case "${UNAME_MACHINE}" in
57350276Speter	    9000/31? )            HP_ARCH=m68000 ;;
57450276Speter	    9000/[34]?? )         HP_ARCH=m68k ;;
57562449Speter	    9000/[678][0-9][0-9])
57697049Speter		if [ -x /usr/bin/getconf ]; then
57797049Speter		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
578184989Srafan                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
579184989Srafan                    case "${sc_cpu_version}" in
58076726Speter                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
58176726Speter                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
58276726Speter                      532)                      # CPU_PA_RISC2_0
58376726Speter                        case "${sc_kernel_bits}" in
58476726Speter                          32) HP_ARCH="hppa2.0n" ;;
58576726Speter                          64) HP_ARCH="hppa2.0w" ;;
58697049Speter			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
58776726Speter                        esac ;;
58876726Speter                    esac
58997049Speter		fi
59097049Speter		if [ "${HP_ARCH}" = "" ]; then
59197049Speter		    eval $set_cc_for_build
59297049Speter		    sed 's/^              //' << EOF >$dummy.c
59362449Speter
59462449Speter              #define _HPUX_SOURCE
59550276Speter              #include <stdlib.h>
59650276Speter              #include <unistd.h>
59750276Speter
59850276Speter              int main ()
59950276Speter              {
60050276Speter              #if defined(_SC_KERNEL_BITS)
60150276Speter                  long bits = sysconf(_SC_KERNEL_BITS);
60250276Speter              #endif
60350276Speter                  long cpu  = sysconf (_SC_CPU_VERSION);
60450276Speter
60550276Speter                  switch (cpu)
60650276Speter              	{
60750276Speter              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
60850276Speter              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
60950276Speter              	case CPU_PA_RISC2_0:
61050276Speter              #if defined(_SC_KERNEL_BITS)
61150276Speter              	    switch (bits)
61250276Speter              		{
61350276Speter              		case 64: puts ("hppa2.0w"); break;
61450276Speter              		case 32: puts ("hppa2.0n"); break;
61550276Speter              		default: puts ("hppa2.0"); break;
61650276Speter              		} break;
61750276Speter              #else  /* !defined(_SC_KERNEL_BITS) */
61850276Speter              	    puts ("hppa2.0"); break;
61950276Speter              #endif
62050276Speter              	default: puts ("hppa1.0"); break;
62150276Speter              	}
62250276Speter                  exit (0);
62350276Speter              }
62450276SpeterEOF
625166124Srafan		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
626166124Srafan		    test -z "$HP_ARCH" && HP_ARCH=hppa
62797049Speter		fi ;;
62850276Speter	esac
629166124Srafan	if [ ${HP_ARCH} = "hppa2.0w" ]
630166124Srafan	then
631166124Srafan	    eval $set_cc_for_build
632166124Srafan
633166124Srafan	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
634166124Srafan	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
635166124Srafan	    # generating 64-bit code.  GNU and HP use different nomenclature:
636166124Srafan	    #
637166124Srafan	    # $ CC_FOR_BUILD=cc ./config.guess
638166124Srafan	    # => hppa2.0w-hp-hpux11.23
639166124Srafan	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
640166124Srafan	    # => hppa64-hp-hpux11.23
641166124Srafan
642166124Srafan	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
643166124Srafan		grep __LP64__ >/dev/null
644166124Srafan	    then
645166124Srafan		HP_ARCH="hppa2.0w"
646166124Srafan	    else
647166124Srafan		HP_ARCH="hppa64"
648166124Srafan	    fi
649166124Srafan	fi
65050276Speter	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
651166124Srafan	exit ;;
65276726Speter    ia64:HP-UX:*:*)
65376726Speter	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
65476726Speter	echo ia64-hp-hpux${HPUX_REV}
655166124Srafan	exit ;;
65650276Speter    3050*:HI-UX:*:*)
65797049Speter	eval $set_cc_for_build
65862449Speter	sed 's/^	//' << EOF >$dummy.c
65950276Speter	#include <unistd.h>
66050276Speter	int
66150276Speter	main ()
66250276Speter	{
66350276Speter	  long cpu = sysconf (_SC_CPU_VERSION);
66450276Speter	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
66550276Speter	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
66650276Speter	     results, however.  */
66750276Speter	  if (CPU_IS_PA_RISC (cpu))
66850276Speter	    {
66950276Speter	      switch (cpu)
67050276Speter		{
67150276Speter		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
67250276Speter		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
67350276Speter		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
67450276Speter		  default: puts ("hppa-hitachi-hiuxwe2"); break;
67550276Speter		}
67650276Speter	    }
67750276Speter	  else if (CPU_IS_HP_MC68K (cpu))
67850276Speter	    puts ("m68k-hitachi-hiuxwe2");
67950276Speter	  else puts ("unknown-hitachi-hiuxwe2");
68050276Speter	  exit (0);
68150276Speter	}
68250276SpeterEOF
683166124Srafan	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
684166124Srafan		{ echo "$SYSTEM_NAME"; exit; }
68550276Speter	echo unknown-hitachi-hiuxwe2
686166124Srafan	exit ;;
68750276Speter    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
68850276Speter	echo hppa1.1-hp-bsd
689166124Srafan	exit ;;
69050276Speter    9000/8??:4.3bsd:*:*)
69150276Speter	echo hppa1.0-hp-bsd
692166124Srafan	exit ;;
69397049Speter    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
69462449Speter	echo hppa1.0-hp-mpeix
695166124Srafan	exit ;;
69650276Speter    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
69750276Speter	echo hppa1.1-hp-osf
698166124Srafan	exit ;;
69950276Speter    hp8??:OSF1:*:*)
70050276Speter	echo hppa1.0-hp-osf
701166124Srafan	exit ;;
70297049Speter    i*86:OSF1:*:*)
70350276Speter	if [ -x /usr/sbin/sysversion ] ; then
70450276Speter	    echo ${UNAME_MACHINE}-unknown-osf1mk
70550276Speter	else
70650276Speter	    echo ${UNAME_MACHINE}-unknown-osf1
70750276Speter	fi
708166124Srafan	exit ;;
70950276Speter    parisc*:Lites*:*:*)
71050276Speter	echo hppa1.1-hp-lites
711166124Srafan	exit ;;
71250276Speter    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
71350276Speter	echo c1-convex-bsd
714184989Srafan        exit ;;
71550276Speter    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
71650276Speter	if getsysinfo -f scalar_acc
71750276Speter	then echo c32-convex-bsd
71850276Speter	else echo c2-convex-bsd
71950276Speter	fi
720184989Srafan        exit ;;
72150276Speter    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
72250276Speter	echo c34-convex-bsd
723184989Srafan        exit ;;
72450276Speter    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
72550276Speter	echo c38-convex-bsd
726184989Srafan        exit ;;
72750276Speter    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
72850276Speter	echo c4-convex-bsd
729184989Srafan        exit ;;
73050276Speter    CRAY*Y-MP:*:*:*)
73197049Speter	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
732166124Srafan	exit ;;
73350276Speter    CRAY*[A-Z]90:*:*:*)
73450276Speter	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
73550276Speter	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
73697049Speter	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
73797049Speter	      -e 's/\.[^.]*$/.X/'
738166124Srafan	exit ;;
73950276Speter    CRAY*TS:*:*:*)
74062449Speter	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
741166124Srafan	exit ;;
74276726Speter    CRAY*T3E:*:*:*)
74376726Speter	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
744166124Srafan	exit ;;
74562449Speter    CRAY*SV1:*:*:*)
74662449Speter	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
747166124Srafan	exit ;;
748166124Srafan    *:UNICOS/mp:*:*)
749166124Srafan	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
750166124Srafan	exit ;;
75176726Speter    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
75276726Speter	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
753184989Srafan        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
754184989Srafan        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
755184989Srafan        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
756184989Srafan        exit ;;
757166124Srafan    5000:UNIX_System_V:4.*:*)
758184989Srafan        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
759184989Srafan        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
760184989Srafan        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
761166124Srafan	exit ;;
76297049Speter    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
76362449Speter	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
764166124Srafan	exit ;;
76550276Speter    sparc*:BSD/OS:*:*)
76650276Speter	echo sparc-unknown-bsdi${UNAME_RELEASE}
767166124Srafan	exit ;;
76862449Speter    *:BSD/OS:*:*)
76962449Speter	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
770166124Srafan	exit ;;
77150276Speter    *:FreeBSD:*:*)
772166124Srafan	case ${UNAME_MACHINE} in
773166124Srafan	    pc98)
774166124Srafan		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
775166124Srafan	    amd64)
776166124Srafan		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
777166124Srafan	    *)
778166124Srafan		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
779166124Srafan	esac
780166124Srafan	exit ;;
78150276Speter    i*:CYGWIN*:*)
78250276Speter	echo ${UNAME_MACHINE}-pc-cygwin
783166124Srafan	exit ;;
784174993Srafan    *:MINGW*:*)
78550276Speter	echo ${UNAME_MACHINE}-pc-mingw32
786166124Srafan	exit ;;
787166124Srafan    i*:windows32*:*)
788184989Srafan    	# uname -m includes "-pc" on this system.
789184989Srafan    	echo ${UNAME_MACHINE}-mingw32
790166124Srafan	exit ;;
79176726Speter    i*:PW*:*)
79276726Speter	echo ${UNAME_MACHINE}-pc-pw32
793166124Srafan	exit ;;
794174993Srafan    *:Interix*:[3456]*)
795184989Srafan    	case ${UNAME_MACHINE} in
796178866Srafan	    x86)
797174993Srafan		echo i586-pc-interix${UNAME_RELEASE}
798174993Srafan		exit ;;
799174993Srafan	    EM64T | authenticamd)
800174993Srafan		echo x86_64-unknown-interix${UNAME_RELEASE}
801174993Srafan		exit ;;
802178866Srafan	    IA64)
803184989Srafan		echo ia64-unknown-interix${UNAME_RELEASE}
804184989Srafan		exit ;;
805174993Srafan	esac ;;
806166124Srafan    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
807166124Srafan	echo i${UNAME_MACHINE}-pc-mks
808166124Srafan	exit ;;
80962449Speter    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
81062449Speter	# How do we know it's Interix rather than the generic POSIX subsystem?
81162449Speter	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
81262449Speter	# UNAME_MACHINE based on the output of uname instead of i386?
813166124Srafan	echo i586-pc-interix
814166124Srafan	exit ;;
81562449Speter    i*:UWIN*:*)
81662449Speter	echo ${UNAME_MACHINE}-pc-uwin
817166124Srafan	exit ;;
818166124Srafan    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
819166124Srafan	echo x86_64-unknown-cygwin
820166124Srafan	exit ;;
82150276Speter    p*:CYGWIN*:*)
82250276Speter	echo powerpcle-unknown-cygwin
823166124Srafan	exit ;;
82450276Speter    prep*:SunOS:5.*:*)
82550276Speter	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
826166124Srafan	exit ;;
82750276Speter    *:GNU:*:*)
828166124Srafan	# the GNU system
82950276Speter	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
830166124Srafan	exit ;;
831166124Srafan    *:GNU/*:*:*)
832166124Srafan	# other systems with GNU libc and userland
833166124Srafan	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
834166124Srafan	exit ;;
83562449Speter    i*86:Minix:*:*)
83662449Speter	echo ${UNAME_MACHINE}-pc-minix
837166124Srafan	exit ;;
83876726Speter    arm*:Linux:*:*)
839178866Srafan	eval $set_cc_for_build
840184989Srafan	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
841184989Srafan	    | grep -q __ARM_EABI__
842178866Srafan	then
843178866Srafan	    echo ${UNAME_MACHINE}-unknown-linux-gnu
844178866Srafan	else
845178866Srafan	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
846178866Srafan	fi
847166124Srafan	exit ;;
848166124Srafan    avr32*:Linux:*:*)
849166124Srafan	echo ${UNAME_MACHINE}-unknown-linux-gnu
850166124Srafan	exit ;;
851166124Srafan    cris:Linux:*:*)
852166124Srafan	echo cris-axis-linux-gnu
853166124Srafan	exit ;;
854166124Srafan    crisv32:Linux:*:*)
855166124Srafan	echo crisv32-axis-linux-gnu
856166124Srafan	exit ;;
857166124Srafan    frv:Linux:*:*)
858184989Srafan    	echo frv-unknown-linux-gnu
859166124Srafan	exit ;;
86076726Speter    ia64:Linux:*:*)
86197049Speter	echo ${UNAME_MACHINE}-unknown-linux-gnu
862166124Srafan	exit ;;
863166124Srafan    m32r*:Linux:*:*)
864166124Srafan	echo ${UNAME_MACHINE}-unknown-linux-gnu
865166124Srafan	exit ;;
86676726Speter    m68*:Linux:*:*)
86776726Speter	echo ${UNAME_MACHINE}-unknown-linux-gnu
868166124Srafan	exit ;;
86976726Speter    mips:Linux:*:*)
87097049Speter	eval $set_cc_for_build
87197049Speter	sed 's/^	//' << EOF >$dummy.c
87297049Speter	#undef CPU
87397049Speter	#undef mips
87497049Speter	#undef mipsel
87597049Speter	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
87697049Speter	CPU=mipsel
87797049Speter	#else
87897049Speter	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
87997049Speter	CPU=mips
88097049Speter	#else
88197049Speter	CPU=
88297049Speter	#endif
88397049Speter	#endif
88476726SpeterEOF
885166124Srafan	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
886184989Srafan	    /^CPU/{
887184989Srafan		s: ::g
888184989Srafan		p
889184989Srafan	    }'`"
890166124Srafan	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
89176726Speter	;;
892166124Srafan    mips64:Linux:*:*)
893166124Srafan	eval $set_cc_for_build
894166124Srafan	sed 's/^	//' << EOF >$dummy.c
895166124Srafan	#undef CPU
896166124Srafan	#undef mips64
897166124Srafan	#undef mips64el
898166124Srafan	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
899166124Srafan	CPU=mips64el
900166124Srafan	#else
901166124Srafan	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
902166124Srafan	CPU=mips64
903166124Srafan	#else
904166124Srafan	CPU=
905166124Srafan	#endif
906166124Srafan	#endif
907166124SrafanEOF
908166124Srafan	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
909184989Srafan	    /^CPU/{
910184989Srafan		s: ::g
911184989Srafan		p
912184989Srafan	    }'`"
913166124Srafan	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
914166124Srafan	;;
915166124Srafan    or32:Linux:*:*)
916184989Srafan	echo or32-unknown-linux-gnu
917184989Srafan	exit ;;
91876726Speter    ppc:Linux:*:*)
91997049Speter	echo powerpc-unknown-linux-gnu
920166124Srafan	exit ;;
92197049Speter    ppc64:Linux:*:*)
92297049Speter	echo powerpc64-unknown-linux-gnu
923166124Srafan	exit ;;
92476726Speter    alpha:Linux:*:*)
92597049Speter	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
92697049Speter	  EV5)   UNAME_MACHINE=alphaev5 ;;
92797049Speter	  EV56)  UNAME_MACHINE=alphaev56 ;;
92897049Speter	  PCA56) UNAME_MACHINE=alphapca56 ;;
92997049Speter	  PCA57) UNAME_MACHINE=alphapca56 ;;
93097049Speter	  EV6)   UNAME_MACHINE=alphaev6 ;;
93197049Speter	  EV67)  UNAME_MACHINE=alphaev67 ;;
93297049Speter	  EV68*) UNAME_MACHINE=alphaev68 ;;
933184989Srafan        esac
93497049Speter	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
93597049Speter	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
93676726Speter	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
937166124Srafan	exit ;;
93876726Speter    parisc:Linux:*:* | hppa:Linux:*:*)
93976726Speter	# Look for CPU level
94076726Speter	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
94176726Speter	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
94276726Speter	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
94376726Speter	  *)    echo hppa-unknown-linux-gnu ;;
94476726Speter	esac
945166124Srafan	exit ;;
94676726Speter    parisc64:Linux:*:* | hppa64:Linux:*:*)
94776726Speter	echo hppa64-unknown-linux-gnu
948166124Srafan	exit ;;
94976726Speter    s390:Linux:*:* | s390x:Linux:*:*)
95076726Speter	echo ${UNAME_MACHINE}-ibm-linux
951166124Srafan	exit ;;
952166124Srafan    sh64*:Linux:*:*)
953184989Srafan    	echo ${UNAME_MACHINE}-unknown-linux-gnu
954166124Srafan	exit ;;
95576726Speter    sh*:Linux:*:*)
95676726Speter	echo ${UNAME_MACHINE}-unknown-linux-gnu
957166124Srafan	exit ;;
95876726Speter    sparc:Linux:*:* | sparc64:Linux:*:*)
95976726Speter	echo ${UNAME_MACHINE}-unknown-linux-gnu
960166124Srafan	exit ;;
961166124Srafan    vax:Linux:*:*)
962166124Srafan	echo ${UNAME_MACHINE}-dec-linux-gnu
963166124Srafan	exit ;;
96476726Speter    x86_64:Linux:*:*)
96576726Speter	echo x86_64-unknown-linux-gnu
966166124Srafan	exit ;;
967178866Srafan    xtensa*:Linux:*:*)
968184989Srafan    	echo ${UNAME_MACHINE}-unknown-linux-gnu
969174993Srafan	exit ;;
97097049Speter    i*86:Linux:*:*)
97176726Speter	# The BFD linker knows what the default object file format is, so
97276726Speter	# first see if it will tell us. cd to the root directory to prevent
97376726Speter	# problems with other programs or directories called `ld' in the path.
97497049Speter	# Set LC_ALL=C to ensure ld outputs messages in English.
97597049Speter	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
97697049Speter			 | sed -ne '/supported targets:/!d
97776726Speter				    s/[ 	][ 	]*/ /g
97897049Speter				    s/.*supported targets: *//
97976726Speter				    s/ .*//
98076726Speter				    p'`
981184989Srafan        case "$ld_supported_targets" in
98297049Speter	  elf32-i386)
98376726Speter		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
98476726Speter		;;
98597049Speter	  a.out-i386-linux)
98697049Speter		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
987166124Srafan		exit ;;
98897049Speter	  "")
98997049Speter		# Either a pre-BFD a.out linker (linux-gnuoldld) or
99097049Speter		# one that does not give us useful --help.
99197049Speter		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
992166124Srafan		exit ;;
99350276Speter	esac
99476726Speter	# Determine whether the default compiler is a.out or elf
99597049Speter	eval $set_cc_for_build
99697049Speter	sed 's/^	//' << EOF >$dummy.c
99797049Speter	#include <features.h>
99897049Speter	#ifdef __ELF__
99997049Speter	# ifdef __GLIBC__
100097049Speter	#  if __GLIBC__ >= 2
100197049Speter	LIBC=gnu
100297049Speter	#  else
100397049Speter	LIBC=gnulibc1
100497049Speter	#  endif
100597049Speter	# else
100697049Speter	LIBC=gnulibc1
100797049Speter	# endif
100897049Speter	#else
1009166124Srafan	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
101097049Speter	LIBC=gnu
101197049Speter	#else
101297049Speter	LIBC=gnuaout
101397049Speter	#endif
101497049Speter	#endif
1015166124Srafan	#ifdef __dietlibc__
1016166124Srafan	LIBC=dietlibc
1017166124Srafan	#endif
101850276SpeterEOF
1019166124Srafan	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1020184989Srafan	    /^LIBC/{
1021184989Srafan		s: ::g
1022184989Srafan		p
1023184989Srafan	    }'`"
1024166124Srafan	test x"${LIBC}" != x && {
1025166124Srafan		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1026166124Srafan		exit
1027166124Srafan	}
1028166124Srafan	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
102976726Speter	;;
103097049Speter    i*86:DYNIX/ptx:4*:*)
103197049Speter	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
103297049Speter	# earlier versions are messed up and put the nodename in both
103397049Speter	# sysname and nodename.
103450276Speter	echo i386-sequent-sysv4
1035166124Srafan	exit ;;
103697049Speter    i*86:UNIX_SV:4.2MP:2.*)
1037184989Srafan        # Unixware is an offshoot of SVR4, but it has its own version
1038184989Srafan        # number series starting with 2...
1039184989Srafan        # I am not positive that other SVR4 systems won't match this,
104050276Speter	# I just have to hope.  -- rms.
1041184989Srafan        # Use sysv4.2uw... so that sysv4* matches it.
104250276Speter	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1043166124Srafan	exit ;;
1044166124Srafan    i*86:OS/2:*:*)
1045166124Srafan	# If we were able to find `uname', then EMX Unix compatibility
1046166124Srafan	# is probably installed.
1047166124Srafan	echo ${UNAME_MACHINE}-pc-os2-emx
1048166124Srafan	exit ;;
1049166124Srafan    i*86:XTS-300:*:STOP)
1050166124Srafan	echo ${UNAME_MACHINE}-unknown-stop
1051166124Srafan	exit ;;
1052166124Srafan    i*86:atheos:*:*)
1053166124Srafan	echo ${UNAME_MACHINE}-unknown-atheos
1054166124Srafan	exit ;;
1055166124Srafan    i*86:syllable:*:*)
1056166124Srafan	echo ${UNAME_MACHINE}-pc-syllable
1057166124Srafan	exit ;;
1058166124Srafan    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1059166124Srafan	echo i386-unknown-lynxos${UNAME_RELEASE}
1060166124Srafan	exit ;;
1061166124Srafan    i*86:*DOS:*:*)
1062166124Srafan	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1063166124Srafan	exit ;;
106497049Speter    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
106562449Speter	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
106662449Speter	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
106762449Speter		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
106850276Speter	else
106962449Speter		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
107050276Speter	fi
1071166124Srafan	exit ;;
1072166124Srafan    i*86:*:5:[678]*)
1073184989Srafan    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
107497049Speter	case `/bin/uname -X | grep "^Machine"` in
107597049Speter	    *486*)	     UNAME_MACHINE=i486 ;;
107697049Speter	    *Pentium)	     UNAME_MACHINE=i586 ;;
107797049Speter	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
107897049Speter	esac
107997049Speter	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1080166124Srafan	exit ;;
108197049Speter    i*86:*:3.2:*)
108250276Speter	if test -f /usr/options/cb.name; then
108350276Speter		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
108450276Speter		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
108550276Speter	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1086166124Srafan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1087166124Srafan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1088166124Srafan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
108950276Speter			&& UNAME_MACHINE=i586
1090166124Srafan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
109162449Speter			&& UNAME_MACHINE=i686
1092166124Srafan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
109362449Speter			&& UNAME_MACHINE=i686
109450276Speter		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
109550276Speter	else
109650276Speter		echo ${UNAME_MACHINE}-pc-sysv32
109750276Speter	fi
1098166124Srafan	exit ;;
109950276Speter    pc:*:*:*)
110062449Speter	# Left here for compatibility:
1101184989Srafan        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1102184989Srafan        # the processor, so we play safe by assuming i386.
110350276Speter	echo i386-pc-msdosdjgpp
1104184989Srafan        exit ;;
110550276Speter    Intel:Mach:3*:*)
110650276Speter	echo i386-pc-mach3
1107166124Srafan	exit ;;
110850276Speter    paragon:*:*:*)
110950276Speter	echo i860-intel-osf1
1110166124Srafan	exit ;;
111150276Speter    i860:*:4.*:*) # i860-SVR4
111250276Speter	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
111350276Speter	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
111450276Speter	else # Add other i860-SVR4 vendors below as they are discovered.
111550276Speter	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
111650276Speter	fi
1117166124Srafan	exit ;;
111850276Speter    mini*:CTIX:SYS*5:*)
111950276Speter	# "miniframe"
112050276Speter	echo m68010-convergent-sysv
1121166124Srafan	exit ;;
1122166124Srafan    mc68k:UNIX:SYSTEM5:3.51m)
1123166124Srafan	echo m68k-convergent-sysv
1124166124Srafan	exit ;;
1125166124Srafan    M680?0:D-NIX:5.3:*)
1126166124Srafan	echo m68k-diab-dnix
1127166124Srafan	exit ;;
1128166124Srafan    M68*:*:R3V[5678]*:*)
1129166124Srafan	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1130166124Srafan    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)
113150276Speter	OS_REL=''
113250276Speter	test -r /etc/.relid \
113350276Speter	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
113450276Speter	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1135166124Srafan	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
113650276Speter	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1137166124Srafan	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
113850276Speter    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1139184989Srafan        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1140184989Srafan          && { echo i486-ncr-sysv4; exit; } ;;
114197049Speter    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
114250276Speter	echo m68k-unknown-lynxos${UNAME_RELEASE}
1143166124Srafan	exit ;;
114450276Speter    mc68030:UNIX_System_V:4.*:*)
114550276Speter	echo m68k-atari-sysv4
1146166124Srafan	exit ;;
114750276Speter    TSUNAMI:LynxOS:2.*:*)
114850276Speter	echo sparc-unknown-lynxos${UNAME_RELEASE}
1149166124Srafan	exit ;;
115076726Speter    rs6000:LynxOS:2.*:*)
115150276Speter	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1152166124Srafan	exit ;;
115397049Speter    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
115476726Speter	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1155166124Srafan	exit ;;
115650276Speter    SM[BE]S:UNIX_SV:*:*)
115750276Speter	echo mips-dde-sysv${UNAME_RELEASE}
1158166124Srafan	exit ;;
115962449Speter    RM*:ReliantUNIX-*:*:*)
116062449Speter	echo mips-sni-sysv4
1161166124Srafan	exit ;;
116250276Speter    RM*:SINIX-*:*:*)
116350276Speter	echo mips-sni-sysv4
1164166124Srafan	exit ;;
116550276Speter    *:SINIX-*:*:*)
116650276Speter	if uname -p 2>/dev/null >/dev/null ; then
116750276Speter		UNAME_MACHINE=`(uname -p) 2>/dev/null`
116850276Speter		echo ${UNAME_MACHINE}-sni-sysv4
116950276Speter	else
117050276Speter		echo ns32k-sni-sysv
117150276Speter	fi
1172166124Srafan	exit ;;
117397049Speter    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1174184989Srafan                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1175184989Srafan        echo i586-unisys-sysv4
1176184989Srafan        exit ;;
117750276Speter    *:UNIX_System_V:4*:FTX*)
117850276Speter	# From Gerald Hewes <hewes@openmarket.com>.
117950276Speter	# How about differentiating between stratus architectures? -djm
118050276Speter	echo hppa1.1-stratus-sysv4
1181166124Srafan	exit ;;
118250276Speter    *:*:*:FTX*)
118350276Speter	# From seanf@swdc.stratus.com.
118450276Speter	echo i860-stratus-sysv4
1185166124Srafan	exit ;;
1186166124Srafan    i*86:VOS:*:*)
1187166124Srafan	# From Paul.Green@stratus.com.
1188166124Srafan	echo ${UNAME_MACHINE}-stratus-vos
1189166124Srafan	exit ;;
119097049Speter    *:VOS:*:*)
119197049Speter	# From Paul.Green@stratus.com.
119297049Speter	echo hppa1.1-stratus-vos
1193166124Srafan	exit ;;
119450276Speter    mc68*:A/UX:*:*)
119550276Speter	echo m68k-apple-aux${UNAME_RELEASE}
1196166124Srafan	exit ;;
119776726Speter    news*:NEWS-OS:6*:*)
119850276Speter	echo mips-sony-newsos6
1199166124Srafan	exit ;;
120062449Speter    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
120150276Speter	if [ -d /usr/nec ]; then
120250276Speter	        echo mips-nec-sysv${UNAME_RELEASE}
120350276Speter	else
120450276Speter	        echo mips-unknown-sysv${UNAME_RELEASE}
120550276Speter	fi
1206184989Srafan        exit ;;
120750276Speter    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
120850276Speter	echo powerpc-be-beos
1209166124Srafan	exit ;;
121050276Speter    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
121150276Speter	echo powerpc-apple-beos
1212166124Srafan	exit ;;
121350276Speter    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
121450276Speter	echo i586-pc-beos
1215166124Srafan	exit ;;
1216178866Srafan    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1217178866Srafan	echo i586-pc-haiku
1218178866Srafan	exit ;;
121962449Speter    SX-4:SUPER-UX:*:*)
122062449Speter	echo sx4-nec-superux${UNAME_RELEASE}
1221166124Srafan	exit ;;
122262449Speter    SX-5:SUPER-UX:*:*)
122362449Speter	echo sx5-nec-superux${UNAME_RELEASE}
1224166124Srafan	exit ;;
1225166124Srafan    SX-6:SUPER-UX:*:*)
1226166124Srafan	echo sx6-nec-superux${UNAME_RELEASE}
1227166124Srafan	exit ;;
1228174993Srafan    SX-7:SUPER-UX:*:*)
1229174993Srafan	echo sx7-nec-superux${UNAME_RELEASE}
1230174993Srafan	exit ;;
1231174993Srafan    SX-8:SUPER-UX:*:*)
1232174993Srafan	echo sx8-nec-superux${UNAME_RELEASE}
1233174993Srafan	exit ;;
1234174993Srafan    SX-8R:SUPER-UX:*:*)
1235174993Srafan	echo sx8r-nec-superux${UNAME_RELEASE}
1236174993Srafan	exit ;;
123762449Speter    Power*:Rhapsody:*:*)
123862449Speter	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1239166124Srafan	exit ;;
124062449Speter    *:Rhapsody:*:*)
124162449Speter	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1242166124Srafan	exit ;;
124362449Speter    *:Darwin:*:*)
1244166124Srafan	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1245166124Srafan	case $UNAME_PROCESSOR in
1246166124Srafan	    unknown) UNAME_PROCESSOR=powerpc ;;
1247166124Srafan	esac
1248166124Srafan	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1249166124Srafan	exit ;;
125062449Speter    *:procnto*:*:* | *:QNX:[0123456789]*:*)
125197049Speter	UNAME_PROCESSOR=`uname -p`
125297049Speter	if test "$UNAME_PROCESSOR" = "x86"; then
1253184989Srafan		UNAME_PROCESSOR=i386
1254184989Srafan		UNAME_MACHINE=pc
125562449Speter	fi
125697049Speter	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1257166124Srafan	exit ;;
125862449Speter    *:QNX:*:4*)
125962449Speter	echo i386-pc-qnx
1260166124Srafan	exit ;;
1261166124Srafan    NSE-?:NONSTOP_KERNEL:*:*)
1262166124Srafan	echo nse-tandem-nsk${UNAME_RELEASE}
1263166124Srafan	exit ;;
1264166124Srafan    NSR-?:NONSTOP_KERNEL:*:*)
126562449Speter	echo nsr-tandem-nsk${UNAME_RELEASE}
1266166124Srafan	exit ;;
126776726Speter    *:NonStop-UX:*:*)
126876726Speter	echo mips-compaq-nonstopux
1269166124Srafan	exit ;;
127062449Speter    BS2000:POSIX*:*:*)
127162449Speter	echo bs2000-siemens-sysv
1272166124Srafan	exit ;;
127362449Speter    DS/*:UNIX_System_V:*:*)
127462449Speter	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1275166124Srafan	exit ;;
127676726Speter    *:Plan9:*:*)
127776726Speter	# "uname -m" is not consistent, so use $cputype instead. 386
127876726Speter	# is converted to i386 for consistency with other x86
127976726Speter	# operating systems.
128076726Speter	if test "$cputype" = "386"; then
128176726Speter	    UNAME_MACHINE=i386
128276726Speter	else
128376726Speter	    UNAME_MACHINE="$cputype"
128476726Speter	fi
128576726Speter	echo ${UNAME_MACHINE}-unknown-plan9
1286166124Srafan	exit ;;
128776726Speter    *:TOPS-10:*:*)
128876726Speter	echo pdp10-unknown-tops10
1289166124Srafan	exit ;;
129076726Speter    *:TENEX:*:*)
129176726Speter	echo pdp10-unknown-tenex
1292166124Srafan	exit ;;
129376726Speter    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
129476726Speter	echo pdp10-dec-tops20
1295166124Srafan	exit ;;
129676726Speter    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
129776726Speter	echo pdp10-xkl-tops20
1298166124Srafan	exit ;;
129976726Speter    *:TOPS-20:*:*)
130076726Speter	echo pdp10-unknown-tops20
1301166124Srafan	exit ;;
130276726Speter    *:ITS:*:*)
130376726Speter	echo pdp10-unknown-its
1304166124Srafan	exit ;;
1305166124Srafan    SEI:*:*:SEIUX)
1306184989Srafan        echo mips-sei-seiux${UNAME_RELEASE}
1307166124Srafan	exit ;;
1308166124Srafan    *:DragonFly:*:*)
1309166124Srafan	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1310166124Srafan	exit ;;
1311166124Srafan    *:*VMS:*:*)
1312184989Srafan    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1313166124Srafan	case "${UNAME_MACHINE}" in
1314166124Srafan	    A*) echo alpha-dec-vms ; exit ;;
1315166124Srafan	    I*) echo ia64-dec-vms ; exit ;;
1316166124Srafan	    V*) echo vax-dec-vms ; exit ;;
1317166124Srafan	esac ;;
1318166124Srafan    *:XENIX:*:SysV)
1319166124Srafan	echo i386-pc-xenix
1320166124Srafan	exit ;;
1321166124Srafan    i*86:skyos:*:*)
1322166124Srafan	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1323166124Srafan	exit ;;
1324166124Srafan    i*86:rdos:*:*)
1325166124Srafan	echo ${UNAME_MACHINE}-pc-rdos
1326166124Srafan	exit ;;
132750276Speteresac
132850276Speter
132950276Speter#echo '(No uname command or uname output not recognized.)' 1>&2
133050276Speter#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
133150276Speter
133297049Spetereval $set_cc_for_build
133362449Spetercat >$dummy.c <<EOF
133450276Speter#ifdef _SEQUENT_
133550276Speter# include <sys/types.h>
133650276Speter# include <sys/utsname.h>
133750276Speter#endif
133850276Spetermain ()
133950276Speter{
134050276Speter#if defined (sony)
134150276Speter#if defined (MIPSEB)
134250276Speter  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
134350276Speter     I don't know....  */
134450276Speter  printf ("mips-sony-bsd\n"); exit (0);
134550276Speter#else
134650276Speter#include <sys/param.h>
134750276Speter  printf ("m68k-sony-newsos%s\n",
134850276Speter#ifdef NEWSOS4
134950276Speter          "4"
135050276Speter#else
135150276Speter	  ""
135250276Speter#endif
135350276Speter         ); exit (0);
135450276Speter#endif
135550276Speter#endif
135650276Speter
135750276Speter#if defined (__arm) && defined (__acorn) && defined (__unix)
1358166124Srafan  printf ("arm-acorn-riscix\n"); exit (0);
135950276Speter#endif
136050276Speter
136150276Speter#if defined (hp300) && !defined (hpux)
136250276Speter  printf ("m68k-hp-bsd\n"); exit (0);
136350276Speter#endif
136450276Speter
136550276Speter#if defined (NeXT)
136650276Speter#if !defined (__ARCHITECTURE__)
136750276Speter#define __ARCHITECTURE__ "m68k"
136850276Speter#endif
136950276Speter  int version;
137050276Speter  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
137162449Speter  if (version < 4)
137262449Speter    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
137362449Speter  else
137462449Speter    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
137550276Speter  exit (0);
137650276Speter#endif
137750276Speter
137850276Speter#if defined (MULTIMAX) || defined (n16)
137950276Speter#if defined (UMAXV)
138050276Speter  printf ("ns32k-encore-sysv\n"); exit (0);
138150276Speter#else
138250276Speter#if defined (CMU)
138350276Speter  printf ("ns32k-encore-mach\n"); exit (0);
138450276Speter#else
138550276Speter  printf ("ns32k-encore-bsd\n"); exit (0);
138650276Speter#endif
138750276Speter#endif
138850276Speter#endif
138950276Speter
139050276Speter#if defined (__386BSD__)
139150276Speter  printf ("i386-pc-bsd\n"); exit (0);
139250276Speter#endif
139350276Speter
139450276Speter#if defined (sequent)
139550276Speter#if defined (i386)
139650276Speter  printf ("i386-sequent-dynix\n"); exit (0);
139750276Speter#endif
139850276Speter#if defined (ns32000)
139950276Speter  printf ("ns32k-sequent-dynix\n"); exit (0);
140050276Speter#endif
140150276Speter#endif
140250276Speter
140350276Speter#if defined (_SEQUENT_)
140450276Speter    struct utsname un;
140550276Speter
140650276Speter    uname(&un);
140750276Speter
140850276Speter    if (strncmp(un.version, "V2", 2) == 0) {
140950276Speter	printf ("i386-sequent-ptx2\n"); exit (0);
141050276Speter    }
141150276Speter    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
141250276Speter	printf ("i386-sequent-ptx1\n"); exit (0);
141350276Speter    }
141450276Speter    printf ("i386-sequent-ptx\n"); exit (0);
141550276Speter
141650276Speter#endif
141750276Speter
141850276Speter#if defined (vax)
141976726Speter# if !defined (ultrix)
142076726Speter#  include <sys/param.h>
142176726Speter#  if defined (BSD)
142276726Speter#   if BSD == 43
142376726Speter      printf ("vax-dec-bsd4.3\n"); exit (0);
142476726Speter#   else
142576726Speter#    if BSD == 199006
142676726Speter      printf ("vax-dec-bsd4.3reno\n"); exit (0);
142776726Speter#    else
142876726Speter      printf ("vax-dec-bsd\n"); exit (0);
142976726Speter#    endif
143076726Speter#   endif
143176726Speter#  else
143276726Speter    printf ("vax-dec-bsd\n"); exit (0);
143376726Speter#  endif
143476726Speter# else
143576726Speter    printf ("vax-dec-ultrix\n"); exit (0);
143676726Speter# endif
143750276Speter#endif
143850276Speter
143950276Speter#if defined (alliant) && defined (i860)
144050276Speter  printf ("i860-alliant-bsd\n"); exit (0);
144150276Speter#endif
144250276Speter
144350276Speter  exit (1);
144450276Speter}
144550276SpeterEOF
144650276Speter
1447166124Srafan$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1448166124Srafan	{ echo "$SYSTEM_NAME"; exit; }
144950276Speter
145050276Speter# Apollos put the system type in the environment.
145150276Speter
1452166124Srafantest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
145350276Speter
145450276Speter# Convex versions that predate uname can use getsysinfo(1)
145550276Speter
145650276Speterif [ -x /usr/convex/getsysinfo ]
145750276Speterthen
145850276Speter    case `getsysinfo -f cpu_type` in
145950276Speter    c1*)
146050276Speter	echo c1-convex-bsd
1461166124Srafan	exit ;;
146250276Speter    c2*)
146350276Speter	if getsysinfo -f scalar_acc
146450276Speter	then echo c32-convex-bsd
146550276Speter	else echo c2-convex-bsd
146650276Speter	fi
1467166124Srafan	exit ;;
146850276Speter    c34*)
146950276Speter	echo c34-convex-bsd
1470166124Srafan	exit ;;
147150276Speter    c38*)
147250276Speter	echo c38-convex-bsd
1473166124Srafan	exit ;;
147450276Speter    c4*)
147550276Speter	echo c4-convex-bsd
1476166124Srafan	exit ;;
147750276Speter    esac
147850276Speterfi
147950276Speter
148062449Spetercat >&2 <<EOF
148162449Speter$0: unable to guess system type
148250276Speter
148376726SpeterThis script, last modified $timestamp, has failed to recognize
148476726Speterthe operating system you are using. It is advised that you
148576726Speterdownload the most up to date version of the config scripts from
148662449Speter
1487184989Srafan  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1488166124Srafanand
1489184989Srafan  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
149062449Speter
149162449SpeterIf the version you run ($0) is already up to date, please
149262449Spetersend the following data and any information you think might be
149362449Speterpertinent to <config-patches@gnu.org> in order to provide the needed
149462449Speterinformation to handle your system.
149562449Speter
149676726Speterconfig.guess timestamp = $timestamp
149762449Speter
149862449Speteruname -m = `(uname -m) 2>/dev/null || echo unknown`
149962449Speteruname -r = `(uname -r) 2>/dev/null || echo unknown`
150062449Speteruname -s = `(uname -s) 2>/dev/null || echo unknown`
150162449Speteruname -v = `(uname -v) 2>/dev/null || echo unknown`
150262449Speter
150362449Speter/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
150462449Speter/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
150562449Speter
150662449Speterhostinfo               = `(hostinfo) 2>/dev/null`
150762449Speter/bin/universe          = `(/bin/universe) 2>/dev/null`
150862449Speter/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
150962449Speter/bin/arch              = `(/bin/arch) 2>/dev/null`
151062449Speter/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
151162449Speter/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
151262449Speter
151362449SpeterUNAME_MACHINE = ${UNAME_MACHINE}
151462449SpeterUNAME_RELEASE = ${UNAME_RELEASE}
151562449SpeterUNAME_SYSTEM  = ${UNAME_SYSTEM}
151662449SpeterUNAME_VERSION = ${UNAME_VERSION}
151762449SpeterEOF
151862449Speter
151950276Speterexit 1
152062449Speter
152162449Speter# Local variables:
152262449Speter# eval: (add-hook 'write-file-hooks 'time-stamp)
152376726Speter# time-stamp-start: "timestamp='"
152462449Speter# time-stamp-format: "%:y-%02m-%02d"
152562449Speter# time-stamp-end: "'"
152662449Speter# End:
1527