config.guess revision acd6767f
1fe5e51b7Smrg#! /bin/sh
2fe5e51b7Smrg# Attempt to guess a canonical system name.
3fe5e51b7Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
40bb88ba4Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
50bb88ba4Smrg#   2011, 2012 Free Software Foundation, Inc.
6fe5e51b7Smrg
7acd6767fSmrgtimestamp='2012-06-10'
8fe5e51b7Smrg
9fe5e51b7Smrg# This file is free software; you can redistribute it and/or modify it
10fe5e51b7Smrg# under the terms of the GNU General Public License as published by
11fe5e51b7Smrg# the Free Software Foundation; either version 2 of the License, or
12fe5e51b7Smrg# (at your option) any later version.
13fe5e51b7Smrg#
14fe5e51b7Smrg# This program is distributed in the hope that it will be useful, but
15fe5e51b7Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16fe5e51b7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17fe5e51b7Smrg# General Public License for more details.
18fe5e51b7Smrg#
19fe5e51b7Smrg# You should have received a copy of the GNU General Public License
20acd6767fSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
21fe5e51b7Smrg#
22fe5e51b7Smrg# As a special exception to the GNU General Public License, if you
23fe5e51b7Smrg# distribute this file as part of a program that contains a
24fe5e51b7Smrg# configuration script generated by Autoconf, you may include it under
25fe5e51b7Smrg# the same distribution terms that you use for the rest of that program.
26fe5e51b7Smrg
27fe5e51b7Smrg
280bb88ba4Smrg# Originally written by Per Bothner.  Please send patches (context
290bb88ba4Smrg# diff format) to <config-patches@gnu.org> and include a ChangeLog
300bb88ba4Smrg# entry.
31fe5e51b7Smrg#
32fe5e51b7Smrg# This script attempts to guess a canonical system name similar to
33fe5e51b7Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
34fe5e51b7Smrg# exits with 0.  Otherwise, it exits with 1.
35fe5e51b7Smrg#
360bb88ba4Smrg# You can get the latest version of this script from:
370bb88ba4Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
38fe5e51b7Smrg
39fe5e51b7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
40fe5e51b7Smrg
41fe5e51b7Smrgusage="\
42fe5e51b7SmrgUsage: $0 [OPTION]
43fe5e51b7Smrg
44fe5e51b7SmrgOutput the configuration name of the system \`$me' is run on.
45fe5e51b7Smrg
46fe5e51b7SmrgOperation modes:
47fe5e51b7Smrg  -h, --help         print this help, then exit
48fe5e51b7Smrg  -t, --time-stamp   print date of last modification, then exit
49fe5e51b7Smrg  -v, --version      print version number, then exit
50fe5e51b7Smrg
51fe5e51b7SmrgReport bugs and patches to <config-patches@gnu.org>."
52fe5e51b7Smrg
53fe5e51b7Smrgversion="\
54fe5e51b7SmrgGNU config.guess ($timestamp)
55fe5e51b7Smrg
56fe5e51b7SmrgOriginally written by Per Bothner.
570bb88ba4SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
580bb88ba4Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
590bb88ba4SmrgFree Software Foundation, Inc.
60fe5e51b7Smrg
61fe5e51b7SmrgThis is free software; see the source for copying conditions.  There is NO
62fe5e51b7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63fe5e51b7Smrg
64fe5e51b7Smrghelp="
65fe5e51b7SmrgTry \`$me --help' for more information."
66fe5e51b7Smrg
67fe5e51b7Smrg# Parse command line
68fe5e51b7Smrgwhile test $# -gt 0 ; do
69fe5e51b7Smrg  case $1 in
70fe5e51b7Smrg    --time-stamp | --time* | -t )
71fe5e51b7Smrg       echo "$timestamp" ; exit ;;
72fe5e51b7Smrg    --version | -v )
73fe5e51b7Smrg       echo "$version" ; exit ;;
74fe5e51b7Smrg    --help | --h* | -h )
75fe5e51b7Smrg       echo "$usage"; exit ;;
76fe5e51b7Smrg    -- )     # Stop option processing
77fe5e51b7Smrg       shift; break ;;
78fe5e51b7Smrg    - )	# Use stdin as input.
79fe5e51b7Smrg       break ;;
80fe5e51b7Smrg    -* )
81fe5e51b7Smrg       echo "$me: invalid option $1$help" >&2
82fe5e51b7Smrg       exit 1 ;;
83fe5e51b7Smrg    * )
84fe5e51b7Smrg       break ;;
85fe5e51b7Smrg  esac
86fe5e51b7Smrgdone
87fe5e51b7Smrg
88fe5e51b7Smrgif test $# != 0; then
89fe5e51b7Smrg  echo "$me: too many arguments$help" >&2
90fe5e51b7Smrg  exit 1
91fe5e51b7Smrgfi
92fe5e51b7Smrg
93fe5e51b7Smrgtrap 'exit 1' 1 2 15
94fe5e51b7Smrg
95fe5e51b7Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96fe5e51b7Smrg# compiler to aid in system detection is discouraged as it requires
97fe5e51b7Smrg# temporary files to be created and, as you can see below, it is a
98fe5e51b7Smrg# headache to deal with in a portable fashion.
99fe5e51b7Smrg
100fe5e51b7Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101fe5e51b7Smrg# use `HOST_CC' if defined, but it is deprecated.
102fe5e51b7Smrg
103fe5e51b7Smrg# Portable tmp directory creation inspired by the Autoconf team.
104fe5e51b7Smrg
105fe5e51b7Smrgset_cc_for_build='
106fe5e51b7Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107fe5e51b7Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108fe5e51b7Smrg: ${TMPDIR=/tmp} ;
109fe5e51b7Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110fe5e51b7Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111fe5e51b7Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112fe5e51b7Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113fe5e51b7Smrgdummy=$tmp/dummy ;
114fe5e51b7Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115fe5e51b7Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
116fe5e51b7Smrg ,,)    echo "int x;" > $dummy.c ;
117fe5e51b7Smrg	for c in cc gcc c89 c99 ; do
118fe5e51b7Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119fe5e51b7Smrg	     CC_FOR_BUILD="$c"; break ;
120fe5e51b7Smrg	  fi ;
121fe5e51b7Smrg	done ;
122fe5e51b7Smrg	if test x"$CC_FOR_BUILD" = x ; then
123fe5e51b7Smrg	  CC_FOR_BUILD=no_compiler_found ;
124fe5e51b7Smrg	fi
125fe5e51b7Smrg	;;
126fe5e51b7Smrg ,,*)   CC_FOR_BUILD=$CC ;;
127fe5e51b7Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
128fe5e51b7Smrgesac ; set_cc_for_build= ;'
129fe5e51b7Smrg
130fe5e51b7Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131fe5e51b7Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
132fe5e51b7Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133fe5e51b7Smrg	PATH=$PATH:/.attbin ; export PATH
134fe5e51b7Smrgfi
135fe5e51b7Smrg
136fe5e51b7SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137fe5e51b7SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138fe5e51b7SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
139fe5e51b7SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140fe5e51b7Smrg
141fe5e51b7Smrg# Note: order is significant - the case branches are not exclusive.
142fe5e51b7Smrg
143fe5e51b7Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144fe5e51b7Smrg    *:NetBSD:*:*)
145fe5e51b7Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
1460bb88ba4Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
147fe5e51b7Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
148fe5e51b7Smrg	# switched to ELF, *-*-netbsd* would select the old
149fe5e51b7Smrg	# object file format.  This provides both forward
150fe5e51b7Smrg	# compatibility and a consistent mechanism for selecting the
151fe5e51b7Smrg	# object file format.
152fe5e51b7Smrg	#
153fe5e51b7Smrg	# Note: NetBSD doesn't particularly care about the vendor
154fe5e51b7Smrg	# portion of the name.  We always set it to "unknown".
155fe5e51b7Smrg	sysctl="sysctl -n hw.machine_arch"
156fe5e51b7Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157fe5e51b7Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158fe5e51b7Smrg	case "${UNAME_MACHINE_ARCH}" in
159fe5e51b7Smrg	    armeb) machine=armeb-unknown ;;
160fe5e51b7Smrg	    arm*) machine=arm-unknown ;;
161fe5e51b7Smrg	    sh3el) machine=shl-unknown ;;
162fe5e51b7Smrg	    sh3eb) machine=sh-unknown ;;
163fe5e51b7Smrg	    sh5el) machine=sh5le-unknown ;;
164fe5e51b7Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165fe5e51b7Smrg	esac
166fe5e51b7Smrg	# The Operating System including object format, if it has switched
167fe5e51b7Smrg	# to ELF recently, or will in the future.
168fe5e51b7Smrg	case "${UNAME_MACHINE_ARCH}" in
169fe5e51b7Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170fe5e51b7Smrg		eval $set_cc_for_build
171fe5e51b7Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1720bb88ba4Smrg			| grep -q __ELF__
173fe5e51b7Smrg		then
174fe5e51b7Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175fe5e51b7Smrg		    # Return netbsd for either.  FIX?
176fe5e51b7Smrg		    os=netbsd
177fe5e51b7Smrg		else
178fe5e51b7Smrg		    os=netbsdelf
179fe5e51b7Smrg		fi
180fe5e51b7Smrg		;;
181fe5e51b7Smrg	    *)
1820bb88ba4Smrg		os=netbsd
183fe5e51b7Smrg		;;
184fe5e51b7Smrg	esac
185fe5e51b7Smrg	# The OS release
186fe5e51b7Smrg	# Debian GNU/NetBSD machines have a different userland, and
187fe5e51b7Smrg	# thus, need a distinct triplet. However, they do not need
188fe5e51b7Smrg	# kernel version information, so it can be replaced with a
189fe5e51b7Smrg	# suitable tag, in the style of linux-gnu.
190fe5e51b7Smrg	case "${UNAME_VERSION}" in
191fe5e51b7Smrg	    Debian*)
192fe5e51b7Smrg		release='-gnu'
193fe5e51b7Smrg		;;
194fe5e51b7Smrg	    *)
195fe5e51b7Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196fe5e51b7Smrg		;;
197fe5e51b7Smrg	esac
198fe5e51b7Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199fe5e51b7Smrg	# contains redundant information, the shorter form:
200fe5e51b7Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201fe5e51b7Smrg	echo "${machine}-${os}${release}"
202fe5e51b7Smrg	exit ;;
203fe5e51b7Smrg    *:OpenBSD:*:*)
204fe5e51b7Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205fe5e51b7Smrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206fe5e51b7Smrg	exit ;;
207fe5e51b7Smrg    *:ekkoBSD:*:*)
208fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209fe5e51b7Smrg	exit ;;
210fe5e51b7Smrg    *:SolidBSD:*:*)
211fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212fe5e51b7Smrg	exit ;;
213fe5e51b7Smrg    macppc:MirBSD:*:*)
214fe5e51b7Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215fe5e51b7Smrg	exit ;;
216fe5e51b7Smrg    *:MirBSD:*:*)
217fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218fe5e51b7Smrg	exit ;;
219fe5e51b7Smrg    alpha:OSF1:*:*)
220fe5e51b7Smrg	case $UNAME_RELEASE in
221fe5e51b7Smrg	*4.0)
222fe5e51b7Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223fe5e51b7Smrg		;;
224fe5e51b7Smrg	*5.*)
2250bb88ba4Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226fe5e51b7Smrg		;;
227fe5e51b7Smrg	esac
228fe5e51b7Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
229fe5e51b7Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
230fe5e51b7Smrg	# covers most systems running today.  This code pipes the CPU
231fe5e51b7Smrg	# types through head -n 1, so we only detect the type of CPU 0.
232fe5e51b7Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233fe5e51b7Smrg	case "$ALPHA_CPU_TYPE" in
234fe5e51b7Smrg	    "EV4 (21064)")
235fe5e51b7Smrg		UNAME_MACHINE="alpha" ;;
236fe5e51b7Smrg	    "EV4.5 (21064)")
237fe5e51b7Smrg		UNAME_MACHINE="alpha" ;;
238fe5e51b7Smrg	    "LCA4 (21066/21068)")
239fe5e51b7Smrg		UNAME_MACHINE="alpha" ;;
240fe5e51b7Smrg	    "EV5 (21164)")
241fe5e51b7Smrg		UNAME_MACHINE="alphaev5" ;;
242fe5e51b7Smrg	    "EV5.6 (21164A)")
243fe5e51b7Smrg		UNAME_MACHINE="alphaev56" ;;
244fe5e51b7Smrg	    "EV5.6 (21164PC)")
245fe5e51b7Smrg		UNAME_MACHINE="alphapca56" ;;
246fe5e51b7Smrg	    "EV5.7 (21164PC)")
247fe5e51b7Smrg		UNAME_MACHINE="alphapca57" ;;
248fe5e51b7Smrg	    "EV6 (21264)")
249fe5e51b7Smrg		UNAME_MACHINE="alphaev6" ;;
250fe5e51b7Smrg	    "EV6.7 (21264A)")
251fe5e51b7Smrg		UNAME_MACHINE="alphaev67" ;;
252fe5e51b7Smrg	    "EV6.8CB (21264C)")
253fe5e51b7Smrg		UNAME_MACHINE="alphaev68" ;;
254fe5e51b7Smrg	    "EV6.8AL (21264B)")
255fe5e51b7Smrg		UNAME_MACHINE="alphaev68" ;;
256fe5e51b7Smrg	    "EV6.8CX (21264D)")
257fe5e51b7Smrg		UNAME_MACHINE="alphaev68" ;;
258fe5e51b7Smrg	    "EV6.9A (21264/EV69A)")
259fe5e51b7Smrg		UNAME_MACHINE="alphaev69" ;;
260fe5e51b7Smrg	    "EV7 (21364)")
261fe5e51b7Smrg		UNAME_MACHINE="alphaev7" ;;
262fe5e51b7Smrg	    "EV7.9 (21364A)")
263fe5e51b7Smrg		UNAME_MACHINE="alphaev79" ;;
264fe5e51b7Smrg	esac
265fe5e51b7Smrg	# A Pn.n version is a patched version.
266fe5e51b7Smrg	# A Vn.n version is a released version.
267fe5e51b7Smrg	# A Tn.n version is a released field test version.
268fe5e51b7Smrg	# A Xn.n version is an unreleased experimental baselevel.
269fe5e51b7Smrg	# 1.2 uses "1.2" for uname -r.
270fe5e51b7Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2710bb88ba4Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
2720bb88ba4Smrg	exitcode=$?
2730bb88ba4Smrg	trap '' 0
2740bb88ba4Smrg	exit $exitcode ;;
275fe5e51b7Smrg    Alpha\ *:Windows_NT*:*)
276fe5e51b7Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
277fe5e51b7Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
278fe5e51b7Smrg	# of the specific Alpha model?
279fe5e51b7Smrg	echo alpha-pc-interix
280fe5e51b7Smrg	exit ;;
281fe5e51b7Smrg    21064:Windows_NT:50:3)
282fe5e51b7Smrg	echo alpha-dec-winnt3.5
283fe5e51b7Smrg	exit ;;
284fe5e51b7Smrg    Amiga*:UNIX_System_V:4.0:*)
285fe5e51b7Smrg	echo m68k-unknown-sysv4
286fe5e51b7Smrg	exit ;;
287fe5e51b7Smrg    *:[Aa]miga[Oo][Ss]:*:*)
288fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
289fe5e51b7Smrg	exit ;;
290fe5e51b7Smrg    *:[Mm]orph[Oo][Ss]:*:*)
291fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-morphos
292fe5e51b7Smrg	exit ;;
293fe5e51b7Smrg    *:OS/390:*:*)
294fe5e51b7Smrg	echo i370-ibm-openedition
295fe5e51b7Smrg	exit ;;
296fe5e51b7Smrg    *:z/VM:*:*)
297fe5e51b7Smrg	echo s390-ibm-zvmoe
298fe5e51b7Smrg	exit ;;
299fe5e51b7Smrg    *:OS400:*:*)
3000bb88ba4Smrg	echo powerpc-ibm-os400
301fe5e51b7Smrg	exit ;;
302fe5e51b7Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
303fe5e51b7Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
304fe5e51b7Smrg	exit ;;
305fe5e51b7Smrg    arm:riscos:*:*|arm:RISCOS:*:*)
306fe5e51b7Smrg	echo arm-unknown-riscos
307fe5e51b7Smrg	exit ;;
308fe5e51b7Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
309fe5e51b7Smrg	echo hppa1.1-hitachi-hiuxmpp
310fe5e51b7Smrg	exit ;;
311fe5e51b7Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
312fe5e51b7Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
313fe5e51b7Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
314fe5e51b7Smrg		echo pyramid-pyramid-sysv3
315fe5e51b7Smrg	else
316fe5e51b7Smrg		echo pyramid-pyramid-bsd
317fe5e51b7Smrg	fi
318fe5e51b7Smrg	exit ;;
319fe5e51b7Smrg    NILE*:*:*:dcosx)
320fe5e51b7Smrg	echo pyramid-pyramid-svr4
321fe5e51b7Smrg	exit ;;
322fe5e51b7Smrg    DRS?6000:unix:4.0:6*)
323fe5e51b7Smrg	echo sparc-icl-nx6
324fe5e51b7Smrg	exit ;;
325fe5e51b7Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
326fe5e51b7Smrg	case `/usr/bin/uname -p` in
327fe5e51b7Smrg	    sparc) echo sparc-icl-nx7; exit ;;
328fe5e51b7Smrg	esac ;;
3290bb88ba4Smrg    s390x:SunOS:*:*)
3300bb88ba4Smrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3310bb88ba4Smrg	exit ;;
332fe5e51b7Smrg    sun4H:SunOS:5.*:*)
333fe5e51b7Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334fe5e51b7Smrg	exit ;;
335fe5e51b7Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
336fe5e51b7Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337fe5e51b7Smrg	exit ;;
3380bb88ba4Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
3390bb88ba4Smrg	echo i386-pc-auroraux${UNAME_RELEASE}
3400bb88ba4Smrg	exit ;;
341eda3803bSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
342a31a186aSmrg	eval $set_cc_for_build
343a31a186aSmrg	SUN_ARCH="i386"
344a31a186aSmrg	# If there is a compiler, see if it is configured for 64-bit objects.
345a31a186aSmrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
346a31a186aSmrg	# This test works for both compilers.
347a31a186aSmrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
3480bb88ba4Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
349a31a186aSmrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
350a31a186aSmrg		grep IS_64BIT_ARCH >/dev/null
351a31a186aSmrg	    then
352a31a186aSmrg		SUN_ARCH="x86_64"
353a31a186aSmrg	    fi
354a31a186aSmrg	fi
355a31a186aSmrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356fe5e51b7Smrg	exit ;;
357fe5e51b7Smrg    sun4*:SunOS:6*:*)
358fe5e51b7Smrg	# According to config.sub, this is the proper way to canonicalize
359fe5e51b7Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
360fe5e51b7Smrg	# it's likely to be more like Solaris than SunOS4.
361fe5e51b7Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362fe5e51b7Smrg	exit ;;
363fe5e51b7Smrg    sun4*:SunOS:*:*)
364fe5e51b7Smrg	case "`/usr/bin/arch -k`" in
365fe5e51b7Smrg	    Series*|S4*)
366fe5e51b7Smrg		UNAME_RELEASE=`uname -v`
367fe5e51b7Smrg		;;
368fe5e51b7Smrg	esac
369fe5e51b7Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
370fe5e51b7Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
371fe5e51b7Smrg	exit ;;
372fe5e51b7Smrg    sun3*:SunOS:*:*)
373fe5e51b7Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
374fe5e51b7Smrg	exit ;;
375fe5e51b7Smrg    sun*:*:4.2BSD:*)
376fe5e51b7Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377fe5e51b7Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
378fe5e51b7Smrg	case "`/bin/arch`" in
379fe5e51b7Smrg	    sun3)
380fe5e51b7Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
381fe5e51b7Smrg		;;
382fe5e51b7Smrg	    sun4)
383fe5e51b7Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
384fe5e51b7Smrg		;;
385fe5e51b7Smrg	esac
386fe5e51b7Smrg	exit ;;
387fe5e51b7Smrg    aushp:SunOS:*:*)
388fe5e51b7Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
389fe5e51b7Smrg	exit ;;
390fe5e51b7Smrg    # The situation for MiNT is a little confusing.  The machine name
391fe5e51b7Smrg    # can be virtually everything (everything which is not
392fe5e51b7Smrg    # "atarist" or "atariste" at least should have a processor
393fe5e51b7Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
394fe5e51b7Smrg    # to the lowercase version "mint" (or "freemint").  Finally
395fe5e51b7Smrg    # the system name "TOS" denotes a system which is actually not
396fe5e51b7Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
397fe5e51b7Smrg    # be no problem.
398fe5e51b7Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
3990bb88ba4Smrg	echo m68k-atari-mint${UNAME_RELEASE}
400fe5e51b7Smrg	exit ;;
401fe5e51b7Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402fe5e51b7Smrg	echo m68k-atari-mint${UNAME_RELEASE}
4030bb88ba4Smrg	exit ;;
404fe5e51b7Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4050bb88ba4Smrg	echo m68k-atari-mint${UNAME_RELEASE}
406fe5e51b7Smrg	exit ;;
407fe5e51b7Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
4080bb88ba4Smrg	echo m68k-milan-mint${UNAME_RELEASE}
4090bb88ba4Smrg	exit ;;
410fe5e51b7Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
4110bb88ba4Smrg	echo m68k-hades-mint${UNAME_RELEASE}
4120bb88ba4Smrg	exit ;;
413fe5e51b7Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
4140bb88ba4Smrg	echo m68k-unknown-mint${UNAME_RELEASE}
4150bb88ba4Smrg	exit ;;
416fe5e51b7Smrg    m68k:machten:*:*)
417fe5e51b7Smrg	echo m68k-apple-machten${UNAME_RELEASE}
418fe5e51b7Smrg	exit ;;
419fe5e51b7Smrg    powerpc:machten:*:*)
420fe5e51b7Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
421fe5e51b7Smrg	exit ;;
422fe5e51b7Smrg    RISC*:Mach:*:*)
423fe5e51b7Smrg	echo mips-dec-mach_bsd4.3
424fe5e51b7Smrg	exit ;;
425fe5e51b7Smrg    RISC*:ULTRIX:*:*)
426fe5e51b7Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
427fe5e51b7Smrg	exit ;;
428fe5e51b7Smrg    VAX*:ULTRIX*:*:*)
429fe5e51b7Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
430fe5e51b7Smrg	exit ;;
431fe5e51b7Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
432fe5e51b7Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
433fe5e51b7Smrg	exit ;;
434fe5e51b7Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
435fe5e51b7Smrg	eval $set_cc_for_build
436fe5e51b7Smrg	sed 's/^	//' << EOF >$dummy.c
437fe5e51b7Smrg#ifdef __cplusplus
438fe5e51b7Smrg#include <stdio.h>  /* for printf() prototype */
439fe5e51b7Smrg	int main (int argc, char *argv[]) {
440fe5e51b7Smrg#else
441fe5e51b7Smrg	int main (argc, argv) int argc; char *argv[]; {
442fe5e51b7Smrg#endif
443fe5e51b7Smrg	#if defined (host_mips) && defined (MIPSEB)
444fe5e51b7Smrg	#if defined (SYSTYPE_SYSV)
445fe5e51b7Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
446fe5e51b7Smrg	#endif
447fe5e51b7Smrg	#if defined (SYSTYPE_SVR4)
448fe5e51b7Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
449fe5e51b7Smrg	#endif
450fe5e51b7Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
451fe5e51b7Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
452fe5e51b7Smrg	#endif
453fe5e51b7Smrg	#endif
454fe5e51b7Smrg	  exit (-1);
455fe5e51b7Smrg	}
456fe5e51b7SmrgEOF
457fe5e51b7Smrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
458fe5e51b7Smrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
459fe5e51b7Smrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
460fe5e51b7Smrg	    { echo "$SYSTEM_NAME"; exit; }
461fe5e51b7Smrg	echo mips-mips-riscos${UNAME_RELEASE}
462fe5e51b7Smrg	exit ;;
463fe5e51b7Smrg    Motorola:PowerMAX_OS:*:*)
464fe5e51b7Smrg	echo powerpc-motorola-powermax
465fe5e51b7Smrg	exit ;;
466fe5e51b7Smrg    Motorola:*:4.3:PL8-*)
467fe5e51b7Smrg	echo powerpc-harris-powermax
468fe5e51b7Smrg	exit ;;
469fe5e51b7Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
470fe5e51b7Smrg	echo powerpc-harris-powermax
471fe5e51b7Smrg	exit ;;
472fe5e51b7Smrg    Night_Hawk:Power_UNIX:*:*)
473fe5e51b7Smrg	echo powerpc-harris-powerunix
474fe5e51b7Smrg	exit ;;
475fe5e51b7Smrg    m88k:CX/UX:7*:*)
476fe5e51b7Smrg	echo m88k-harris-cxux7
477fe5e51b7Smrg	exit ;;
478fe5e51b7Smrg    m88k:*:4*:R4*)
479fe5e51b7Smrg	echo m88k-motorola-sysv4
480fe5e51b7Smrg	exit ;;
481fe5e51b7Smrg    m88k:*:3*:R3*)
482fe5e51b7Smrg	echo m88k-motorola-sysv3
483fe5e51b7Smrg	exit ;;
484fe5e51b7Smrg    AViiON:dgux:*:*)
4850bb88ba4Smrg	# DG/UX returns AViiON for all architectures
4860bb88ba4Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
487fe5e51b7Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488fe5e51b7Smrg	then
489fe5e51b7Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
490fe5e51b7Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
491fe5e51b7Smrg	    then
492fe5e51b7Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
493fe5e51b7Smrg	    else
494fe5e51b7Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
495fe5e51b7Smrg	    fi
496fe5e51b7Smrg	else
497fe5e51b7Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
498fe5e51b7Smrg	fi
4990bb88ba4Smrg	exit ;;
500fe5e51b7Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
501fe5e51b7Smrg	echo m88k-dolphin-sysv3
502fe5e51b7Smrg	exit ;;
503fe5e51b7Smrg    M88*:*:R3*:*)
504fe5e51b7Smrg	# Delta 88k system running SVR3
505fe5e51b7Smrg	echo m88k-motorola-sysv3
506fe5e51b7Smrg	exit ;;
507fe5e51b7Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
508fe5e51b7Smrg	echo m88k-tektronix-sysv3
509fe5e51b7Smrg	exit ;;
510fe5e51b7Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
511fe5e51b7Smrg	echo m68k-tektronix-bsd
512fe5e51b7Smrg	exit ;;
513fe5e51b7Smrg    *:IRIX*:*:*)
514fe5e51b7Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
515fe5e51b7Smrg	exit ;;
516fe5e51b7Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
517fe5e51b7Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
518fe5e51b7Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
519fe5e51b7Smrg    i*86:AIX:*:*)
520fe5e51b7Smrg	echo i386-ibm-aix
521fe5e51b7Smrg	exit ;;
522fe5e51b7Smrg    ia64:AIX:*:*)
523fe5e51b7Smrg	if [ -x /usr/bin/oslevel ] ; then
524fe5e51b7Smrg		IBM_REV=`/usr/bin/oslevel`
525fe5e51b7Smrg	else
526fe5e51b7Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527fe5e51b7Smrg	fi
528fe5e51b7Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
529fe5e51b7Smrg	exit ;;
530fe5e51b7Smrg    *:AIX:2:3)
531fe5e51b7Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
532fe5e51b7Smrg		eval $set_cc_for_build
533fe5e51b7Smrg		sed 's/^		//' << EOF >$dummy.c
534fe5e51b7Smrg		#include <sys/systemcfg.h>
535fe5e51b7Smrg
536fe5e51b7Smrg		main()
537fe5e51b7Smrg			{
538fe5e51b7Smrg			if (!__power_pc())
539fe5e51b7Smrg				exit(1);
540fe5e51b7Smrg			puts("powerpc-ibm-aix3.2.5");
541fe5e51b7Smrg			exit(0);
542fe5e51b7Smrg			}
543fe5e51b7SmrgEOF
544fe5e51b7Smrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
545fe5e51b7Smrg		then
546fe5e51b7Smrg			echo "$SYSTEM_NAME"
547fe5e51b7Smrg		else
548fe5e51b7Smrg			echo rs6000-ibm-aix3.2.5
549fe5e51b7Smrg		fi
550fe5e51b7Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
551fe5e51b7Smrg		echo rs6000-ibm-aix3.2.4
552fe5e51b7Smrg	else
553fe5e51b7Smrg		echo rs6000-ibm-aix3.2
554fe5e51b7Smrg	fi
555fe5e51b7Smrg	exit ;;
5560bb88ba4Smrg    *:AIX:*:[4567])
557fe5e51b7Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
558fe5e51b7Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
559fe5e51b7Smrg		IBM_ARCH=rs6000
560fe5e51b7Smrg	else
561fe5e51b7Smrg		IBM_ARCH=powerpc
562fe5e51b7Smrg	fi
563fe5e51b7Smrg	if [ -x /usr/bin/oslevel ] ; then
564fe5e51b7Smrg		IBM_REV=`/usr/bin/oslevel`
565fe5e51b7Smrg	else
566fe5e51b7Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
567fe5e51b7Smrg	fi
568fe5e51b7Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
569fe5e51b7Smrg	exit ;;
570fe5e51b7Smrg    *:AIX:*:*)
571fe5e51b7Smrg	echo rs6000-ibm-aix
572fe5e51b7Smrg	exit ;;
573fe5e51b7Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
574fe5e51b7Smrg	echo romp-ibm-bsd4.4
575fe5e51b7Smrg	exit ;;
576fe5e51b7Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
577fe5e51b7Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
578fe5e51b7Smrg	exit ;;                             # report: romp-ibm BSD 4.3
579fe5e51b7Smrg    *:BOSX:*:*)
580fe5e51b7Smrg	echo rs6000-bull-bosx
581fe5e51b7Smrg	exit ;;
582fe5e51b7Smrg    DPX/2?00:B.O.S.:*:*)
583fe5e51b7Smrg	echo m68k-bull-sysv3
584fe5e51b7Smrg	exit ;;
585fe5e51b7Smrg    9000/[34]??:4.3bsd:1.*:*)
586fe5e51b7Smrg	echo m68k-hp-bsd
587fe5e51b7Smrg	exit ;;
588fe5e51b7Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
589fe5e51b7Smrg	echo m68k-hp-bsd4.4
590fe5e51b7Smrg	exit ;;
591fe5e51b7Smrg    9000/[34678]??:HP-UX:*:*)
592fe5e51b7Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
593fe5e51b7Smrg	case "${UNAME_MACHINE}" in
594fe5e51b7Smrg	    9000/31? )            HP_ARCH=m68000 ;;
595fe5e51b7Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
596fe5e51b7Smrg	    9000/[678][0-9][0-9])
597fe5e51b7Smrg		if [ -x /usr/bin/getconf ]; then
598fe5e51b7Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
5990bb88ba4Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6000bb88ba4Smrg		    case "${sc_cpu_version}" in
6010bb88ba4Smrg		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
6020bb88ba4Smrg		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
6030bb88ba4Smrg		      532)                      # CPU_PA_RISC2_0
6040bb88ba4Smrg			case "${sc_kernel_bits}" in
6050bb88ba4Smrg			  32) HP_ARCH="hppa2.0n" ;;
6060bb88ba4Smrg			  64) HP_ARCH="hppa2.0w" ;;
607fe5e51b7Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
6080bb88ba4Smrg			esac ;;
6090bb88ba4Smrg		    esac
610fe5e51b7Smrg		fi
611fe5e51b7Smrg		if [ "${HP_ARCH}" = "" ]; then
612fe5e51b7Smrg		    eval $set_cc_for_build
6130bb88ba4Smrg		    sed 's/^		//' << EOF >$dummy.c
614fe5e51b7Smrg
6150bb88ba4Smrg		#define _HPUX_SOURCE
6160bb88ba4Smrg		#include <stdlib.h>
6170bb88ba4Smrg		#include <unistd.h>
618fe5e51b7Smrg
6190bb88ba4Smrg		int main ()
6200bb88ba4Smrg		{
6210bb88ba4Smrg		#if defined(_SC_KERNEL_BITS)
6220bb88ba4Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
6230bb88ba4Smrg		#endif
6240bb88ba4Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
625fe5e51b7Smrg
6260bb88ba4Smrg		    switch (cpu)
6270bb88ba4Smrg			{
6280bb88ba4Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6290bb88ba4Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6300bb88ba4Smrg			case CPU_PA_RISC2_0:
6310bb88ba4Smrg		#if defined(_SC_KERNEL_BITS)
6320bb88ba4Smrg			    switch (bits)
6330bb88ba4Smrg				{
6340bb88ba4Smrg				case 64: puts ("hppa2.0w"); break;
6350bb88ba4Smrg				case 32: puts ("hppa2.0n"); break;
6360bb88ba4Smrg				default: puts ("hppa2.0"); break;
6370bb88ba4Smrg				} break;
6380bb88ba4Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
6390bb88ba4Smrg			    puts ("hppa2.0"); break;
6400bb88ba4Smrg		#endif
6410bb88ba4Smrg			default: puts ("hppa1.0"); break;
6420bb88ba4Smrg			}
6430bb88ba4Smrg		    exit (0);
6440bb88ba4Smrg		}
645fe5e51b7SmrgEOF
646fe5e51b7Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
647fe5e51b7Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
648fe5e51b7Smrg		fi ;;
649fe5e51b7Smrg	esac
650fe5e51b7Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
651fe5e51b7Smrg	then
652fe5e51b7Smrg	    eval $set_cc_for_build
653fe5e51b7Smrg
654fe5e51b7Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
655fe5e51b7Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
656fe5e51b7Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
657fe5e51b7Smrg	    #
658fe5e51b7Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
659fe5e51b7Smrg	    # => hppa2.0w-hp-hpux11.23
660fe5e51b7Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
661fe5e51b7Smrg	    # => hppa64-hp-hpux11.23
662fe5e51b7Smrg
663fe5e51b7Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6640bb88ba4Smrg		grep -q __LP64__
665fe5e51b7Smrg	    then
666fe5e51b7Smrg		HP_ARCH="hppa2.0w"
667fe5e51b7Smrg	    else
668fe5e51b7Smrg		HP_ARCH="hppa64"
669fe5e51b7Smrg	    fi
670fe5e51b7Smrg	fi
671fe5e51b7Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
672fe5e51b7Smrg	exit ;;
673fe5e51b7Smrg    ia64:HP-UX:*:*)
674fe5e51b7Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
675fe5e51b7Smrg	echo ia64-hp-hpux${HPUX_REV}
676fe5e51b7Smrg	exit ;;
677fe5e51b7Smrg    3050*:HI-UX:*:*)
678fe5e51b7Smrg	eval $set_cc_for_build
679fe5e51b7Smrg	sed 's/^	//' << EOF >$dummy.c
680fe5e51b7Smrg	#include <unistd.h>
681fe5e51b7Smrg	int
682fe5e51b7Smrg	main ()
683fe5e51b7Smrg	{
684fe5e51b7Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
685fe5e51b7Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
686fe5e51b7Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
687fe5e51b7Smrg	     results, however.  */
688fe5e51b7Smrg	  if (CPU_IS_PA_RISC (cpu))
689fe5e51b7Smrg	    {
690fe5e51b7Smrg	      switch (cpu)
691fe5e51b7Smrg		{
692fe5e51b7Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
693fe5e51b7Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
694fe5e51b7Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
695fe5e51b7Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
696fe5e51b7Smrg		}
697fe5e51b7Smrg	    }
698fe5e51b7Smrg	  else if (CPU_IS_HP_MC68K (cpu))
699fe5e51b7Smrg	    puts ("m68k-hitachi-hiuxwe2");
700fe5e51b7Smrg	  else puts ("unknown-hitachi-hiuxwe2");
701fe5e51b7Smrg	  exit (0);
702fe5e51b7Smrg	}
703fe5e51b7SmrgEOF
704fe5e51b7Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
705fe5e51b7Smrg		{ echo "$SYSTEM_NAME"; exit; }
706fe5e51b7Smrg	echo unknown-hitachi-hiuxwe2
707fe5e51b7Smrg	exit ;;
708fe5e51b7Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
709fe5e51b7Smrg	echo hppa1.1-hp-bsd
710fe5e51b7Smrg	exit ;;
711fe5e51b7Smrg    9000/8??:4.3bsd:*:*)
712fe5e51b7Smrg	echo hppa1.0-hp-bsd
713fe5e51b7Smrg	exit ;;
714fe5e51b7Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
715fe5e51b7Smrg	echo hppa1.0-hp-mpeix
716fe5e51b7Smrg	exit ;;
717fe5e51b7Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
718fe5e51b7Smrg	echo hppa1.1-hp-osf
719fe5e51b7Smrg	exit ;;
720fe5e51b7Smrg    hp8??:OSF1:*:*)
721fe5e51b7Smrg	echo hppa1.0-hp-osf
722fe5e51b7Smrg	exit ;;
723fe5e51b7Smrg    i*86:OSF1:*:*)
724fe5e51b7Smrg	if [ -x /usr/sbin/sysversion ] ; then
725fe5e51b7Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
726fe5e51b7Smrg	else
727fe5e51b7Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
728fe5e51b7Smrg	fi
729fe5e51b7Smrg	exit ;;
730fe5e51b7Smrg    parisc*:Lites*:*:*)
731fe5e51b7Smrg	echo hppa1.1-hp-lites
732fe5e51b7Smrg	exit ;;
733fe5e51b7Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
734fe5e51b7Smrg	echo c1-convex-bsd
7350bb88ba4Smrg	exit ;;
736fe5e51b7Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
737fe5e51b7Smrg	if getsysinfo -f scalar_acc
738fe5e51b7Smrg	then echo c32-convex-bsd
739fe5e51b7Smrg	else echo c2-convex-bsd
740fe5e51b7Smrg	fi
7410bb88ba4Smrg	exit ;;
742fe5e51b7Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
743fe5e51b7Smrg	echo c34-convex-bsd
7440bb88ba4Smrg	exit ;;
745fe5e51b7Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
746fe5e51b7Smrg	echo c38-convex-bsd
7470bb88ba4Smrg	exit ;;
748fe5e51b7Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
749fe5e51b7Smrg	echo c4-convex-bsd
7500bb88ba4Smrg	exit ;;
751fe5e51b7Smrg    CRAY*Y-MP:*:*:*)
752fe5e51b7Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753fe5e51b7Smrg	exit ;;
754fe5e51b7Smrg    CRAY*[A-Z]90:*:*:*)
755fe5e51b7Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
756fe5e51b7Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
757fe5e51b7Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
758fe5e51b7Smrg	      -e 's/\.[^.]*$/.X/'
759fe5e51b7Smrg	exit ;;
760fe5e51b7Smrg    CRAY*TS:*:*:*)
761fe5e51b7Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
762fe5e51b7Smrg	exit ;;
763fe5e51b7Smrg    CRAY*T3E:*:*:*)
764fe5e51b7Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
765fe5e51b7Smrg	exit ;;
766fe5e51b7Smrg    CRAY*SV1:*:*:*)
767fe5e51b7Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
768fe5e51b7Smrg	exit ;;
769fe5e51b7Smrg    *:UNICOS/mp:*:*)
770fe5e51b7Smrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771fe5e51b7Smrg	exit ;;
772fe5e51b7Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
773fe5e51b7Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
7740bb88ba4Smrg	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7750bb88ba4Smrg	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7760bb88ba4Smrg	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7770bb88ba4Smrg	exit ;;
778fe5e51b7Smrg    5000:UNIX_System_V:4.*:*)
7790bb88ba4Smrg	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7800bb88ba4Smrg	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7810bb88ba4Smrg	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
782fe5e51b7Smrg	exit ;;
783fe5e51b7Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
784fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
785fe5e51b7Smrg	exit ;;
786fe5e51b7Smrg    sparc*:BSD/OS:*:*)
787fe5e51b7Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
788fe5e51b7Smrg	exit ;;
789fe5e51b7Smrg    *:BSD/OS:*:*)
790fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
791fe5e51b7Smrg	exit ;;
792fe5e51b7Smrg    *:FreeBSD:*:*)
7930bb88ba4Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
7940bb88ba4Smrg	case ${UNAME_PROCESSOR} in
795fe5e51b7Smrg	    amd64)
796fe5e51b7Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797fe5e51b7Smrg	    *)
7980bb88ba4Smrg		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799fe5e51b7Smrg	esac
800fe5e51b7Smrg	exit ;;
801fe5e51b7Smrg    i*:CYGWIN*:*)
802fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-cygwin
803fe5e51b7Smrg	exit ;;
804fe5e51b7Smrg    *:MINGW*:*)
805fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-mingw32
806fe5e51b7Smrg	exit ;;
8070bb88ba4Smrg    i*:MSYS*:*)
8080bb88ba4Smrg	echo ${UNAME_MACHINE}-pc-msys
8090bb88ba4Smrg	exit ;;
810fe5e51b7Smrg    i*:windows32*:*)
8110bb88ba4Smrg	# uname -m includes "-pc" on this system.
8120bb88ba4Smrg	echo ${UNAME_MACHINE}-mingw32
813fe5e51b7Smrg	exit ;;
814fe5e51b7Smrg    i*:PW*:*)
815fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-pw32
816fe5e51b7Smrg	exit ;;
8170bb88ba4Smrg    *:Interix*:*)
8180bb88ba4Smrg	case ${UNAME_MACHINE} in
819eda3803bSmrg	    x86)
820fe5e51b7Smrg		echo i586-pc-interix${UNAME_RELEASE}
821fe5e51b7Smrg		exit ;;
8220bb88ba4Smrg	    authenticamd | genuineintel | EM64T)
823fe5e51b7Smrg		echo x86_64-unknown-interix${UNAME_RELEASE}
824fe5e51b7Smrg		exit ;;
825eda3803bSmrg	    IA64)
826eda3803bSmrg		echo ia64-unknown-interix${UNAME_RELEASE}
827eda3803bSmrg		exit ;;
828fe5e51b7Smrg	esac ;;
829fe5e51b7Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
830fe5e51b7Smrg	echo i${UNAME_MACHINE}-pc-mks
831fe5e51b7Smrg	exit ;;
8320bb88ba4Smrg    8664:Windows_NT:*)
8330bb88ba4Smrg	echo x86_64-pc-mks
8340bb88ba4Smrg	exit ;;
835fe5e51b7Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
836fe5e51b7Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
837fe5e51b7Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
838fe5e51b7Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
839fe5e51b7Smrg	echo i586-pc-interix
840fe5e51b7Smrg	exit ;;
841fe5e51b7Smrg    i*:UWIN*:*)
842fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-uwin
843fe5e51b7Smrg	exit ;;
844fe5e51b7Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
845fe5e51b7Smrg	echo x86_64-unknown-cygwin
846fe5e51b7Smrg	exit ;;
847fe5e51b7Smrg    p*:CYGWIN*:*)
848fe5e51b7Smrg	echo powerpcle-unknown-cygwin
849fe5e51b7Smrg	exit ;;
850fe5e51b7Smrg    prep*:SunOS:5.*:*)
851fe5e51b7Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
852fe5e51b7Smrg	exit ;;
853fe5e51b7Smrg    *:GNU:*:*)
854fe5e51b7Smrg	# the GNU system
855fe5e51b7Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
856fe5e51b7Smrg	exit ;;
857fe5e51b7Smrg    *:GNU/*:*:*)
858fe5e51b7Smrg	# other systems with GNU libc and userland
859fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
860fe5e51b7Smrg	exit ;;
861fe5e51b7Smrg    i*86:Minix:*:*)
862fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-minix
863fe5e51b7Smrg	exit ;;
864acd6767fSmrg    aarch64:Linux:*:*)
865acd6767fSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
866acd6767fSmrg	exit ;;
867acd6767fSmrg    aarch64_be:Linux:*:*)
868acd6767fSmrg	UNAME_MACHINE=aarch64_be
869acd6767fSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
870acd6767fSmrg	exit ;;
8710bb88ba4Smrg    alpha:Linux:*:*)
8720bb88ba4Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
8730bb88ba4Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
8740bb88ba4Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
8750bb88ba4Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
8760bb88ba4Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
8770bb88ba4Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
8780bb88ba4Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
8790bb88ba4Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
8800bb88ba4Smrg	esac
8810bb88ba4Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
8820bb88ba4Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
8830bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
8840bb88ba4Smrg	exit ;;
885fe5e51b7Smrg    arm*:Linux:*:*)
886eda3803bSmrg	eval $set_cc_for_build
887eda3803bSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
888eda3803bSmrg	    | grep -q __ARM_EABI__
889eda3803bSmrg	then
890eda3803bSmrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
891eda3803bSmrg	else
8920bb88ba4Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
8930bb88ba4Smrg		| grep -q __ARM_PCS_VFP
8940bb88ba4Smrg	    then
8950bb88ba4Smrg		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
8960bb88ba4Smrg	    else
8970bb88ba4Smrg		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
8980bb88ba4Smrg	    fi
899eda3803bSmrg	fi
900fe5e51b7Smrg	exit ;;
901fe5e51b7Smrg    avr32*:Linux:*:*)
902fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
903fe5e51b7Smrg	exit ;;
904fe5e51b7Smrg    cris:Linux:*:*)
9050bb88ba4Smrg	echo ${UNAME_MACHINE}-axis-linux-gnu
906fe5e51b7Smrg	exit ;;
907fe5e51b7Smrg    crisv32:Linux:*:*)
9080bb88ba4Smrg	echo ${UNAME_MACHINE}-axis-linux-gnu
909fe5e51b7Smrg	exit ;;
910fe5e51b7Smrg    frv:Linux:*:*)
9110bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9120bb88ba4Smrg	exit ;;
9130bb88ba4Smrg    hexagon:Linux:*:*)
9140bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9150bb88ba4Smrg	exit ;;
9160bb88ba4Smrg    i*86:Linux:*:*)
9170bb88ba4Smrg	LIBC=gnu
9180bb88ba4Smrg	eval $set_cc_for_build
9190bb88ba4Smrg	sed 's/^	//' << EOF >$dummy.c
9200bb88ba4Smrg	#ifdef __dietlibc__
9210bb88ba4Smrg	LIBC=dietlibc
9220bb88ba4Smrg	#endif
9230bb88ba4SmrgEOF
9240bb88ba4Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
9250bb88ba4Smrg	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
926fe5e51b7Smrg	exit ;;
927fe5e51b7Smrg    ia64:Linux:*:*)
928fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
929fe5e51b7Smrg	exit ;;
930fe5e51b7Smrg    m32r*:Linux:*:*)
931fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
932fe5e51b7Smrg	exit ;;
933fe5e51b7Smrg    m68*:Linux:*:*)
934fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
935fe5e51b7Smrg	exit ;;
9360bb88ba4Smrg    mips:Linux:*:* | mips64:Linux:*:*)
937fe5e51b7Smrg	eval $set_cc_for_build
938fe5e51b7Smrg	sed 's/^	//' << EOF >$dummy.c
939fe5e51b7Smrg	#undef CPU
9400bb88ba4Smrg	#undef ${UNAME_MACHINE}
9410bb88ba4Smrg	#undef ${UNAME_MACHINE}el
942fe5e51b7Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
9430bb88ba4Smrg	CPU=${UNAME_MACHINE}el
944fe5e51b7Smrg	#else
945fe5e51b7Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
9460bb88ba4Smrg	CPU=${UNAME_MACHINE}
947fe5e51b7Smrg	#else
948fe5e51b7Smrg	CPU=
949fe5e51b7Smrg	#endif
950fe5e51b7Smrg	#endif
951fe5e51b7SmrgEOF
9520bb88ba4Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
953fe5e51b7Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
954fe5e51b7Smrg	;;
955fe5e51b7Smrg    or32:Linux:*:*)
9560bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
957fe5e51b7Smrg	exit ;;
958a31a186aSmrg    padre:Linux:*:*)
959a31a186aSmrg	echo sparc-unknown-linux-gnu
960a31a186aSmrg	exit ;;
9610bb88ba4Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
9620bb88ba4Smrg	echo hppa64-unknown-linux-gnu
9630bb88ba4Smrg	exit ;;
964fe5e51b7Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
965fe5e51b7Smrg	# Look for CPU level
966fe5e51b7Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
967fe5e51b7Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
968fe5e51b7Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
969fe5e51b7Smrg	  *)    echo hppa-unknown-linux-gnu ;;
970fe5e51b7Smrg	esac
971fe5e51b7Smrg	exit ;;
9720bb88ba4Smrg    ppc64:Linux:*:*)
9730bb88ba4Smrg	echo powerpc64-unknown-linux-gnu
9740bb88ba4Smrg	exit ;;
9750bb88ba4Smrg    ppc:Linux:*:*)
9760bb88ba4Smrg	echo powerpc-unknown-linux-gnu
977fe5e51b7Smrg	exit ;;
978fe5e51b7Smrg    s390:Linux:*:* | s390x:Linux:*:*)
979fe5e51b7Smrg	echo ${UNAME_MACHINE}-ibm-linux
980fe5e51b7Smrg	exit ;;
981fe5e51b7Smrg    sh64*:Linux:*:*)
9820bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
983fe5e51b7Smrg	exit ;;
984fe5e51b7Smrg    sh*:Linux:*:*)
985fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
986fe5e51b7Smrg	exit ;;
987fe5e51b7Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
988fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
989fe5e51b7Smrg	exit ;;
9900bb88ba4Smrg    tile*:Linux:*:*)
9910bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9920bb88ba4Smrg	exit ;;
993fe5e51b7Smrg    vax:Linux:*:*)
994fe5e51b7Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
995fe5e51b7Smrg	exit ;;
996fe5e51b7Smrg    x86_64:Linux:*:*)
9970bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
998fe5e51b7Smrg	exit ;;
999eda3803bSmrg    xtensa*:Linux:*:*)
10000bb88ba4Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
1001fe5e51b7Smrg	exit ;;
1002fe5e51b7Smrg    i*86:DYNIX/ptx:4*:*)
1003fe5e51b7Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1004fe5e51b7Smrg	# earlier versions are messed up and put the nodename in both
1005fe5e51b7Smrg	# sysname and nodename.
1006fe5e51b7Smrg	echo i386-sequent-sysv4
1007fe5e51b7Smrg	exit ;;
1008fe5e51b7Smrg    i*86:UNIX_SV:4.2MP:2.*)
10090bb88ba4Smrg	# Unixware is an offshoot of SVR4, but it has its own version
10100bb88ba4Smrg	# number series starting with 2...
10110bb88ba4Smrg	# I am not positive that other SVR4 systems won't match this,
1012fe5e51b7Smrg	# I just have to hope.  -- rms.
10130bb88ba4Smrg	# Use sysv4.2uw... so that sysv4* matches it.
1014fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1015fe5e51b7Smrg	exit ;;
1016fe5e51b7Smrg    i*86:OS/2:*:*)
1017fe5e51b7Smrg	# If we were able to find `uname', then EMX Unix compatibility
1018fe5e51b7Smrg	# is probably installed.
1019fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
1020fe5e51b7Smrg	exit ;;
1021fe5e51b7Smrg    i*86:XTS-300:*:STOP)
1022fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-stop
1023fe5e51b7Smrg	exit ;;
1024fe5e51b7Smrg    i*86:atheos:*:*)
1025fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-atheos
1026fe5e51b7Smrg	exit ;;
1027fe5e51b7Smrg    i*86:syllable:*:*)
1028fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-syllable
1029fe5e51b7Smrg	exit ;;
10300bb88ba4Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1031fe5e51b7Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
1032fe5e51b7Smrg	exit ;;
1033fe5e51b7Smrg    i*86:*DOS:*:*)
1034fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1035fe5e51b7Smrg	exit ;;
1036fe5e51b7Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1037fe5e51b7Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1038fe5e51b7Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1039fe5e51b7Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1040fe5e51b7Smrg	else
1041fe5e51b7Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1042fe5e51b7Smrg	fi
1043fe5e51b7Smrg	exit ;;
1044fe5e51b7Smrg    i*86:*:5:[678]*)
10450bb88ba4Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1046fe5e51b7Smrg	case `/bin/uname -X | grep "^Machine"` in
1047fe5e51b7Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1048fe5e51b7Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1049fe5e51b7Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1050fe5e51b7Smrg	esac
1051fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1052fe5e51b7Smrg	exit ;;
1053fe5e51b7Smrg    i*86:*:3.2:*)
1054fe5e51b7Smrg	if test -f /usr/options/cb.name; then
1055fe5e51b7Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1056fe5e51b7Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1057fe5e51b7Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1058fe5e51b7Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1059fe5e51b7Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1060fe5e51b7Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1061fe5e51b7Smrg			&& UNAME_MACHINE=i586
1062fe5e51b7Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1063fe5e51b7Smrg			&& UNAME_MACHINE=i686
1064fe5e51b7Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1065fe5e51b7Smrg			&& UNAME_MACHINE=i686
1066fe5e51b7Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1067fe5e51b7Smrg	else
1068fe5e51b7Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1069fe5e51b7Smrg	fi
1070fe5e51b7Smrg	exit ;;
1071fe5e51b7Smrg    pc:*:*:*)
1072fe5e51b7Smrg	# Left here for compatibility:
10730bb88ba4Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
10740bb88ba4Smrg	# the processor, so we play safe by assuming i586.
10750bb88ba4Smrg	# Note: whatever this is, it MUST be the same as what config.sub
10760bb88ba4Smrg	# prints for the "djgpp" host, or else GDB configury will decide that
10770bb88ba4Smrg	# this is a cross-build.
10780bb88ba4Smrg	echo i586-pc-msdosdjgpp
10790bb88ba4Smrg	exit ;;
1080fe5e51b7Smrg    Intel:Mach:3*:*)
1081fe5e51b7Smrg	echo i386-pc-mach3
1082fe5e51b7Smrg	exit ;;
1083fe5e51b7Smrg    paragon:*:*:*)
1084fe5e51b7Smrg	echo i860-intel-osf1
1085fe5e51b7Smrg	exit ;;
1086fe5e51b7Smrg    i860:*:4.*:*) # i860-SVR4
1087fe5e51b7Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1088fe5e51b7Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1089fe5e51b7Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1090fe5e51b7Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1091fe5e51b7Smrg	fi
1092fe5e51b7Smrg	exit ;;
1093fe5e51b7Smrg    mini*:CTIX:SYS*5:*)
1094fe5e51b7Smrg	# "miniframe"
1095fe5e51b7Smrg	echo m68010-convergent-sysv
1096fe5e51b7Smrg	exit ;;
1097fe5e51b7Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1098fe5e51b7Smrg	echo m68k-convergent-sysv
1099fe5e51b7Smrg	exit ;;
1100fe5e51b7Smrg    M680?0:D-NIX:5.3:*)
1101fe5e51b7Smrg	echo m68k-diab-dnix
1102fe5e51b7Smrg	exit ;;
1103fe5e51b7Smrg    M68*:*:R3V[5678]*:*)
1104fe5e51b7Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1105fe5e51b7Smrg    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)
1106fe5e51b7Smrg	OS_REL=''
1107fe5e51b7Smrg	test -r /etc/.relid \
1108fe5e51b7Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1109fe5e51b7Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110fe5e51b7Smrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1111fe5e51b7Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1112fe5e51b7Smrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1113fe5e51b7Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11140bb88ba4Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11150bb88ba4Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
11160bb88ba4Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
11170bb88ba4Smrg	OS_REL='.3'
11180bb88ba4Smrg	test -r /etc/.relid \
11190bb88ba4Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11200bb88ba4Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11210bb88ba4Smrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11220bb88ba4Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11230bb88ba4Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
11240bb88ba4Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
11250bb88ba4Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1126fe5e51b7Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1127fe5e51b7Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
1128fe5e51b7Smrg	exit ;;
1129fe5e51b7Smrg    mc68030:UNIX_System_V:4.*:*)
1130fe5e51b7Smrg	echo m68k-atari-sysv4
1131fe5e51b7Smrg	exit ;;
1132fe5e51b7Smrg    TSUNAMI:LynxOS:2.*:*)
1133fe5e51b7Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
1134fe5e51b7Smrg	exit ;;
1135fe5e51b7Smrg    rs6000:LynxOS:2.*:*)
1136fe5e51b7Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1137fe5e51b7Smrg	exit ;;
11380bb88ba4Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1139fe5e51b7Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1140fe5e51b7Smrg	exit ;;
1141fe5e51b7Smrg    SM[BE]S:UNIX_SV:*:*)
1142fe5e51b7Smrg	echo mips-dde-sysv${UNAME_RELEASE}
1143fe5e51b7Smrg	exit ;;
1144fe5e51b7Smrg    RM*:ReliantUNIX-*:*:*)
1145fe5e51b7Smrg	echo mips-sni-sysv4
1146fe5e51b7Smrg	exit ;;
1147fe5e51b7Smrg    RM*:SINIX-*:*:*)
1148fe5e51b7Smrg	echo mips-sni-sysv4
1149fe5e51b7Smrg	exit ;;
1150fe5e51b7Smrg    *:SINIX-*:*:*)
1151fe5e51b7Smrg	if uname -p 2>/dev/null >/dev/null ; then
1152fe5e51b7Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1153fe5e51b7Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1154fe5e51b7Smrg	else
1155fe5e51b7Smrg		echo ns32k-sni-sysv
1156fe5e51b7Smrg	fi
1157fe5e51b7Smrg	exit ;;
11580bb88ba4Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
11590bb88ba4Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
11600bb88ba4Smrg	echo i586-unisys-sysv4
11610bb88ba4Smrg	exit ;;
1162fe5e51b7Smrg    *:UNIX_System_V:4*:FTX*)
1163fe5e51b7Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1164fe5e51b7Smrg	# How about differentiating between stratus architectures? -djm
1165fe5e51b7Smrg	echo hppa1.1-stratus-sysv4
1166fe5e51b7Smrg	exit ;;
1167fe5e51b7Smrg    *:*:*:FTX*)
1168fe5e51b7Smrg	# From seanf@swdc.stratus.com.
1169fe5e51b7Smrg	echo i860-stratus-sysv4
1170fe5e51b7Smrg	exit ;;
1171fe5e51b7Smrg    i*86:VOS:*:*)
1172fe5e51b7Smrg	# From Paul.Green@stratus.com.
1173fe5e51b7Smrg	echo ${UNAME_MACHINE}-stratus-vos
1174fe5e51b7Smrg	exit ;;
1175fe5e51b7Smrg    *:VOS:*:*)
1176fe5e51b7Smrg	# From Paul.Green@stratus.com.
1177fe5e51b7Smrg	echo hppa1.1-stratus-vos
1178fe5e51b7Smrg	exit ;;
1179fe5e51b7Smrg    mc68*:A/UX:*:*)
1180fe5e51b7Smrg	echo m68k-apple-aux${UNAME_RELEASE}
1181fe5e51b7Smrg	exit ;;
1182fe5e51b7Smrg    news*:NEWS-OS:6*:*)
1183fe5e51b7Smrg	echo mips-sony-newsos6
1184fe5e51b7Smrg	exit ;;
1185fe5e51b7Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1186fe5e51b7Smrg	if [ -d /usr/nec ]; then
11870bb88ba4Smrg		echo mips-nec-sysv${UNAME_RELEASE}
1188fe5e51b7Smrg	else
11890bb88ba4Smrg		echo mips-unknown-sysv${UNAME_RELEASE}
1190fe5e51b7Smrg	fi
11910bb88ba4Smrg	exit ;;
1192fe5e51b7Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1193fe5e51b7Smrg	echo powerpc-be-beos
1194fe5e51b7Smrg	exit ;;
1195fe5e51b7Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1196fe5e51b7Smrg	echo powerpc-apple-beos
1197fe5e51b7Smrg	exit ;;
1198fe5e51b7Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1199fe5e51b7Smrg	echo i586-pc-beos
1200fe5e51b7Smrg	exit ;;
1201a31a186aSmrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1202a31a186aSmrg	echo i586-pc-haiku
1203a31a186aSmrg	exit ;;
1204fe5e51b7Smrg    SX-4:SUPER-UX:*:*)
1205fe5e51b7Smrg	echo sx4-nec-superux${UNAME_RELEASE}
1206fe5e51b7Smrg	exit ;;
1207fe5e51b7Smrg    SX-5:SUPER-UX:*:*)
1208fe5e51b7Smrg	echo sx5-nec-superux${UNAME_RELEASE}
1209fe5e51b7Smrg	exit ;;
1210fe5e51b7Smrg    SX-6:SUPER-UX:*:*)
1211fe5e51b7Smrg	echo sx6-nec-superux${UNAME_RELEASE}
1212fe5e51b7Smrg	exit ;;
1213fe5e51b7Smrg    SX-7:SUPER-UX:*:*)
1214fe5e51b7Smrg	echo sx7-nec-superux${UNAME_RELEASE}
1215fe5e51b7Smrg	exit ;;
1216fe5e51b7Smrg    SX-8:SUPER-UX:*:*)
1217fe5e51b7Smrg	echo sx8-nec-superux${UNAME_RELEASE}
1218fe5e51b7Smrg	exit ;;
1219fe5e51b7Smrg    SX-8R:SUPER-UX:*:*)
1220fe5e51b7Smrg	echo sx8r-nec-superux${UNAME_RELEASE}
1221fe5e51b7Smrg	exit ;;
1222fe5e51b7Smrg    Power*:Rhapsody:*:*)
1223fe5e51b7Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1224fe5e51b7Smrg	exit ;;
1225fe5e51b7Smrg    *:Rhapsody:*:*)
1226fe5e51b7Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1227fe5e51b7Smrg	exit ;;
1228fe5e51b7Smrg    *:Darwin:*:*)
1229fe5e51b7Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1230fe5e51b7Smrg	case $UNAME_PROCESSOR in
12310bb88ba4Smrg	    i386)
12320bb88ba4Smrg		eval $set_cc_for_build
12330bb88ba4Smrg		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
12340bb88ba4Smrg		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
12350bb88ba4Smrg		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
12360bb88ba4Smrg		      grep IS_64BIT_ARCH >/dev/null
12370bb88ba4Smrg		  then
12380bb88ba4Smrg		      UNAME_PROCESSOR="x86_64"
12390bb88ba4Smrg		  fi
12400bb88ba4Smrg		fi ;;
1241fe5e51b7Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1242fe5e51b7Smrg	esac
1243fe5e51b7Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1244fe5e51b7Smrg	exit ;;
1245fe5e51b7Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1246fe5e51b7Smrg	UNAME_PROCESSOR=`uname -p`
1247fe5e51b7Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1248fe5e51b7Smrg		UNAME_PROCESSOR=i386
1249fe5e51b7Smrg		UNAME_MACHINE=pc
1250fe5e51b7Smrg	fi
1251fe5e51b7Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1252fe5e51b7Smrg	exit ;;
1253fe5e51b7Smrg    *:QNX:*:4*)
1254fe5e51b7Smrg	echo i386-pc-qnx
1255fe5e51b7Smrg	exit ;;
12560bb88ba4Smrg    NEO-?:NONSTOP_KERNEL:*:*)
12570bb88ba4Smrg	echo neo-tandem-nsk${UNAME_RELEASE}
12580bb88ba4Smrg	exit ;;
1259acd6767fSmrg    NSE-*:NONSTOP_KERNEL:*:*)
1260fe5e51b7Smrg	echo nse-tandem-nsk${UNAME_RELEASE}
1261fe5e51b7Smrg	exit ;;
1262fe5e51b7Smrg    NSR-?:NONSTOP_KERNEL:*:*)
1263fe5e51b7Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
1264fe5e51b7Smrg	exit ;;
1265fe5e51b7Smrg    *:NonStop-UX:*:*)
1266fe5e51b7Smrg	echo mips-compaq-nonstopux
1267fe5e51b7Smrg	exit ;;
1268fe5e51b7Smrg    BS2000:POSIX*:*:*)
1269fe5e51b7Smrg	echo bs2000-siemens-sysv
1270fe5e51b7Smrg	exit ;;
1271fe5e51b7Smrg    DS/*:UNIX_System_V:*:*)
1272fe5e51b7Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1273fe5e51b7Smrg	exit ;;
1274fe5e51b7Smrg    *:Plan9:*:*)
1275fe5e51b7Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1276fe5e51b7Smrg	# is converted to i386 for consistency with other x86
1277fe5e51b7Smrg	# operating systems.
1278fe5e51b7Smrg	if test "$cputype" = "386"; then
1279fe5e51b7Smrg	    UNAME_MACHINE=i386
1280fe5e51b7Smrg	else
1281fe5e51b7Smrg	    UNAME_MACHINE="$cputype"
1282fe5e51b7Smrg	fi
1283fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-plan9
1284fe5e51b7Smrg	exit ;;
1285fe5e51b7Smrg    *:TOPS-10:*:*)
1286fe5e51b7Smrg	echo pdp10-unknown-tops10
1287fe5e51b7Smrg	exit ;;
1288fe5e51b7Smrg    *:TENEX:*:*)
1289fe5e51b7Smrg	echo pdp10-unknown-tenex
1290fe5e51b7Smrg	exit ;;
1291fe5e51b7Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1292fe5e51b7Smrg	echo pdp10-dec-tops20
1293fe5e51b7Smrg	exit ;;
1294fe5e51b7Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1295fe5e51b7Smrg	echo pdp10-xkl-tops20
1296fe5e51b7Smrg	exit ;;
1297fe5e51b7Smrg    *:TOPS-20:*:*)
1298fe5e51b7Smrg	echo pdp10-unknown-tops20
1299fe5e51b7Smrg	exit ;;
1300fe5e51b7Smrg    *:ITS:*:*)
1301fe5e51b7Smrg	echo pdp10-unknown-its
1302fe5e51b7Smrg	exit ;;
1303fe5e51b7Smrg    SEI:*:*:SEIUX)
13040bb88ba4Smrg	echo mips-sei-seiux${UNAME_RELEASE}
1305fe5e51b7Smrg	exit ;;
1306fe5e51b7Smrg    *:DragonFly:*:*)
1307fe5e51b7Smrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1308fe5e51b7Smrg	exit ;;
1309fe5e51b7Smrg    *:*VMS:*:*)
13100bb88ba4Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1311fe5e51b7Smrg	case "${UNAME_MACHINE}" in
1312fe5e51b7Smrg	    A*) echo alpha-dec-vms ; exit ;;
1313fe5e51b7Smrg	    I*) echo ia64-dec-vms ; exit ;;
1314fe5e51b7Smrg	    V*) echo vax-dec-vms ; exit ;;
1315fe5e51b7Smrg	esac ;;
1316fe5e51b7Smrg    *:XENIX:*:SysV)
1317fe5e51b7Smrg	echo i386-pc-xenix
1318fe5e51b7Smrg	exit ;;
1319fe5e51b7Smrg    i*86:skyos:*:*)
1320fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1321fe5e51b7Smrg	exit ;;
1322fe5e51b7Smrg    i*86:rdos:*:*)
1323fe5e51b7Smrg	echo ${UNAME_MACHINE}-pc-rdos
1324fe5e51b7Smrg	exit ;;
13250bb88ba4Smrg    i*86:AROS:*:*)
13260bb88ba4Smrg	echo ${UNAME_MACHINE}-pc-aros
13270bb88ba4Smrg	exit ;;
1328acd6767fSmrg    x86_64:VMkernel:*:*)
1329acd6767fSmrg	echo ${UNAME_MACHINE}-unknown-esx
1330acd6767fSmrg	exit ;;
1331fe5e51b7Smrgesac
1332fe5e51b7Smrg
1333fe5e51b7Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1334fe5e51b7Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1335fe5e51b7Smrg
1336fe5e51b7Smrgeval $set_cc_for_build
1337fe5e51b7Smrgcat >$dummy.c <<EOF
1338fe5e51b7Smrg#ifdef _SEQUENT_
1339fe5e51b7Smrg# include <sys/types.h>
1340fe5e51b7Smrg# include <sys/utsname.h>
1341fe5e51b7Smrg#endif
1342fe5e51b7Smrgmain ()
1343fe5e51b7Smrg{
1344fe5e51b7Smrg#if defined (sony)
1345fe5e51b7Smrg#if defined (MIPSEB)
1346fe5e51b7Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1347fe5e51b7Smrg     I don't know....  */
1348fe5e51b7Smrg  printf ("mips-sony-bsd\n"); exit (0);
1349fe5e51b7Smrg#else
1350fe5e51b7Smrg#include <sys/param.h>
1351fe5e51b7Smrg  printf ("m68k-sony-newsos%s\n",
1352fe5e51b7Smrg#ifdef NEWSOS4
13530bb88ba4Smrg	"4"
1354fe5e51b7Smrg#else
13550bb88ba4Smrg	""
1356fe5e51b7Smrg#endif
13570bb88ba4Smrg	); exit (0);
1358fe5e51b7Smrg#endif
1359fe5e51b7Smrg#endif
1360fe5e51b7Smrg
1361fe5e51b7Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
1362fe5e51b7Smrg  printf ("arm-acorn-riscix\n"); exit (0);
1363fe5e51b7Smrg#endif
1364fe5e51b7Smrg
1365fe5e51b7Smrg#if defined (hp300) && !defined (hpux)
1366fe5e51b7Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1367fe5e51b7Smrg#endif
1368fe5e51b7Smrg
1369fe5e51b7Smrg#if defined (NeXT)
1370fe5e51b7Smrg#if !defined (__ARCHITECTURE__)
1371fe5e51b7Smrg#define __ARCHITECTURE__ "m68k"
1372fe5e51b7Smrg#endif
1373fe5e51b7Smrg  int version;
1374fe5e51b7Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1375fe5e51b7Smrg  if (version < 4)
1376fe5e51b7Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1377fe5e51b7Smrg  else
1378fe5e51b7Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1379fe5e51b7Smrg  exit (0);
1380fe5e51b7Smrg#endif
1381fe5e51b7Smrg
1382fe5e51b7Smrg#if defined (MULTIMAX) || defined (n16)
1383fe5e51b7Smrg#if defined (UMAXV)
1384fe5e51b7Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1385fe5e51b7Smrg#else
1386fe5e51b7Smrg#if defined (CMU)
1387fe5e51b7Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1388fe5e51b7Smrg#else
1389fe5e51b7Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1390fe5e51b7Smrg#endif
1391fe5e51b7Smrg#endif
1392fe5e51b7Smrg#endif
1393fe5e51b7Smrg
1394fe5e51b7Smrg#if defined (__386BSD__)
1395fe5e51b7Smrg  printf ("i386-pc-bsd\n"); exit (0);
1396fe5e51b7Smrg#endif
1397fe5e51b7Smrg
1398fe5e51b7Smrg#if defined (sequent)
1399fe5e51b7Smrg#if defined (i386)
1400fe5e51b7Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1401fe5e51b7Smrg#endif
1402fe5e51b7Smrg#if defined (ns32000)
1403fe5e51b7Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1404fe5e51b7Smrg#endif
1405fe5e51b7Smrg#endif
1406fe5e51b7Smrg
1407fe5e51b7Smrg#if defined (_SEQUENT_)
1408fe5e51b7Smrg    struct utsname un;
1409fe5e51b7Smrg
1410fe5e51b7Smrg    uname(&un);
1411fe5e51b7Smrg
1412fe5e51b7Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1413fe5e51b7Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1414fe5e51b7Smrg    }
1415fe5e51b7Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1416fe5e51b7Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1417fe5e51b7Smrg    }
1418fe5e51b7Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1419fe5e51b7Smrg
1420fe5e51b7Smrg#endif
1421fe5e51b7Smrg
1422fe5e51b7Smrg#if defined (vax)
1423fe5e51b7Smrg# if !defined (ultrix)
1424fe5e51b7Smrg#  include <sys/param.h>
1425fe5e51b7Smrg#  if defined (BSD)
1426fe5e51b7Smrg#   if BSD == 43
1427fe5e51b7Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1428fe5e51b7Smrg#   else
1429fe5e51b7Smrg#    if BSD == 199006
1430fe5e51b7Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1431fe5e51b7Smrg#    else
1432fe5e51b7Smrg      printf ("vax-dec-bsd\n"); exit (0);
1433fe5e51b7Smrg#    endif
1434fe5e51b7Smrg#   endif
1435fe5e51b7Smrg#  else
1436fe5e51b7Smrg    printf ("vax-dec-bsd\n"); exit (0);
1437fe5e51b7Smrg#  endif
1438fe5e51b7Smrg# else
1439fe5e51b7Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1440fe5e51b7Smrg# endif
1441fe5e51b7Smrg#endif
1442fe5e51b7Smrg
1443fe5e51b7Smrg#if defined (alliant) && defined (i860)
1444fe5e51b7Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1445fe5e51b7Smrg#endif
1446fe5e51b7Smrg
1447fe5e51b7Smrg  exit (1);
1448fe5e51b7Smrg}
1449fe5e51b7SmrgEOF
1450fe5e51b7Smrg
1451fe5e51b7Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1452fe5e51b7Smrg	{ echo "$SYSTEM_NAME"; exit; }
1453fe5e51b7Smrg
1454fe5e51b7Smrg# Apollos put the system type in the environment.
1455fe5e51b7Smrg
1456fe5e51b7Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1457fe5e51b7Smrg
1458fe5e51b7Smrg# Convex versions that predate uname can use getsysinfo(1)
1459fe5e51b7Smrg
1460fe5e51b7Smrgif [ -x /usr/convex/getsysinfo ]
1461fe5e51b7Smrgthen
1462fe5e51b7Smrg    case `getsysinfo -f cpu_type` in
1463fe5e51b7Smrg    c1*)
1464fe5e51b7Smrg	echo c1-convex-bsd
1465fe5e51b7Smrg	exit ;;
1466fe5e51b7Smrg    c2*)
1467fe5e51b7Smrg	if getsysinfo -f scalar_acc
1468fe5e51b7Smrg	then echo c32-convex-bsd
1469fe5e51b7Smrg	else echo c2-convex-bsd
1470fe5e51b7Smrg	fi
1471fe5e51b7Smrg	exit ;;
1472fe5e51b7Smrg    c34*)
1473fe5e51b7Smrg	echo c34-convex-bsd
1474fe5e51b7Smrg	exit ;;
1475fe5e51b7Smrg    c38*)
1476fe5e51b7Smrg	echo c38-convex-bsd
1477fe5e51b7Smrg	exit ;;
1478fe5e51b7Smrg    c4*)
1479fe5e51b7Smrg	echo c4-convex-bsd
1480fe5e51b7Smrg	exit ;;
1481fe5e51b7Smrg    esac
1482fe5e51b7Smrgfi
1483fe5e51b7Smrg
1484fe5e51b7Smrgcat >&2 <<EOF
1485fe5e51b7Smrg$0: unable to guess system type
1486fe5e51b7Smrg
1487fe5e51b7SmrgThis script, last modified $timestamp, has failed to recognize
1488fe5e51b7Smrgthe operating system you are using. It is advised that you
1489fe5e51b7Smrgdownload the most up to date version of the config scripts from
1490fe5e51b7Smrg
1491eda3803bSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1492fe5e51b7Smrgand
1493eda3803bSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1494fe5e51b7Smrg
1495fe5e51b7SmrgIf the version you run ($0) is already up to date, please
1496fe5e51b7Smrgsend the following data and any information you think might be
1497fe5e51b7Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1498fe5e51b7Smrginformation to handle your system.
1499fe5e51b7Smrg
1500fe5e51b7Smrgconfig.guess timestamp = $timestamp
1501fe5e51b7Smrg
1502fe5e51b7Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1503fe5e51b7Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1504fe5e51b7Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1505fe5e51b7Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1506fe5e51b7Smrg
1507fe5e51b7Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1508fe5e51b7Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1509fe5e51b7Smrg
1510fe5e51b7Smrghostinfo               = `(hostinfo) 2>/dev/null`
1511fe5e51b7Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1512fe5e51b7Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1513fe5e51b7Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1514fe5e51b7Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1515fe5e51b7Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1516fe5e51b7Smrg
1517fe5e51b7SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1518fe5e51b7SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1519fe5e51b7SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1520fe5e51b7SmrgUNAME_VERSION = ${UNAME_VERSION}
1521fe5e51b7SmrgEOF
1522fe5e51b7Smrg
1523fe5e51b7Smrgexit 1
1524fe5e51b7Smrg
1525fe5e51b7Smrg# Local variables:
1526fe5e51b7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1527fe5e51b7Smrg# time-stamp-start: "timestamp='"
1528fe5e51b7Smrg# time-stamp-format: "%:y-%02m-%02d"
1529fe5e51b7Smrg# time-stamp-end: "'"
1530fe5e51b7Smrg# End:
1531