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