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