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