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