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