config.guess revision 9f4658d1
1c06b6b69Smrg#! /bin/sh
2c06b6b69Smrg# Attempt to guess a canonical system name.
3c06b6b69Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
49f4658d1Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
59f4658d1Smrg#   Free Software Foundation, Inc.
6c06b6b69Smrg
79f4658d1Smrgtimestamp='2008-01-23'
8c06b6b69Smrg
9c06b6b69Smrg# This file is free software; you can redistribute it and/or modify it
10c06b6b69Smrg# under the terms of the GNU General Public License as published by
11c06b6b69Smrg# the Free Software Foundation; either version 2 of the License, or
12c06b6b69Smrg# (at your option) any later version.
13c06b6b69Smrg#
14c06b6b69Smrg# This program is distributed in the hope that it will be useful, but
15c06b6b69Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16c06b6b69Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17c06b6b69Smrg# General Public License for more details.
18c06b6b69Smrg#
19c06b6b69Smrg# You should have received a copy of the GNU General Public License
20c06b6b69Smrg# along with this program; if not, write to the Free Software
219f4658d1Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
229f4658d1Smrg# 02110-1301, USA.
23c06b6b69Smrg#
24c06b6b69Smrg# As a special exception to the GNU General Public License, if you
25c06b6b69Smrg# distribute this file as part of a program that contains a
26c06b6b69Smrg# configuration script generated by Autoconf, you may include it under
27c06b6b69Smrg# the same distribution terms that you use for the rest of that program.
28c06b6b69Smrg
299f4658d1Smrg
30c06b6b69Smrg# Originally written by Per Bothner <per@bothner.com>.
31c06b6b69Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
32c06b6b69Smrg# diff and a properly formatted ChangeLog entry.
33c06b6b69Smrg#
34c06b6b69Smrg# This script attempts to guess a canonical system name similar to
35c06b6b69Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
36c06b6b69Smrg# exits with 0.  Otherwise, it exits with 1.
37c06b6b69Smrg#
38c06b6b69Smrg# The plan is that this can be called by configure scripts if you
39c06b6b69Smrg# don't specify an explicit build system type.
40c06b6b69Smrg
41c06b6b69Smrgme=`echo "$0" | sed -e 's,.*/,,'`
42c06b6b69Smrg
43c06b6b69Smrgusage="\
44c06b6b69SmrgUsage: $0 [OPTION]
45c06b6b69Smrg
46c06b6b69SmrgOutput the configuration name of the system \`$me' is run on.
47c06b6b69Smrg
48c06b6b69SmrgOperation modes:
49c06b6b69Smrg  -h, --help         print this help, then exit
50c06b6b69Smrg  -t, --time-stamp   print date of last modification, then exit
51c06b6b69Smrg  -v, --version      print version number, then exit
52c06b6b69Smrg
53c06b6b69SmrgReport bugs and patches to <config-patches@gnu.org>."
54c06b6b69Smrg
55c06b6b69Smrgversion="\
56c06b6b69SmrgGNU config.guess ($timestamp)
57c06b6b69Smrg
58c06b6b69SmrgOriginally written by Per Bothner.
599f4658d1SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
609f4658d1Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61c06b6b69Smrg
62c06b6b69SmrgThis is free software; see the source for copying conditions.  There is NO
63c06b6b69Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64c06b6b69Smrg
65c06b6b69Smrghelp="
66c06b6b69SmrgTry \`$me --help' for more information."
67c06b6b69Smrg
68c06b6b69Smrg# Parse command line
69c06b6b69Smrgwhile test $# -gt 0 ; do
70c06b6b69Smrg  case $1 in
71c06b6b69Smrg    --time-stamp | --time* | -t )
729f4658d1Smrg       echo "$timestamp" ; exit ;;
73c06b6b69Smrg    --version | -v )
749f4658d1Smrg       echo "$version" ; exit ;;
75c06b6b69Smrg    --help | --h* | -h )
769f4658d1Smrg       echo "$usage"; exit ;;
77c06b6b69Smrg    -- )     # Stop option processing
78c06b6b69Smrg       shift; break ;;
79c06b6b69Smrg    - )	# Use stdin as input.
80c06b6b69Smrg       break ;;
81c06b6b69Smrg    -* )
82c06b6b69Smrg       echo "$me: invalid option $1$help" >&2
83c06b6b69Smrg       exit 1 ;;
84c06b6b69Smrg    * )
85c06b6b69Smrg       break ;;
86c06b6b69Smrg  esac
87c06b6b69Smrgdone
88c06b6b69Smrg
89c06b6b69Smrgif test $# != 0; then
90c06b6b69Smrg  echo "$me: too many arguments$help" >&2
91c06b6b69Smrg  exit 1
92c06b6b69Smrgfi
93c06b6b69Smrg
94c06b6b69Smrgtrap 'exit 1' 1 2 15
95c06b6b69Smrg
96c06b6b69Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97c06b6b69Smrg# compiler to aid in system detection is discouraged as it requires
98c06b6b69Smrg# temporary files to be created and, as you can see below, it is a
99c06b6b69Smrg# headache to deal with in a portable fashion.
100c06b6b69Smrg
101c06b6b69Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102c06b6b69Smrg# use `HOST_CC' if defined, but it is deprecated.
103c06b6b69Smrg
104c06b6b69Smrg# Portable tmp directory creation inspired by the Autoconf team.
105c06b6b69Smrg
106c06b6b69Smrgset_cc_for_build='
107c06b6b69Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108c06b6b69Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109c06b6b69Smrg: ${TMPDIR=/tmp} ;
1109f4658d1Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111c06b6b69Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112c06b6b69Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113c06b6b69Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114c06b6b69Smrgdummy=$tmp/dummy ;
115c06b6b69Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116c06b6b69Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
117c06b6b69Smrg ,,)    echo "int x;" > $dummy.c ;
118c06b6b69Smrg	for c in cc gcc c89 c99 ; do
119c06b6b69Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120c06b6b69Smrg	     CC_FOR_BUILD="$c"; break ;
121c06b6b69Smrg	  fi ;
122c06b6b69Smrg	done ;
123c06b6b69Smrg	if test x"$CC_FOR_BUILD" = x ; then
124c06b6b69Smrg	  CC_FOR_BUILD=no_compiler_found ;
125c06b6b69Smrg	fi
126c06b6b69Smrg	;;
127c06b6b69Smrg ,,*)   CC_FOR_BUILD=$CC ;;
128c06b6b69Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1299f4658d1Smrgesac ; set_cc_for_build= ;'
130c06b6b69Smrg
131c06b6b69Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132c06b6b69Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
133c06b6b69Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134c06b6b69Smrg	PATH=$PATH:/.attbin ; export PATH
135c06b6b69Smrgfi
136c06b6b69Smrg
137c06b6b69SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138c06b6b69SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139c06b6b69SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140c06b6b69SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141c06b6b69Smrg
142c06b6b69Smrg# Note: order is significant - the case branches are not exclusive.
143c06b6b69Smrg
144c06b6b69Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145c06b6b69Smrg    *:NetBSD:*:*)
146c06b6b69Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
147c06b6b69Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148c06b6b69Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149c06b6b69Smrg	# switched to ELF, *-*-netbsd* would select the old
150c06b6b69Smrg	# object file format.  This provides both forward
151c06b6b69Smrg	# compatibility and a consistent mechanism for selecting the
152c06b6b69Smrg	# object file format.
153c06b6b69Smrg	#
154c06b6b69Smrg	# Note: NetBSD doesn't particularly care about the vendor
155c06b6b69Smrg	# portion of the name.  We always set it to "unknown".
156c06b6b69Smrg	sysctl="sysctl -n hw.machine_arch"
157c06b6b69Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158c06b6b69Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159c06b6b69Smrg	case "${UNAME_MACHINE_ARCH}" in
160c06b6b69Smrg	    armeb) machine=armeb-unknown ;;
161c06b6b69Smrg	    arm*) machine=arm-unknown ;;
162c06b6b69Smrg	    sh3el) machine=shl-unknown ;;
163c06b6b69Smrg	    sh3eb) machine=sh-unknown ;;
1649f4658d1Smrg	    sh5el) machine=sh5le-unknown ;;
165c06b6b69Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
166c06b6b69Smrg	esac
167c06b6b69Smrg	# The Operating System including object format, if it has switched
168c06b6b69Smrg	# to ELF recently, or will in the future.
169c06b6b69Smrg	case "${UNAME_MACHINE_ARCH}" in
170c06b6b69Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171c06b6b69Smrg		eval $set_cc_for_build
172c06b6b69Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173c06b6b69Smrg			| grep __ELF__ >/dev/null
174c06b6b69Smrg		then
175c06b6b69Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176c06b6b69Smrg		    # Return netbsd for either.  FIX?
177c06b6b69Smrg		    os=netbsd
178c06b6b69Smrg		else
179c06b6b69Smrg		    os=netbsdelf
180c06b6b69Smrg		fi
181c06b6b69Smrg		;;
182c06b6b69Smrg	    *)
183c06b6b69Smrg	        os=netbsd
184c06b6b69Smrg		;;
185c06b6b69Smrg	esac
186c06b6b69Smrg	# The OS release
187c06b6b69Smrg	# Debian GNU/NetBSD machines have a different userland, and
188c06b6b69Smrg	# thus, need a distinct triplet. However, they do not need
189c06b6b69Smrg	# kernel version information, so it can be replaced with a
190c06b6b69Smrg	# suitable tag, in the style of linux-gnu.
191c06b6b69Smrg	case "${UNAME_VERSION}" in
192c06b6b69Smrg	    Debian*)
193c06b6b69Smrg		release='-gnu'
194c06b6b69Smrg		;;
195c06b6b69Smrg	    *)
196c06b6b69Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197c06b6b69Smrg		;;
198c06b6b69Smrg	esac
199c06b6b69Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
200c06b6b69Smrg	# contains redundant information, the shorter form:
201c06b6b69Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
202c06b6b69Smrg	echo "${machine}-${os}${release}"
2039f4658d1Smrg	exit ;;
204c06b6b69Smrg    *:OpenBSD:*:*)
2059f4658d1Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2069f4658d1Smrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2079f4658d1Smrg	exit ;;
2089f4658d1Smrg    *:ekkoBSD:*:*)
2099f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2109f4658d1Smrg	exit ;;
2119f4658d1Smrg    *:SolidBSD:*:*)
2129f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2139f4658d1Smrg	exit ;;
2149f4658d1Smrg    macppc:MirBSD:*:*)
2159f4658d1Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2169f4658d1Smrg	exit ;;
2179f4658d1Smrg    *:MirBSD:*:*)
2189f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2199f4658d1Smrg	exit ;;
220c06b6b69Smrg    alpha:OSF1:*:*)
2219f4658d1Smrg	case $UNAME_RELEASE in
2229f4658d1Smrg	*4.0)
223c06b6b69Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2249f4658d1Smrg		;;
2259f4658d1Smrg	*5.*)
2269f4658d1Smrg	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2279f4658d1Smrg		;;
2289f4658d1Smrg	esac
229c06b6b69Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
230c06b6b69Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
231c06b6b69Smrg	# covers most systems running today.  This code pipes the CPU
232c06b6b69Smrg	# types through head -n 1, so we only detect the type of CPU 0.
233c06b6b69Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234c06b6b69Smrg	case "$ALPHA_CPU_TYPE" in
235c06b6b69Smrg	    "EV4 (21064)")
236c06b6b69Smrg		UNAME_MACHINE="alpha" ;;
237c06b6b69Smrg	    "EV4.5 (21064)")
238c06b6b69Smrg		UNAME_MACHINE="alpha" ;;
239c06b6b69Smrg	    "LCA4 (21066/21068)")
240c06b6b69Smrg		UNAME_MACHINE="alpha" ;;
241c06b6b69Smrg	    "EV5 (21164)")
242c06b6b69Smrg		UNAME_MACHINE="alphaev5" ;;
243c06b6b69Smrg	    "EV5.6 (21164A)")
244c06b6b69Smrg		UNAME_MACHINE="alphaev56" ;;
245c06b6b69Smrg	    "EV5.6 (21164PC)")
246c06b6b69Smrg		UNAME_MACHINE="alphapca56" ;;
247c06b6b69Smrg	    "EV5.7 (21164PC)")
248c06b6b69Smrg		UNAME_MACHINE="alphapca57" ;;
249c06b6b69Smrg	    "EV6 (21264)")
250c06b6b69Smrg		UNAME_MACHINE="alphaev6" ;;
251c06b6b69Smrg	    "EV6.7 (21264A)")
252c06b6b69Smrg		UNAME_MACHINE="alphaev67" ;;
253c06b6b69Smrg	    "EV6.8CB (21264C)")
254c06b6b69Smrg		UNAME_MACHINE="alphaev68" ;;
255c06b6b69Smrg	    "EV6.8AL (21264B)")
256c06b6b69Smrg		UNAME_MACHINE="alphaev68" ;;
257c06b6b69Smrg	    "EV6.8CX (21264D)")
258c06b6b69Smrg		UNAME_MACHINE="alphaev68" ;;
259c06b6b69Smrg	    "EV6.9A (21264/EV69A)")
260c06b6b69Smrg		UNAME_MACHINE="alphaev69" ;;
261c06b6b69Smrg	    "EV7 (21364)")
262c06b6b69Smrg		UNAME_MACHINE="alphaev7" ;;
263c06b6b69Smrg	    "EV7.9 (21364A)")
264c06b6b69Smrg		UNAME_MACHINE="alphaev79" ;;
265c06b6b69Smrg	esac
2669f4658d1Smrg	# A Pn.n version is a patched version.
267c06b6b69Smrg	# A Vn.n version is a released version.
268c06b6b69Smrg	# A Tn.n version is a released field test version.
269c06b6b69Smrg	# A Xn.n version is an unreleased experimental baselevel.
270c06b6b69Smrg	# 1.2 uses "1.2" for uname -r.
2719f4658d1Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2729f4658d1Smrg	exit ;;
273c06b6b69Smrg    Alpha\ *:Windows_NT*:*)
274c06b6b69Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
275c06b6b69Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
276c06b6b69Smrg	# of the specific Alpha model?
277c06b6b69Smrg	echo alpha-pc-interix
2789f4658d1Smrg	exit ;;
279c06b6b69Smrg    21064:Windows_NT:50:3)
280c06b6b69Smrg	echo alpha-dec-winnt3.5
2819f4658d1Smrg	exit ;;
282c06b6b69Smrg    Amiga*:UNIX_System_V:4.0:*)
283c06b6b69Smrg	echo m68k-unknown-sysv4
2849f4658d1Smrg	exit ;;
285c06b6b69Smrg    *:[Aa]miga[Oo][Ss]:*:*)
286c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
2879f4658d1Smrg	exit ;;
288c06b6b69Smrg    *:[Mm]orph[Oo][Ss]:*:*)
289c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-morphos
2909f4658d1Smrg	exit ;;
291c06b6b69Smrg    *:OS/390:*:*)
292c06b6b69Smrg	echo i370-ibm-openedition
2939f4658d1Smrg	exit ;;
2949f4658d1Smrg    *:z/VM:*:*)
2959f4658d1Smrg	echo s390-ibm-zvmoe
2969f4658d1Smrg	exit ;;
2979f4658d1Smrg    *:OS400:*:*)
2989f4658d1Smrg        echo powerpc-ibm-os400
2999f4658d1Smrg	exit ;;
300c06b6b69Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301c06b6b69Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
3029f4658d1Smrg	exit ;;
3039f4658d1Smrg    arm:riscos:*:*|arm:RISCOS:*:*)
3049f4658d1Smrg	echo arm-unknown-riscos
3059f4658d1Smrg	exit ;;
306c06b6b69Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
307c06b6b69Smrg	echo hppa1.1-hitachi-hiuxmpp
3089f4658d1Smrg	exit ;;
309c06b6b69Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
310c06b6b69Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311c06b6b69Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
312c06b6b69Smrg		echo pyramid-pyramid-sysv3
313c06b6b69Smrg	else
314c06b6b69Smrg		echo pyramid-pyramid-bsd
315c06b6b69Smrg	fi
3169f4658d1Smrg	exit ;;
317c06b6b69Smrg    NILE*:*:*:dcosx)
318c06b6b69Smrg	echo pyramid-pyramid-svr4
3199f4658d1Smrg	exit ;;
320c06b6b69Smrg    DRS?6000:unix:4.0:6*)
321c06b6b69Smrg	echo sparc-icl-nx6
3229f4658d1Smrg	exit ;;
3239f4658d1Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324c06b6b69Smrg	case `/usr/bin/uname -p` in
3259f4658d1Smrg	    sparc) echo sparc-icl-nx7; exit ;;
326c06b6b69Smrg	esac ;;
327c06b6b69Smrg    sun4H:SunOS:5.*:*)
328c06b6b69Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3299f4658d1Smrg	exit ;;
330c06b6b69Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
331c06b6b69Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3329f4658d1Smrg	exit ;;
3339f4658d1Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
334c06b6b69Smrg	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3359f4658d1Smrg	exit ;;
336c06b6b69Smrg    sun4*:SunOS:6*:*)
337c06b6b69Smrg	# According to config.sub, this is the proper way to canonicalize
338c06b6b69Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
339c06b6b69Smrg	# it's likely to be more like Solaris than SunOS4.
340c06b6b69Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3419f4658d1Smrg	exit ;;
342c06b6b69Smrg    sun4*:SunOS:*:*)
343c06b6b69Smrg	case "`/usr/bin/arch -k`" in
344c06b6b69Smrg	    Series*|S4*)
345c06b6b69Smrg		UNAME_RELEASE=`uname -v`
346c06b6b69Smrg		;;
347c06b6b69Smrg	esac
348c06b6b69Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
349c06b6b69Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3509f4658d1Smrg	exit ;;
351c06b6b69Smrg    sun3*:SunOS:*:*)
352c06b6b69Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
3539f4658d1Smrg	exit ;;
354c06b6b69Smrg    sun*:*:4.2BSD:*)
355c06b6b69Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
356c06b6b69Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
357c06b6b69Smrg	case "`/bin/arch`" in
358c06b6b69Smrg	    sun3)
359c06b6b69Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
360c06b6b69Smrg		;;
361c06b6b69Smrg	    sun4)
362c06b6b69Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
363c06b6b69Smrg		;;
364c06b6b69Smrg	esac
3659f4658d1Smrg	exit ;;
366c06b6b69Smrg    aushp:SunOS:*:*)
367c06b6b69Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
3689f4658d1Smrg	exit ;;
369c06b6b69Smrg    # The situation for MiNT is a little confusing.  The machine name
370c06b6b69Smrg    # can be virtually everything (everything which is not
371c06b6b69Smrg    # "atarist" or "atariste" at least should have a processor
372c06b6b69Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
373c06b6b69Smrg    # to the lowercase version "mint" (or "freemint").  Finally
374c06b6b69Smrg    # the system name "TOS" denotes a system which is actually not
375c06b6b69Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
376c06b6b69Smrg    # be no problem.
377c06b6b69Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
378c06b6b69Smrg        echo m68k-atari-mint${UNAME_RELEASE}
3799f4658d1Smrg	exit ;;
380c06b6b69Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
381c06b6b69Smrg	echo m68k-atari-mint${UNAME_RELEASE}
3829f4658d1Smrg        exit ;;
383c06b6b69Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
384c06b6b69Smrg        echo m68k-atari-mint${UNAME_RELEASE}
3859f4658d1Smrg	exit ;;
386c06b6b69Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
387c06b6b69Smrg        echo m68k-milan-mint${UNAME_RELEASE}
3889f4658d1Smrg        exit ;;
389c06b6b69Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
390c06b6b69Smrg        echo m68k-hades-mint${UNAME_RELEASE}
3919f4658d1Smrg        exit ;;
392c06b6b69Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
393c06b6b69Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
3949f4658d1Smrg        exit ;;
3959f4658d1Smrg    m68k:machten:*:*)
3969f4658d1Smrg	echo m68k-apple-machten${UNAME_RELEASE}
3979f4658d1Smrg	exit ;;
398c06b6b69Smrg    powerpc:machten:*:*)
399c06b6b69Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
4009f4658d1Smrg	exit ;;
401c06b6b69Smrg    RISC*:Mach:*:*)
402c06b6b69Smrg	echo mips-dec-mach_bsd4.3
4039f4658d1Smrg	exit ;;
404c06b6b69Smrg    RISC*:ULTRIX:*:*)
405c06b6b69Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
4069f4658d1Smrg	exit ;;
407c06b6b69Smrg    VAX*:ULTRIX*:*:*)
408c06b6b69Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
4099f4658d1Smrg	exit ;;
410c06b6b69Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
411c06b6b69Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
4129f4658d1Smrg	exit ;;
413c06b6b69Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
414c06b6b69Smrg	eval $set_cc_for_build
415c06b6b69Smrg	sed 's/^	//' << EOF >$dummy.c
416c06b6b69Smrg#ifdef __cplusplus
417c06b6b69Smrg#include <stdio.h>  /* for printf() prototype */
418c06b6b69Smrg	int main (int argc, char *argv[]) {
419c06b6b69Smrg#else
420c06b6b69Smrg	int main (argc, argv) int argc; char *argv[]; {
421c06b6b69Smrg#endif
422c06b6b69Smrg	#if defined (host_mips) && defined (MIPSEB)
423c06b6b69Smrg	#if defined (SYSTYPE_SYSV)
424c06b6b69Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
425c06b6b69Smrg	#endif
426c06b6b69Smrg	#if defined (SYSTYPE_SVR4)
427c06b6b69Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
428c06b6b69Smrg	#endif
429c06b6b69Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
430c06b6b69Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
431c06b6b69Smrg	#endif
432c06b6b69Smrg	#endif
433c06b6b69Smrg	  exit (-1);
434c06b6b69Smrg	}
435c06b6b69SmrgEOF
4369f4658d1Smrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
4379f4658d1Smrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4389f4658d1Smrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
4399f4658d1Smrg	    { echo "$SYSTEM_NAME"; exit; }
440c06b6b69Smrg	echo mips-mips-riscos${UNAME_RELEASE}
4419f4658d1Smrg	exit ;;
442c06b6b69Smrg    Motorola:PowerMAX_OS:*:*)
443c06b6b69Smrg	echo powerpc-motorola-powermax
4449f4658d1Smrg	exit ;;
445c06b6b69Smrg    Motorola:*:4.3:PL8-*)
446c06b6b69Smrg	echo powerpc-harris-powermax
4479f4658d1Smrg	exit ;;
448c06b6b69Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
449c06b6b69Smrg	echo powerpc-harris-powermax
4509f4658d1Smrg	exit ;;
451c06b6b69Smrg    Night_Hawk:Power_UNIX:*:*)
452c06b6b69Smrg	echo powerpc-harris-powerunix
4539f4658d1Smrg	exit ;;
454c06b6b69Smrg    m88k:CX/UX:7*:*)
455c06b6b69Smrg	echo m88k-harris-cxux7
4569f4658d1Smrg	exit ;;
457c06b6b69Smrg    m88k:*:4*:R4*)
458c06b6b69Smrg	echo m88k-motorola-sysv4
4599f4658d1Smrg	exit ;;
460c06b6b69Smrg    m88k:*:3*:R3*)
461c06b6b69Smrg	echo m88k-motorola-sysv3
4629f4658d1Smrg	exit ;;
463c06b6b69Smrg    AViiON:dgux:*:*)
464c06b6b69Smrg        # DG/UX returns AViiON for all architectures
465c06b6b69Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
466c06b6b69Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
467c06b6b69Smrg	then
468c06b6b69Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
469c06b6b69Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
470c06b6b69Smrg	    then
471c06b6b69Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
472c06b6b69Smrg	    else
473c06b6b69Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
474c06b6b69Smrg	    fi
475c06b6b69Smrg	else
476c06b6b69Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
477c06b6b69Smrg	fi
4789f4658d1Smrg 	exit ;;
479c06b6b69Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
480c06b6b69Smrg	echo m88k-dolphin-sysv3
4819f4658d1Smrg	exit ;;
482c06b6b69Smrg    M88*:*:R3*:*)
483c06b6b69Smrg	# Delta 88k system running SVR3
484c06b6b69Smrg	echo m88k-motorola-sysv3
4859f4658d1Smrg	exit ;;
486c06b6b69Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
487c06b6b69Smrg	echo m88k-tektronix-sysv3
4889f4658d1Smrg	exit ;;
489c06b6b69Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
490c06b6b69Smrg	echo m68k-tektronix-bsd
4919f4658d1Smrg	exit ;;
492c06b6b69Smrg    *:IRIX*:*:*)
493c06b6b69Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
4949f4658d1Smrg	exit ;;
495c06b6b69Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
4969f4658d1Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
4979f4658d1Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
498c06b6b69Smrg    i*86:AIX:*:*)
499c06b6b69Smrg	echo i386-ibm-aix
5009f4658d1Smrg	exit ;;
501c06b6b69Smrg    ia64:AIX:*:*)
502c06b6b69Smrg	if [ -x /usr/bin/oslevel ] ; then
503c06b6b69Smrg		IBM_REV=`/usr/bin/oslevel`
504c06b6b69Smrg	else
505c06b6b69Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
506c06b6b69Smrg	fi
507c06b6b69Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5089f4658d1Smrg	exit ;;
509c06b6b69Smrg    *:AIX:2:3)
510c06b6b69Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
511c06b6b69Smrg		eval $set_cc_for_build
512c06b6b69Smrg		sed 's/^		//' << EOF >$dummy.c
513c06b6b69Smrg		#include <sys/systemcfg.h>
514c06b6b69Smrg
515c06b6b69Smrg		main()
516c06b6b69Smrg			{
517c06b6b69Smrg			if (!__power_pc())
518c06b6b69Smrg				exit(1);
519c06b6b69Smrg			puts("powerpc-ibm-aix3.2.5");
520c06b6b69Smrg			exit(0);
521c06b6b69Smrg			}
522c06b6b69SmrgEOF
5239f4658d1Smrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5249f4658d1Smrg		then
5259f4658d1Smrg			echo "$SYSTEM_NAME"
5269f4658d1Smrg		else
5279f4658d1Smrg			echo rs6000-ibm-aix3.2.5
5289f4658d1Smrg		fi
529c06b6b69Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
530c06b6b69Smrg		echo rs6000-ibm-aix3.2.4
531c06b6b69Smrg	else
532c06b6b69Smrg		echo rs6000-ibm-aix3.2
533c06b6b69Smrg	fi
5349f4658d1Smrg	exit ;;
5359f4658d1Smrg    *:AIX:*:[456])
536c06b6b69Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
537c06b6b69Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
538c06b6b69Smrg		IBM_ARCH=rs6000
539c06b6b69Smrg	else
540c06b6b69Smrg		IBM_ARCH=powerpc
541c06b6b69Smrg	fi
542c06b6b69Smrg	if [ -x /usr/bin/oslevel ] ; then
543c06b6b69Smrg		IBM_REV=`/usr/bin/oslevel`
544c06b6b69Smrg	else
545c06b6b69Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
546c06b6b69Smrg	fi
547c06b6b69Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5489f4658d1Smrg	exit ;;
549c06b6b69Smrg    *:AIX:*:*)
550c06b6b69Smrg	echo rs6000-ibm-aix
5519f4658d1Smrg	exit ;;
552c06b6b69Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
553c06b6b69Smrg	echo romp-ibm-bsd4.4
5549f4658d1Smrg	exit ;;
555c06b6b69Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
556c06b6b69Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5579f4658d1Smrg	exit ;;                             # report: romp-ibm BSD 4.3
558c06b6b69Smrg    *:BOSX:*:*)
559c06b6b69Smrg	echo rs6000-bull-bosx
5609f4658d1Smrg	exit ;;
561c06b6b69Smrg    DPX/2?00:B.O.S.:*:*)
562c06b6b69Smrg	echo m68k-bull-sysv3
5639f4658d1Smrg	exit ;;
564c06b6b69Smrg    9000/[34]??:4.3bsd:1.*:*)
565c06b6b69Smrg	echo m68k-hp-bsd
5669f4658d1Smrg	exit ;;
567c06b6b69Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
568c06b6b69Smrg	echo m68k-hp-bsd4.4
5699f4658d1Smrg	exit ;;
570c06b6b69Smrg    9000/[34678]??:HP-UX:*:*)
571c06b6b69Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
572c06b6b69Smrg	case "${UNAME_MACHINE}" in
573c06b6b69Smrg	    9000/31? )            HP_ARCH=m68000 ;;
574c06b6b69Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
575c06b6b69Smrg	    9000/[678][0-9][0-9])
576c06b6b69Smrg		if [ -x /usr/bin/getconf ]; then
577c06b6b69Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
578c06b6b69Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
579c06b6b69Smrg                    case "${sc_cpu_version}" in
580c06b6b69Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
581c06b6b69Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
582c06b6b69Smrg                      532)                      # CPU_PA_RISC2_0
583c06b6b69Smrg                        case "${sc_kernel_bits}" in
584c06b6b69Smrg                          32) HP_ARCH="hppa2.0n" ;;
585c06b6b69Smrg                          64) HP_ARCH="hppa2.0w" ;;
586c06b6b69Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
587c06b6b69Smrg                        esac ;;
588c06b6b69Smrg                    esac
589c06b6b69Smrg		fi
590c06b6b69Smrg		if [ "${HP_ARCH}" = "" ]; then
591c06b6b69Smrg		    eval $set_cc_for_build
592c06b6b69Smrg		    sed 's/^              //' << EOF >$dummy.c
593c06b6b69Smrg
594c06b6b69Smrg              #define _HPUX_SOURCE
595c06b6b69Smrg              #include <stdlib.h>
596c06b6b69Smrg              #include <unistd.h>
597c06b6b69Smrg
598c06b6b69Smrg              int main ()
599c06b6b69Smrg              {
600c06b6b69Smrg              #if defined(_SC_KERNEL_BITS)
601c06b6b69Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
602c06b6b69Smrg              #endif
603c06b6b69Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
604c06b6b69Smrg
605c06b6b69Smrg                  switch (cpu)
606c06b6b69Smrg              	{
607c06b6b69Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
608c06b6b69Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
609c06b6b69Smrg              	case CPU_PA_RISC2_0:
610c06b6b69Smrg              #if defined(_SC_KERNEL_BITS)
611c06b6b69Smrg              	    switch (bits)
612c06b6b69Smrg              		{
613c06b6b69Smrg              		case 64: puts ("hppa2.0w"); break;
614c06b6b69Smrg              		case 32: puts ("hppa2.0n"); break;
615c06b6b69Smrg              		default: puts ("hppa2.0"); break;
616c06b6b69Smrg              		} break;
617c06b6b69Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
618c06b6b69Smrg              	    puts ("hppa2.0"); break;
619c06b6b69Smrg              #endif
620c06b6b69Smrg              	default: puts ("hppa1.0"); break;
621c06b6b69Smrg              	}
622c06b6b69Smrg                  exit (0);
623c06b6b69Smrg              }
624c06b6b69SmrgEOF
625c06b6b69Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
626c06b6b69Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
627c06b6b69Smrg		fi ;;
628c06b6b69Smrg	esac
629c06b6b69Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
630c06b6b69Smrg	then
6319f4658d1Smrg	    eval $set_cc_for_build
6329f4658d1Smrg
6339f4658d1Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6349f4658d1Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6359f4658d1Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
6369f4658d1Smrg	    #
6379f4658d1Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
6389f4658d1Smrg	    # => hppa2.0w-hp-hpux11.23
6399f4658d1Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6409f4658d1Smrg	    # => hppa64-hp-hpux11.23
6419f4658d1Smrg
6429f4658d1Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6439f4658d1Smrg		grep __LP64__ >/dev/null
644c06b6b69Smrg	    then
645c06b6b69Smrg		HP_ARCH="hppa2.0w"
646c06b6b69Smrg	    else
647c06b6b69Smrg		HP_ARCH="hppa64"
648c06b6b69Smrg	    fi
649c06b6b69Smrg	fi
650c06b6b69Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6519f4658d1Smrg	exit ;;
652c06b6b69Smrg    ia64:HP-UX:*:*)
653c06b6b69Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
654c06b6b69Smrg	echo ia64-hp-hpux${HPUX_REV}
6559f4658d1Smrg	exit ;;
656c06b6b69Smrg    3050*:HI-UX:*:*)
657c06b6b69Smrg	eval $set_cc_for_build
658c06b6b69Smrg	sed 's/^	//' << EOF >$dummy.c
659c06b6b69Smrg	#include <unistd.h>
660c06b6b69Smrg	int
661c06b6b69Smrg	main ()
662c06b6b69Smrg	{
663c06b6b69Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
664c06b6b69Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
665c06b6b69Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
666c06b6b69Smrg	     results, however.  */
667c06b6b69Smrg	  if (CPU_IS_PA_RISC (cpu))
668c06b6b69Smrg	    {
669c06b6b69Smrg	      switch (cpu)
670c06b6b69Smrg		{
671c06b6b69Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
672c06b6b69Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
673c06b6b69Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
674c06b6b69Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
675c06b6b69Smrg		}
676c06b6b69Smrg	    }
677c06b6b69Smrg	  else if (CPU_IS_HP_MC68K (cpu))
678c06b6b69Smrg	    puts ("m68k-hitachi-hiuxwe2");
679c06b6b69Smrg	  else puts ("unknown-hitachi-hiuxwe2");
680c06b6b69Smrg	  exit (0);
681c06b6b69Smrg	}
682c06b6b69SmrgEOF
6839f4658d1Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
6849f4658d1Smrg		{ echo "$SYSTEM_NAME"; exit; }
685c06b6b69Smrg	echo unknown-hitachi-hiuxwe2
6869f4658d1Smrg	exit ;;
687c06b6b69Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
688c06b6b69Smrg	echo hppa1.1-hp-bsd
6899f4658d1Smrg	exit ;;
690c06b6b69Smrg    9000/8??:4.3bsd:*:*)
691c06b6b69Smrg	echo hppa1.0-hp-bsd
6929f4658d1Smrg	exit ;;
693c06b6b69Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
694c06b6b69Smrg	echo hppa1.0-hp-mpeix
6959f4658d1Smrg	exit ;;
696c06b6b69Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
697c06b6b69Smrg	echo hppa1.1-hp-osf
6989f4658d1Smrg	exit ;;
699c06b6b69Smrg    hp8??:OSF1:*:*)
700c06b6b69Smrg	echo hppa1.0-hp-osf
7019f4658d1Smrg	exit ;;
702c06b6b69Smrg    i*86:OSF1:*:*)
703c06b6b69Smrg	if [ -x /usr/sbin/sysversion ] ; then
704c06b6b69Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
705c06b6b69Smrg	else
706c06b6b69Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
707c06b6b69Smrg	fi
7089f4658d1Smrg	exit ;;
709c06b6b69Smrg    parisc*:Lites*:*:*)
710c06b6b69Smrg	echo hppa1.1-hp-lites
7119f4658d1Smrg	exit ;;
712c06b6b69Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
713c06b6b69Smrg	echo c1-convex-bsd
7149f4658d1Smrg        exit ;;
715c06b6b69Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
716c06b6b69Smrg	if getsysinfo -f scalar_acc
717c06b6b69Smrg	then echo c32-convex-bsd
718c06b6b69Smrg	else echo c2-convex-bsd
719c06b6b69Smrg	fi
7209f4658d1Smrg        exit ;;
721c06b6b69Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
722c06b6b69Smrg	echo c34-convex-bsd
7239f4658d1Smrg        exit ;;
724c06b6b69Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
725c06b6b69Smrg	echo c38-convex-bsd
7269f4658d1Smrg        exit ;;
727c06b6b69Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
728c06b6b69Smrg	echo c4-convex-bsd
7299f4658d1Smrg        exit ;;
730c06b6b69Smrg    CRAY*Y-MP:*:*:*)
731c06b6b69Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7329f4658d1Smrg	exit ;;
733c06b6b69Smrg    CRAY*[A-Z]90:*:*:*)
734c06b6b69Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
735c06b6b69Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
736c06b6b69Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
737c06b6b69Smrg	      -e 's/\.[^.]*$/.X/'
7389f4658d1Smrg	exit ;;
739c06b6b69Smrg    CRAY*TS:*:*:*)
740c06b6b69Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7419f4658d1Smrg	exit ;;
742c06b6b69Smrg    CRAY*T3E:*:*:*)
743c06b6b69Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7449f4658d1Smrg	exit ;;
745c06b6b69Smrg    CRAY*SV1:*:*:*)
746c06b6b69Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7479f4658d1Smrg	exit ;;
748c06b6b69Smrg    *:UNICOS/mp:*:*)
7499f4658d1Smrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7509f4658d1Smrg	exit ;;
751c06b6b69Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
752c06b6b69Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
753c06b6b69Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
754c06b6b69Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
755c06b6b69Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7569f4658d1Smrg        exit ;;
7579f4658d1Smrg    5000:UNIX_System_V:4.*:*)
7589f4658d1Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7599f4658d1Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7609f4658d1Smrg        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7619f4658d1Smrg	exit ;;
762c06b6b69Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
763c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
7649f4658d1Smrg	exit ;;
765c06b6b69Smrg    sparc*:BSD/OS:*:*)
766c06b6b69Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
7679f4658d1Smrg	exit ;;
768c06b6b69Smrg    *:BSD/OS:*:*)
769c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
7709f4658d1Smrg	exit ;;
7719f4658d1Smrg    *:FreeBSD:*:*)
7729f4658d1Smrg	case ${UNAME_MACHINE} in
7739f4658d1Smrg	    pc98)
7749f4658d1Smrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7759f4658d1Smrg	    amd64)
7769f4658d1Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7779f4658d1Smrg	    *)
7789f4658d1Smrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7799f4658d1Smrg	esac
7809f4658d1Smrg	exit ;;
781c06b6b69Smrg    i*:CYGWIN*:*)
782c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-cygwin
7839f4658d1Smrg	exit ;;
7849f4658d1Smrg    *:MINGW*:*)
785c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-mingw32
7869f4658d1Smrg	exit ;;
7879f4658d1Smrg    i*:windows32*:*)
7889f4658d1Smrg    	# uname -m includes "-pc" on this system.
7899f4658d1Smrg    	echo ${UNAME_MACHINE}-mingw32
7909f4658d1Smrg	exit ;;
791c06b6b69Smrg    i*:PW*:*)
792c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-pw32
7939f4658d1Smrg	exit ;;
7949f4658d1Smrg    *:Interix*:[3456]*)
7959f4658d1Smrg    	case ${UNAME_MACHINE} in
7969f4658d1Smrg	    x86)
7979f4658d1Smrg		echo i586-pc-interix${UNAME_RELEASE}
7989f4658d1Smrg		exit ;;
7999f4658d1Smrg	    EM64T | authenticamd)
8009f4658d1Smrg		echo x86_64-unknown-interix${UNAME_RELEASE}
8019f4658d1Smrg		exit ;;
8029f4658d1Smrg	    IA64)
8039f4658d1Smrg		echo ia64-unknown-interix${UNAME_RELEASE}
8049f4658d1Smrg		exit ;;
8059f4658d1Smrg	esac ;;
806c06b6b69Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
807c06b6b69Smrg	echo i${UNAME_MACHINE}-pc-mks
8089f4658d1Smrg	exit ;;
809c06b6b69Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
810c06b6b69Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
811c06b6b69Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
812c06b6b69Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
813c06b6b69Smrg	echo i586-pc-interix
8149f4658d1Smrg	exit ;;
815c06b6b69Smrg    i*:UWIN*:*)
816c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-uwin
8179f4658d1Smrg	exit ;;
8189f4658d1Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8199f4658d1Smrg	echo x86_64-unknown-cygwin
8209f4658d1Smrg	exit ;;
821c06b6b69Smrg    p*:CYGWIN*:*)
822c06b6b69Smrg	echo powerpcle-unknown-cygwin
8239f4658d1Smrg	exit ;;
824c06b6b69Smrg    prep*:SunOS:5.*:*)
825c06b6b69Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8269f4658d1Smrg	exit ;;
827c06b6b69Smrg    *:GNU:*:*)
8289f4658d1Smrg	# the GNU system
829c06b6b69Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8309f4658d1Smrg	exit ;;
8319f4658d1Smrg    *:GNU/*:*:*)
8329f4658d1Smrg	# other systems with GNU libc and userland
8339f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
8349f4658d1Smrg	exit ;;
835c06b6b69Smrg    i*86:Minix:*:*)
836c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-minix
8379f4658d1Smrg	exit ;;
838c06b6b69Smrg    arm*:Linux:*:*)
8399f4658d1Smrg	eval $set_cc_for_build
8409f4658d1Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
8419f4658d1Smrg	    | grep -q __ARM_EABI__
8429f4658d1Smrg	then
8439f4658d1Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
8449f4658d1Smrg	else
8459f4658d1Smrg	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
8469f4658d1Smrg	fi
8479f4658d1Smrg	exit ;;
8489f4658d1Smrg    avr32*:Linux:*:*)
849c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8509f4658d1Smrg	exit ;;
851c06b6b69Smrg    cris:Linux:*:*)
852c06b6b69Smrg	echo cris-axis-linux-gnu
8539f4658d1Smrg	exit ;;
8549f4658d1Smrg    crisv32:Linux:*:*)
8559f4658d1Smrg	echo crisv32-axis-linux-gnu
8569f4658d1Smrg	exit ;;
8579f4658d1Smrg    frv:Linux:*:*)
8589f4658d1Smrg    	echo frv-unknown-linux-gnu
8599f4658d1Smrg	exit ;;
860c06b6b69Smrg    ia64:Linux:*:*)
8619f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8629f4658d1Smrg	exit ;;
8639f4658d1Smrg    m32r*:Linux:*:*)
8649f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8659f4658d1Smrg	exit ;;
866c06b6b69Smrg    m68*:Linux:*:*)
867c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8689f4658d1Smrg	exit ;;
869c06b6b69Smrg    mips:Linux:*:*)
870c06b6b69Smrg	eval $set_cc_for_build
871c06b6b69Smrg	sed 's/^	//' << EOF >$dummy.c
872c06b6b69Smrg	#undef CPU
873c06b6b69Smrg	#undef mips
874c06b6b69Smrg	#undef mipsel
875c06b6b69Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
876c06b6b69Smrg	CPU=mipsel
877c06b6b69Smrg	#else
878c06b6b69Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
879c06b6b69Smrg	CPU=mips
880c06b6b69Smrg	#else
881c06b6b69Smrg	CPU=
882c06b6b69Smrg	#endif
883c06b6b69Smrg	#endif
884c06b6b69SmrgEOF
8859f4658d1Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
8869f4658d1Smrg	    /^CPU/{
8879f4658d1Smrg		s: ::g
8889f4658d1Smrg		p
8899f4658d1Smrg	    }'`"
8909f4658d1Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
891c06b6b69Smrg	;;
892c06b6b69Smrg    mips64:Linux:*:*)
893c06b6b69Smrg	eval $set_cc_for_build
894c06b6b69Smrg	sed 's/^	//' << EOF >$dummy.c
895c06b6b69Smrg	#undef CPU
896c06b6b69Smrg	#undef mips64
897c06b6b69Smrg	#undef mips64el
898c06b6b69Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
899c06b6b69Smrg	CPU=mips64el
900c06b6b69Smrg	#else
901c06b6b69Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
902c06b6b69Smrg	CPU=mips64
903c06b6b69Smrg	#else
904c06b6b69Smrg	CPU=
905c06b6b69Smrg	#endif
906c06b6b69Smrg	#endif
907c06b6b69SmrgEOF
9089f4658d1Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
9099f4658d1Smrg	    /^CPU/{
9109f4658d1Smrg		s: ::g
9119f4658d1Smrg		p
9129f4658d1Smrg	    }'`"
9139f4658d1Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
914c06b6b69Smrg	;;
9159f4658d1Smrg    or32:Linux:*:*)
9169f4658d1Smrg	echo or32-unknown-linux-gnu
9179f4658d1Smrg	exit ;;
918c06b6b69Smrg    ppc:Linux:*:*)
9199f4658d1Smrg	echo powerpc-unknown-linux-gnu
9209f4658d1Smrg	exit ;;
921c06b6b69Smrg    ppc64:Linux:*:*)
9229f4658d1Smrg	echo powerpc64-unknown-linux-gnu
9239f4658d1Smrg	exit ;;
924c06b6b69Smrg    alpha:Linux:*:*)
925c06b6b69Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
926c06b6b69Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
927c06b6b69Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
928c06b6b69Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
929c06b6b69Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
930c06b6b69Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
931c06b6b69Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
932c06b6b69Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
933c06b6b69Smrg        esac
934c06b6b69Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
935c06b6b69Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
936c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
9379f4658d1Smrg	exit ;;
938c06b6b69Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
939c06b6b69Smrg	# Look for CPU level
940c06b6b69Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
941c06b6b69Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
942c06b6b69Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
943c06b6b69Smrg	  *)    echo hppa-unknown-linux-gnu ;;
944c06b6b69Smrg	esac
9459f4658d1Smrg	exit ;;
946c06b6b69Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
947c06b6b69Smrg	echo hppa64-unknown-linux-gnu
9489f4658d1Smrg	exit ;;
949c06b6b69Smrg    s390:Linux:*:* | s390x:Linux:*:*)
9509f4658d1Smrg	echo ${UNAME_MACHINE}-ibm-linux
9519f4658d1Smrg	exit ;;
952c06b6b69Smrg    sh64*:Linux:*:*)
953c06b6b69Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9549f4658d1Smrg	exit ;;
955c06b6b69Smrg    sh*:Linux:*:*)
956c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9579f4658d1Smrg	exit ;;
958c06b6b69Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
959c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9609f4658d1Smrg	exit ;;
9619f4658d1Smrg    vax:Linux:*:*)
9629f4658d1Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
9639f4658d1Smrg	exit ;;
964c06b6b69Smrg    x86_64:Linux:*:*)
9659f4658d1Smrg	echo x86_64-unknown-linux-gnu
9669f4658d1Smrg	exit ;;
9679f4658d1Smrg    xtensa*:Linux:*:*)
9689f4658d1Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9699f4658d1Smrg	exit ;;
970c06b6b69Smrg    i*86:Linux:*:*)
971c06b6b69Smrg	# The BFD linker knows what the default object file format is, so
972c06b6b69Smrg	# first see if it will tell us. cd to the root directory to prevent
973c06b6b69Smrg	# problems with other programs or directories called `ld' in the path.
974c06b6b69Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
975c06b6b69Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
976c06b6b69Smrg			 | sed -ne '/supported targets:/!d
977c06b6b69Smrg				    s/[ 	][ 	]*/ /g
978c06b6b69Smrg				    s/.*supported targets: *//
979c06b6b69Smrg				    s/ .*//
980c06b6b69Smrg				    p'`
981c06b6b69Smrg        case "$ld_supported_targets" in
982c06b6b69Smrg	  elf32-i386)
983c06b6b69Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
984c06b6b69Smrg		;;
985c06b6b69Smrg	  a.out-i386-linux)
986c06b6b69Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
9879f4658d1Smrg		exit ;;
988c06b6b69Smrg	  coff-i386)
989c06b6b69Smrg		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
9909f4658d1Smrg		exit ;;
991c06b6b69Smrg	  "")
992c06b6b69Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
993c06b6b69Smrg		# one that does not give us useful --help.
994c06b6b69Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
9959f4658d1Smrg		exit ;;
996c06b6b69Smrg	esac
997c06b6b69Smrg	# Determine whether the default compiler is a.out or elf
998c06b6b69Smrg	eval $set_cc_for_build
999c06b6b69Smrg	sed 's/^	//' << EOF >$dummy.c
1000c06b6b69Smrg	#include <features.h>
1001c06b6b69Smrg	#ifdef __ELF__
1002c06b6b69Smrg	# ifdef __GLIBC__
1003c06b6b69Smrg	#  if __GLIBC__ >= 2
1004c06b6b69Smrg	LIBC=gnu
1005c06b6b69Smrg	#  else
1006c06b6b69Smrg	LIBC=gnulibc1
1007c06b6b69Smrg	#  endif
1008c06b6b69Smrg	# else
1009c06b6b69Smrg	LIBC=gnulibc1
1010c06b6b69Smrg	# endif
1011c06b6b69Smrg	#else
10129f4658d1Smrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1013c06b6b69Smrg	LIBC=gnu
1014c06b6b69Smrg	#else
1015c06b6b69Smrg	LIBC=gnuaout
1016c06b6b69Smrg	#endif
1017c06b6b69Smrg	#endif
10189f4658d1Smrg	#ifdef __dietlibc__
10199f4658d1Smrg	LIBC=dietlibc
10209f4658d1Smrg	#endif
1021c06b6b69SmrgEOF
10229f4658d1Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
10239f4658d1Smrg	    /^LIBC/{
10249f4658d1Smrg		s: ::g
10259f4658d1Smrg		p
10269f4658d1Smrg	    }'`"
10279f4658d1Smrg	test x"${LIBC}" != x && {
10289f4658d1Smrg		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
10299f4658d1Smrg		exit
10309f4658d1Smrg	}
10319f4658d1Smrg	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1032c06b6b69Smrg	;;
1033c06b6b69Smrg    i*86:DYNIX/ptx:4*:*)
1034c06b6b69Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1035c06b6b69Smrg	# earlier versions are messed up and put the nodename in both
1036c06b6b69Smrg	# sysname and nodename.
1037c06b6b69Smrg	echo i386-sequent-sysv4
10389f4658d1Smrg	exit ;;
1039c06b6b69Smrg    i*86:UNIX_SV:4.2MP:2.*)
1040c06b6b69Smrg        # Unixware is an offshoot of SVR4, but it has its own version
1041c06b6b69Smrg        # number series starting with 2...
1042c06b6b69Smrg        # I am not positive that other SVR4 systems won't match this,
1043c06b6b69Smrg	# I just have to hope.  -- rms.
1044c06b6b69Smrg        # Use sysv4.2uw... so that sysv4* matches it.
1045c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10469f4658d1Smrg	exit ;;
1047c06b6b69Smrg    i*86:OS/2:*:*)
1048c06b6b69Smrg	# If we were able to find `uname', then EMX Unix compatibility
1049c06b6b69Smrg	# is probably installed.
1050c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
10519f4658d1Smrg	exit ;;
1052c06b6b69Smrg    i*86:XTS-300:*:STOP)
1053c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-stop
10549f4658d1Smrg	exit ;;
1055c06b6b69Smrg    i*86:atheos:*:*)
1056c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-atheos
10579f4658d1Smrg	exit ;;
10589f4658d1Smrg    i*86:syllable:*:*)
10599f4658d1Smrg	echo ${UNAME_MACHINE}-pc-syllable
10609f4658d1Smrg	exit ;;
1061c06b6b69Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1062c06b6b69Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
10639f4658d1Smrg	exit ;;
1064c06b6b69Smrg    i*86:*DOS:*:*)
1065c06b6b69Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10669f4658d1Smrg	exit ;;
1067c06b6b69Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1068c06b6b69Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1069c06b6b69Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1070c06b6b69Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1071c06b6b69Smrg	else
1072c06b6b69Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1073c06b6b69Smrg	fi
10749f4658d1Smrg	exit ;;
10759f4658d1Smrg    i*86:*:5:[678]*)
10769f4658d1Smrg    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1077c06b6b69Smrg	case `/bin/uname -X | grep "^Machine"` in
1078c06b6b69Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1079c06b6b69Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1080c06b6b69Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1081c06b6b69Smrg	esac
1082c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10839f4658d1Smrg	exit ;;
1084c06b6b69Smrg    i*86:*:3.2:*)
1085c06b6b69Smrg	if test -f /usr/options/cb.name; then
1086c06b6b69Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1087c06b6b69Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1088c06b6b69Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1089c06b6b69Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1090c06b6b69Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1091c06b6b69Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1092c06b6b69Smrg			&& UNAME_MACHINE=i586
1093c06b6b69Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1094c06b6b69Smrg			&& UNAME_MACHINE=i686
1095c06b6b69Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1096c06b6b69Smrg			&& UNAME_MACHINE=i686
1097c06b6b69Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1098c06b6b69Smrg	else
1099c06b6b69Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1100c06b6b69Smrg	fi
11019f4658d1Smrg	exit ;;
1102c06b6b69Smrg    pc:*:*:*)
1103c06b6b69Smrg	# Left here for compatibility:
1104c06b6b69Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1105c06b6b69Smrg        # the processor, so we play safe by assuming i386.
1106c06b6b69Smrg	echo i386-pc-msdosdjgpp
11079f4658d1Smrg        exit ;;
1108c06b6b69Smrg    Intel:Mach:3*:*)
1109c06b6b69Smrg	echo i386-pc-mach3
11109f4658d1Smrg	exit ;;
1111c06b6b69Smrg    paragon:*:*:*)
1112c06b6b69Smrg	echo i860-intel-osf1
11139f4658d1Smrg	exit ;;
1114c06b6b69Smrg    i860:*:4.*:*) # i860-SVR4
1115c06b6b69Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1116c06b6b69Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1117c06b6b69Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1118c06b6b69Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1119c06b6b69Smrg	fi
11209f4658d1Smrg	exit ;;
1121c06b6b69Smrg    mini*:CTIX:SYS*5:*)
1122c06b6b69Smrg	# "miniframe"
1123c06b6b69Smrg	echo m68010-convergent-sysv
11249f4658d1Smrg	exit ;;
1125c06b6b69Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1126c06b6b69Smrg	echo m68k-convergent-sysv
11279f4658d1Smrg	exit ;;
1128c06b6b69Smrg    M680?0:D-NIX:5.3:*)
1129c06b6b69Smrg	echo m68k-diab-dnix
11309f4658d1Smrg	exit ;;
11319f4658d1Smrg    M68*:*:R3V[5678]*:*)
11329f4658d1Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11339f4658d1Smrg    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)
1134c06b6b69Smrg	OS_REL=''
1135c06b6b69Smrg	test -r /etc/.relid \
1136c06b6b69Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1137c06b6b69Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11389f4658d1Smrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1139c06b6b69Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11409f4658d1Smrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1141c06b6b69Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1142c06b6b69Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11439f4658d1Smrg          && { echo i486-ncr-sysv4; exit; } ;;
1144c06b6b69Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1145c06b6b69Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
11469f4658d1Smrg	exit ;;
1147c06b6b69Smrg    mc68030:UNIX_System_V:4.*:*)
1148c06b6b69Smrg	echo m68k-atari-sysv4
11499f4658d1Smrg	exit ;;
1150c06b6b69Smrg    TSUNAMI:LynxOS:2.*:*)
1151c06b6b69Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
11529f4658d1Smrg	exit ;;
1153c06b6b69Smrg    rs6000:LynxOS:2.*:*)
1154c06b6b69Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11559f4658d1Smrg	exit ;;
1156c06b6b69Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1157c06b6b69Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11589f4658d1Smrg	exit ;;
1159c06b6b69Smrg    SM[BE]S:UNIX_SV:*:*)
1160c06b6b69Smrg	echo mips-dde-sysv${UNAME_RELEASE}
11619f4658d1Smrg	exit ;;
1162c06b6b69Smrg    RM*:ReliantUNIX-*:*:*)
1163c06b6b69Smrg	echo mips-sni-sysv4
11649f4658d1Smrg	exit ;;
1165c06b6b69Smrg    RM*:SINIX-*:*:*)
1166c06b6b69Smrg	echo mips-sni-sysv4
11679f4658d1Smrg	exit ;;
1168c06b6b69Smrg    *:SINIX-*:*:*)
1169c06b6b69Smrg	if uname -p 2>/dev/null >/dev/null ; then
1170c06b6b69Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1171c06b6b69Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1172c06b6b69Smrg	else
1173c06b6b69Smrg		echo ns32k-sni-sysv
1174c06b6b69Smrg	fi
11759f4658d1Smrg	exit ;;
1176c06b6b69Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1177c06b6b69Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1178c06b6b69Smrg        echo i586-unisys-sysv4
11799f4658d1Smrg        exit ;;
1180c06b6b69Smrg    *:UNIX_System_V:4*:FTX*)
1181c06b6b69Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1182c06b6b69Smrg	# How about differentiating between stratus architectures? -djm
1183c06b6b69Smrg	echo hppa1.1-stratus-sysv4
11849f4658d1Smrg	exit ;;
1185c06b6b69Smrg    *:*:*:FTX*)
1186c06b6b69Smrg	# From seanf@swdc.stratus.com.
1187c06b6b69Smrg	echo i860-stratus-sysv4
11889f4658d1Smrg	exit ;;
11899f4658d1Smrg    i*86:VOS:*:*)
11909f4658d1Smrg	# From Paul.Green@stratus.com.
11919f4658d1Smrg	echo ${UNAME_MACHINE}-stratus-vos
11929f4658d1Smrg	exit ;;
1193c06b6b69Smrg    *:VOS:*:*)
1194c06b6b69Smrg	# From Paul.Green@stratus.com.
1195c06b6b69Smrg	echo hppa1.1-stratus-vos
11969f4658d1Smrg	exit ;;
1197c06b6b69Smrg    mc68*:A/UX:*:*)
1198c06b6b69Smrg	echo m68k-apple-aux${UNAME_RELEASE}
11999f4658d1Smrg	exit ;;
1200c06b6b69Smrg    news*:NEWS-OS:6*:*)
1201c06b6b69Smrg	echo mips-sony-newsos6
12029f4658d1Smrg	exit ;;
1203c06b6b69Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1204c06b6b69Smrg	if [ -d /usr/nec ]; then
1205c06b6b69Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
1206c06b6b69Smrg	else
1207c06b6b69Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
1208c06b6b69Smrg	fi
12099f4658d1Smrg        exit ;;
1210c06b6b69Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1211c06b6b69Smrg	echo powerpc-be-beos
12129f4658d1Smrg	exit ;;
1213c06b6b69Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1214c06b6b69Smrg	echo powerpc-apple-beos
12159f4658d1Smrg	exit ;;
1216c06b6b69Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1217c06b6b69Smrg	echo i586-pc-beos
12189f4658d1Smrg	exit ;;
1219c06b6b69Smrg    SX-4:SUPER-UX:*:*)
1220c06b6b69Smrg	echo sx4-nec-superux${UNAME_RELEASE}
12219f4658d1Smrg	exit ;;
1222c06b6b69Smrg    SX-5:SUPER-UX:*:*)
1223c06b6b69Smrg	echo sx5-nec-superux${UNAME_RELEASE}
12249f4658d1Smrg	exit ;;
1225c06b6b69Smrg    SX-6:SUPER-UX:*:*)
1226c06b6b69Smrg	echo sx6-nec-superux${UNAME_RELEASE}
12279f4658d1Smrg	exit ;;
12289f4658d1Smrg    SX-7:SUPER-UX:*:*)
12299f4658d1Smrg	echo sx7-nec-superux${UNAME_RELEASE}
12309f4658d1Smrg	exit ;;
12319f4658d1Smrg    SX-8:SUPER-UX:*:*)
12329f4658d1Smrg	echo sx8-nec-superux${UNAME_RELEASE}
12339f4658d1Smrg	exit ;;
12349f4658d1Smrg    SX-8R:SUPER-UX:*:*)
12359f4658d1Smrg	echo sx8r-nec-superux${UNAME_RELEASE}
12369f4658d1Smrg	exit ;;
1237c06b6b69Smrg    Power*:Rhapsody:*:*)
1238c06b6b69Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12399f4658d1Smrg	exit ;;
1240c06b6b69Smrg    *:Rhapsody:*:*)
1241c06b6b69Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12429f4658d1Smrg	exit ;;
1243c06b6b69Smrg    *:Darwin:*:*)
12449f4658d1Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12459f4658d1Smrg	case $UNAME_PROCESSOR in
12469f4658d1Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1247c06b6b69Smrg	esac
1248c06b6b69Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12499f4658d1Smrg	exit ;;
1250c06b6b69Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1251c06b6b69Smrg	UNAME_PROCESSOR=`uname -p`
1252c06b6b69Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1253c06b6b69Smrg		UNAME_PROCESSOR=i386
1254c06b6b69Smrg		UNAME_MACHINE=pc
1255c06b6b69Smrg	fi
1256c06b6b69Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12579f4658d1Smrg	exit ;;
1258c06b6b69Smrg    *:QNX:*:4*)
1259c06b6b69Smrg	echo i386-pc-qnx
12609f4658d1Smrg	exit ;;
12619f4658d1Smrg    NSE-?:NONSTOP_KERNEL:*:*)
12629f4658d1Smrg	echo nse-tandem-nsk${UNAME_RELEASE}
12639f4658d1Smrg	exit ;;
12649f4658d1Smrg    NSR-?:NONSTOP_KERNEL:*:*)
1265c06b6b69Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
12669f4658d1Smrg	exit ;;
1267c06b6b69Smrg    *:NonStop-UX:*:*)
1268c06b6b69Smrg	echo mips-compaq-nonstopux
12699f4658d1Smrg	exit ;;
1270c06b6b69Smrg    BS2000:POSIX*:*:*)
1271c06b6b69Smrg	echo bs2000-siemens-sysv
12729f4658d1Smrg	exit ;;
1273c06b6b69Smrg    DS/*:UNIX_System_V:*:*)
1274c06b6b69Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
12759f4658d1Smrg	exit ;;
1276c06b6b69Smrg    *:Plan9:*:*)
1277c06b6b69Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1278c06b6b69Smrg	# is converted to i386 for consistency with other x86
1279c06b6b69Smrg	# operating systems.
1280c06b6b69Smrg	if test "$cputype" = "386"; then
1281c06b6b69Smrg	    UNAME_MACHINE=i386
1282c06b6b69Smrg	else
1283c06b6b69Smrg	    UNAME_MACHINE="$cputype"
1284c06b6b69Smrg	fi
1285c06b6b69Smrg	echo ${UNAME_MACHINE}-unknown-plan9
12869f4658d1Smrg	exit ;;
1287c06b6b69Smrg    *:TOPS-10:*:*)
1288c06b6b69Smrg	echo pdp10-unknown-tops10
12899f4658d1Smrg	exit ;;
1290c06b6b69Smrg    *:TENEX:*:*)
1291c06b6b69Smrg	echo pdp10-unknown-tenex
12929f4658d1Smrg	exit ;;
1293c06b6b69Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1294c06b6b69Smrg	echo pdp10-dec-tops20
12959f4658d1Smrg	exit ;;
1296c06b6b69Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1297c06b6b69Smrg	echo pdp10-xkl-tops20
12989f4658d1Smrg	exit ;;
1299c06b6b69Smrg    *:TOPS-20:*:*)
1300c06b6b69Smrg	echo pdp10-unknown-tops20
13019f4658d1Smrg	exit ;;
1302c06b6b69Smrg    *:ITS:*:*)
1303c06b6b69Smrg	echo pdp10-unknown-its
13049f4658d1Smrg	exit ;;
1305c06b6b69Smrg    SEI:*:*:SEIUX)
1306c06b6b69Smrg        echo mips-sei-seiux${UNAME_RELEASE}
13079f4658d1Smrg	exit ;;
13089f4658d1Smrg    *:DragonFly:*:*)
13099f4658d1Smrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13109f4658d1Smrg	exit ;;
13119f4658d1Smrg    *:*VMS:*:*)
13129f4658d1Smrg    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13139f4658d1Smrg	case "${UNAME_MACHINE}" in
13149f4658d1Smrg	    A*) echo alpha-dec-vms ; exit ;;
13159f4658d1Smrg	    I*) echo ia64-dec-vms ; exit ;;
13169f4658d1Smrg	    V*) echo vax-dec-vms ; exit ;;
13179f4658d1Smrg	esac ;;
13189f4658d1Smrg    *:XENIX:*:SysV)
13199f4658d1Smrg	echo i386-pc-xenix
13209f4658d1Smrg	exit ;;
13219f4658d1Smrg    i*86:skyos:*:*)
13229f4658d1Smrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13239f4658d1Smrg	exit ;;
13249f4658d1Smrg    i*86:rdos:*:*)
13259f4658d1Smrg	echo ${UNAME_MACHINE}-pc-rdos
13269f4658d1Smrg	exit ;;
1327c06b6b69Smrgesac
1328c06b6b69Smrg
1329c06b6b69Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1330c06b6b69Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1331c06b6b69Smrg
1332c06b6b69Smrgeval $set_cc_for_build
1333c06b6b69Smrgcat >$dummy.c <<EOF
1334c06b6b69Smrg#ifdef _SEQUENT_
1335c06b6b69Smrg# include <sys/types.h>
1336c06b6b69Smrg# include <sys/utsname.h>
1337c06b6b69Smrg#endif
1338c06b6b69Smrgmain ()
1339c06b6b69Smrg{
1340c06b6b69Smrg#if defined (sony)
1341c06b6b69Smrg#if defined (MIPSEB)
1342c06b6b69Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1343c06b6b69Smrg     I don't know....  */
1344c06b6b69Smrg  printf ("mips-sony-bsd\n"); exit (0);
1345c06b6b69Smrg#else
1346c06b6b69Smrg#include <sys/param.h>
1347c06b6b69Smrg  printf ("m68k-sony-newsos%s\n",
1348c06b6b69Smrg#ifdef NEWSOS4
1349c06b6b69Smrg          "4"
1350c06b6b69Smrg#else
1351c06b6b69Smrg	  ""
1352c06b6b69Smrg#endif
1353c06b6b69Smrg         ); exit (0);
1354c06b6b69Smrg#endif
1355c06b6b69Smrg#endif
1356c06b6b69Smrg
1357c06b6b69Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
13589f4658d1Smrg  printf ("arm-acorn-riscix\n"); exit (0);
1359c06b6b69Smrg#endif
1360c06b6b69Smrg
1361c06b6b69Smrg#if defined (hp300) && !defined (hpux)
1362c06b6b69Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1363c06b6b69Smrg#endif
1364c06b6b69Smrg
1365c06b6b69Smrg#if defined (NeXT)
1366c06b6b69Smrg#if !defined (__ARCHITECTURE__)
1367c06b6b69Smrg#define __ARCHITECTURE__ "m68k"
1368c06b6b69Smrg#endif
1369c06b6b69Smrg  int version;
1370c06b6b69Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1371c06b6b69Smrg  if (version < 4)
1372c06b6b69Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1373c06b6b69Smrg  else
1374c06b6b69Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1375c06b6b69Smrg  exit (0);
1376c06b6b69Smrg#endif
1377c06b6b69Smrg
1378c06b6b69Smrg#if defined (MULTIMAX) || defined (n16)
1379c06b6b69Smrg#if defined (UMAXV)
1380c06b6b69Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1381c06b6b69Smrg#else
1382c06b6b69Smrg#if defined (CMU)
1383c06b6b69Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1384c06b6b69Smrg#else
1385c06b6b69Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1386c06b6b69Smrg#endif
1387c06b6b69Smrg#endif
1388c06b6b69Smrg#endif
1389c06b6b69Smrg
1390c06b6b69Smrg#if defined (__386BSD__)
1391c06b6b69Smrg  printf ("i386-pc-bsd\n"); exit (0);
1392c06b6b69Smrg#endif
1393c06b6b69Smrg
1394c06b6b69Smrg#if defined (sequent)
1395c06b6b69Smrg#if defined (i386)
1396c06b6b69Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1397c06b6b69Smrg#endif
1398c06b6b69Smrg#if defined (ns32000)
1399c06b6b69Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1400c06b6b69Smrg#endif
1401c06b6b69Smrg#endif
1402c06b6b69Smrg
1403c06b6b69Smrg#if defined (_SEQUENT_)
1404c06b6b69Smrg    struct utsname un;
1405c06b6b69Smrg
1406c06b6b69Smrg    uname(&un);
1407c06b6b69Smrg
1408c06b6b69Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1409c06b6b69Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1410c06b6b69Smrg    }
1411c06b6b69Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1412c06b6b69Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1413c06b6b69Smrg    }
1414c06b6b69Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1415c06b6b69Smrg
1416c06b6b69Smrg#endif
1417c06b6b69Smrg
1418c06b6b69Smrg#if defined (vax)
1419c06b6b69Smrg# if !defined (ultrix)
1420c06b6b69Smrg#  include <sys/param.h>
1421c06b6b69Smrg#  if defined (BSD)
1422c06b6b69Smrg#   if BSD == 43
1423c06b6b69Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1424c06b6b69Smrg#   else
1425c06b6b69Smrg#    if BSD == 199006
1426c06b6b69Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1427c06b6b69Smrg#    else
1428c06b6b69Smrg      printf ("vax-dec-bsd\n"); exit (0);
1429c06b6b69Smrg#    endif
1430c06b6b69Smrg#   endif
1431c06b6b69Smrg#  else
1432c06b6b69Smrg    printf ("vax-dec-bsd\n"); exit (0);
1433c06b6b69Smrg#  endif
1434c06b6b69Smrg# else
1435c06b6b69Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1436c06b6b69Smrg# endif
1437c06b6b69Smrg#endif
1438c06b6b69Smrg
1439c06b6b69Smrg#if defined (alliant) && defined (i860)
1440c06b6b69Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1441c06b6b69Smrg#endif
1442c06b6b69Smrg
1443c06b6b69Smrg  exit (1);
1444c06b6b69Smrg}
1445c06b6b69SmrgEOF
1446c06b6b69Smrg
14479f4658d1Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14489f4658d1Smrg	{ echo "$SYSTEM_NAME"; exit; }
1449c06b6b69Smrg
1450c06b6b69Smrg# Apollos put the system type in the environment.
1451c06b6b69Smrg
14529f4658d1Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1453c06b6b69Smrg
1454c06b6b69Smrg# Convex versions that predate uname can use getsysinfo(1)
1455c06b6b69Smrg
1456c06b6b69Smrgif [ -x /usr/convex/getsysinfo ]
1457c06b6b69Smrgthen
1458c06b6b69Smrg    case `getsysinfo -f cpu_type` in
1459c06b6b69Smrg    c1*)
1460c06b6b69Smrg	echo c1-convex-bsd
14619f4658d1Smrg	exit ;;
1462c06b6b69Smrg    c2*)
1463c06b6b69Smrg	if getsysinfo -f scalar_acc
1464c06b6b69Smrg	then echo c32-convex-bsd
1465c06b6b69Smrg	else echo c2-convex-bsd
1466c06b6b69Smrg	fi
14679f4658d1Smrg	exit ;;
1468c06b6b69Smrg    c34*)
1469c06b6b69Smrg	echo c34-convex-bsd
14709f4658d1Smrg	exit ;;
1471c06b6b69Smrg    c38*)
1472c06b6b69Smrg	echo c38-convex-bsd
14739f4658d1Smrg	exit ;;
1474c06b6b69Smrg    c4*)
1475c06b6b69Smrg	echo c4-convex-bsd
14769f4658d1Smrg	exit ;;
1477c06b6b69Smrg    esac
1478c06b6b69Smrgfi
1479c06b6b69Smrg
1480c06b6b69Smrgcat >&2 <<EOF
1481c06b6b69Smrg$0: unable to guess system type
1482c06b6b69Smrg
1483c06b6b69SmrgThis script, last modified $timestamp, has failed to recognize
1484c06b6b69Smrgthe operating system you are using. It is advised that you
1485c06b6b69Smrgdownload the most up to date version of the config scripts from
1486c06b6b69Smrg
14879f4658d1Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
14889f4658d1Smrgand
14899f4658d1Smrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1490c06b6b69Smrg
1491c06b6b69SmrgIf the version you run ($0) is already up to date, please
1492c06b6b69Smrgsend the following data and any information you think might be
1493c06b6b69Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1494c06b6b69Smrginformation to handle your system.
1495c06b6b69Smrg
1496c06b6b69Smrgconfig.guess timestamp = $timestamp
1497c06b6b69Smrg
1498c06b6b69Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1499c06b6b69Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1500c06b6b69Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1501c06b6b69Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1502c06b6b69Smrg
1503c06b6b69Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1504c06b6b69Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1505c06b6b69Smrg
1506c06b6b69Smrghostinfo               = `(hostinfo) 2>/dev/null`
1507c06b6b69Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1508c06b6b69Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1509c06b6b69Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1510c06b6b69Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1511c06b6b69Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1512c06b6b69Smrg
1513c06b6b69SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1514c06b6b69SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1515c06b6b69SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1516c06b6b69SmrgUNAME_VERSION = ${UNAME_VERSION}
1517c06b6b69SmrgEOF
1518c06b6b69Smrg
1519c06b6b69Smrgexit 1
1520c06b6b69Smrg
1521c06b6b69Smrg# Local variables:
1522c06b6b69Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1523c06b6b69Smrg# time-stamp-start: "timestamp='"
1524c06b6b69Smrg# time-stamp-format: "%:y-%02m-%02d"
1525c06b6b69Smrg# time-stamp-end: "'"
1526c06b6b69Smrg# End:
1527