config.guess revision 350952b9
1fd7d9bd3Smrg#! /bin/sh
2fd7d9bd3Smrg# Attempt to guess a canonical system name.
3fd7d9bd3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4350952b9Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5350952b9Smrg#   Free Software Foundation, Inc.
6fd7d9bd3Smrg
7350952b9Smrgtimestamp='2009-04-27'
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
30fd7d9bd3Smrg# Originally written by Per Bothner <per@bothner.com>.
31fd7d9bd3Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
32fd7d9bd3Smrg# diff and a properly formatted ChangeLog 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#
38fd7d9bd3Smrg# The plan is that this can be called by configure scripts if you
39fd7d9bd3Smrg# don't specify an explicit build system type.
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.
59350952b9SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60350952b9Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61fd7d9bd3Smrg
62fd7d9bd3SmrgThis is free software; see the source for copying conditions.  There is NO
63fd7d9bd3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64fd7d9bd3Smrg
65fd7d9bd3Smrghelp="
66fd7d9bd3SmrgTry \`$me --help' for more information."
67fd7d9bd3Smrg
68fd7d9bd3Smrg# Parse command line
69fd7d9bd3Smrgwhile test $# -gt 0 ; do
70fd7d9bd3Smrg  case $1 in
71fd7d9bd3Smrg    --time-stamp | --time* | -t )
72350952b9Smrg       echo "$timestamp" ; exit ;;
73fd7d9bd3Smrg    --version | -v )
74350952b9Smrg       echo "$version" ; exit ;;
75fd7d9bd3Smrg    --help | --h* | -h )
76350952b9Smrg       echo "$usage"; exit ;;
77fd7d9bd3Smrg    -- )     # Stop option processing
78fd7d9bd3Smrg       shift; break ;;
79fd7d9bd3Smrg    - )	# Use stdin as input.
80fd7d9bd3Smrg       break ;;
81fd7d9bd3Smrg    -* )
82fd7d9bd3Smrg       echo "$me: invalid option $1$help" >&2
83fd7d9bd3Smrg       exit 1 ;;
84fd7d9bd3Smrg    * )
85fd7d9bd3Smrg       break ;;
86fd7d9bd3Smrg  esac
87fd7d9bd3Smrgdone
88fd7d9bd3Smrg
89fd7d9bd3Smrgif test $# != 0; then
90fd7d9bd3Smrg  echo "$me: too many arguments$help" >&2
91fd7d9bd3Smrg  exit 1
92fd7d9bd3Smrgfi
93fd7d9bd3Smrg
94fd7d9bd3Smrgtrap 'exit 1' 1 2 15
95fd7d9bd3Smrg
96fd7d9bd3Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97fd7d9bd3Smrg# compiler to aid in system detection is discouraged as it requires
98fd7d9bd3Smrg# temporary files to be created and, as you can see below, it is a
99fd7d9bd3Smrg# headache to deal with in a portable fashion.
100fd7d9bd3Smrg
101fd7d9bd3Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102fd7d9bd3Smrg# use `HOST_CC' if defined, but it is deprecated.
103fd7d9bd3Smrg
104fd7d9bd3Smrg# Portable tmp directory creation inspired by the Autoconf team.
105fd7d9bd3Smrg
106fd7d9bd3Smrgset_cc_for_build='
107fd7d9bd3Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108fd7d9bd3Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109fd7d9bd3Smrg: ${TMPDIR=/tmp} ;
110350952b9Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111fd7d9bd3Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112fd7d9bd3Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113fd7d9bd3Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114fd7d9bd3Smrgdummy=$tmp/dummy ;
115fd7d9bd3Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116fd7d9bd3Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
117fd7d9bd3Smrg ,,)    echo "int x;" > $dummy.c ;
118fd7d9bd3Smrg	for c in cc gcc c89 c99 ; do
119fd7d9bd3Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120fd7d9bd3Smrg	     CC_FOR_BUILD="$c"; break ;
121fd7d9bd3Smrg	  fi ;
122fd7d9bd3Smrg	done ;
123fd7d9bd3Smrg	if test x"$CC_FOR_BUILD" = x ; then
124fd7d9bd3Smrg	  CC_FOR_BUILD=no_compiler_found ;
125fd7d9bd3Smrg	fi
126fd7d9bd3Smrg	;;
127fd7d9bd3Smrg ,,*)   CC_FOR_BUILD=$CC ;;
128fd7d9bd3Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129350952b9Smrgesac ; set_cc_for_build= ;'
130fd7d9bd3Smrg
131fd7d9bd3Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132fd7d9bd3Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
133fd7d9bd3Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134fd7d9bd3Smrg	PATH=$PATH:/.attbin ; export PATH
135fd7d9bd3Smrgfi
136fd7d9bd3Smrg
137fd7d9bd3SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138fd7d9bd3SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139fd7d9bd3SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140fd7d9bd3SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141fd7d9bd3Smrg
142fd7d9bd3Smrg# Note: order is significant - the case branches are not exclusive.
143fd7d9bd3Smrg
144fd7d9bd3Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145fd7d9bd3Smrg    *:NetBSD:*:*)
146fd7d9bd3Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
147fd7d9bd3Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148fd7d9bd3Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149fd7d9bd3Smrg	# switched to ELF, *-*-netbsd* would select the old
150fd7d9bd3Smrg	# object file format.  This provides both forward
151fd7d9bd3Smrg	# compatibility and a consistent mechanism for selecting the
152fd7d9bd3Smrg	# object file format.
153fd7d9bd3Smrg	#
154fd7d9bd3Smrg	# Note: NetBSD doesn't particularly care about the vendor
155fd7d9bd3Smrg	# portion of the name.  We always set it to "unknown".
156fd7d9bd3Smrg	sysctl="sysctl -n hw.machine_arch"
157fd7d9bd3Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158fd7d9bd3Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159fd7d9bd3Smrg	case "${UNAME_MACHINE_ARCH}" in
160fd7d9bd3Smrg	    armeb) machine=armeb-unknown ;;
161fd7d9bd3Smrg	    arm*) machine=arm-unknown ;;
162fd7d9bd3Smrg	    sh3el) machine=shl-unknown ;;
163fd7d9bd3Smrg	    sh3eb) machine=sh-unknown ;;
164350952b9Smrg	    sh5el) machine=sh5le-unknown ;;
165fd7d9bd3Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
166fd7d9bd3Smrg	esac
167fd7d9bd3Smrg	# The Operating System including object format, if it has switched
168fd7d9bd3Smrg	# to ELF recently, or will in the future.
169fd7d9bd3Smrg	case "${UNAME_MACHINE_ARCH}" in
170fd7d9bd3Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171fd7d9bd3Smrg		eval $set_cc_for_build
172fd7d9bd3Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173fd7d9bd3Smrg			| grep __ELF__ >/dev/null
174fd7d9bd3Smrg		then
175fd7d9bd3Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176fd7d9bd3Smrg		    # Return netbsd for either.  FIX?
177fd7d9bd3Smrg		    os=netbsd
178fd7d9bd3Smrg		else
179fd7d9bd3Smrg		    os=netbsdelf
180fd7d9bd3Smrg		fi
181fd7d9bd3Smrg		;;
182fd7d9bd3Smrg	    *)
183fd7d9bd3Smrg	        os=netbsd
184fd7d9bd3Smrg		;;
185fd7d9bd3Smrg	esac
186fd7d9bd3Smrg	# The OS release
187fd7d9bd3Smrg	# Debian GNU/NetBSD machines have a different userland, and
188fd7d9bd3Smrg	# thus, need a distinct triplet. However, they do not need
189fd7d9bd3Smrg	# kernel version information, so it can be replaced with a
190fd7d9bd3Smrg	# suitable tag, in the style of linux-gnu.
191fd7d9bd3Smrg	case "${UNAME_VERSION}" in
192fd7d9bd3Smrg	    Debian*)
193fd7d9bd3Smrg		release='-gnu'
194fd7d9bd3Smrg		;;
195fd7d9bd3Smrg	    *)
196fd7d9bd3Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197fd7d9bd3Smrg		;;
198fd7d9bd3Smrg	esac
199fd7d9bd3Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
200fd7d9bd3Smrg	# contains redundant information, the shorter form:
201fd7d9bd3Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
202fd7d9bd3Smrg	echo "${machine}-${os}${release}"
203350952b9Smrg	exit ;;
204fd7d9bd3Smrg    *:OpenBSD:*:*)
205350952b9Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206350952b9Smrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207350952b9Smrg	exit ;;
208350952b9Smrg    *:ekkoBSD:*:*)
209350952b9Smrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210350952b9Smrg	exit ;;
211350952b9Smrg    *:SolidBSD:*:*)
212350952b9Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213350952b9Smrg	exit ;;
214350952b9Smrg    macppc:MirBSD:*:*)
215350952b9Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216350952b9Smrg	exit ;;
217350952b9Smrg    *:MirBSD:*:*)
218350952b9Smrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219350952b9Smrg	exit ;;
220fd7d9bd3Smrg    alpha:OSF1:*:*)
221350952b9Smrg	case $UNAME_RELEASE in
222350952b9Smrg	*4.0)
223fd7d9bd3Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
224350952b9Smrg		;;
225350952b9Smrg	*5.*)
226350952b9Smrg	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
227350952b9Smrg		;;
228350952b9Smrg	esac
229fd7d9bd3Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
230fd7d9bd3Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
231fd7d9bd3Smrg	# covers most systems running today.  This code pipes the CPU
232fd7d9bd3Smrg	# types through head -n 1, so we only detect the type of CPU 0.
233fd7d9bd3Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234fd7d9bd3Smrg	case "$ALPHA_CPU_TYPE" in
235fd7d9bd3Smrg	    "EV4 (21064)")
236fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
237fd7d9bd3Smrg	    "EV4.5 (21064)")
238fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
239fd7d9bd3Smrg	    "LCA4 (21066/21068)")
240fd7d9bd3Smrg		UNAME_MACHINE="alpha" ;;
241fd7d9bd3Smrg	    "EV5 (21164)")
242fd7d9bd3Smrg		UNAME_MACHINE="alphaev5" ;;
243fd7d9bd3Smrg	    "EV5.6 (21164A)")
244fd7d9bd3Smrg		UNAME_MACHINE="alphaev56" ;;
245fd7d9bd3Smrg	    "EV5.6 (21164PC)")
246fd7d9bd3Smrg		UNAME_MACHINE="alphapca56" ;;
247fd7d9bd3Smrg	    "EV5.7 (21164PC)")
248fd7d9bd3Smrg		UNAME_MACHINE="alphapca57" ;;
249fd7d9bd3Smrg	    "EV6 (21264)")
250fd7d9bd3Smrg		UNAME_MACHINE="alphaev6" ;;
251fd7d9bd3Smrg	    "EV6.7 (21264A)")
252fd7d9bd3Smrg		UNAME_MACHINE="alphaev67" ;;
253fd7d9bd3Smrg	    "EV6.8CB (21264C)")
254fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
255fd7d9bd3Smrg	    "EV6.8AL (21264B)")
256fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
257fd7d9bd3Smrg	    "EV6.8CX (21264D)")
258fd7d9bd3Smrg		UNAME_MACHINE="alphaev68" ;;
259fd7d9bd3Smrg	    "EV6.9A (21264/EV69A)")
260fd7d9bd3Smrg		UNAME_MACHINE="alphaev69" ;;
261fd7d9bd3Smrg	    "EV7 (21364)")
262fd7d9bd3Smrg		UNAME_MACHINE="alphaev7" ;;
263fd7d9bd3Smrg	    "EV7.9 (21364A)")
264fd7d9bd3Smrg		UNAME_MACHINE="alphaev79" ;;
265fd7d9bd3Smrg	esac
266350952b9Smrg	# A Pn.n version is a patched version.
267fd7d9bd3Smrg	# A Vn.n version is a released version.
268fd7d9bd3Smrg	# A Tn.n version is a released field test version.
269fd7d9bd3Smrg	# A Xn.n version is an unreleased experimental baselevel.
270fd7d9bd3Smrg	# 1.2 uses "1.2" for uname -r.
271350952b9Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272350952b9Smrg	exit ;;
273fd7d9bd3Smrg    Alpha\ *:Windows_NT*:*)
274fd7d9bd3Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
275fd7d9bd3Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
276fd7d9bd3Smrg	# of the specific Alpha model?
277fd7d9bd3Smrg	echo alpha-pc-interix
278350952b9Smrg	exit ;;
279fd7d9bd3Smrg    21064:Windows_NT:50:3)
280fd7d9bd3Smrg	echo alpha-dec-winnt3.5
281350952b9Smrg	exit ;;
282fd7d9bd3Smrg    Amiga*:UNIX_System_V:4.0:*)
283fd7d9bd3Smrg	echo m68k-unknown-sysv4
284350952b9Smrg	exit ;;
285fd7d9bd3Smrg    *:[Aa]miga[Oo][Ss]:*:*)
286fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
287350952b9Smrg	exit ;;
288fd7d9bd3Smrg    *:[Mm]orph[Oo][Ss]:*:*)
289fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-morphos
290350952b9Smrg	exit ;;
291fd7d9bd3Smrg    *:OS/390:*:*)
292fd7d9bd3Smrg	echo i370-ibm-openedition
293350952b9Smrg	exit ;;
294350952b9Smrg    *:z/VM:*:*)
295350952b9Smrg	echo s390-ibm-zvmoe
296350952b9Smrg	exit ;;
297350952b9Smrg    *:OS400:*:*)
298350952b9Smrg        echo powerpc-ibm-os400
299350952b9Smrg	exit ;;
300fd7d9bd3Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301fd7d9bd3Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
302350952b9Smrg	exit ;;
303350952b9Smrg    arm:riscos:*:*|arm:RISCOS:*:*)
304350952b9Smrg	echo arm-unknown-riscos
305350952b9Smrg	exit ;;
306fd7d9bd3Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
307fd7d9bd3Smrg	echo hppa1.1-hitachi-hiuxmpp
308350952b9Smrg	exit ;;
309fd7d9bd3Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
310fd7d9bd3Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311fd7d9bd3Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
312fd7d9bd3Smrg		echo pyramid-pyramid-sysv3
313fd7d9bd3Smrg	else
314fd7d9bd3Smrg		echo pyramid-pyramid-bsd
315fd7d9bd3Smrg	fi
316350952b9Smrg	exit ;;
317fd7d9bd3Smrg    NILE*:*:*:dcosx)
318fd7d9bd3Smrg	echo pyramid-pyramid-svr4
319350952b9Smrg	exit ;;
320fd7d9bd3Smrg    DRS?6000:unix:4.0:6*)
321fd7d9bd3Smrg	echo sparc-icl-nx6
322350952b9Smrg	exit ;;
323350952b9Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324fd7d9bd3Smrg	case `/usr/bin/uname -p` in
325350952b9Smrg	    sparc) echo sparc-icl-nx7; exit ;;
326fd7d9bd3Smrg	esac ;;
327350952b9Smrg    s390x:SunOS:*:*)
328350952b9Smrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329350952b9Smrg	exit ;;
330fd7d9bd3Smrg    sun4H:SunOS:5.*:*)
331fd7d9bd3Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332350952b9Smrg	exit ;;
333fd7d9bd3Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
334fd7d9bd3Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335350952b9Smrg	exit ;;
336350952b9Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
337350952b9Smrg	eval $set_cc_for_build
338350952b9Smrg	SUN_ARCH="i386"
339350952b9Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
340350952b9Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
341350952b9Smrg	# This test works for both compilers.
342350952b9Smrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
343350952b9Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
344350952b9Smrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
345350952b9Smrg		grep IS_64BIT_ARCH >/dev/null
346350952b9Smrg	    then
347350952b9Smrg		SUN_ARCH="x86_64"
348350952b9Smrg	    fi
349350952b9Smrg	fi
350350952b9Smrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351350952b9Smrg	exit ;;
352fd7d9bd3Smrg    sun4*:SunOS:6*:*)
353fd7d9bd3Smrg	# According to config.sub, this is the proper way to canonicalize
354fd7d9bd3Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
355fd7d9bd3Smrg	# it's likely to be more like Solaris than SunOS4.
356fd7d9bd3Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
357350952b9Smrg	exit ;;
358fd7d9bd3Smrg    sun4*:SunOS:*:*)
359fd7d9bd3Smrg	case "`/usr/bin/arch -k`" in
360fd7d9bd3Smrg	    Series*|S4*)
361fd7d9bd3Smrg		UNAME_RELEASE=`uname -v`
362fd7d9bd3Smrg		;;
363fd7d9bd3Smrg	esac
364fd7d9bd3Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
365fd7d9bd3Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
366350952b9Smrg	exit ;;
367fd7d9bd3Smrg    sun3*:SunOS:*:*)
368fd7d9bd3Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
369350952b9Smrg	exit ;;
370fd7d9bd3Smrg    sun*:*:4.2BSD:*)
371fd7d9bd3Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
372fd7d9bd3Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
373fd7d9bd3Smrg	case "`/bin/arch`" in
374fd7d9bd3Smrg	    sun3)
375fd7d9bd3Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
376fd7d9bd3Smrg		;;
377fd7d9bd3Smrg	    sun4)
378fd7d9bd3Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
379fd7d9bd3Smrg		;;
380fd7d9bd3Smrg	esac
381350952b9Smrg	exit ;;
382fd7d9bd3Smrg    aushp:SunOS:*:*)
383fd7d9bd3Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
384350952b9Smrg	exit ;;
385fd7d9bd3Smrg    # The situation for MiNT is a little confusing.  The machine name
386fd7d9bd3Smrg    # can be virtually everything (everything which is not
387fd7d9bd3Smrg    # "atarist" or "atariste" at least should have a processor
388fd7d9bd3Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
389fd7d9bd3Smrg    # to the lowercase version "mint" (or "freemint").  Finally
390fd7d9bd3Smrg    # the system name "TOS" denotes a system which is actually not
391fd7d9bd3Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
392fd7d9bd3Smrg    # be no problem.
393fd7d9bd3Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
394fd7d9bd3Smrg        echo m68k-atari-mint${UNAME_RELEASE}
395350952b9Smrg	exit ;;
396fd7d9bd3Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
397fd7d9bd3Smrg	echo m68k-atari-mint${UNAME_RELEASE}
398350952b9Smrg        exit ;;
399fd7d9bd3Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
400fd7d9bd3Smrg        echo m68k-atari-mint${UNAME_RELEASE}
401350952b9Smrg	exit ;;
402fd7d9bd3Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
403fd7d9bd3Smrg        echo m68k-milan-mint${UNAME_RELEASE}
404350952b9Smrg        exit ;;
405fd7d9bd3Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
406fd7d9bd3Smrg        echo m68k-hades-mint${UNAME_RELEASE}
407350952b9Smrg        exit ;;
408fd7d9bd3Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
409fd7d9bd3Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
410350952b9Smrg        exit ;;
411350952b9Smrg    m68k:machten:*:*)
412350952b9Smrg	echo m68k-apple-machten${UNAME_RELEASE}
413350952b9Smrg	exit ;;
414fd7d9bd3Smrg    powerpc:machten:*:*)
415fd7d9bd3Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
416350952b9Smrg	exit ;;
417fd7d9bd3Smrg    RISC*:Mach:*:*)
418fd7d9bd3Smrg	echo mips-dec-mach_bsd4.3
419350952b9Smrg	exit ;;
420fd7d9bd3Smrg    RISC*:ULTRIX:*:*)
421fd7d9bd3Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
422350952b9Smrg	exit ;;
423fd7d9bd3Smrg    VAX*:ULTRIX*:*:*)
424fd7d9bd3Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
425350952b9Smrg	exit ;;
426fd7d9bd3Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
427fd7d9bd3Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
428350952b9Smrg	exit ;;
429fd7d9bd3Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
430fd7d9bd3Smrg	eval $set_cc_for_build
431fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
432fd7d9bd3Smrg#ifdef __cplusplus
433fd7d9bd3Smrg#include <stdio.h>  /* for printf() prototype */
434fd7d9bd3Smrg	int main (int argc, char *argv[]) {
435fd7d9bd3Smrg#else
436fd7d9bd3Smrg	int main (argc, argv) int argc; char *argv[]; {
437fd7d9bd3Smrg#endif
438fd7d9bd3Smrg	#if defined (host_mips) && defined (MIPSEB)
439fd7d9bd3Smrg	#if defined (SYSTYPE_SYSV)
440fd7d9bd3Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
441fd7d9bd3Smrg	#endif
442fd7d9bd3Smrg	#if defined (SYSTYPE_SVR4)
443fd7d9bd3Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
444fd7d9bd3Smrg	#endif
445fd7d9bd3Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
446fd7d9bd3Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
447fd7d9bd3Smrg	#endif
448fd7d9bd3Smrg	#endif
449fd7d9bd3Smrg	  exit (-1);
450fd7d9bd3Smrg	}
451fd7d9bd3SmrgEOF
452350952b9Smrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
453350952b9Smrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
454350952b9Smrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
455350952b9Smrg	    { echo "$SYSTEM_NAME"; exit; }
456fd7d9bd3Smrg	echo mips-mips-riscos${UNAME_RELEASE}
457350952b9Smrg	exit ;;
458fd7d9bd3Smrg    Motorola:PowerMAX_OS:*:*)
459fd7d9bd3Smrg	echo powerpc-motorola-powermax
460350952b9Smrg	exit ;;
461fd7d9bd3Smrg    Motorola:*:4.3:PL8-*)
462fd7d9bd3Smrg	echo powerpc-harris-powermax
463350952b9Smrg	exit ;;
464fd7d9bd3Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
465fd7d9bd3Smrg	echo powerpc-harris-powermax
466350952b9Smrg	exit ;;
467fd7d9bd3Smrg    Night_Hawk:Power_UNIX:*:*)
468fd7d9bd3Smrg	echo powerpc-harris-powerunix
469350952b9Smrg	exit ;;
470fd7d9bd3Smrg    m88k:CX/UX:7*:*)
471fd7d9bd3Smrg	echo m88k-harris-cxux7
472350952b9Smrg	exit ;;
473fd7d9bd3Smrg    m88k:*:4*:R4*)
474fd7d9bd3Smrg	echo m88k-motorola-sysv4
475350952b9Smrg	exit ;;
476fd7d9bd3Smrg    m88k:*:3*:R3*)
477fd7d9bd3Smrg	echo m88k-motorola-sysv3
478350952b9Smrg	exit ;;
479fd7d9bd3Smrg    AViiON:dgux:*:*)
480fd7d9bd3Smrg        # DG/UX returns AViiON for all architectures
481fd7d9bd3Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
482fd7d9bd3Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
483fd7d9bd3Smrg	then
484fd7d9bd3Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
485fd7d9bd3Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
486fd7d9bd3Smrg	    then
487fd7d9bd3Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
488fd7d9bd3Smrg	    else
489fd7d9bd3Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
490fd7d9bd3Smrg	    fi
491fd7d9bd3Smrg	else
492fd7d9bd3Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
493fd7d9bd3Smrg	fi
494350952b9Smrg 	exit ;;
495fd7d9bd3Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
496fd7d9bd3Smrg	echo m88k-dolphin-sysv3
497350952b9Smrg	exit ;;
498fd7d9bd3Smrg    M88*:*:R3*:*)
499fd7d9bd3Smrg	# Delta 88k system running SVR3
500fd7d9bd3Smrg	echo m88k-motorola-sysv3
501350952b9Smrg	exit ;;
502fd7d9bd3Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
503fd7d9bd3Smrg	echo m88k-tektronix-sysv3
504350952b9Smrg	exit ;;
505fd7d9bd3Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
506fd7d9bd3Smrg	echo m68k-tektronix-bsd
507350952b9Smrg	exit ;;
508fd7d9bd3Smrg    *:IRIX*:*:*)
509fd7d9bd3Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
510350952b9Smrg	exit ;;
511fd7d9bd3Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
512350952b9Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
513350952b9Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
514fd7d9bd3Smrg    i*86:AIX:*:*)
515fd7d9bd3Smrg	echo i386-ibm-aix
516350952b9Smrg	exit ;;
517fd7d9bd3Smrg    ia64:AIX:*:*)
518fd7d9bd3Smrg	if [ -x /usr/bin/oslevel ] ; then
519fd7d9bd3Smrg		IBM_REV=`/usr/bin/oslevel`
520fd7d9bd3Smrg	else
521fd7d9bd3Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522fd7d9bd3Smrg	fi
523fd7d9bd3Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
524350952b9Smrg	exit ;;
525fd7d9bd3Smrg    *:AIX:2:3)
526fd7d9bd3Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
527fd7d9bd3Smrg		eval $set_cc_for_build
528fd7d9bd3Smrg		sed 's/^		//' << EOF >$dummy.c
529fd7d9bd3Smrg		#include <sys/systemcfg.h>
530fd7d9bd3Smrg
531fd7d9bd3Smrg		main()
532fd7d9bd3Smrg			{
533fd7d9bd3Smrg			if (!__power_pc())
534fd7d9bd3Smrg				exit(1);
535fd7d9bd3Smrg			puts("powerpc-ibm-aix3.2.5");
536fd7d9bd3Smrg			exit(0);
537fd7d9bd3Smrg			}
538fd7d9bd3SmrgEOF
539350952b9Smrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
540350952b9Smrg		then
541350952b9Smrg			echo "$SYSTEM_NAME"
542350952b9Smrg		else
543350952b9Smrg			echo rs6000-ibm-aix3.2.5
544350952b9Smrg		fi
545fd7d9bd3Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
546fd7d9bd3Smrg		echo rs6000-ibm-aix3.2.4
547fd7d9bd3Smrg	else
548fd7d9bd3Smrg		echo rs6000-ibm-aix3.2
549fd7d9bd3Smrg	fi
550350952b9Smrg	exit ;;
551350952b9Smrg    *:AIX:*:[456])
552fd7d9bd3Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
553fd7d9bd3Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
554fd7d9bd3Smrg		IBM_ARCH=rs6000
555fd7d9bd3Smrg	else
556fd7d9bd3Smrg		IBM_ARCH=powerpc
557fd7d9bd3Smrg	fi
558fd7d9bd3Smrg	if [ -x /usr/bin/oslevel ] ; then
559fd7d9bd3Smrg		IBM_REV=`/usr/bin/oslevel`
560fd7d9bd3Smrg	else
561fd7d9bd3Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
562fd7d9bd3Smrg	fi
563fd7d9bd3Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
564350952b9Smrg	exit ;;
565fd7d9bd3Smrg    *:AIX:*:*)
566fd7d9bd3Smrg	echo rs6000-ibm-aix
567350952b9Smrg	exit ;;
568fd7d9bd3Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
569fd7d9bd3Smrg	echo romp-ibm-bsd4.4
570350952b9Smrg	exit ;;
571fd7d9bd3Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
572fd7d9bd3Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
573350952b9Smrg	exit ;;                             # report: romp-ibm BSD 4.3
574fd7d9bd3Smrg    *:BOSX:*:*)
575fd7d9bd3Smrg	echo rs6000-bull-bosx
576350952b9Smrg	exit ;;
577fd7d9bd3Smrg    DPX/2?00:B.O.S.:*:*)
578fd7d9bd3Smrg	echo m68k-bull-sysv3
579350952b9Smrg	exit ;;
580fd7d9bd3Smrg    9000/[34]??:4.3bsd:1.*:*)
581fd7d9bd3Smrg	echo m68k-hp-bsd
582350952b9Smrg	exit ;;
583fd7d9bd3Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
584fd7d9bd3Smrg	echo m68k-hp-bsd4.4
585350952b9Smrg	exit ;;
586fd7d9bd3Smrg    9000/[34678]??:HP-UX:*:*)
587fd7d9bd3Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
588fd7d9bd3Smrg	case "${UNAME_MACHINE}" in
589fd7d9bd3Smrg	    9000/31? )            HP_ARCH=m68000 ;;
590fd7d9bd3Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
591fd7d9bd3Smrg	    9000/[678][0-9][0-9])
592fd7d9bd3Smrg		if [ -x /usr/bin/getconf ]; then
593fd7d9bd3Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
594fd7d9bd3Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
595fd7d9bd3Smrg                    case "${sc_cpu_version}" in
596fd7d9bd3Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
597fd7d9bd3Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
598fd7d9bd3Smrg                      532)                      # CPU_PA_RISC2_0
599fd7d9bd3Smrg                        case "${sc_kernel_bits}" in
600fd7d9bd3Smrg                          32) HP_ARCH="hppa2.0n" ;;
601fd7d9bd3Smrg                          64) HP_ARCH="hppa2.0w" ;;
602fd7d9bd3Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
603fd7d9bd3Smrg                        esac ;;
604fd7d9bd3Smrg                    esac
605fd7d9bd3Smrg		fi
606fd7d9bd3Smrg		if [ "${HP_ARCH}" = "" ]; then
607fd7d9bd3Smrg		    eval $set_cc_for_build
608fd7d9bd3Smrg		    sed 's/^              //' << EOF >$dummy.c
609fd7d9bd3Smrg
610fd7d9bd3Smrg              #define _HPUX_SOURCE
611fd7d9bd3Smrg              #include <stdlib.h>
612fd7d9bd3Smrg              #include <unistd.h>
613fd7d9bd3Smrg
614fd7d9bd3Smrg              int main ()
615fd7d9bd3Smrg              {
616fd7d9bd3Smrg              #if defined(_SC_KERNEL_BITS)
617fd7d9bd3Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
618fd7d9bd3Smrg              #endif
619fd7d9bd3Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
620fd7d9bd3Smrg
621fd7d9bd3Smrg                  switch (cpu)
622fd7d9bd3Smrg              	{
623fd7d9bd3Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
624fd7d9bd3Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
625fd7d9bd3Smrg              	case CPU_PA_RISC2_0:
626fd7d9bd3Smrg              #if defined(_SC_KERNEL_BITS)
627fd7d9bd3Smrg              	    switch (bits)
628fd7d9bd3Smrg              		{
629fd7d9bd3Smrg              		case 64: puts ("hppa2.0w"); break;
630fd7d9bd3Smrg              		case 32: puts ("hppa2.0n"); break;
631fd7d9bd3Smrg              		default: puts ("hppa2.0"); break;
632fd7d9bd3Smrg              		} break;
633fd7d9bd3Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
634fd7d9bd3Smrg              	    puts ("hppa2.0"); break;
635fd7d9bd3Smrg              #endif
636fd7d9bd3Smrg              	default: puts ("hppa1.0"); break;
637fd7d9bd3Smrg              	}
638fd7d9bd3Smrg                  exit (0);
639fd7d9bd3Smrg              }
640fd7d9bd3SmrgEOF
641fd7d9bd3Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
642fd7d9bd3Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
643fd7d9bd3Smrg		fi ;;
644fd7d9bd3Smrg	esac
645fd7d9bd3Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
646fd7d9bd3Smrg	then
647350952b9Smrg	    eval $set_cc_for_build
648350952b9Smrg
649350952b9Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
650350952b9Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
651350952b9Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
652350952b9Smrg	    #
653350952b9Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
654350952b9Smrg	    # => hppa2.0w-hp-hpux11.23
655350952b9Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
656350952b9Smrg	    # => hppa64-hp-hpux11.23
657350952b9Smrg
658350952b9Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
659350952b9Smrg		grep __LP64__ >/dev/null
660fd7d9bd3Smrg	    then
661fd7d9bd3Smrg		HP_ARCH="hppa2.0w"
662fd7d9bd3Smrg	    else
663fd7d9bd3Smrg		HP_ARCH="hppa64"
664fd7d9bd3Smrg	    fi
665fd7d9bd3Smrg	fi
666fd7d9bd3Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
667350952b9Smrg	exit ;;
668fd7d9bd3Smrg    ia64:HP-UX:*:*)
669fd7d9bd3Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
670fd7d9bd3Smrg	echo ia64-hp-hpux${HPUX_REV}
671350952b9Smrg	exit ;;
672fd7d9bd3Smrg    3050*:HI-UX:*:*)
673fd7d9bd3Smrg	eval $set_cc_for_build
674fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
675fd7d9bd3Smrg	#include <unistd.h>
676fd7d9bd3Smrg	int
677fd7d9bd3Smrg	main ()
678fd7d9bd3Smrg	{
679fd7d9bd3Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
680fd7d9bd3Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
681fd7d9bd3Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
682fd7d9bd3Smrg	     results, however.  */
683fd7d9bd3Smrg	  if (CPU_IS_PA_RISC (cpu))
684fd7d9bd3Smrg	    {
685fd7d9bd3Smrg	      switch (cpu)
686fd7d9bd3Smrg		{
687fd7d9bd3Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
688fd7d9bd3Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
689fd7d9bd3Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
690fd7d9bd3Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
691fd7d9bd3Smrg		}
692fd7d9bd3Smrg	    }
693fd7d9bd3Smrg	  else if (CPU_IS_HP_MC68K (cpu))
694fd7d9bd3Smrg	    puts ("m68k-hitachi-hiuxwe2");
695fd7d9bd3Smrg	  else puts ("unknown-hitachi-hiuxwe2");
696fd7d9bd3Smrg	  exit (0);
697fd7d9bd3Smrg	}
698fd7d9bd3SmrgEOF
699350952b9Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
700350952b9Smrg		{ echo "$SYSTEM_NAME"; exit; }
701fd7d9bd3Smrg	echo unknown-hitachi-hiuxwe2
702350952b9Smrg	exit ;;
703fd7d9bd3Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
704fd7d9bd3Smrg	echo hppa1.1-hp-bsd
705350952b9Smrg	exit ;;
706fd7d9bd3Smrg    9000/8??:4.3bsd:*:*)
707fd7d9bd3Smrg	echo hppa1.0-hp-bsd
708350952b9Smrg	exit ;;
709fd7d9bd3Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
710fd7d9bd3Smrg	echo hppa1.0-hp-mpeix
711350952b9Smrg	exit ;;
712fd7d9bd3Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
713fd7d9bd3Smrg	echo hppa1.1-hp-osf
714350952b9Smrg	exit ;;
715fd7d9bd3Smrg    hp8??:OSF1:*:*)
716fd7d9bd3Smrg	echo hppa1.0-hp-osf
717350952b9Smrg	exit ;;
718fd7d9bd3Smrg    i*86:OSF1:*:*)
719fd7d9bd3Smrg	if [ -x /usr/sbin/sysversion ] ; then
720fd7d9bd3Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
721fd7d9bd3Smrg	else
722fd7d9bd3Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
723fd7d9bd3Smrg	fi
724350952b9Smrg	exit ;;
725fd7d9bd3Smrg    parisc*:Lites*:*:*)
726fd7d9bd3Smrg	echo hppa1.1-hp-lites
727350952b9Smrg	exit ;;
728fd7d9bd3Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
729fd7d9bd3Smrg	echo c1-convex-bsd
730350952b9Smrg        exit ;;
731fd7d9bd3Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
732fd7d9bd3Smrg	if getsysinfo -f scalar_acc
733fd7d9bd3Smrg	then echo c32-convex-bsd
734fd7d9bd3Smrg	else echo c2-convex-bsd
735fd7d9bd3Smrg	fi
736350952b9Smrg        exit ;;
737fd7d9bd3Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
738fd7d9bd3Smrg	echo c34-convex-bsd
739350952b9Smrg        exit ;;
740fd7d9bd3Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
741fd7d9bd3Smrg	echo c38-convex-bsd
742350952b9Smrg        exit ;;
743fd7d9bd3Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
744fd7d9bd3Smrg	echo c4-convex-bsd
745350952b9Smrg        exit ;;
746fd7d9bd3Smrg    CRAY*Y-MP:*:*:*)
747fd7d9bd3Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748350952b9Smrg	exit ;;
749fd7d9bd3Smrg    CRAY*[A-Z]90:*:*:*)
750fd7d9bd3Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
751fd7d9bd3Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
752fd7d9bd3Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
753fd7d9bd3Smrg	      -e 's/\.[^.]*$/.X/'
754350952b9Smrg	exit ;;
755fd7d9bd3Smrg    CRAY*TS:*:*:*)
756fd7d9bd3Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
757350952b9Smrg	exit ;;
758fd7d9bd3Smrg    CRAY*T3E:*:*:*)
759fd7d9bd3Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760350952b9Smrg	exit ;;
761fd7d9bd3Smrg    CRAY*SV1:*:*:*)
762fd7d9bd3Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763350952b9Smrg	exit ;;
764fd7d9bd3Smrg    *:UNICOS/mp:*:*)
765350952b9Smrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766350952b9Smrg	exit ;;
767fd7d9bd3Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
768fd7d9bd3Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
769fd7d9bd3Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
770fd7d9bd3Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
771fd7d9bd3Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
772350952b9Smrg        exit ;;
773350952b9Smrg    5000:UNIX_System_V:4.*:*)
774350952b9Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775350952b9Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
776350952b9Smrg        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777350952b9Smrg	exit ;;
778fd7d9bd3Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
779fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
780350952b9Smrg	exit ;;
781fd7d9bd3Smrg    sparc*:BSD/OS:*:*)
782fd7d9bd3Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
783350952b9Smrg	exit ;;
784fd7d9bd3Smrg    *:BSD/OS:*:*)
785fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
786350952b9Smrg	exit ;;
787350952b9Smrg    *:FreeBSD:*:*)
788350952b9Smrg	case ${UNAME_MACHINE} in
789350952b9Smrg	    pc98)
790350952b9Smrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
791350952b9Smrg	    amd64)
792350952b9Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
793350952b9Smrg	    *)
794350952b9Smrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795350952b9Smrg	esac
796350952b9Smrg	exit ;;
797fd7d9bd3Smrg    i*:CYGWIN*:*)
798fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-cygwin
799350952b9Smrg	exit ;;
800350952b9Smrg    *:MINGW*:*)
801fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-mingw32
802350952b9Smrg	exit ;;
803350952b9Smrg    i*:windows32*:*)
804350952b9Smrg    	# uname -m includes "-pc" on this system.
805350952b9Smrg    	echo ${UNAME_MACHINE}-mingw32
806350952b9Smrg	exit ;;
807fd7d9bd3Smrg    i*:PW*:*)
808fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-pw32
809350952b9Smrg	exit ;;
810350952b9Smrg    *:Interix*:[3456]*)
811350952b9Smrg    	case ${UNAME_MACHINE} in
812350952b9Smrg	    x86)
813350952b9Smrg		echo i586-pc-interix${UNAME_RELEASE}
814350952b9Smrg		exit ;;
815350952b9Smrg	    EM64T | authenticamd | genuineintel)
816350952b9Smrg		echo x86_64-unknown-interix${UNAME_RELEASE}
817350952b9Smrg		exit ;;
818350952b9Smrg	    IA64)
819350952b9Smrg		echo ia64-unknown-interix${UNAME_RELEASE}
820350952b9Smrg		exit ;;
821350952b9Smrg	esac ;;
822fd7d9bd3Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
823fd7d9bd3Smrg	echo i${UNAME_MACHINE}-pc-mks
824350952b9Smrg	exit ;;
825fd7d9bd3Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
826fd7d9bd3Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
827fd7d9bd3Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
828fd7d9bd3Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
829fd7d9bd3Smrg	echo i586-pc-interix
830350952b9Smrg	exit ;;
831fd7d9bd3Smrg    i*:UWIN*:*)
832fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-uwin
833350952b9Smrg	exit ;;
834350952b9Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
835350952b9Smrg	echo x86_64-unknown-cygwin
836350952b9Smrg	exit ;;
837fd7d9bd3Smrg    p*:CYGWIN*:*)
838fd7d9bd3Smrg	echo powerpcle-unknown-cygwin
839350952b9Smrg	exit ;;
840fd7d9bd3Smrg    prep*:SunOS:5.*:*)
841fd7d9bd3Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
842350952b9Smrg	exit ;;
843fd7d9bd3Smrg    *:GNU:*:*)
844350952b9Smrg	# the GNU system
845fd7d9bd3Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
846350952b9Smrg	exit ;;
847350952b9Smrg    *:GNU/*:*:*)
848350952b9Smrg	# other systems with GNU libc and userland
849350952b9Smrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
850350952b9Smrg	exit ;;
851fd7d9bd3Smrg    i*86:Minix:*:*)
852fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-minix
853350952b9Smrg	exit ;;
854fd7d9bd3Smrg    arm*:Linux:*:*)
855350952b9Smrg	eval $set_cc_for_build
856350952b9Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
857350952b9Smrg	    | grep -q __ARM_EABI__
858350952b9Smrg	then
859350952b9Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
860350952b9Smrg	else
861350952b9Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
862350952b9Smrg	fi
863350952b9Smrg	exit ;;
864350952b9Smrg    avr32*:Linux:*:*)
865fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
866350952b9Smrg	exit ;;
867fd7d9bd3Smrg    cris:Linux:*:*)
868fd7d9bd3Smrg	echo cris-axis-linux-gnu
869350952b9Smrg	exit ;;
870350952b9Smrg    crisv32:Linux:*:*)
871350952b9Smrg	echo crisv32-axis-linux-gnu
872350952b9Smrg	exit ;;
873350952b9Smrg    frv:Linux:*:*)
874350952b9Smrg    	echo frv-unknown-linux-gnu
875350952b9Smrg	exit ;;
876fd7d9bd3Smrg    ia64:Linux:*:*)
877350952b9Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
878350952b9Smrg	exit ;;
879350952b9Smrg    m32r*:Linux:*:*)
880350952b9Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
881350952b9Smrg	exit ;;
882fd7d9bd3Smrg    m68*:Linux:*:*)
883fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
884350952b9Smrg	exit ;;
885fd7d9bd3Smrg    mips:Linux:*:*)
886fd7d9bd3Smrg	eval $set_cc_for_build
887fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
888fd7d9bd3Smrg	#undef CPU
889fd7d9bd3Smrg	#undef mips
890fd7d9bd3Smrg	#undef mipsel
891fd7d9bd3Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
892fd7d9bd3Smrg	CPU=mipsel
893fd7d9bd3Smrg	#else
894fd7d9bd3Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
895fd7d9bd3Smrg	CPU=mips
896fd7d9bd3Smrg	#else
897fd7d9bd3Smrg	CPU=
898fd7d9bd3Smrg	#endif
899fd7d9bd3Smrg	#endif
900fd7d9bd3SmrgEOF
901350952b9Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
902350952b9Smrg	    /^CPU/{
903350952b9Smrg		s: ::g
904350952b9Smrg		p
905350952b9Smrg	    }'`"
906350952b9Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
907fd7d9bd3Smrg	;;
908fd7d9bd3Smrg    mips64:Linux:*:*)
909fd7d9bd3Smrg	eval $set_cc_for_build
910fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
911fd7d9bd3Smrg	#undef CPU
912fd7d9bd3Smrg	#undef mips64
913fd7d9bd3Smrg	#undef mips64el
914fd7d9bd3Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
915fd7d9bd3Smrg	CPU=mips64el
916fd7d9bd3Smrg	#else
917fd7d9bd3Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
918fd7d9bd3Smrg	CPU=mips64
919fd7d9bd3Smrg	#else
920fd7d9bd3Smrg	CPU=
921fd7d9bd3Smrg	#endif
922fd7d9bd3Smrg	#endif
923fd7d9bd3SmrgEOF
924350952b9Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
925350952b9Smrg	    /^CPU/{
926350952b9Smrg		s: ::g
927350952b9Smrg		p
928350952b9Smrg	    }'`"
929350952b9Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
930fd7d9bd3Smrg	;;
931350952b9Smrg    or32:Linux:*:*)
932350952b9Smrg	echo or32-unknown-linux-gnu
933350952b9Smrg	exit ;;
934fd7d9bd3Smrg    ppc:Linux:*:*)
935350952b9Smrg	echo powerpc-unknown-linux-gnu
936350952b9Smrg	exit ;;
937fd7d9bd3Smrg    ppc64:Linux:*:*)
938350952b9Smrg	echo powerpc64-unknown-linux-gnu
939350952b9Smrg	exit ;;
940fd7d9bd3Smrg    alpha:Linux:*:*)
941fd7d9bd3Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
942fd7d9bd3Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
943fd7d9bd3Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
944fd7d9bd3Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
945fd7d9bd3Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
946fd7d9bd3Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
947fd7d9bd3Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
948fd7d9bd3Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
949fd7d9bd3Smrg        esac
950fd7d9bd3Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
951fd7d9bd3Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
952fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
953350952b9Smrg	exit ;;
954350952b9Smrg    padre:Linux:*:*)
955350952b9Smrg	echo sparc-unknown-linux-gnu
956350952b9Smrg	exit ;;
957fd7d9bd3Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
958fd7d9bd3Smrg	# Look for CPU level
959fd7d9bd3Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
960fd7d9bd3Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
961fd7d9bd3Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
962fd7d9bd3Smrg	  *)    echo hppa-unknown-linux-gnu ;;
963fd7d9bd3Smrg	esac
964350952b9Smrg	exit ;;
965fd7d9bd3Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
966fd7d9bd3Smrg	echo hppa64-unknown-linux-gnu
967350952b9Smrg	exit ;;
968fd7d9bd3Smrg    s390:Linux:*:* | s390x:Linux:*:*)
969350952b9Smrg	echo ${UNAME_MACHINE}-ibm-linux
970350952b9Smrg	exit ;;
971fd7d9bd3Smrg    sh64*:Linux:*:*)
972fd7d9bd3Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
973350952b9Smrg	exit ;;
974fd7d9bd3Smrg    sh*:Linux:*:*)
975fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
976350952b9Smrg	exit ;;
977fd7d9bd3Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
978fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
979350952b9Smrg	exit ;;
980350952b9Smrg    vax:Linux:*:*)
981350952b9Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
982350952b9Smrg	exit ;;
983fd7d9bd3Smrg    x86_64:Linux:*:*)
984350952b9Smrg	echo x86_64-unknown-linux-gnu
985350952b9Smrg	exit ;;
986350952b9Smrg    xtensa*:Linux:*:*)
987350952b9Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
988350952b9Smrg	exit ;;
989fd7d9bd3Smrg    i*86:Linux:*:*)
990fd7d9bd3Smrg	# The BFD linker knows what the default object file format is, so
991fd7d9bd3Smrg	# first see if it will tell us. cd to the root directory to prevent
992fd7d9bd3Smrg	# problems with other programs or directories called `ld' in the path.
993fd7d9bd3Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
994fd7d9bd3Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
995fd7d9bd3Smrg			 | sed -ne '/supported targets:/!d
996fd7d9bd3Smrg				    s/[ 	][ 	]*/ /g
997fd7d9bd3Smrg				    s/.*supported targets: *//
998fd7d9bd3Smrg				    s/ .*//
999fd7d9bd3Smrg				    p'`
1000fd7d9bd3Smrg        case "$ld_supported_targets" in
1001fd7d9bd3Smrg	  elf32-i386)
1002fd7d9bd3Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
1003fd7d9bd3Smrg		;;
1004fd7d9bd3Smrg	  a.out-i386-linux)
1005fd7d9bd3Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
1006350952b9Smrg		exit ;;
1007fd7d9bd3Smrg	  "")
1008fd7d9bd3Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
1009fd7d9bd3Smrg		# one that does not give us useful --help.
1010fd7d9bd3Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
1011350952b9Smrg		exit ;;
1012fd7d9bd3Smrg	esac
1013fd7d9bd3Smrg	# Determine whether the default compiler is a.out or elf
1014fd7d9bd3Smrg	eval $set_cc_for_build
1015fd7d9bd3Smrg	sed 's/^	//' << EOF >$dummy.c
1016fd7d9bd3Smrg	#include <features.h>
1017fd7d9bd3Smrg	#ifdef __ELF__
1018fd7d9bd3Smrg	# ifdef __GLIBC__
1019fd7d9bd3Smrg	#  if __GLIBC__ >= 2
1020fd7d9bd3Smrg	LIBC=gnu
1021fd7d9bd3Smrg	#  else
1022fd7d9bd3Smrg	LIBC=gnulibc1
1023fd7d9bd3Smrg	#  endif
1024fd7d9bd3Smrg	# else
1025fd7d9bd3Smrg	LIBC=gnulibc1
1026fd7d9bd3Smrg	# endif
1027fd7d9bd3Smrg	#else
1028350952b9Smrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1029fd7d9bd3Smrg	LIBC=gnu
1030fd7d9bd3Smrg	#else
1031fd7d9bd3Smrg	LIBC=gnuaout
1032fd7d9bd3Smrg	#endif
1033fd7d9bd3Smrg	#endif
1034350952b9Smrg	#ifdef __dietlibc__
1035350952b9Smrg	LIBC=dietlibc
1036350952b9Smrg	#endif
1037fd7d9bd3SmrgEOF
1038350952b9Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1039350952b9Smrg	    /^LIBC/{
1040350952b9Smrg		s: ::g
1041350952b9Smrg		p
1042350952b9Smrg	    }'`"
1043350952b9Smrg	test x"${LIBC}" != x && {
1044350952b9Smrg		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1045350952b9Smrg		exit
1046350952b9Smrg	}
1047350952b9Smrg	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1048fd7d9bd3Smrg	;;
1049fd7d9bd3Smrg    i*86:DYNIX/ptx:4*:*)
1050fd7d9bd3Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1051fd7d9bd3Smrg	# earlier versions are messed up and put the nodename in both
1052fd7d9bd3Smrg	# sysname and nodename.
1053fd7d9bd3Smrg	echo i386-sequent-sysv4
1054350952b9Smrg	exit ;;
1055fd7d9bd3Smrg    i*86:UNIX_SV:4.2MP:2.*)
1056fd7d9bd3Smrg        # Unixware is an offshoot of SVR4, but it has its own version
1057fd7d9bd3Smrg        # number series starting with 2...
1058fd7d9bd3Smrg        # I am not positive that other SVR4 systems won't match this,
1059fd7d9bd3Smrg	# I just have to hope.  -- rms.
1060fd7d9bd3Smrg        # Use sysv4.2uw... so that sysv4* matches it.
1061fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1062350952b9Smrg	exit ;;
1063fd7d9bd3Smrg    i*86:OS/2:*:*)
1064fd7d9bd3Smrg	# If we were able to find `uname', then EMX Unix compatibility
1065fd7d9bd3Smrg	# is probably installed.
1066fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
1067350952b9Smrg	exit ;;
1068fd7d9bd3Smrg    i*86:XTS-300:*:STOP)
1069fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-stop
1070350952b9Smrg	exit ;;
1071fd7d9bd3Smrg    i*86:atheos:*:*)
1072fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-atheos
1073350952b9Smrg	exit ;;
1074350952b9Smrg    i*86:syllable:*:*)
1075350952b9Smrg	echo ${UNAME_MACHINE}-pc-syllable
1076350952b9Smrg	exit ;;
1077fd7d9bd3Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1078fd7d9bd3Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
1079350952b9Smrg	exit ;;
1080fd7d9bd3Smrg    i*86:*DOS:*:*)
1081fd7d9bd3Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1082350952b9Smrg	exit ;;
1083fd7d9bd3Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1084fd7d9bd3Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1085fd7d9bd3Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1086fd7d9bd3Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1087fd7d9bd3Smrg	else
1088fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1089fd7d9bd3Smrg	fi
1090350952b9Smrg	exit ;;
1091350952b9Smrg    i*86:*:5:[678]*)
1092350952b9Smrg    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1093fd7d9bd3Smrg	case `/bin/uname -X | grep "^Machine"` in
1094fd7d9bd3Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1095fd7d9bd3Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1096fd7d9bd3Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1097fd7d9bd3Smrg	esac
1098fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1099350952b9Smrg	exit ;;
1100fd7d9bd3Smrg    i*86:*:3.2:*)
1101fd7d9bd3Smrg	if test -f /usr/options/cb.name; then
1102fd7d9bd3Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1103fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1104fd7d9bd3Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1105fd7d9bd3Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1106fd7d9bd3Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1107fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1108fd7d9bd3Smrg			&& UNAME_MACHINE=i586
1109fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1110fd7d9bd3Smrg			&& UNAME_MACHINE=i686
1111fd7d9bd3Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1112fd7d9bd3Smrg			&& UNAME_MACHINE=i686
1113fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1114fd7d9bd3Smrg	else
1115fd7d9bd3Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1116fd7d9bd3Smrg	fi
1117350952b9Smrg	exit ;;
1118fd7d9bd3Smrg    pc:*:*:*)
1119fd7d9bd3Smrg	# Left here for compatibility:
1120fd7d9bd3Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1121350952b9Smrg        # the processor, so we play safe by assuming i586.
1122350952b9Smrg	# Note: whatever this is, it MUST be the same as what config.sub
1123350952b9Smrg	# prints for the "djgpp" host, or else GDB configury will decide that
1124350952b9Smrg	# this is a cross-build.
1125350952b9Smrg	echo i586-pc-msdosdjgpp
1126350952b9Smrg        exit ;;
1127fd7d9bd3Smrg    Intel:Mach:3*:*)
1128fd7d9bd3Smrg	echo i386-pc-mach3
1129350952b9Smrg	exit ;;
1130fd7d9bd3Smrg    paragon:*:*:*)
1131fd7d9bd3Smrg	echo i860-intel-osf1
1132350952b9Smrg	exit ;;
1133fd7d9bd3Smrg    i860:*:4.*:*) # i860-SVR4
1134fd7d9bd3Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1135fd7d9bd3Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1136fd7d9bd3Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1137fd7d9bd3Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1138fd7d9bd3Smrg	fi
1139350952b9Smrg	exit ;;
1140fd7d9bd3Smrg    mini*:CTIX:SYS*5:*)
1141fd7d9bd3Smrg	# "miniframe"
1142fd7d9bd3Smrg	echo m68010-convergent-sysv
1143350952b9Smrg	exit ;;
1144fd7d9bd3Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1145fd7d9bd3Smrg	echo m68k-convergent-sysv
1146350952b9Smrg	exit ;;
1147fd7d9bd3Smrg    M680?0:D-NIX:5.3:*)
1148fd7d9bd3Smrg	echo m68k-diab-dnix
1149350952b9Smrg	exit ;;
1150350952b9Smrg    M68*:*:R3V[5678]*:*)
1151350952b9Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1152350952b9Smrg    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)
1153fd7d9bd3Smrg	OS_REL=''
1154fd7d9bd3Smrg	test -r /etc/.relid \
1155fd7d9bd3Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1156fd7d9bd3Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1157350952b9Smrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1158fd7d9bd3Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1159350952b9Smrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1160fd7d9bd3Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1161fd7d9bd3Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162350952b9Smrg          && { echo i486-ncr-sysv4; exit; } ;;
1163350952b9Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1164350952b9Smrg	OS_REL='.3'
1165350952b9Smrg	test -r /etc/.relid \
1166350952b9Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1167350952b9Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1168350952b9Smrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1169350952b9Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1170350952b9Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1171350952b9Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1172350952b9Smrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1173fd7d9bd3Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1174fd7d9bd3Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
1175350952b9Smrg	exit ;;
1176fd7d9bd3Smrg    mc68030:UNIX_System_V:4.*:*)
1177fd7d9bd3Smrg	echo m68k-atari-sysv4
1178350952b9Smrg	exit ;;
1179fd7d9bd3Smrg    TSUNAMI:LynxOS:2.*:*)
1180fd7d9bd3Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
1181350952b9Smrg	exit ;;
1182fd7d9bd3Smrg    rs6000:LynxOS:2.*:*)
1183fd7d9bd3Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1184350952b9Smrg	exit ;;
1185fd7d9bd3Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1186fd7d9bd3Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1187350952b9Smrg	exit ;;
1188fd7d9bd3Smrg    SM[BE]S:UNIX_SV:*:*)
1189fd7d9bd3Smrg	echo mips-dde-sysv${UNAME_RELEASE}
1190350952b9Smrg	exit ;;
1191fd7d9bd3Smrg    RM*:ReliantUNIX-*:*:*)
1192fd7d9bd3Smrg	echo mips-sni-sysv4
1193350952b9Smrg	exit ;;
1194fd7d9bd3Smrg    RM*:SINIX-*:*:*)
1195fd7d9bd3Smrg	echo mips-sni-sysv4
1196350952b9Smrg	exit ;;
1197fd7d9bd3Smrg    *:SINIX-*:*:*)
1198fd7d9bd3Smrg	if uname -p 2>/dev/null >/dev/null ; then
1199fd7d9bd3Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1200fd7d9bd3Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1201fd7d9bd3Smrg	else
1202fd7d9bd3Smrg		echo ns32k-sni-sysv
1203fd7d9bd3Smrg	fi
1204350952b9Smrg	exit ;;
1205fd7d9bd3Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1206fd7d9bd3Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1207fd7d9bd3Smrg        echo i586-unisys-sysv4
1208350952b9Smrg        exit ;;
1209fd7d9bd3Smrg    *:UNIX_System_V:4*:FTX*)
1210fd7d9bd3Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1211fd7d9bd3Smrg	# How about differentiating between stratus architectures? -djm
1212fd7d9bd3Smrg	echo hppa1.1-stratus-sysv4
1213350952b9Smrg	exit ;;
1214fd7d9bd3Smrg    *:*:*:FTX*)
1215fd7d9bd3Smrg	# From seanf@swdc.stratus.com.
1216fd7d9bd3Smrg	echo i860-stratus-sysv4
1217350952b9Smrg	exit ;;
1218350952b9Smrg    i*86:VOS:*:*)
1219350952b9Smrg	# From Paul.Green@stratus.com.
1220350952b9Smrg	echo ${UNAME_MACHINE}-stratus-vos
1221350952b9Smrg	exit ;;
1222fd7d9bd3Smrg    *:VOS:*:*)
1223fd7d9bd3Smrg	# From Paul.Green@stratus.com.
1224fd7d9bd3Smrg	echo hppa1.1-stratus-vos
1225350952b9Smrg	exit ;;
1226fd7d9bd3Smrg    mc68*:A/UX:*:*)
1227fd7d9bd3Smrg	echo m68k-apple-aux${UNAME_RELEASE}
1228350952b9Smrg	exit ;;
1229fd7d9bd3Smrg    news*:NEWS-OS:6*:*)
1230fd7d9bd3Smrg	echo mips-sony-newsos6
1231350952b9Smrg	exit ;;
1232fd7d9bd3Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1233fd7d9bd3Smrg	if [ -d /usr/nec ]; then
1234fd7d9bd3Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
1235fd7d9bd3Smrg	else
1236fd7d9bd3Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
1237fd7d9bd3Smrg	fi
1238350952b9Smrg        exit ;;
1239fd7d9bd3Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1240fd7d9bd3Smrg	echo powerpc-be-beos
1241350952b9Smrg	exit ;;
1242fd7d9bd3Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1243fd7d9bd3Smrg	echo powerpc-apple-beos
1244350952b9Smrg	exit ;;
1245fd7d9bd3Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1246fd7d9bd3Smrg	echo i586-pc-beos
1247350952b9Smrg	exit ;;
1248350952b9Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1249350952b9Smrg	echo i586-pc-haiku
1250350952b9Smrg	exit ;;
1251fd7d9bd3Smrg    SX-4:SUPER-UX:*:*)
1252fd7d9bd3Smrg	echo sx4-nec-superux${UNAME_RELEASE}
1253350952b9Smrg	exit ;;
1254fd7d9bd3Smrg    SX-5:SUPER-UX:*:*)
1255fd7d9bd3Smrg	echo sx5-nec-superux${UNAME_RELEASE}
1256350952b9Smrg	exit ;;
1257fd7d9bd3Smrg    SX-6:SUPER-UX:*:*)
1258fd7d9bd3Smrg	echo sx6-nec-superux${UNAME_RELEASE}
1259350952b9Smrg	exit ;;
1260350952b9Smrg    SX-7:SUPER-UX:*:*)
1261350952b9Smrg	echo sx7-nec-superux${UNAME_RELEASE}
1262350952b9Smrg	exit ;;
1263350952b9Smrg    SX-8:SUPER-UX:*:*)
1264350952b9Smrg	echo sx8-nec-superux${UNAME_RELEASE}
1265350952b9Smrg	exit ;;
1266350952b9Smrg    SX-8R:SUPER-UX:*:*)
1267350952b9Smrg	echo sx8r-nec-superux${UNAME_RELEASE}
1268350952b9Smrg	exit ;;
1269fd7d9bd3Smrg    Power*:Rhapsody:*:*)
1270fd7d9bd3Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1271350952b9Smrg	exit ;;
1272fd7d9bd3Smrg    *:Rhapsody:*:*)
1273fd7d9bd3Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1274350952b9Smrg	exit ;;
1275fd7d9bd3Smrg    *:Darwin:*:*)
1276350952b9Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1277350952b9Smrg	case $UNAME_PROCESSOR in
1278350952b9Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1279fd7d9bd3Smrg	esac
1280fd7d9bd3Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1281350952b9Smrg	exit ;;
1282fd7d9bd3Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1283fd7d9bd3Smrg	UNAME_PROCESSOR=`uname -p`
1284fd7d9bd3Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1285fd7d9bd3Smrg		UNAME_PROCESSOR=i386
1286fd7d9bd3Smrg		UNAME_MACHINE=pc
1287fd7d9bd3Smrg	fi
1288fd7d9bd3Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1289350952b9Smrg	exit ;;
1290fd7d9bd3Smrg    *:QNX:*:4*)
1291fd7d9bd3Smrg	echo i386-pc-qnx
1292350952b9Smrg	exit ;;
1293350952b9Smrg    NSE-?:NONSTOP_KERNEL:*:*)
1294350952b9Smrg	echo nse-tandem-nsk${UNAME_RELEASE}
1295350952b9Smrg	exit ;;
1296350952b9Smrg    NSR-?:NONSTOP_KERNEL:*:*)
1297fd7d9bd3Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
1298350952b9Smrg	exit ;;
1299fd7d9bd3Smrg    *:NonStop-UX:*:*)
1300fd7d9bd3Smrg	echo mips-compaq-nonstopux
1301350952b9Smrg	exit ;;
1302fd7d9bd3Smrg    BS2000:POSIX*:*:*)
1303fd7d9bd3Smrg	echo bs2000-siemens-sysv
1304350952b9Smrg	exit ;;
1305fd7d9bd3Smrg    DS/*:UNIX_System_V:*:*)
1306fd7d9bd3Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1307350952b9Smrg	exit ;;
1308fd7d9bd3Smrg    *:Plan9:*:*)
1309fd7d9bd3Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1310fd7d9bd3Smrg	# is converted to i386 for consistency with other x86
1311fd7d9bd3Smrg	# operating systems.
1312fd7d9bd3Smrg	if test "$cputype" = "386"; then
1313fd7d9bd3Smrg	    UNAME_MACHINE=i386
1314fd7d9bd3Smrg	else
1315fd7d9bd3Smrg	    UNAME_MACHINE="$cputype"
1316fd7d9bd3Smrg	fi
1317fd7d9bd3Smrg	echo ${UNAME_MACHINE}-unknown-plan9
1318350952b9Smrg	exit ;;
1319fd7d9bd3Smrg    *:TOPS-10:*:*)
1320fd7d9bd3Smrg	echo pdp10-unknown-tops10
1321350952b9Smrg	exit ;;
1322fd7d9bd3Smrg    *:TENEX:*:*)
1323fd7d9bd3Smrg	echo pdp10-unknown-tenex
1324350952b9Smrg	exit ;;
1325fd7d9bd3Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1326fd7d9bd3Smrg	echo pdp10-dec-tops20
1327350952b9Smrg	exit ;;
1328fd7d9bd3Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1329fd7d9bd3Smrg	echo pdp10-xkl-tops20
1330350952b9Smrg	exit ;;
1331fd7d9bd3Smrg    *:TOPS-20:*:*)
1332fd7d9bd3Smrg	echo pdp10-unknown-tops20
1333350952b9Smrg	exit ;;
1334fd7d9bd3Smrg    *:ITS:*:*)
1335fd7d9bd3Smrg	echo pdp10-unknown-its
1336350952b9Smrg	exit ;;
1337fd7d9bd3Smrg    SEI:*:*:SEIUX)
1338fd7d9bd3Smrg        echo mips-sei-seiux${UNAME_RELEASE}
1339350952b9Smrg	exit ;;
1340350952b9Smrg    *:DragonFly:*:*)
1341350952b9Smrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1342350952b9Smrg	exit ;;
1343350952b9Smrg    *:*VMS:*:*)
1344350952b9Smrg    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1345350952b9Smrg	case "${UNAME_MACHINE}" in
1346350952b9Smrg	    A*) echo alpha-dec-vms ; exit ;;
1347350952b9Smrg	    I*) echo ia64-dec-vms ; exit ;;
1348350952b9Smrg	    V*) echo vax-dec-vms ; exit ;;
1349350952b9Smrg	esac ;;
1350350952b9Smrg    *:XENIX:*:SysV)
1351350952b9Smrg	echo i386-pc-xenix
1352350952b9Smrg	exit ;;
1353350952b9Smrg    i*86:skyos:*:*)
1354350952b9Smrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1355350952b9Smrg	exit ;;
1356350952b9Smrg    i*86:rdos:*:*)
1357350952b9Smrg	echo ${UNAME_MACHINE}-pc-rdos
1358350952b9Smrg	exit ;;
1359350952b9Smrg    i*86:AROS:*:*)
1360350952b9Smrg	echo ${UNAME_MACHINE}-pc-aros
1361350952b9Smrg	exit ;;
1362fd7d9bd3Smrgesac
1363fd7d9bd3Smrg
1364fd7d9bd3Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1365fd7d9bd3Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1366fd7d9bd3Smrg
1367fd7d9bd3Smrgeval $set_cc_for_build
1368fd7d9bd3Smrgcat >$dummy.c <<EOF
1369fd7d9bd3Smrg#ifdef _SEQUENT_
1370fd7d9bd3Smrg# include <sys/types.h>
1371fd7d9bd3Smrg# include <sys/utsname.h>
1372fd7d9bd3Smrg#endif
1373fd7d9bd3Smrgmain ()
1374fd7d9bd3Smrg{
1375fd7d9bd3Smrg#if defined (sony)
1376fd7d9bd3Smrg#if defined (MIPSEB)
1377fd7d9bd3Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1378fd7d9bd3Smrg     I don't know....  */
1379fd7d9bd3Smrg  printf ("mips-sony-bsd\n"); exit (0);
1380fd7d9bd3Smrg#else
1381fd7d9bd3Smrg#include <sys/param.h>
1382fd7d9bd3Smrg  printf ("m68k-sony-newsos%s\n",
1383fd7d9bd3Smrg#ifdef NEWSOS4
1384fd7d9bd3Smrg          "4"
1385fd7d9bd3Smrg#else
1386fd7d9bd3Smrg	  ""
1387fd7d9bd3Smrg#endif
1388fd7d9bd3Smrg         ); exit (0);
1389fd7d9bd3Smrg#endif
1390fd7d9bd3Smrg#endif
1391fd7d9bd3Smrg
1392fd7d9bd3Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
1393350952b9Smrg  printf ("arm-acorn-riscix\n"); exit (0);
1394fd7d9bd3Smrg#endif
1395fd7d9bd3Smrg
1396fd7d9bd3Smrg#if defined (hp300) && !defined (hpux)
1397fd7d9bd3Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1398fd7d9bd3Smrg#endif
1399fd7d9bd3Smrg
1400fd7d9bd3Smrg#if defined (NeXT)
1401fd7d9bd3Smrg#if !defined (__ARCHITECTURE__)
1402fd7d9bd3Smrg#define __ARCHITECTURE__ "m68k"
1403fd7d9bd3Smrg#endif
1404fd7d9bd3Smrg  int version;
1405fd7d9bd3Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1406fd7d9bd3Smrg  if (version < 4)
1407fd7d9bd3Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1408fd7d9bd3Smrg  else
1409fd7d9bd3Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1410fd7d9bd3Smrg  exit (0);
1411fd7d9bd3Smrg#endif
1412fd7d9bd3Smrg
1413fd7d9bd3Smrg#if defined (MULTIMAX) || defined (n16)
1414fd7d9bd3Smrg#if defined (UMAXV)
1415fd7d9bd3Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1416fd7d9bd3Smrg#else
1417fd7d9bd3Smrg#if defined (CMU)
1418fd7d9bd3Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1419fd7d9bd3Smrg#else
1420fd7d9bd3Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1421fd7d9bd3Smrg#endif
1422fd7d9bd3Smrg#endif
1423fd7d9bd3Smrg#endif
1424fd7d9bd3Smrg
1425fd7d9bd3Smrg#if defined (__386BSD__)
1426fd7d9bd3Smrg  printf ("i386-pc-bsd\n"); exit (0);
1427fd7d9bd3Smrg#endif
1428fd7d9bd3Smrg
1429fd7d9bd3Smrg#if defined (sequent)
1430fd7d9bd3Smrg#if defined (i386)
1431fd7d9bd3Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1432fd7d9bd3Smrg#endif
1433fd7d9bd3Smrg#if defined (ns32000)
1434fd7d9bd3Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1435fd7d9bd3Smrg#endif
1436fd7d9bd3Smrg#endif
1437fd7d9bd3Smrg
1438fd7d9bd3Smrg#if defined (_SEQUENT_)
1439fd7d9bd3Smrg    struct utsname un;
1440fd7d9bd3Smrg
1441fd7d9bd3Smrg    uname(&un);
1442fd7d9bd3Smrg
1443fd7d9bd3Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1444fd7d9bd3Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1445fd7d9bd3Smrg    }
1446fd7d9bd3Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1447fd7d9bd3Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1448fd7d9bd3Smrg    }
1449fd7d9bd3Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1450fd7d9bd3Smrg
1451fd7d9bd3Smrg#endif
1452fd7d9bd3Smrg
1453fd7d9bd3Smrg#if defined (vax)
1454fd7d9bd3Smrg# if !defined (ultrix)
1455fd7d9bd3Smrg#  include <sys/param.h>
1456fd7d9bd3Smrg#  if defined (BSD)
1457fd7d9bd3Smrg#   if BSD == 43
1458fd7d9bd3Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1459fd7d9bd3Smrg#   else
1460fd7d9bd3Smrg#    if BSD == 199006
1461fd7d9bd3Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1462fd7d9bd3Smrg#    else
1463fd7d9bd3Smrg      printf ("vax-dec-bsd\n"); exit (0);
1464fd7d9bd3Smrg#    endif
1465fd7d9bd3Smrg#   endif
1466fd7d9bd3Smrg#  else
1467fd7d9bd3Smrg    printf ("vax-dec-bsd\n"); exit (0);
1468fd7d9bd3Smrg#  endif
1469fd7d9bd3Smrg# else
1470fd7d9bd3Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1471fd7d9bd3Smrg# endif
1472fd7d9bd3Smrg#endif
1473fd7d9bd3Smrg
1474fd7d9bd3Smrg#if defined (alliant) && defined (i860)
1475fd7d9bd3Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1476fd7d9bd3Smrg#endif
1477fd7d9bd3Smrg
1478fd7d9bd3Smrg  exit (1);
1479fd7d9bd3Smrg}
1480fd7d9bd3SmrgEOF
1481fd7d9bd3Smrg
1482350952b9Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1483350952b9Smrg	{ echo "$SYSTEM_NAME"; exit; }
1484fd7d9bd3Smrg
1485fd7d9bd3Smrg# Apollos put the system type in the environment.
1486fd7d9bd3Smrg
1487350952b9Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1488fd7d9bd3Smrg
1489fd7d9bd3Smrg# Convex versions that predate uname can use getsysinfo(1)
1490fd7d9bd3Smrg
1491fd7d9bd3Smrgif [ -x /usr/convex/getsysinfo ]
1492fd7d9bd3Smrgthen
1493fd7d9bd3Smrg    case `getsysinfo -f cpu_type` in
1494fd7d9bd3Smrg    c1*)
1495fd7d9bd3Smrg	echo c1-convex-bsd
1496350952b9Smrg	exit ;;
1497fd7d9bd3Smrg    c2*)
1498fd7d9bd3Smrg	if getsysinfo -f scalar_acc
1499fd7d9bd3Smrg	then echo c32-convex-bsd
1500fd7d9bd3Smrg	else echo c2-convex-bsd
1501fd7d9bd3Smrg	fi
1502350952b9Smrg	exit ;;
1503fd7d9bd3Smrg    c34*)
1504fd7d9bd3Smrg	echo c34-convex-bsd
1505350952b9Smrg	exit ;;
1506fd7d9bd3Smrg    c38*)
1507fd7d9bd3Smrg	echo c38-convex-bsd
1508350952b9Smrg	exit ;;
1509fd7d9bd3Smrg    c4*)
1510fd7d9bd3Smrg	echo c4-convex-bsd
1511350952b9Smrg	exit ;;
1512fd7d9bd3Smrg    esac
1513fd7d9bd3Smrgfi
1514fd7d9bd3Smrg
1515fd7d9bd3Smrgcat >&2 <<EOF
1516fd7d9bd3Smrg$0: unable to guess system type
1517fd7d9bd3Smrg
1518fd7d9bd3SmrgThis script, last modified $timestamp, has failed to recognize
1519fd7d9bd3Smrgthe operating system you are using. It is advised that you
1520fd7d9bd3Smrgdownload the most up to date version of the config scripts from
1521fd7d9bd3Smrg
1522350952b9Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1523350952b9Smrgand
1524350952b9Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1525fd7d9bd3Smrg
1526fd7d9bd3SmrgIf the version you run ($0) is already up to date, please
1527fd7d9bd3Smrgsend the following data and any information you think might be
1528fd7d9bd3Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1529fd7d9bd3Smrginformation to handle your system.
1530fd7d9bd3Smrg
1531fd7d9bd3Smrgconfig.guess timestamp = $timestamp
1532fd7d9bd3Smrg
1533fd7d9bd3Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1534fd7d9bd3Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1535fd7d9bd3Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1536fd7d9bd3Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1537fd7d9bd3Smrg
1538fd7d9bd3Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1539fd7d9bd3Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1540fd7d9bd3Smrg
1541fd7d9bd3Smrghostinfo               = `(hostinfo) 2>/dev/null`
1542fd7d9bd3Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1543fd7d9bd3Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1544fd7d9bd3Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1545fd7d9bd3Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1546fd7d9bd3Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1547fd7d9bd3Smrg
1548fd7d9bd3SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1549fd7d9bd3SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1550fd7d9bd3SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1551fd7d9bd3SmrgUNAME_VERSION = ${UNAME_VERSION}
1552fd7d9bd3SmrgEOF
1553fd7d9bd3Smrg
1554fd7d9bd3Smrgexit 1
1555fd7d9bd3Smrg
1556fd7d9bd3Smrg# Local variables:
1557fd7d9bd3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1558fd7d9bd3Smrg# time-stamp-start: "timestamp='"
1559fd7d9bd3Smrg# time-stamp-format: "%:y-%02m-%02d"
1560fd7d9bd3Smrg# time-stamp-end: "'"
1561fd7d9bd3Smrg# End:
1562