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