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