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