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