config.guess revision a85aecdf
1fd7d9bd3Smrg#! /bin/sh
2fd7d9bd3Smrg# Attempt to guess a canonical system name.
3fd7d9bd3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4a85aecdfSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5a85aecdfSmrg#   2011 Free Software Foundation, Inc.
6fd7d9bd3Smrg
7a85aecdfSmrgtimestamp='2011-11-11'
8fd7d9bd3Smrg
9fd7d9bd3Smrg# This file is free software; you can redistribute it and/or modify it
10fd7d9bd3Smrg# under the terms of the GNU General Public License as published by
11fd7d9bd3Smrg# the Free Software Foundation; either version 2 of the License, or
12fd7d9bd3Smrg# (at your option) any later version.
13fd7d9bd3Smrg#
14fd7d9bd3Smrg# This program is distributed in the hope that it will be useful, but
15fd7d9bd3Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16fd7d9bd3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17fd7d9bd3Smrg# General Public License for more details.
18fd7d9bd3Smrg#
19fd7d9bd3Smrg# You should have received a copy of the GNU General Public License
20fd7d9bd3Smrg# along with this program; if not, write to the Free Software
21350952b9Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22350952b9Smrg# 02110-1301, USA.
23fd7d9bd3Smrg#
24fd7d9bd3Smrg# As a special exception to the GNU General Public License, if you
25fd7d9bd3Smrg# distribute this file as part of a program that contains a
26fd7d9bd3Smrg# configuration script generated by Autoconf, you may include it under
27fd7d9bd3Smrg# the same distribution terms that you use for the rest of that program.
28fd7d9bd3Smrg
29350952b9Smrg
309aa2a2b5Smrg# Originally written by Per Bothner.  Please send patches (context
319aa2a2b5Smrg# diff format) to <config-patches@gnu.org> and include a ChangeLog
329aa2a2b5Smrg# entry.
33fd7d9bd3Smrg#
34fd7d9bd3Smrg# This script attempts to guess a canonical system name similar to
35fd7d9bd3Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
36fd7d9bd3Smrg# exits with 0.  Otherwise, it exits with 1.
37fd7d9bd3Smrg#
389aa2a2b5Smrg# You can get the latest version of this script from:
399aa2a2b5Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40fd7d9bd3Smrg
41fd7d9bd3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
42fd7d9bd3Smrg
43fd7d9bd3Smrgusage="\
44fd7d9bd3SmrgUsage: $0 [OPTION]
45fd7d9bd3Smrg
46fd7d9bd3SmrgOutput the configuration name of the system \`$me' is run on.
47fd7d9bd3Smrg
48fd7d9bd3SmrgOperation modes:
49fd7d9bd3Smrg  -h, --help         print this help, then exit
50fd7d9bd3Smrg  -t, --time-stamp   print date of last modification, then exit
51fd7d9bd3Smrg  -v, --version      print version number, then exit
52fd7d9bd3Smrg
53fd7d9bd3SmrgReport bugs and patches to <config-patches@gnu.org>."
54fd7d9bd3Smrg
55fd7d9bd3Smrgversion="\
56fd7d9bd3SmrgGNU config.guess ($timestamp)
57fd7d9bd3Smrg
58fd7d9bd3SmrgOriginally written by Per Bothner.
599aa2a2b5SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
60a85aecdfSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
619aa2a2b5SmrgSoftware Foundation, Inc.
62fd7d9bd3Smrg
63fd7d9bd3SmrgThis is free software; see the source for copying conditions.  There is NO
64fd7d9bd3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
65fd7d9bd3Smrg
66fd7d9bd3Smrghelp="
67fd7d9bd3SmrgTry \`$me --help' for more information."
68fd7d9bd3Smrg
69fd7d9bd3Smrg# Parse command line
70fd7d9bd3Smrgwhile test $# -gt 0 ; do
71fd7d9bd3Smrg  case $1 in
72fd7d9bd3Smrg    --time-stamp | --time* | -t )
73350952b9Smrg       echo "$timestamp" ; exit ;;
74fd7d9bd3Smrg    --version | -v )
75350952b9Smrg       echo "$version" ; exit ;;
76fd7d9bd3Smrg    --help | --h* | -h )
77350952b9Smrg       echo "$usage"; exit ;;
78fd7d9bd3Smrg    -- )     # Stop option processing
79fd7d9bd3Smrg       shift; break ;;
80fd7d9bd3Smrg    - )	# Use stdin as input.
81fd7d9bd3Smrg       break ;;
82fd7d9bd3Smrg    -* )
83fd7d9bd3Smrg       echo "$me: invalid option $1$help" >&2
84fd7d9bd3Smrg       exit 1 ;;
85fd7d9bd3Smrg    * )
86fd7d9bd3Smrg       break ;;
87fd7d9bd3Smrg  esac
88fd7d9bd3Smrgdone
89fd7d9bd3Smrg
90fd7d9bd3Smrgif test $# != 0; then
91fd7d9bd3Smrg  echo "$me: too many arguments$help" >&2
92fd7d9bd3Smrg  exit 1
93fd7d9bd3Smrgfi
94fd7d9bd3Smrg
95a85aecdfSmrgtrap 'exit 1' 1 2 15
96fd7d9bd3Smrg
97fd7d9bd3Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
98fd7d9bd3Smrg# compiler to aid in system detection is discouraged as it requires
99fd7d9bd3Smrg# temporary files to be created and, as you can see below, it is a
100fd7d9bd3Smrg# headache to deal with in a portable fashion.
101fd7d9bd3Smrg
102fd7d9bd3Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
103fd7d9bd3Smrg# use `HOST_CC' if defined, but it is deprecated.
104fd7d9bd3Smrg
105fd7d9bd3Smrg# Portable tmp directory creation inspired by the Autoconf team.
106fd7d9bd3Smrg
107fd7d9bd3Smrgset_cc_for_build='
108fd7d9bd3Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
109a85aecdfSmrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
110fd7d9bd3Smrg: ${TMPDIR=/tmp} ;
111350952b9Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
112fd7d9bd3Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
113fd7d9bd3Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
114fd7d9bd3Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
115fd7d9bd3Smrgdummy=$tmp/dummy ;
116fd7d9bd3Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
117fd7d9bd3Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
118fd7d9bd3Smrg ,,)    echo "int x;" > $dummy.c ;
119fd7d9bd3Smrg	for c in cc gcc c89 c99 ; do
120fd7d9bd3Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
121fd7d9bd3Smrg	     CC_FOR_BUILD="$c"; break ;
122fd7d9bd3Smrg	  fi ;
123fd7d9bd3Smrg	done ;
124fd7d9bd3Smrg	if test x"$CC_FOR_BUILD" = x ; then
125fd7d9bd3Smrg	  CC_FOR_BUILD=no_compiler_found ;
126fd7d9bd3Smrg	fi
127fd7d9bd3Smrg	;;
128fd7d9bd3Smrg ,,*)   CC_FOR_BUILD=$CC ;;
129fd7d9bd3Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
130350952b9Smrgesac ; set_cc_for_build= ;'
131fd7d9bd3Smrg
132fd7d9bd3Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
133fd7d9bd3Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
134fd7d9bd3Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
135fd7d9bd3Smrg	PATH=$PATH:/.attbin ; export PATH
136fd7d9bd3Smrgfi
137fd7d9bd3Smrg
138fd7d9bd3SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
139fd7d9bd3SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
140fd7d9bd3SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
141fd7d9bd3SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
142fd7d9bd3Smrg
143fd7d9bd3Smrg# Note: order is significant - the case branches are not exclusive.
144fd7d9bd3Smrg
145fd7d9bd3Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
146fd7d9bd3Smrg    *:NetBSD:*:*)
147fd7d9bd3Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
148fd7d9bd3Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
149fd7d9bd3Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
150fd7d9bd3Smrg	# switched to ELF, *-*-netbsd* would select the old
151fd7d9bd3Smrg	# object file format.  This provides both forward
152fd7d9bd3Smrg	# compatibility and a consistent mechanism for selecting the
153fd7d9bd3Smrg	# object file format.
154fd7d9bd3Smrg	#
155fd7d9bd3Smrg	# Note: NetBSD doesn't particularly care about the vendor
156fd7d9bd3Smrg	# portion of the name.  We always set it to "unknown".
157fd7d9bd3Smrg	sysctl="sysctl -n hw.machine_arch"
158fd7d9bd3Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
159fd7d9bd3Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
160fd7d9bd3Smrg	case "${UNAME_MACHINE_ARCH}" in
161fd7d9bd3Smrg	    armeb) machine=armeb-unknown ;;
162fd7d9bd3Smrg	    arm*) machine=arm-unknown ;;
163fd7d9bd3Smrg	    sh3el) machine=shl-unknown ;;
164fd7d9bd3Smrg	    sh3eb) machine=sh-unknown ;;
165350952b9Smrg	    sh5el) machine=sh5le-unknown ;;
166fd7d9bd3Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
167fd7d9bd3Smrg	esac
168fd7d9bd3Smrg	# The Operating System including object format, if it has switched
169fd7d9bd3Smrg	# to ELF recently, or will in the future.
170fd7d9bd3Smrg	case "${UNAME_MACHINE_ARCH}" in
171fd7d9bd3Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
172fd7d9bd3Smrg		eval $set_cc_for_build
173fd7d9bd3Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1749aa2a2b5Smrg			| grep -q __ELF__
175fd7d9bd3Smrg		then
176fd7d9bd3Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
177fd7d9bd3Smrg		    # Return netbsd for either.  FIX?
178fd7d9bd3Smrg		    os=netbsd
179fd7d9bd3Smrg		else
180fd7d9bd3Smrg		    os=netbsdelf
181fd7d9bd3Smrg		fi
182fd7d9bd3Smrg		;;
183fd7d9bd3Smrg	    *)
184a85aecdfSmrg		os=netbsd
185fd7d9bd3Smrg		;;
186fd7d9bd3Smrg	esac
187fd7d9bd3Smrg	# The OS release
188fd7d9bd3Smrg	# Debian GNU/NetBSD machines have a different userland, and
189fd7d9bd3Smrg	# thus, need a distinct triplet. However, they do not need
190fd7d9bd3Smrg	# kernel version information, so it can be replaced with a
191fd7d9bd3Smrg	# suitable tag, in the style of linux-gnu.
192fd7d9bd3Smrg	case "${UNAME_VERSION}" in
193fd7d9bd3Smrg	    Debian*)
194fd7d9bd3Smrg		release='-gnu'
195fd7d9bd3Smrg		;;
196fd7d9bd3Smrg	    *)
197fd7d9bd3Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
198fd7d9bd3Smrg		;;
199fd7d9bd3Smrg	esac
200fd7d9bd3Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
201fd7d9bd3Smrg	# contains redundant information, the shorter form:
202fd7d9bd3Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
203fd7d9bd3Smrg	echo "${machine}-${os}${release}"
204350952b9Smrg	exit ;;
205fd7d9bd3Smrg    *:OpenBSD:*:*)
206350952b9Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
207350952b9Smrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
208350952b9Smrg	exit ;;
209350952b9Smrg    *:ekkoBSD:*:*)
210350952b9Smrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
211350952b9Smrg	exit ;;
212350952b9Smrg    *:SolidBSD:*:*)
213350952b9Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
214350952b9Smrg	exit ;;
215350952b9Smrg    macppc:MirBSD:*:*)
216350952b9Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
217350952b9Smrg	exit ;;
218350952b9Smrg    *:MirBSD:*:*)
219350952b9Smrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
220350952b9Smrg	exit ;;
221fd7d9bd3Smrg    alpha:OSF1:*:*)
222350952b9Smrg	case $UNAME_RELEASE in
223350952b9Smrg	*4.0)
224fd7d9bd3Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
225350952b9Smrg		;;
226350952b9Smrg	*5.*)
227a85aecdfSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
228350952b9Smrg		;;
229350952b9Smrg	esac
230fd7d9bd3Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
231fd7d9bd3Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
232fd7d9bd3Smrg	# covers most systems running today.  This code pipes the CPU
233fd7d9bd3Smrg	# types through head -n 1, so we only detect the type of CPU 0.
234fd7d9bd3Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
235fd7d9bd3Smrg	case "$ALPHA_CPU_TYPE" in
236fd7d9bd3Smrg	    "EV4 (21064)")
237fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
238fd7d9bd3Smrg	    "EV4.5 (21064)")
239fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
240fd7d9bd3Smrg	    "LCA4 (21066/21068)")
241fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
242fd7d9bd3Smrg	    "EV5 (21164)")
243fd7d9bd3Smrg		UNAME_MACHINE="alphaev5" ;;
244fd7d9bd3Smrg	    "EV5.6 (21164A)")
245fd7d9bd3Smrg		UNAME_MACHINE="alphaev56" ;;
246fd7d9bd3Smrg	    "EV5.6 (21164PC)")
247fd7d9bd3Smrg		UNAME_MACHINE="alphapca56" ;;
248fd7d9bd3Smrg	    "EV5.7 (21164PC)")
249fd7d9bd3Smrg		UNAME_MACHINE="alphapca57" ;;
250fd7d9bd3Smrg	    "EV6 (21264)")
251fd7d9bd3Smrg		UNAME_MACHINE="alphaev6" ;;
252fd7d9bd3Smrg	    "EV6.7 (21264A)")
253fd7d9bd3Smrg		UNAME_MACHINE="alphaev67" ;;
254fd7d9bd3Smrg	    "EV6.8CB (21264C)")
255fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
256fd7d9bd3Smrg	    "EV6.8AL (21264B)")
257fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
258fd7d9bd3Smrg	    "EV6.8CX (21264D)")
259fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
260fd7d9bd3Smrg	    "EV6.9A (21264/EV69A)")
261fd7d9bd3Smrg		UNAME_MACHINE="alphaev69" ;;
262fd7d9bd3Smrg	    "EV7 (21364)")
263fd7d9bd3Smrg		UNAME_MACHINE="alphaev7" ;;
264fd7d9bd3Smrg	    "EV7.9 (21364A)")
265fd7d9bd3Smrg		UNAME_MACHINE="alphaev79" ;;
266fd7d9bd3Smrg	esac
267350952b9Smrg	# A Pn.n version is a patched version.
268fd7d9bd3Smrg	# A Vn.n version is a released version.
269fd7d9bd3Smrg	# A Tn.n version is a released field test version.
270fd7d9bd3Smrg	# A Xn.n version is an unreleased experimental baselevel.
271fd7d9bd3Smrg	# 1.2 uses "1.2" for uname -r.
272350952b9Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
273a85aecdfSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
274a85aecdfSmrg	exitcode=$?
275a85aecdfSmrg	trap '' 0
276a85aecdfSmrg	exit $exitcode ;;
277fd7d9bd3Smrg    Alpha\ *:Windows_NT*:*)
278fd7d9bd3Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
279fd7d9bd3Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
280fd7d9bd3Smrg	# of the specific Alpha model?
281fd7d9bd3Smrg	echo alpha-pc-interix
282350952b9Smrg	exit ;;
283fd7d9bd3Smrg    21064:Windows_NT:50:3)
284fd7d9bd3Smrg	echo alpha-dec-winnt3.5
285350952b9Smrg	exit ;;
286fd7d9bd3Smrg    Amiga*:UNIX_System_V:4.0:*)
287fd7d9bd3Smrg	echo m68k-unknown-sysv4
288350952b9Smrg	exit ;;
289fd7d9bd3Smrg    *:[Aa]miga[Oo][Ss]:*:*)
290fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
291350952b9Smrg	exit ;;
292fd7d9bd3Smrg    *:[Mm]orph[Oo][Ss]:*:*)
293fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-morphos
294350952b9Smrg	exit ;;
295fd7d9bd3Smrg    *:OS/390:*:*)
296fd7d9bd3Smrg	echo i370-ibm-openedition
297350952b9Smrg	exit ;;
298350952b9Smrg    *:z/VM:*:*)
299350952b9Smrg	echo s390-ibm-zvmoe
300350952b9Smrg	exit ;;
301350952b9Smrg    *:OS400:*:*)
302a85aecdfSmrg	echo powerpc-ibm-os400
303350952b9Smrg	exit ;;
304fd7d9bd3Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
305fd7d9bd3Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
306350952b9Smrg	exit ;;
307350952b9Smrg    arm:riscos:*:*|arm:RISCOS:*:*)
308350952b9Smrg	echo arm-unknown-riscos
309350952b9Smrg	exit ;;
310fd7d9bd3Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
311fd7d9bd3Smrg	echo hppa1.1-hitachi-hiuxmpp
312350952b9Smrg	exit ;;
313fd7d9bd3Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
314fd7d9bd3Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
315fd7d9bd3Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
316fd7d9bd3Smrg		echo pyramid-pyramid-sysv3
317fd7d9bd3Smrg	else
318fd7d9bd3Smrg		echo pyramid-pyramid-bsd
319fd7d9bd3Smrg	fi
320350952b9Smrg	exit ;;
321fd7d9bd3Smrg    NILE*:*:*:dcosx)
322fd7d9bd3Smrg	echo pyramid-pyramid-svr4
323350952b9Smrg	exit ;;
324fd7d9bd3Smrg    DRS?6000:unix:4.0:6*)
325fd7d9bd3Smrg	echo sparc-icl-nx6
326350952b9Smrg	exit ;;
327350952b9Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
328fd7d9bd3Smrg	case `/usr/bin/uname -p` in
329350952b9Smrg	    sparc) echo sparc-icl-nx7; exit ;;
330fd7d9bd3Smrg	esac ;;
331350952b9Smrg    s390x:SunOS:*:*)
332350952b9Smrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333350952b9Smrg	exit ;;
334fd7d9bd3Smrg    sun4H:SunOS:5.*:*)
335fd7d9bd3Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336350952b9Smrg	exit ;;
337fd7d9bd3Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
338fd7d9bd3Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
339350952b9Smrg	exit ;;
3409aa2a2b5Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
3419aa2a2b5Smrg	echo i386-pc-auroraux${UNAME_RELEASE}
3429aa2a2b5Smrg	exit ;;
343350952b9Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
344350952b9Smrg	eval $set_cc_for_build
345350952b9Smrg	SUN_ARCH="i386"
346350952b9Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
347350952b9Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
348350952b9Smrg	# This test works for both compilers.
349350952b9Smrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
350350952b9Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
351350952b9Smrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
352350952b9Smrg		grep IS_64BIT_ARCH >/dev/null
353350952b9Smrg	    then
354350952b9Smrg		SUN_ARCH="x86_64"
355350952b9Smrg	    fi
356350952b9Smrg	fi
357350952b9Smrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
358350952b9Smrg	exit ;;
359fd7d9bd3Smrg    sun4*:SunOS:6*:*)
360fd7d9bd3Smrg	# According to config.sub, this is the proper way to canonicalize
361fd7d9bd3Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
362fd7d9bd3Smrg	# it's likely to be more like Solaris than SunOS4.
363fd7d9bd3Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
364350952b9Smrg	exit ;;
365fd7d9bd3Smrg    sun4*:SunOS:*:*)
366fd7d9bd3Smrg	case "`/usr/bin/arch -k`" in
367fd7d9bd3Smrg	    Series*|S4*)
368fd7d9bd3Smrg		UNAME_RELEASE=`uname -v`
369fd7d9bd3Smrg		;;
370fd7d9bd3Smrg	esac
371fd7d9bd3Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
372fd7d9bd3Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
373350952b9Smrg	exit ;;
374fd7d9bd3Smrg    sun3*:SunOS:*:*)
375fd7d9bd3Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
376350952b9Smrg	exit ;;
377fd7d9bd3Smrg    sun*:*:4.2BSD:*)
378fd7d9bd3Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
379fd7d9bd3Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
380fd7d9bd3Smrg	case "`/bin/arch`" in
381fd7d9bd3Smrg	    sun3)
382fd7d9bd3Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
383fd7d9bd3Smrg		;;
384fd7d9bd3Smrg	    sun4)
385fd7d9bd3Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
386fd7d9bd3Smrg		;;
387fd7d9bd3Smrg	esac
388350952b9Smrg	exit ;;
389fd7d9bd3Smrg    aushp:SunOS:*:*)
390fd7d9bd3Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
391350952b9Smrg	exit ;;
392fd7d9bd3Smrg    # The situation for MiNT is a little confusing.  The machine name
393fd7d9bd3Smrg    # can be virtually everything (everything which is not
394fd7d9bd3Smrg    # "atarist" or "atariste" at least should have a processor
395fd7d9bd3Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
396fd7d9bd3Smrg    # to the lowercase version "mint" (or "freemint").  Finally
397fd7d9bd3Smrg    # the system name "TOS" denotes a system which is actually not
398fd7d9bd3Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
399fd7d9bd3Smrg    # be no problem.
400fd7d9bd3Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
401a85aecdfSmrg	echo m68k-atari-mint${UNAME_RELEASE}
402350952b9Smrg	exit ;;
403fd7d9bd3Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
404fd7d9bd3Smrg	echo m68k-atari-mint${UNAME_RELEASE}
405a85aecdfSmrg	exit ;;
406fd7d9bd3Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
407a85aecdfSmrg	echo m68k-atari-mint${UNAME_RELEASE}
408350952b9Smrg	exit ;;
409fd7d9bd3Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
410a85aecdfSmrg	echo m68k-milan-mint${UNAME_RELEASE}
411a85aecdfSmrg	exit ;;
412fd7d9bd3Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
413a85aecdfSmrg	echo m68k-hades-mint${UNAME_RELEASE}
414a85aecdfSmrg	exit ;;
415fd7d9bd3Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
416a85aecdfSmrg	echo m68k-unknown-mint${UNAME_RELEASE}
417a85aecdfSmrg	exit ;;
418350952b9Smrg    m68k:machten:*:*)
419350952b9Smrg	echo m68k-apple-machten${UNAME_RELEASE}
420350952b9Smrg	exit ;;
421fd7d9bd3Smrg    powerpc:machten:*:*)
422fd7d9bd3Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
423350952b9Smrg	exit ;;
424fd7d9bd3Smrg    RISC*:Mach:*:*)
425fd7d9bd3Smrg	echo mips-dec-mach_bsd4.3
426350952b9Smrg	exit ;;
427fd7d9bd3Smrg    RISC*:ULTRIX:*:*)
428fd7d9bd3Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
429350952b9Smrg	exit ;;
430fd7d9bd3Smrg    VAX*:ULTRIX*:*:*)
431fd7d9bd3Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
432350952b9Smrg	exit ;;
433fd7d9bd3Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
434fd7d9bd3Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
435350952b9Smrg	exit ;;
436fd7d9bd3Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
437fd7d9bd3Smrg	eval $set_cc_for_build
438fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
439fd7d9bd3Smrg#ifdef __cplusplus
440fd7d9bd3Smrg#include <stdio.h>  /* for printf() prototype */
441fd7d9bd3Smrg	int main (int argc, char *argv[]) {
442fd7d9bd3Smrg#else
443fd7d9bd3Smrg	int main (argc, argv) int argc; char *argv[]; {
444fd7d9bd3Smrg#endif
445fd7d9bd3Smrg	#if defined (host_mips) && defined (MIPSEB)
446fd7d9bd3Smrg	#if defined (SYSTYPE_SYSV)
447fd7d9bd3Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
448fd7d9bd3Smrg	#endif
449fd7d9bd3Smrg	#if defined (SYSTYPE_SVR4)
450fd7d9bd3Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
451fd7d9bd3Smrg	#endif
452fd7d9bd3Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
453fd7d9bd3Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
454fd7d9bd3Smrg	#endif
455fd7d9bd3Smrg	#endif
456fd7d9bd3Smrg	  exit (-1);
457fd7d9bd3Smrg	}
458fd7d9bd3SmrgEOF
459350952b9Smrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
460350952b9Smrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
461350952b9Smrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
462350952b9Smrg	    { echo "$SYSTEM_NAME"; exit; }
463fd7d9bd3Smrg	echo mips-mips-riscos${UNAME_RELEASE}
464350952b9Smrg	exit ;;
465fd7d9bd3Smrg    Motorola:PowerMAX_OS:*:*)
466fd7d9bd3Smrg	echo powerpc-motorola-powermax
467350952b9Smrg	exit ;;
468fd7d9bd3Smrg    Motorola:*:4.3:PL8-*)
469fd7d9bd3Smrg	echo powerpc-harris-powermax
470350952b9Smrg	exit ;;
471fd7d9bd3Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
472fd7d9bd3Smrg	echo powerpc-harris-powermax
473350952b9Smrg	exit ;;
474fd7d9bd3Smrg    Night_Hawk:Power_UNIX:*:*)
475fd7d9bd3Smrg	echo powerpc-harris-powerunix
476350952b9Smrg	exit ;;
477fd7d9bd3Smrg    m88k:CX/UX:7*:*)
478fd7d9bd3Smrg	echo m88k-harris-cxux7
479350952b9Smrg	exit ;;
480fd7d9bd3Smrg    m88k:*:4*:R4*)
481fd7d9bd3Smrg	echo m88k-motorola-sysv4
482350952b9Smrg	exit ;;
483fd7d9bd3Smrg    m88k:*:3*:R3*)
484fd7d9bd3Smrg	echo m88k-motorola-sysv3
485350952b9Smrg	exit ;;
486fd7d9bd3Smrg    AViiON:dgux:*:*)
487a85aecdfSmrg	# DG/UX returns AViiON for all architectures
488a85aecdfSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
489fd7d9bd3Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
490fd7d9bd3Smrg	then
491fd7d9bd3Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
492fd7d9bd3Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
493fd7d9bd3Smrg	    then
494fd7d9bd3Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
495fd7d9bd3Smrg	    else
496fd7d9bd3Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
497fd7d9bd3Smrg	    fi
498fd7d9bd3Smrg	else
499fd7d9bd3Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
500fd7d9bd3Smrg	fi
501a85aecdfSmrg	exit ;;
502fd7d9bd3Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
503fd7d9bd3Smrg	echo m88k-dolphin-sysv3
504350952b9Smrg	exit ;;
505fd7d9bd3Smrg    M88*:*:R3*:*)
506fd7d9bd3Smrg	# Delta 88k system running SVR3
507fd7d9bd3Smrg	echo m88k-motorola-sysv3
508350952b9Smrg	exit ;;
509fd7d9bd3Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
510fd7d9bd3Smrg	echo m88k-tektronix-sysv3
511350952b9Smrg	exit ;;
512fd7d9bd3Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
513fd7d9bd3Smrg	echo m68k-tektronix-bsd
514350952b9Smrg	exit ;;
515fd7d9bd3Smrg    *:IRIX*:*:*)
516fd7d9bd3Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
517350952b9Smrg	exit ;;
518fd7d9bd3Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
519350952b9Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
520350952b9Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
521fd7d9bd3Smrg    i*86:AIX:*:*)
522fd7d9bd3Smrg	echo i386-ibm-aix
523350952b9Smrg	exit ;;
524fd7d9bd3Smrg    ia64:AIX:*:*)
525fd7d9bd3Smrg	if [ -x /usr/bin/oslevel ] ; then
526fd7d9bd3Smrg		IBM_REV=`/usr/bin/oslevel`
527fd7d9bd3Smrg	else
528fd7d9bd3Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
529fd7d9bd3Smrg	fi
530fd7d9bd3Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
531350952b9Smrg	exit ;;
532fd7d9bd3Smrg    *:AIX:2:3)
533fd7d9bd3Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
534fd7d9bd3Smrg		eval $set_cc_for_build
535fd7d9bd3Smrg		sed 's/^		//' << EOF >$dummy.c
536fd7d9bd3Smrg		#include <sys/systemcfg.h>
537fd7d9bd3Smrg
538fd7d9bd3Smrg		main()
539fd7d9bd3Smrg			{
540fd7d9bd3Smrg			if (!__power_pc())
541fd7d9bd3Smrg				exit(1);
542fd7d9bd3Smrg			puts("powerpc-ibm-aix3.2.5");
543fd7d9bd3Smrg			exit(0);
544fd7d9bd3Smrg			}
545fd7d9bd3SmrgEOF
546350952b9Smrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
547350952b9Smrg		then
548350952b9Smrg			echo "$SYSTEM_NAME"
549350952b9Smrg		else
550350952b9Smrg			echo rs6000-ibm-aix3.2.5
551350952b9Smrg		fi
552fd7d9bd3Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
553fd7d9bd3Smrg		echo rs6000-ibm-aix3.2.4
554fd7d9bd3Smrg	else
555fd7d9bd3Smrg		echo rs6000-ibm-aix3.2
556fd7d9bd3Smrg	fi
557350952b9Smrg	exit ;;
5589aa2a2b5Smrg    *:AIX:*:[4567])
559fd7d9bd3Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
560fd7d9bd3Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
561fd7d9bd3Smrg		IBM_ARCH=rs6000
562fd7d9bd3Smrg	else
563fd7d9bd3Smrg		IBM_ARCH=powerpc
564fd7d9bd3Smrg	fi
565fd7d9bd3Smrg	if [ -x /usr/bin/oslevel ] ; then
566fd7d9bd3Smrg		IBM_REV=`/usr/bin/oslevel`
567fd7d9bd3Smrg	else
568fd7d9bd3Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
569fd7d9bd3Smrg	fi
570fd7d9bd3Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
571350952b9Smrg	exit ;;
572fd7d9bd3Smrg    *:AIX:*:*)
573fd7d9bd3Smrg	echo rs6000-ibm-aix
574350952b9Smrg	exit ;;
575fd7d9bd3Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
576fd7d9bd3Smrg	echo romp-ibm-bsd4.4
577350952b9Smrg	exit ;;
578fd7d9bd3Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
579fd7d9bd3Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
580350952b9Smrg	exit ;;                             # report: romp-ibm BSD 4.3
581fd7d9bd3Smrg    *:BOSX:*:*)
582fd7d9bd3Smrg	echo rs6000-bull-bosx
583350952b9Smrg	exit ;;
584fd7d9bd3Smrg    DPX/2?00:B.O.S.:*:*)
585fd7d9bd3Smrg	echo m68k-bull-sysv3
586350952b9Smrg	exit ;;
587fd7d9bd3Smrg    9000/[34]??:4.3bsd:1.*:*)
588fd7d9bd3Smrg	echo m68k-hp-bsd
589350952b9Smrg	exit ;;
590fd7d9bd3Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
591fd7d9bd3Smrg	echo m68k-hp-bsd4.4
592350952b9Smrg	exit ;;
593fd7d9bd3Smrg    9000/[34678]??:HP-UX:*:*)
594fd7d9bd3Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
595fd7d9bd3Smrg	case "${UNAME_MACHINE}" in
596fd7d9bd3Smrg	    9000/31? )            HP_ARCH=m68000 ;;
597fd7d9bd3Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
598fd7d9bd3Smrg	    9000/[678][0-9][0-9])
599fd7d9bd3Smrg		if [ -x /usr/bin/getconf ]; then
600fd7d9bd3Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
601a85aecdfSmrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
602a85aecdfSmrg		    case "${sc_cpu_version}" in
603a85aecdfSmrg		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
604a85aecdfSmrg		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
605a85aecdfSmrg		      532)                      # CPU_PA_RISC2_0
606a85aecdfSmrg			case "${sc_kernel_bits}" in
607a85aecdfSmrg			  32) HP_ARCH="hppa2.0n" ;;
608a85aecdfSmrg			  64) HP_ARCH="hppa2.0w" ;;
609fd7d9bd3Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
610a85aecdfSmrg			esac ;;
611a85aecdfSmrg		    esac
612fd7d9bd3Smrg		fi
613fd7d9bd3Smrg		if [ "${HP_ARCH}" = "" ]; then
614fd7d9bd3Smrg		    eval $set_cc_for_build
615a85aecdfSmrg		    sed 's/^		//' << EOF >$dummy.c
616fd7d9bd3Smrg
617a85aecdfSmrg		#define _HPUX_SOURCE
618a85aecdfSmrg		#include <stdlib.h>
619a85aecdfSmrg		#include <unistd.h>
620fd7d9bd3Smrg
621a85aecdfSmrg		int main ()
622a85aecdfSmrg		{
623a85aecdfSmrg		#if defined(_SC_KERNEL_BITS)
624a85aecdfSmrg		    long bits = sysconf(_SC_KERNEL_BITS);
625a85aecdfSmrg		#endif
626a85aecdfSmrg		    long cpu  = sysconf (_SC_CPU_VERSION);
627fd7d9bd3Smrg
628a85aecdfSmrg		    switch (cpu)
629a85aecdfSmrg			{
630a85aecdfSmrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
631a85aecdfSmrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
632a85aecdfSmrg			case CPU_PA_RISC2_0:
633a85aecdfSmrg		#if defined(_SC_KERNEL_BITS)
634a85aecdfSmrg			    switch (bits)
635a85aecdfSmrg				{
636a85aecdfSmrg				case 64: puts ("hppa2.0w"); break;
637a85aecdfSmrg				case 32: puts ("hppa2.0n"); break;
638a85aecdfSmrg				default: puts ("hppa2.0"); break;
639a85aecdfSmrg				} break;
640a85aecdfSmrg		#else  /* !defined(_SC_KERNEL_BITS) */
641a85aecdfSmrg			    puts ("hppa2.0"); break;
642a85aecdfSmrg		#endif
643a85aecdfSmrg			default: puts ("hppa1.0"); break;
644a85aecdfSmrg			}
645a85aecdfSmrg		    exit (0);
646a85aecdfSmrg		}
647fd7d9bd3SmrgEOF
648fd7d9bd3Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
649fd7d9bd3Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
650fd7d9bd3Smrg		fi ;;
651fd7d9bd3Smrg	esac
652fd7d9bd3Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
653fd7d9bd3Smrg	then
654350952b9Smrg	    eval $set_cc_for_build
655350952b9Smrg
656350952b9Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
657350952b9Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
658350952b9Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
659350952b9Smrg	    #
660350952b9Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
661350952b9Smrg	    # => hppa2.0w-hp-hpux11.23
662350952b9Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
663350952b9Smrg	    # => hppa64-hp-hpux11.23
664350952b9Smrg
665350952b9Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6669aa2a2b5Smrg		grep -q __LP64__
667fd7d9bd3Smrg	    then
668fd7d9bd3Smrg		HP_ARCH="hppa2.0w"
669fd7d9bd3Smrg	    else
670fd7d9bd3Smrg		HP_ARCH="hppa64"
671fd7d9bd3Smrg	    fi
672fd7d9bd3Smrg	fi
673fd7d9bd3Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
674350952b9Smrg	exit ;;
675fd7d9bd3Smrg    ia64:HP-UX:*:*)
676fd7d9bd3Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
677fd7d9bd3Smrg	echo ia64-hp-hpux${HPUX_REV}
678350952b9Smrg	exit ;;
679fd7d9bd3Smrg    3050*:HI-UX:*:*)
680fd7d9bd3Smrg	eval $set_cc_for_build
681fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
682fd7d9bd3Smrg	#include <unistd.h>
683fd7d9bd3Smrg	int
684fd7d9bd3Smrg	main ()
685fd7d9bd3Smrg	{
686fd7d9bd3Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
687fd7d9bd3Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
688fd7d9bd3Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
689fd7d9bd3Smrg	     results, however.  */
690fd7d9bd3Smrg	  if (CPU_IS_PA_RISC (cpu))
691fd7d9bd3Smrg	    {
692fd7d9bd3Smrg	      switch (cpu)
693fd7d9bd3Smrg		{
694fd7d9bd3Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
695fd7d9bd3Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
696fd7d9bd3Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
697fd7d9bd3Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
698fd7d9bd3Smrg		}
699fd7d9bd3Smrg	    }
700fd7d9bd3Smrg	  else if (CPU_IS_HP_MC68K (cpu))
701fd7d9bd3Smrg	    puts ("m68k-hitachi-hiuxwe2");
702fd7d9bd3Smrg	  else puts ("unknown-hitachi-hiuxwe2");
703fd7d9bd3Smrg	  exit (0);
704fd7d9bd3Smrg	}
705fd7d9bd3SmrgEOF
706350952b9Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
707350952b9Smrg		{ echo "$SYSTEM_NAME"; exit; }
708fd7d9bd3Smrg	echo unknown-hitachi-hiuxwe2
709350952b9Smrg	exit ;;
710fd7d9bd3Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
711fd7d9bd3Smrg	echo hppa1.1-hp-bsd
712350952b9Smrg	exit ;;
713fd7d9bd3Smrg    9000/8??:4.3bsd:*:*)
714fd7d9bd3Smrg	echo hppa1.0-hp-bsd
715350952b9Smrg	exit ;;
716fd7d9bd3Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
717fd7d9bd3Smrg	echo hppa1.0-hp-mpeix
718350952b9Smrg	exit ;;
719fd7d9bd3Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
720fd7d9bd3Smrg	echo hppa1.1-hp-osf
721350952b9Smrg	exit ;;
722fd7d9bd3Smrg    hp8??:OSF1:*:*)
723fd7d9bd3Smrg	echo hppa1.0-hp-osf
724350952b9Smrg	exit ;;
725fd7d9bd3Smrg    i*86:OSF1:*:*)
726fd7d9bd3Smrg	if [ -x /usr/sbin/sysversion ] ; then
727fd7d9bd3Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
728fd7d9bd3Smrg	else
729fd7d9bd3Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
730fd7d9bd3Smrg	fi
731350952b9Smrg	exit ;;
732fd7d9bd3Smrg    parisc*:Lites*:*:*)
733fd7d9bd3Smrg	echo hppa1.1-hp-lites
734350952b9Smrg	exit ;;
735fd7d9bd3Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
736fd7d9bd3Smrg	echo c1-convex-bsd
737a85aecdfSmrg	exit ;;
738fd7d9bd3Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
739fd7d9bd3Smrg	if getsysinfo -f scalar_acc
740fd7d9bd3Smrg	then echo c32-convex-bsd
741fd7d9bd3Smrg	else echo c2-convex-bsd
742fd7d9bd3Smrg	fi
743a85aecdfSmrg	exit ;;
744fd7d9bd3Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
745fd7d9bd3Smrg	echo c34-convex-bsd
746a85aecdfSmrg	exit ;;
747fd7d9bd3Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
748fd7d9bd3Smrg	echo c38-convex-bsd
749a85aecdfSmrg	exit ;;
750fd7d9bd3Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
751fd7d9bd3Smrg	echo c4-convex-bsd
752a85aecdfSmrg	exit ;;
753fd7d9bd3Smrg    CRAY*Y-MP:*:*:*)
754fd7d9bd3Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
755350952b9Smrg	exit ;;
756fd7d9bd3Smrg    CRAY*[A-Z]90:*:*:*)
757fd7d9bd3Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
758fd7d9bd3Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
759fd7d9bd3Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
760fd7d9bd3Smrg	      -e 's/\.[^.]*$/.X/'
761350952b9Smrg	exit ;;
762fd7d9bd3Smrg    CRAY*TS:*:*:*)
763fd7d9bd3Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
764350952b9Smrg	exit ;;
765fd7d9bd3Smrg    CRAY*T3E:*:*:*)
766fd7d9bd3Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767350952b9Smrg	exit ;;
768fd7d9bd3Smrg    CRAY*SV1:*:*:*)
769fd7d9bd3Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
770350952b9Smrg	exit ;;
771fd7d9bd3Smrg    *:UNICOS/mp:*:*)
772350952b9Smrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
773350952b9Smrg	exit ;;
774fd7d9bd3Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
775fd7d9bd3Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
776a85aecdfSmrg	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
777a85aecdfSmrg	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
778a85aecdfSmrg	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
779a85aecdfSmrg	exit ;;
780350952b9Smrg    5000:UNIX_System_V:4.*:*)
781a85aecdfSmrg	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
782a85aecdfSmrg	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
783a85aecdfSmrg	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
784350952b9Smrg	exit ;;
785fd7d9bd3Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
786fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
787350952b9Smrg	exit ;;
788fd7d9bd3Smrg    sparc*:BSD/OS:*:*)
789fd7d9bd3Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
790350952b9Smrg	exit ;;
791fd7d9bd3Smrg    *:BSD/OS:*:*)
792fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
793350952b9Smrg	exit ;;
794350952b9Smrg    *:FreeBSD:*:*)
795a85aecdfSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
796a85aecdfSmrg	case ${UNAME_PROCESSOR} in
797350952b9Smrg	    amd64)
798350952b9Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799350952b9Smrg	    *)
800a85aecdfSmrg		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
801350952b9Smrg	esac
802350952b9Smrg	exit ;;
803fd7d9bd3Smrg    i*:CYGWIN*:*)
804fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-cygwin
805350952b9Smrg	exit ;;
806350952b9Smrg    *:MINGW*:*)
807fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-mingw32
808350952b9Smrg	exit ;;
809a85aecdfSmrg    i*:MSYS*:*)
810a85aecdfSmrg	echo ${UNAME_MACHINE}-pc-msys
811a85aecdfSmrg	exit ;;
812350952b9Smrg    i*:windows32*:*)
813a85aecdfSmrg	# uname -m includes "-pc" on this system.
814a85aecdfSmrg	echo ${UNAME_MACHINE}-mingw32
815350952b9Smrg	exit ;;
816fd7d9bd3Smrg    i*:PW*:*)
817fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-pw32
818350952b9Smrg	exit ;;
8199aa2a2b5Smrg    *:Interix*:*)
820a85aecdfSmrg	case ${UNAME_MACHINE} in
821350952b9Smrg	    x86)
822350952b9Smrg		echo i586-pc-interix${UNAME_RELEASE}
823350952b9Smrg		exit ;;
8249aa2a2b5Smrg	    authenticamd | genuineintel | EM64T)
825350952b9Smrg		echo x86_64-unknown-interix${UNAME_RELEASE}
826350952b9Smrg		exit ;;
827350952b9Smrg	    IA64)
828350952b9Smrg		echo ia64-unknown-interix${UNAME_RELEASE}
829350952b9Smrg		exit ;;
830350952b9Smrg	esac ;;
831fd7d9bd3Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
832fd7d9bd3Smrg	echo i${UNAME_MACHINE}-pc-mks
833350952b9Smrg	exit ;;
8349aa2a2b5Smrg    8664:Windows_NT:*)
8359aa2a2b5Smrg	echo x86_64-pc-mks
8369aa2a2b5Smrg	exit ;;
837fd7d9bd3Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
838fd7d9bd3Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
839fd7d9bd3Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
840fd7d9bd3Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
841fd7d9bd3Smrg	echo i586-pc-interix
842350952b9Smrg	exit ;;
843fd7d9bd3Smrg    i*:UWIN*:*)
844fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-uwin
845350952b9Smrg	exit ;;
846350952b9Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
847350952b9Smrg	echo x86_64-unknown-cygwin
848350952b9Smrg	exit ;;
849fd7d9bd3Smrg    p*:CYGWIN*:*)
850fd7d9bd3Smrg	echo powerpcle-unknown-cygwin
851350952b9Smrg	exit ;;
852fd7d9bd3Smrg    prep*:SunOS:5.*:*)
853fd7d9bd3Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
854350952b9Smrg	exit ;;
855fd7d9bd3Smrg    *:GNU:*:*)
856350952b9Smrg	# the GNU system
857fd7d9bd3Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
858350952b9Smrg	exit ;;
859350952b9Smrg    *:GNU/*:*:*)
860350952b9Smrg	# other systems with GNU libc and userland
861350952b9Smrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
862350952b9Smrg	exit ;;
863fd7d9bd3Smrg    i*86:Minix:*:*)
864fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-minix
865350952b9Smrg	exit ;;
8669aa2a2b5Smrg    alpha:Linux:*:*)
8679aa2a2b5Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
8689aa2a2b5Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
8699aa2a2b5Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
8709aa2a2b5Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
8719aa2a2b5Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
8729aa2a2b5Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
8739aa2a2b5Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
8749aa2a2b5Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
875a85aecdfSmrg	esac
8769aa2a2b5Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
8779aa2a2b5Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
8789aa2a2b5Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
8799aa2a2b5Smrg	exit ;;
880fd7d9bd3Smrg    arm*:Linux:*:*)
881350952b9Smrg	eval $set_cc_for_build
882350952b9Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
883350952b9Smrg	    | grep -q __ARM_EABI__
884350952b9Smrg	then
885350952b9Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
886350952b9Smrg	else
887a85aecdfSmrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
888a85aecdfSmrg		| grep -q __ARM_PCS_VFP
889a85aecdfSmrg	    then
890a85aecdfSmrg		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
891a85aecdfSmrg	    else
892a85aecdfSmrg		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
893a85aecdfSmrg	    fi
894350952b9Smrg	fi
895350952b9Smrg	exit ;;
896350952b9Smrg    avr32*:Linux:*:*)
897fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
898350952b9Smrg	exit ;;
899fd7d9bd3Smrg    cris:Linux:*:*)
900fd7d9bd3Smrg	echo cris-axis-linux-gnu
901350952b9Smrg	exit ;;
902350952b9Smrg    crisv32:Linux:*:*)
903350952b9Smrg	echo crisv32-axis-linux-gnu
904350952b9Smrg	exit ;;
905350952b9Smrg    frv:Linux:*:*)
906a85aecdfSmrg	echo frv-unknown-linux-gnu
907a85aecdfSmrg	exit ;;
908a85aecdfSmrg    hexagon:Linux:*:*)
909a85aecdfSmrg	echo hexagon-unknown-linux-gnu
910350952b9Smrg	exit ;;
9119aa2a2b5Smrg    i*86:Linux:*:*)
9129aa2a2b5Smrg	LIBC=gnu
9139aa2a2b5Smrg	eval $set_cc_for_build
9149aa2a2b5Smrg	sed 's/^	//' << EOF >$dummy.c
9159aa2a2b5Smrg	#ifdef __dietlibc__
9169aa2a2b5Smrg	LIBC=dietlibc
9179aa2a2b5Smrg	#endif
9189aa2a2b5SmrgEOF
9199aa2a2b5Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
9209aa2a2b5Smrg	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
9219aa2a2b5Smrg	exit ;;
922fd7d9bd3Smrg    ia64:Linux:*:*)
923350952b9Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
924350952b9Smrg	exit ;;
925350952b9Smrg    m32r*:Linux:*:*)
926350952b9Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
927350952b9Smrg	exit ;;
928fd7d9bd3Smrg    m68*:Linux:*:*)
929fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
930350952b9Smrg	exit ;;
9319aa2a2b5Smrg    mips:Linux:*:* | mips64:Linux:*:*)
932fd7d9bd3Smrg	eval $set_cc_for_build
933fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
934fd7d9bd3Smrg	#undef CPU
9359aa2a2b5Smrg	#undef ${UNAME_MACHINE}
9369aa2a2b5Smrg	#undef ${UNAME_MACHINE}el
937fd7d9bd3Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
9389aa2a2b5Smrg	CPU=${UNAME_MACHINE}el
939fd7d9bd3Smrg	#else
940fd7d9bd3Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
9419aa2a2b5Smrg	CPU=${UNAME_MACHINE}
942fd7d9bd3Smrg	#else
943fd7d9bd3Smrg	CPU=
944fd7d9bd3Smrg	#endif
945fd7d9bd3Smrg	#endif
946fd7d9bd3SmrgEOF
9479aa2a2b5Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
948350952b9Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
949fd7d9bd3Smrg	;;
950350952b9Smrg    or32:Linux:*:*)
951350952b9Smrg	echo or32-unknown-linux-gnu
952350952b9Smrg	exit ;;
953350952b9Smrg    padre:Linux:*:*)
954350952b9Smrg	echo sparc-unknown-linux-gnu
955350952b9Smrg	exit ;;
9569aa2a2b5Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
9579aa2a2b5Smrg	echo hppa64-unknown-linux-gnu
9589aa2a2b5Smrg	exit ;;
959fd7d9bd3Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
960fd7d9bd3Smrg	# Look for CPU level
961fd7d9bd3Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
962fd7d9bd3Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
963fd7d9bd3Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
964fd7d9bd3Smrg	  *)    echo hppa-unknown-linux-gnu ;;
965fd7d9bd3Smrg	esac
966350952b9Smrg	exit ;;
9679aa2a2b5Smrg    ppc64:Linux:*:*)
9689aa2a2b5Smrg	echo powerpc64-unknown-linux-gnu
9699aa2a2b5Smrg	exit ;;
9709aa2a2b5Smrg    ppc:Linux:*:*)
9719aa2a2b5Smrg	echo powerpc-unknown-linux-gnu
972350952b9Smrg	exit ;;
973fd7d9bd3Smrg    s390:Linux:*:* | s390x:Linux:*:*)
974350952b9Smrg	echo ${UNAME_MACHINE}-ibm-linux
975350952b9Smrg	exit ;;
976fd7d9bd3Smrg    sh64*:Linux:*:*)
977a85aecdfSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
978350952b9Smrg	exit ;;
979fd7d9bd3Smrg    sh*:Linux:*:*)
980fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
981350952b9Smrg	exit ;;
982fd7d9bd3Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
983fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
984350952b9Smrg	exit ;;
9859aa2a2b5Smrg    tile*:Linux:*:*)
986a85aecdfSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9879aa2a2b5Smrg	exit ;;
988350952b9Smrg    vax:Linux:*:*)
989350952b9Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
990350952b9Smrg	exit ;;
991fd7d9bd3Smrg    x86_64:Linux:*:*)
992350952b9Smrg	echo x86_64-unknown-linux-gnu
993350952b9Smrg	exit ;;
994350952b9Smrg    xtensa*:Linux:*:*)
995a85aecdfSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
996350952b9Smrg	exit ;;
997fd7d9bd3Smrg    i*86:DYNIX/ptx:4*:*)
998fd7d9bd3Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
999fd7d9bd3Smrg	# earlier versions are messed up and put the nodename in both
1000fd7d9bd3Smrg	# sysname and nodename.
1001fd7d9bd3Smrg	echo i386-sequent-sysv4
1002350952b9Smrg	exit ;;
1003fd7d9bd3Smrg    i*86:UNIX_SV:4.2MP:2.*)
1004a85aecdfSmrg	# Unixware is an offshoot of SVR4, but it has its own version
1005a85aecdfSmrg	# number series starting with 2...
1006a85aecdfSmrg	# I am not positive that other SVR4 systems won't match this,
1007fd7d9bd3Smrg	# I just have to hope.  -- rms.
1008a85aecdfSmrg	# Use sysv4.2uw... so that sysv4* matches it.
1009fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1010350952b9Smrg	exit ;;
1011fd7d9bd3Smrg    i*86:OS/2:*:*)
1012fd7d9bd3Smrg	# If we were able to find `uname', then EMX Unix compatibility
1013fd7d9bd3Smrg	# is probably installed.
1014fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
1015350952b9Smrg	exit ;;
1016fd7d9bd3Smrg    i*86:XTS-300:*:STOP)
1017fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-stop
1018350952b9Smrg	exit ;;
1019fd7d9bd3Smrg    i*86:atheos:*:*)
1020fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-atheos
1021350952b9Smrg	exit ;;
1022350952b9Smrg    i*86:syllable:*:*)
1023350952b9Smrg	echo ${UNAME_MACHINE}-pc-syllable
1024350952b9Smrg	exit ;;
10259aa2a2b5Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1026fd7d9bd3Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
1027350952b9Smrg	exit ;;
1028fd7d9bd3Smrg    i*86:*DOS:*:*)
1029fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1030350952b9Smrg	exit ;;
1031fd7d9bd3Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1032fd7d9bd3Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1033fd7d9bd3Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1034fd7d9bd3Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1035fd7d9bd3Smrg	else
1036fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1037fd7d9bd3Smrg	fi
1038350952b9Smrg	exit ;;
1039350952b9Smrg    i*86:*:5:[678]*)
1040a85aecdfSmrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1041fd7d9bd3Smrg	case `/bin/uname -X | grep "^Machine"` in
1042fd7d9bd3Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1043fd7d9bd3Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1044fd7d9bd3Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1045fd7d9bd3Smrg	esac
1046fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1047350952b9Smrg	exit ;;
1048fd7d9bd3Smrg    i*86:*:3.2:*)
1049fd7d9bd3Smrg	if test -f /usr/options/cb.name; then
1050fd7d9bd3Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1051fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1052fd7d9bd3Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1053fd7d9bd3Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1054fd7d9bd3Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1055fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1056fd7d9bd3Smrg			&& UNAME_MACHINE=i586
1057fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1058fd7d9bd3Smrg			&& UNAME_MACHINE=i686
1059fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1060fd7d9bd3Smrg			&& UNAME_MACHINE=i686
1061fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1062fd7d9bd3Smrg	else
1063fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1064fd7d9bd3Smrg	fi
1065350952b9Smrg	exit ;;
1066fd7d9bd3Smrg    pc:*:*:*)
1067fd7d9bd3Smrg	# Left here for compatibility:
1068a85aecdfSmrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1069a85aecdfSmrg	# the processor, so we play safe by assuming i586.
1070350952b9Smrg	# Note: whatever this is, it MUST be the same as what config.sub
1071350952b9Smrg	# prints for the "djgpp" host, or else GDB configury will decide that
1072350952b9Smrg	# this is a cross-build.
1073350952b9Smrg	echo i586-pc-msdosdjgpp
1074a85aecdfSmrg	exit ;;
1075fd7d9bd3Smrg    Intel:Mach:3*:*)
1076fd7d9bd3Smrg	echo i386-pc-mach3
1077350952b9Smrg	exit ;;
1078fd7d9bd3Smrg    paragon:*:*:*)
1079fd7d9bd3Smrg	echo i860-intel-osf1
1080350952b9Smrg	exit ;;
1081fd7d9bd3Smrg    i860:*:4.*:*) # i860-SVR4
1082fd7d9bd3Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1083fd7d9bd3Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1084fd7d9bd3Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1085fd7d9bd3Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1086fd7d9bd3Smrg	fi
1087350952b9Smrg	exit ;;
1088fd7d9bd3Smrg    mini*:CTIX:SYS*5:*)
1089fd7d9bd3Smrg	# "miniframe"
1090fd7d9bd3Smrg	echo m68010-convergent-sysv
1091350952b9Smrg	exit ;;
1092fd7d9bd3Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1093fd7d9bd3Smrg	echo m68k-convergent-sysv
1094350952b9Smrg	exit ;;
1095fd7d9bd3Smrg    M680?0:D-NIX:5.3:*)
1096fd7d9bd3Smrg	echo m68k-diab-dnix
1097350952b9Smrg	exit ;;
1098350952b9Smrg    M68*:*:R3V[5678]*:*)
1099350952b9Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1100350952b9Smrg    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)
1101fd7d9bd3Smrg	OS_REL=''
1102fd7d9bd3Smrg	test -r /etc/.relid \
1103fd7d9bd3Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1104fd7d9bd3Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1105350952b9Smrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1106fd7d9bd3Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1107350952b9Smrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1108fd7d9bd3Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1109a85aecdfSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110a85aecdfSmrg	  && { echo i486-ncr-sysv4; exit; } ;;
1111350952b9Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1112350952b9Smrg	OS_REL='.3'
1113350952b9Smrg	test -r /etc/.relid \
1114350952b9Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1115350952b9Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1116350952b9Smrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1117350952b9Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1118350952b9Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1119350952b9Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1120350952b9Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1121fd7d9bd3Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1122fd7d9bd3Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
1123350952b9Smrg	exit ;;
1124fd7d9bd3Smrg    mc68030:UNIX_System_V:4.*:*)
1125fd7d9bd3Smrg	echo m68k-atari-sysv4
1126350952b9Smrg	exit ;;
1127fd7d9bd3Smrg    TSUNAMI:LynxOS:2.*:*)
1128fd7d9bd3Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
1129350952b9Smrg	exit ;;
1130fd7d9bd3Smrg    rs6000:LynxOS:2.*:*)
1131fd7d9bd3Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1132350952b9Smrg	exit ;;
11339aa2a2b5Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1134fd7d9bd3Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1135350952b9Smrg	exit ;;
1136fd7d9bd3Smrg    SM[BE]S:UNIX_SV:*:*)
1137fd7d9bd3Smrg	echo mips-dde-sysv${UNAME_RELEASE}
1138350952b9Smrg	exit ;;
1139fd7d9bd3Smrg    RM*:ReliantUNIX-*:*:*)
1140fd7d9bd3Smrg	echo mips-sni-sysv4
1141350952b9Smrg	exit ;;
1142fd7d9bd3Smrg    RM*:SINIX-*:*:*)
1143fd7d9bd3Smrg	echo mips-sni-sysv4
1144350952b9Smrg	exit ;;
1145fd7d9bd3Smrg    *:SINIX-*:*:*)
1146fd7d9bd3Smrg	if uname -p 2>/dev/null >/dev/null ; then
1147fd7d9bd3Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1148fd7d9bd3Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1149fd7d9bd3Smrg	else
1150fd7d9bd3Smrg		echo ns32k-sni-sysv
1151fd7d9bd3Smrg	fi
1152350952b9Smrg	exit ;;
1153a85aecdfSmrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1154a85aecdfSmrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1155a85aecdfSmrg	echo i586-unisys-sysv4
1156a85aecdfSmrg	exit ;;
1157fd7d9bd3Smrg    *:UNIX_System_V:4*:FTX*)
1158fd7d9bd3Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1159fd7d9bd3Smrg	# How about differentiating between stratus architectures? -djm
1160fd7d9bd3Smrg	echo hppa1.1-stratus-sysv4
1161350952b9Smrg	exit ;;
1162fd7d9bd3Smrg    *:*:*:FTX*)
1163fd7d9bd3Smrg	# From seanf@swdc.stratus.com.
1164fd7d9bd3Smrg	echo i860-stratus-sysv4
1165350952b9Smrg	exit ;;
1166350952b9Smrg    i*86:VOS:*:*)
1167350952b9Smrg	# From Paul.Green@stratus.com.
1168350952b9Smrg	echo ${UNAME_MACHINE}-stratus-vos
1169350952b9Smrg	exit ;;
1170fd7d9bd3Smrg    *:VOS:*:*)
1171fd7d9bd3Smrg	# From Paul.Green@stratus.com.
1172fd7d9bd3Smrg	echo hppa1.1-stratus-vos
1173350952b9Smrg	exit ;;
1174fd7d9bd3Smrg    mc68*:A/UX:*:*)
1175fd7d9bd3Smrg	echo m68k-apple-aux${UNAME_RELEASE}
1176350952b9Smrg	exit ;;
1177fd7d9bd3Smrg    news*:NEWS-OS:6*:*)
1178fd7d9bd3Smrg	echo mips-sony-newsos6
1179350952b9Smrg	exit ;;
1180fd7d9bd3Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1181fd7d9bd3Smrg	if [ -d /usr/nec ]; then
1182a85aecdfSmrg		echo mips-nec-sysv${UNAME_RELEASE}
1183fd7d9bd3Smrg	else
1184a85aecdfSmrg		echo mips-unknown-sysv${UNAME_RELEASE}
1185fd7d9bd3Smrg	fi
1186a85aecdfSmrg	exit ;;
1187fd7d9bd3Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1188fd7d9bd3Smrg	echo powerpc-be-beos
1189350952b9Smrg	exit ;;
1190fd7d9bd3Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1191fd7d9bd3Smrg	echo powerpc-apple-beos
1192350952b9Smrg	exit ;;
1193fd7d9bd3Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1194fd7d9bd3Smrg	echo i586-pc-beos
1195350952b9Smrg	exit ;;
1196350952b9Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1197350952b9Smrg	echo i586-pc-haiku
1198350952b9Smrg	exit ;;
1199fd7d9bd3Smrg    SX-4:SUPER-UX:*:*)
1200fd7d9bd3Smrg	echo sx4-nec-superux${UNAME_RELEASE}
1201350952b9Smrg	exit ;;
1202fd7d9bd3Smrg    SX-5:SUPER-UX:*:*)
1203fd7d9bd3Smrg	echo sx5-nec-superux${UNAME_RELEASE}
1204350952b9Smrg	exit ;;
1205fd7d9bd3Smrg    SX-6:SUPER-UX:*:*)
1206fd7d9bd3Smrg	echo sx6-nec-superux${UNAME_RELEASE}
1207350952b9Smrg	exit ;;
1208350952b9Smrg    SX-7:SUPER-UX:*:*)
1209350952b9Smrg	echo sx7-nec-superux${UNAME_RELEASE}
1210350952b9Smrg	exit ;;
1211350952b9Smrg    SX-8:SUPER-UX:*:*)
1212350952b9Smrg	echo sx8-nec-superux${UNAME_RELEASE}
1213350952b9Smrg	exit ;;
1214350952b9Smrg    SX-8R:SUPER-UX:*:*)
1215350952b9Smrg	echo sx8r-nec-superux${UNAME_RELEASE}
1216350952b9Smrg	exit ;;
1217fd7d9bd3Smrg    Power*:Rhapsody:*:*)
1218fd7d9bd3Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1219350952b9Smrg	exit ;;
1220fd7d9bd3Smrg    *:Rhapsody:*:*)
1221fd7d9bd3Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1222350952b9Smrg	exit ;;
1223fd7d9bd3Smrg    *:Darwin:*:*)
1224350952b9Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1225350952b9Smrg	case $UNAME_PROCESSOR in
12269aa2a2b5Smrg	    i386)
12279aa2a2b5Smrg		eval $set_cc_for_build
12289aa2a2b5Smrg		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
12299aa2a2b5Smrg		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
12309aa2a2b5Smrg		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
12319aa2a2b5Smrg		      grep IS_64BIT_ARCH >/dev/null
12329aa2a2b5Smrg		  then
12339aa2a2b5Smrg		      UNAME_PROCESSOR="x86_64"
12349aa2a2b5Smrg		  fi
12359aa2a2b5Smrg		fi ;;
1236350952b9Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1237fd7d9bd3Smrg	esac
1238fd7d9bd3Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1239350952b9Smrg	exit ;;
1240fd7d9bd3Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1241fd7d9bd3Smrg	UNAME_PROCESSOR=`uname -p`
1242fd7d9bd3Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1243fd7d9bd3Smrg		UNAME_PROCESSOR=i386
1244fd7d9bd3Smrg		UNAME_MACHINE=pc
1245fd7d9bd3Smrg	fi
1246fd7d9bd3Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1247350952b9Smrg	exit ;;
1248fd7d9bd3Smrg    *:QNX:*:4*)
1249fd7d9bd3Smrg	echo i386-pc-qnx
1250350952b9Smrg	exit ;;
1251a85aecdfSmrg    NEO-?:NONSTOP_KERNEL:*:*)
1252a85aecdfSmrg	echo neo-tandem-nsk${UNAME_RELEASE}
1253a85aecdfSmrg	exit ;;
1254350952b9Smrg    NSE-?:NONSTOP_KERNEL:*:*)
1255350952b9Smrg	echo nse-tandem-nsk${UNAME_RELEASE}
1256350952b9Smrg	exit ;;
1257350952b9Smrg    NSR-?:NONSTOP_KERNEL:*:*)
1258fd7d9bd3Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
1259350952b9Smrg	exit ;;
1260fd7d9bd3Smrg    *:NonStop-UX:*:*)
1261fd7d9bd3Smrg	echo mips-compaq-nonstopux
1262350952b9Smrg	exit ;;
1263fd7d9bd3Smrg    BS2000:POSIX*:*:*)
1264fd7d9bd3Smrg	echo bs2000-siemens-sysv
1265350952b9Smrg	exit ;;
1266fd7d9bd3Smrg    DS/*:UNIX_System_V:*:*)
1267fd7d9bd3Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1268350952b9Smrg	exit ;;
1269fd7d9bd3Smrg    *:Plan9:*:*)
1270fd7d9bd3Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1271fd7d9bd3Smrg	# is converted to i386 for consistency with other x86
1272fd7d9bd3Smrg	# operating systems.
1273fd7d9bd3Smrg	if test "$cputype" = "386"; then
1274fd7d9bd3Smrg	    UNAME_MACHINE=i386
1275fd7d9bd3Smrg	else
1276fd7d9bd3Smrg	    UNAME_MACHINE="$cputype"
1277fd7d9bd3Smrg	fi
1278fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-plan9
1279350952b9Smrg	exit ;;
1280fd7d9bd3Smrg    *:TOPS-10:*:*)
1281fd7d9bd3Smrg	echo pdp10-unknown-tops10
1282350952b9Smrg	exit ;;
1283fd7d9bd3Smrg    *:TENEX:*:*)
1284fd7d9bd3Smrg	echo pdp10-unknown-tenex
1285350952b9Smrg	exit ;;
1286fd7d9bd3Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1287fd7d9bd3Smrg	echo pdp10-dec-tops20
1288350952b9Smrg	exit ;;
1289fd7d9bd3Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1290fd7d9bd3Smrg	echo pdp10-xkl-tops20
1291350952b9Smrg	exit ;;
1292fd7d9bd3Smrg    *:TOPS-20:*:*)
1293fd7d9bd3Smrg	echo pdp10-unknown-tops20
1294350952b9Smrg	exit ;;
1295fd7d9bd3Smrg    *:ITS:*:*)
1296fd7d9bd3Smrg	echo pdp10-unknown-its
1297350952b9Smrg	exit ;;
1298fd7d9bd3Smrg    SEI:*:*:SEIUX)
1299a85aecdfSmrg	echo mips-sei-seiux${UNAME_RELEASE}
1300350952b9Smrg	exit ;;
1301350952b9Smrg    *:DragonFly:*:*)
1302350952b9Smrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1303350952b9Smrg	exit ;;
1304350952b9Smrg    *:*VMS:*:*)
1305a85aecdfSmrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1306350952b9Smrg	case "${UNAME_MACHINE}" in
1307350952b9Smrg	    A*) echo alpha-dec-vms ; exit ;;
1308350952b9Smrg	    I*) echo ia64-dec-vms ; exit ;;
1309350952b9Smrg	    V*) echo vax-dec-vms ; exit ;;
1310350952b9Smrg	esac ;;
1311350952b9Smrg    *:XENIX:*:SysV)
1312350952b9Smrg	echo i386-pc-xenix
1313350952b9Smrg	exit ;;
1314350952b9Smrg    i*86:skyos:*:*)
1315350952b9Smrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1316350952b9Smrg	exit ;;
1317350952b9Smrg    i*86:rdos:*:*)
1318350952b9Smrg	echo ${UNAME_MACHINE}-pc-rdos
1319350952b9Smrg	exit ;;
1320350952b9Smrg    i*86:AROS:*:*)
1321350952b9Smrg	echo ${UNAME_MACHINE}-pc-aros
1322350952b9Smrg	exit ;;
1323fd7d9bd3Smrgesac
1324fd7d9bd3Smrg
1325fd7d9bd3Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1326fd7d9bd3Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1327fd7d9bd3Smrg
1328fd7d9bd3Smrgeval $set_cc_for_build
1329fd7d9bd3Smrgcat >$dummy.c <<EOF
1330fd7d9bd3Smrg#ifdef _SEQUENT_
1331fd7d9bd3Smrg# include <sys/types.h>
1332fd7d9bd3Smrg# include <sys/utsname.h>
1333fd7d9bd3Smrg#endif
1334fd7d9bd3Smrgmain ()
1335fd7d9bd3Smrg{
1336fd7d9bd3Smrg#if defined (sony)
1337fd7d9bd3Smrg#if defined (MIPSEB)
1338fd7d9bd3Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1339fd7d9bd3Smrg     I don't know....  */
1340fd7d9bd3Smrg  printf ("mips-sony-bsd\n"); exit (0);
1341fd7d9bd3Smrg#else
1342fd7d9bd3Smrg#include <sys/param.h>
1343fd7d9bd3Smrg  printf ("m68k-sony-newsos%s\n",
1344fd7d9bd3Smrg#ifdef NEWSOS4
1345a85aecdfSmrg	"4"
1346fd7d9bd3Smrg#else
1347a85aecdfSmrg	""
1348fd7d9bd3Smrg#endif
1349a85aecdfSmrg	); exit (0);
1350fd7d9bd3Smrg#endif
1351fd7d9bd3Smrg#endif
1352fd7d9bd3Smrg
1353fd7d9bd3Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
1354350952b9Smrg  printf ("arm-acorn-riscix\n"); exit (0);
1355fd7d9bd3Smrg#endif
1356fd7d9bd3Smrg
1357fd7d9bd3Smrg#if defined (hp300) && !defined (hpux)
1358fd7d9bd3Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1359fd7d9bd3Smrg#endif
1360fd7d9bd3Smrg
1361fd7d9bd3Smrg#if defined (NeXT)
1362fd7d9bd3Smrg#if !defined (__ARCHITECTURE__)
1363fd7d9bd3Smrg#define __ARCHITECTURE__ "m68k"
1364fd7d9bd3Smrg#endif
1365fd7d9bd3Smrg  int version;
1366fd7d9bd3Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1367fd7d9bd3Smrg  if (version < 4)
1368fd7d9bd3Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1369fd7d9bd3Smrg  else
1370fd7d9bd3Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1371fd7d9bd3Smrg  exit (0);
1372fd7d9bd3Smrg#endif
1373fd7d9bd3Smrg
1374fd7d9bd3Smrg#if defined (MULTIMAX) || defined (n16)
1375fd7d9bd3Smrg#if defined (UMAXV)
1376fd7d9bd3Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1377fd7d9bd3Smrg#else
1378fd7d9bd3Smrg#if defined (CMU)
1379fd7d9bd3Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1380fd7d9bd3Smrg#else
1381fd7d9bd3Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1382fd7d9bd3Smrg#endif
1383fd7d9bd3Smrg#endif
1384fd7d9bd3Smrg#endif
1385fd7d9bd3Smrg
1386fd7d9bd3Smrg#if defined (__386BSD__)
1387fd7d9bd3Smrg  printf ("i386-pc-bsd\n"); exit (0);
1388fd7d9bd3Smrg#endif
1389fd7d9bd3Smrg
1390fd7d9bd3Smrg#if defined (sequent)
1391fd7d9bd3Smrg#if defined (i386)
1392fd7d9bd3Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1393fd7d9bd3Smrg#endif
1394fd7d9bd3Smrg#if defined (ns32000)
1395fd7d9bd3Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1396fd7d9bd3Smrg#endif
1397fd7d9bd3Smrg#endif
1398fd7d9bd3Smrg
1399fd7d9bd3Smrg#if defined (_SEQUENT_)
1400fd7d9bd3Smrg    struct utsname un;
1401fd7d9bd3Smrg
1402fd7d9bd3Smrg    uname(&un);
1403fd7d9bd3Smrg
1404fd7d9bd3Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1405fd7d9bd3Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1406fd7d9bd3Smrg    }
1407fd7d9bd3Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1408fd7d9bd3Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1409fd7d9bd3Smrg    }
1410fd7d9bd3Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1411fd7d9bd3Smrg
1412fd7d9bd3Smrg#endif
1413fd7d9bd3Smrg
1414fd7d9bd3Smrg#if defined (vax)
1415fd7d9bd3Smrg# if !defined (ultrix)
1416fd7d9bd3Smrg#  include <sys/param.h>
1417fd7d9bd3Smrg#  if defined (BSD)
1418fd7d9bd3Smrg#   if BSD == 43
1419fd7d9bd3Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1420fd7d9bd3Smrg#   else
1421fd7d9bd3Smrg#    if BSD == 199006
1422fd7d9bd3Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1423fd7d9bd3Smrg#    else
1424fd7d9bd3Smrg      printf ("vax-dec-bsd\n"); exit (0);
1425fd7d9bd3Smrg#    endif
1426fd7d9bd3Smrg#   endif
1427fd7d9bd3Smrg#  else
1428fd7d9bd3Smrg    printf ("vax-dec-bsd\n"); exit (0);
1429fd7d9bd3Smrg#  endif
1430fd7d9bd3Smrg# else
1431fd7d9bd3Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1432fd7d9bd3Smrg# endif
1433fd7d9bd3Smrg#endif
1434fd7d9bd3Smrg
1435fd7d9bd3Smrg#if defined (alliant) && defined (i860)
1436fd7d9bd3Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1437fd7d9bd3Smrg#endif
1438fd7d9bd3Smrg
1439fd7d9bd3Smrg  exit (1);
1440fd7d9bd3Smrg}
1441fd7d9bd3SmrgEOF
1442fd7d9bd3Smrg
1443350952b9Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1444350952b9Smrg	{ echo "$SYSTEM_NAME"; exit; }
1445fd7d9bd3Smrg
1446fd7d9bd3Smrg# Apollos put the system type in the environment.
1447fd7d9bd3Smrg
1448350952b9Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1449fd7d9bd3Smrg
1450fd7d9bd3Smrg# Convex versions that predate uname can use getsysinfo(1)
1451fd7d9bd3Smrg
1452fd7d9bd3Smrgif [ -x /usr/convex/getsysinfo ]
1453fd7d9bd3Smrgthen
1454fd7d9bd3Smrg    case `getsysinfo -f cpu_type` in
1455fd7d9bd3Smrg    c1*)
1456fd7d9bd3Smrg	echo c1-convex-bsd
1457350952b9Smrg	exit ;;
1458fd7d9bd3Smrg    c2*)
1459fd7d9bd3Smrg	if getsysinfo -f scalar_acc
1460fd7d9bd3Smrg	then echo c32-convex-bsd
1461fd7d9bd3Smrg	else echo c2-convex-bsd
1462fd7d9bd3Smrg	fi
1463350952b9Smrg	exit ;;
1464fd7d9bd3Smrg    c34*)
1465fd7d9bd3Smrg	echo c34-convex-bsd
1466350952b9Smrg	exit ;;
1467fd7d9bd3Smrg    c38*)
1468fd7d9bd3Smrg	echo c38-convex-bsd
1469350952b9Smrg	exit ;;
1470fd7d9bd3Smrg    c4*)
1471fd7d9bd3Smrg	echo c4-convex-bsd
1472350952b9Smrg	exit ;;
1473fd7d9bd3Smrg    esac
1474fd7d9bd3Smrgfi
1475fd7d9bd3Smrg
1476fd7d9bd3Smrgcat >&2 <<EOF
1477fd7d9bd3Smrg$0: unable to guess system type
1478fd7d9bd3Smrg
1479fd7d9bd3SmrgThis script, last modified $timestamp, has failed to recognize
1480fd7d9bd3Smrgthe operating system you are using. It is advised that you
1481fd7d9bd3Smrgdownload the most up to date version of the config scripts from
1482fd7d9bd3Smrg
1483350952b9Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1484350952b9Smrgand
1485350952b9Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1486fd7d9bd3Smrg
1487fd7d9bd3SmrgIf the version you run ($0) is already up to date, please
1488fd7d9bd3Smrgsend the following data and any information you think might be
1489fd7d9bd3Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1490fd7d9bd3Smrginformation to handle your system.
1491fd7d9bd3Smrg
1492fd7d9bd3Smrgconfig.guess timestamp = $timestamp
1493fd7d9bd3Smrg
1494fd7d9bd3Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1495fd7d9bd3Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1496fd7d9bd3Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1497fd7d9bd3Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1498fd7d9bd3Smrg
1499fd7d9bd3Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1500fd7d9bd3Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1501fd7d9bd3Smrg
1502fd7d9bd3Smrghostinfo               = `(hostinfo) 2>/dev/null`
1503fd7d9bd3Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1504fd7d9bd3Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1505fd7d9bd3Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1506fd7d9bd3Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1507fd7d9bd3Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1508fd7d9bd3Smrg
1509fd7d9bd3SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1510fd7d9bd3SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1511fd7d9bd3SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1512fd7d9bd3SmrgUNAME_VERSION = ${UNAME_VERSION}
1513fd7d9bd3SmrgEOF
1514fd7d9bd3Smrg
1515fd7d9bd3Smrgexit 1
1516fd7d9bd3Smrg
1517fd7d9bd3Smrg# Local variables:
1518fd7d9bd3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1519fd7d9bd3Smrg# time-stamp-start: "timestamp='"
1520fd7d9bd3Smrg# time-stamp-format: "%:y-%02m-%02d"
1521fd7d9bd3Smrg# time-stamp-end: "'"
1522fd7d9bd3Smrg# End:
1523