1706f2543Smrg#! /bin/sh
2706f2543Smrg# Attempt to guess a canonical system name.
3706f2543Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4706f2543Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5706f2543Smrg#   Inc.
6706f2543Smrg
7706f2543Smrgtimestamp='2006-07-02'
8706f2543Smrg
9706f2543Smrg# This file is free software; you can redistribute it and/or modify it
10706f2543Smrg# under the terms of the GNU General Public License as published by
11706f2543Smrg# the Free Software Foundation; either version 2 of the License, or
12706f2543Smrg# (at your option) any later version.
13706f2543Smrg#
14706f2543Smrg# This program is distributed in the hope that it will be useful, but
15706f2543Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16706f2543Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17706f2543Smrg# General Public License for more details.
18706f2543Smrg#
19706f2543Smrg# You should have received a copy of the GNU General Public License
20706f2543Smrg# along with this program; if not, write to the Free Software
21706f2543Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22706f2543Smrg# 02110-1301, USA.
23706f2543Smrg#
24706f2543Smrg# As a special exception to the GNU General Public License, if you
25706f2543Smrg# distribute this file as part of a program that contains a
26706f2543Smrg# configuration script generated by Autoconf, you may include it under
27706f2543Smrg# the same distribution terms that you use for the rest of that program.
28706f2543Smrg
29706f2543Smrg
30706f2543Smrg# Originally written by Per Bothner <per@bothner.com>.
31706f2543Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
32706f2543Smrg# diff and a properly formatted ChangeLog entry.
33706f2543Smrg#
34706f2543Smrg# This script attempts to guess a canonical system name similar to
35706f2543Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
36706f2543Smrg# exits with 0.  Otherwise, it exits with 1.
37706f2543Smrg#
38706f2543Smrg# The plan is that this can be called by configure scripts if you
39706f2543Smrg# don't specify an explicit build system type.
40706f2543Smrg
41706f2543Smrgme=`echo "$0" | sed -e 's,.*/,,'`
42706f2543Smrg
43706f2543Smrgusage="\
44706f2543SmrgUsage: $0 [OPTION]
45706f2543Smrg
46706f2543SmrgOutput the configuration name of the system \`$me' is run on.
47706f2543Smrg
48706f2543SmrgOperation modes:
49706f2543Smrg  -h, --help         print this help, then exit
50706f2543Smrg  -t, --time-stamp   print date of last modification, then exit
51706f2543Smrg  -v, --version      print version number, then exit
52706f2543Smrg
53706f2543SmrgReport bugs and patches to <config-patches@gnu.org>."
54706f2543Smrg
55706f2543Smrgversion="\
56706f2543SmrgGNU config.guess ($timestamp)
57706f2543Smrg
58706f2543SmrgOriginally written by Per Bothner.
59706f2543SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
60706f2543SmrgFree Software Foundation, Inc.
61706f2543Smrg
62706f2543SmrgThis is free software; see the source for copying conditions.  There is NO
63706f2543Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64706f2543Smrg
65706f2543Smrghelp="
66706f2543SmrgTry \`$me --help' for more information."
67706f2543Smrg
68706f2543Smrg# Parse command line
69706f2543Smrgwhile test $# -gt 0 ; do
70706f2543Smrg  case $1 in
71706f2543Smrg    --time-stamp | --time* | -t )
72706f2543Smrg       echo "$timestamp" ; exit ;;
73706f2543Smrg    --version | -v )
74706f2543Smrg       echo "$version" ; exit ;;
75706f2543Smrg    --help | --h* | -h )
76706f2543Smrg       echo "$usage"; exit ;;
77706f2543Smrg    -- )     # Stop option processing
78706f2543Smrg       shift; break ;;
79706f2543Smrg    - )	# Use stdin as input.
80706f2543Smrg       break ;;
81706f2543Smrg    -* )
82706f2543Smrg       echo "$me: invalid option $1$help" >&2
83706f2543Smrg       exit 1 ;;
84706f2543Smrg    * )
85706f2543Smrg       break ;;
86706f2543Smrg  esac
87706f2543Smrgdone
88706f2543Smrg
89706f2543Smrgif test $# != 0; then
90706f2543Smrg  echo "$me: too many arguments$help" >&2
91706f2543Smrg  exit 1
92706f2543Smrgfi
93706f2543Smrg
94706f2543Smrgtrap 'exit 1' 1 2 15
95706f2543Smrg
96706f2543Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97706f2543Smrg# compiler to aid in system detection is discouraged as it requires
98706f2543Smrg# temporary files to be created and, as you can see below, it is a
99706f2543Smrg# headache to deal with in a portable fashion.
100706f2543Smrg
101706f2543Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102706f2543Smrg# use `HOST_CC' if defined, but it is deprecated.
103706f2543Smrg
104706f2543Smrg# Portable tmp directory creation inspired by the Autoconf team.
105706f2543Smrg
106706f2543Smrgset_cc_for_build='
107706f2543Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108706f2543Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109706f2543Smrg: ${TMPDIR=/tmp} ;
110706f2543Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111706f2543Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112706f2543Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113706f2543Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114706f2543Smrgdummy=$tmp/dummy ;
115706f2543Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116706f2543Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
117706f2543Smrg ,,)    echo "int x;" > $dummy.c ;
118706f2543Smrg	for c in cc gcc c89 c99 ; do
119706f2543Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120706f2543Smrg	     CC_FOR_BUILD="$c"; break ;
121706f2543Smrg	  fi ;
122706f2543Smrg	done ;
123706f2543Smrg	if test x"$CC_FOR_BUILD" = x ; then
124706f2543Smrg	  CC_FOR_BUILD=no_compiler_found ;
125706f2543Smrg	fi
126706f2543Smrg	;;
127706f2543Smrg ,,*)   CC_FOR_BUILD=$CC ;;
128706f2543Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129706f2543Smrgesac ; set_cc_for_build= ;'
130706f2543Smrg
131706f2543Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132706f2543Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
133706f2543Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134706f2543Smrg	PATH=$PATH:/.attbin ; export PATH
135706f2543Smrgfi
136706f2543Smrg
137706f2543SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138706f2543SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139706f2543SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140706f2543SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141706f2543Smrg
142706f2543Smrg# Note: order is significant - the case branches are not exclusive.
143706f2543Smrg
144706f2543Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145706f2543Smrg    *:NetBSD:*:*)
146706f2543Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
147706f2543Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148706f2543Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149706f2543Smrg	# switched to ELF, *-*-netbsd* would select the old
150706f2543Smrg	# object file format.  This provides both forward
151706f2543Smrg	# compatibility and a consistent mechanism for selecting the
152706f2543Smrg	# object file format.
153706f2543Smrg	#
154706f2543Smrg	# Note: NetBSD doesn't particularly care about the vendor
155706f2543Smrg	# portion of the name.  We always set it to "unknown".
156706f2543Smrg	sysctl="sysctl -n hw.machine_arch"
157706f2543Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158706f2543Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159706f2543Smrg	case "${UNAME_MACHINE_ARCH}" in
160706f2543Smrg	    armeb) machine=armeb-unknown ;;
161706f2543Smrg	    arm*) machine=arm-unknown ;;
162706f2543Smrg	    sh3el) machine=shl-unknown ;;
163706f2543Smrg	    sh3eb) machine=sh-unknown ;;
164706f2543Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165706f2543Smrg	esac
166706f2543Smrg	# The Operating System including object format, if it has switched
167706f2543Smrg	# to ELF recently, or will in the future.
168706f2543Smrg	case "${UNAME_MACHINE_ARCH}" in
169706f2543Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170706f2543Smrg		eval $set_cc_for_build
171706f2543Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172706f2543Smrg			| grep __ELF__ >/dev/null
173706f2543Smrg		then
174706f2543Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175706f2543Smrg		    # Return netbsd for either.  FIX?
176706f2543Smrg		    os=netbsd
177706f2543Smrg		else
178706f2543Smrg		    os=netbsdelf
179706f2543Smrg		fi
180706f2543Smrg		;;
181706f2543Smrg	    *)
182706f2543Smrg	        os=netbsd
183706f2543Smrg		;;
184706f2543Smrg	esac
185706f2543Smrg	# The OS release
186706f2543Smrg	# Debian GNU/NetBSD machines have a different userland, and
187706f2543Smrg	# thus, need a distinct triplet. However, they do not need
188706f2543Smrg	# kernel version information, so it can be replaced with a
189706f2543Smrg	# suitable tag, in the style of linux-gnu.
190706f2543Smrg	case "${UNAME_VERSION}" in
191706f2543Smrg	    Debian*)
192706f2543Smrg		release='-gnu'
193706f2543Smrg		;;
194706f2543Smrg	    *)
195706f2543Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196706f2543Smrg		;;
197706f2543Smrg	esac
198706f2543Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199706f2543Smrg	# contains redundant information, the shorter form:
200706f2543Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201706f2543Smrg	echo "${machine}-${os}${release}"
202706f2543Smrg	exit ;;
203706f2543Smrg    *:OpenBSD:*:*)
204706f2543Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205706f2543Smrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206706f2543Smrg	exit ;;
207706f2543Smrg    *:ekkoBSD:*:*)
208706f2543Smrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209706f2543Smrg	exit ;;
210706f2543Smrg    *:SolidBSD:*:*)
211706f2543Smrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212706f2543Smrg	exit ;;
213706f2543Smrg    macppc:MirBSD:*:*)
214706f2543Smrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215706f2543Smrg	exit ;;
216706f2543Smrg    *:MirBSD:*:*)
217706f2543Smrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218706f2543Smrg	exit ;;
219706f2543Smrg    alpha:OSF1:*:*)
220706f2543Smrg	case $UNAME_RELEASE in
221706f2543Smrg	*4.0)
222706f2543Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223706f2543Smrg		;;
224706f2543Smrg	*5.*)
225706f2543Smrg	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226706f2543Smrg		;;
227706f2543Smrg	esac
228706f2543Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
229706f2543Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
230706f2543Smrg	# covers most systems running today.  This code pipes the CPU
231706f2543Smrg	# types through head -n 1, so we only detect the type of CPU 0.
232706f2543Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233706f2543Smrg	case "$ALPHA_CPU_TYPE" in
234706f2543Smrg	    "EV4 (21064)")
235706f2543Smrg		UNAME_MACHINE="alpha" ;;
236706f2543Smrg	    "EV4.5 (21064)")
237706f2543Smrg		UNAME_MACHINE="alpha" ;;
238706f2543Smrg	    "LCA4 (21066/21068)")
239706f2543Smrg		UNAME_MACHINE="alpha" ;;
240706f2543Smrg	    "EV5 (21164)")
241706f2543Smrg		UNAME_MACHINE="alphaev5" ;;
242706f2543Smrg	    "EV5.6 (21164A)")
243706f2543Smrg		UNAME_MACHINE="alphaev56" ;;
244706f2543Smrg	    "EV5.6 (21164PC)")
245706f2543Smrg		UNAME_MACHINE="alphapca56" ;;
246706f2543Smrg	    "EV5.7 (21164PC)")
247706f2543Smrg		UNAME_MACHINE="alphapca57" ;;
248706f2543Smrg	    "EV6 (21264)")
249706f2543Smrg		UNAME_MACHINE="alphaev6" ;;
250706f2543Smrg	    "EV6.7 (21264A)")
251706f2543Smrg		UNAME_MACHINE="alphaev67" ;;
252706f2543Smrg	    "EV6.8CB (21264C)")
253706f2543Smrg		UNAME_MACHINE="alphaev68" ;;
254706f2543Smrg	    "EV6.8AL (21264B)")
255706f2543Smrg		UNAME_MACHINE="alphaev68" ;;
256706f2543Smrg	    "EV6.8CX (21264D)")
257706f2543Smrg		UNAME_MACHINE="alphaev68" ;;
258706f2543Smrg	    "EV6.9A (21264/EV69A)")
259706f2543Smrg		UNAME_MACHINE="alphaev69" ;;
260706f2543Smrg	    "EV7 (21364)")
261706f2543Smrg		UNAME_MACHINE="alphaev7" ;;
262706f2543Smrg	    "EV7.9 (21364A)")
263706f2543Smrg		UNAME_MACHINE="alphaev79" ;;
264706f2543Smrg	esac
265706f2543Smrg	# A Pn.n version is a patched version.
266706f2543Smrg	# A Vn.n version is a released version.
267706f2543Smrg	# A Tn.n version is a released field test version.
268706f2543Smrg	# A Xn.n version is an unreleased experimental baselevel.
269706f2543Smrg	# 1.2 uses "1.2" for uname -r.
270706f2543Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271706f2543Smrg	exit ;;
272706f2543Smrg    Alpha\ *:Windows_NT*:*)
273706f2543Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
274706f2543Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
275706f2543Smrg	# of the specific Alpha model?
276706f2543Smrg	echo alpha-pc-interix
277706f2543Smrg	exit ;;
278706f2543Smrg    21064:Windows_NT:50:3)
279706f2543Smrg	echo alpha-dec-winnt3.5
280706f2543Smrg	exit ;;
281706f2543Smrg    Amiga*:UNIX_System_V:4.0:*)
282706f2543Smrg	echo m68k-unknown-sysv4
283706f2543Smrg	exit ;;
284706f2543Smrg    *:[Aa]miga[Oo][Ss]:*:*)
285706f2543Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
286706f2543Smrg	exit ;;
287706f2543Smrg    *:[Mm]orph[Oo][Ss]:*:*)
288706f2543Smrg	echo ${UNAME_MACHINE}-unknown-morphos
289706f2543Smrg	exit ;;
290706f2543Smrg    *:OS/390:*:*)
291706f2543Smrg	echo i370-ibm-openedition
292706f2543Smrg	exit ;;
293706f2543Smrg    *:z/VM:*:*)
294706f2543Smrg	echo s390-ibm-zvmoe
295706f2543Smrg	exit ;;
296706f2543Smrg    *:OS400:*:*)
297706f2543Smrg        echo powerpc-ibm-os400
298706f2543Smrg	exit ;;
299706f2543Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300706f2543Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
301706f2543Smrg	exit ;;
302706f2543Smrg    arm:riscos:*:*|arm:RISCOS:*:*)
303706f2543Smrg	echo arm-unknown-riscos
304706f2543Smrg	exit ;;
305706f2543Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
306706f2543Smrg	echo hppa1.1-hitachi-hiuxmpp
307706f2543Smrg	exit ;;
308706f2543Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
309706f2543Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
310706f2543Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
311706f2543Smrg		echo pyramid-pyramid-sysv3
312706f2543Smrg	else
313706f2543Smrg		echo pyramid-pyramid-bsd
314706f2543Smrg	fi
315706f2543Smrg	exit ;;
316706f2543Smrg    NILE*:*:*:dcosx)
317706f2543Smrg	echo pyramid-pyramid-svr4
318706f2543Smrg	exit ;;
319706f2543Smrg    DRS?6000:unix:4.0:6*)
320706f2543Smrg	echo sparc-icl-nx6
321706f2543Smrg	exit ;;
322706f2543Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
323706f2543Smrg	case `/usr/bin/uname -p` in
324706f2543Smrg	    sparc) echo sparc-icl-nx7; exit ;;
325706f2543Smrg	esac ;;
326706f2543Smrg    sun4H:SunOS:5.*:*)
327706f2543Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328706f2543Smrg	exit ;;
329706f2543Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
330706f2543Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331706f2543Smrg	exit ;;
332706f2543Smrg    i86pc:SunOS:5.*:*)
333706f2543Smrg	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334706f2543Smrg	exit ;;
335706f2543Smrg    sun4*:SunOS:6*:*)
336706f2543Smrg	# According to config.sub, this is the proper way to canonicalize
337706f2543Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
338706f2543Smrg	# it's likely to be more like Solaris than SunOS4.
339706f2543Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340706f2543Smrg	exit ;;
341706f2543Smrg    sun4*:SunOS:*:*)
342706f2543Smrg	case "`/usr/bin/arch -k`" in
343706f2543Smrg	    Series*|S4*)
344706f2543Smrg		UNAME_RELEASE=`uname -v`
345706f2543Smrg		;;
346706f2543Smrg	esac
347706f2543Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
348706f2543Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
349706f2543Smrg	exit ;;
350706f2543Smrg    sun3*:SunOS:*:*)
351706f2543Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
352706f2543Smrg	exit ;;
353706f2543Smrg    sun*:*:4.2BSD:*)
354706f2543Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
355706f2543Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
356706f2543Smrg	case "`/bin/arch`" in
357706f2543Smrg	    sun3)
358706f2543Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
359706f2543Smrg		;;
360706f2543Smrg	    sun4)
361706f2543Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
362706f2543Smrg		;;
363706f2543Smrg	esac
364706f2543Smrg	exit ;;
365706f2543Smrg    aushp:SunOS:*:*)
366706f2543Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
367706f2543Smrg	exit ;;
368706f2543Smrg    # The situation for MiNT is a little confusing.  The machine name
369706f2543Smrg    # can be virtually everything (everything which is not
370706f2543Smrg    # "atarist" or "atariste" at least should have a processor
371706f2543Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
372706f2543Smrg    # to the lowercase version "mint" (or "freemint").  Finally
373706f2543Smrg    # the system name "TOS" denotes a system which is actually not
374706f2543Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
375706f2543Smrg    # be no problem.
376706f2543Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
377706f2543Smrg        echo m68k-atari-mint${UNAME_RELEASE}
378706f2543Smrg	exit ;;
379706f2543Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
380706f2543Smrg	echo m68k-atari-mint${UNAME_RELEASE}
381706f2543Smrg        exit ;;
382706f2543Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
383706f2543Smrg        echo m68k-atari-mint${UNAME_RELEASE}
384706f2543Smrg	exit ;;
385706f2543Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
386706f2543Smrg        echo m68k-milan-mint${UNAME_RELEASE}
387706f2543Smrg        exit ;;
388706f2543Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
389706f2543Smrg        echo m68k-hades-mint${UNAME_RELEASE}
390706f2543Smrg        exit ;;
391706f2543Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
392706f2543Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
393706f2543Smrg        exit ;;
394706f2543Smrg    m68k:machten:*:*)
395706f2543Smrg	echo m68k-apple-machten${UNAME_RELEASE}
396706f2543Smrg	exit ;;
397706f2543Smrg    powerpc:machten:*:*)
398706f2543Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
399706f2543Smrg	exit ;;
400706f2543Smrg    RISC*:Mach:*:*)
401706f2543Smrg	echo mips-dec-mach_bsd4.3
402706f2543Smrg	exit ;;
403706f2543Smrg    RISC*:ULTRIX:*:*)
404706f2543Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
405706f2543Smrg	exit ;;
406706f2543Smrg    VAX*:ULTRIX*:*:*)
407706f2543Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
408706f2543Smrg	exit ;;
409706f2543Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
410706f2543Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
411706f2543Smrg	exit ;;
412706f2543Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
413706f2543Smrg	eval $set_cc_for_build
414706f2543Smrg	sed 's/^	//' << EOF >$dummy.c
415706f2543Smrg#ifdef __cplusplus
416706f2543Smrg#include <stdio.h>  /* for printf() prototype */
417706f2543Smrg	int main (int argc, char *argv[]) {
418706f2543Smrg#else
419706f2543Smrg	int main (argc, argv) int argc; char *argv[]; {
420706f2543Smrg#endif
421706f2543Smrg	#if defined (host_mips) && defined (MIPSEB)
422706f2543Smrg	#if defined (SYSTYPE_SYSV)
423706f2543Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
424706f2543Smrg	#endif
425706f2543Smrg	#if defined (SYSTYPE_SVR4)
426706f2543Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
427706f2543Smrg	#endif
428706f2543Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
429706f2543Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
430706f2543Smrg	#endif
431706f2543Smrg	#endif
432706f2543Smrg	  exit (-1);
433706f2543Smrg	}
434706f2543SmrgEOF
435706f2543Smrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
436706f2543Smrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
437706f2543Smrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
438706f2543Smrg	    { echo "$SYSTEM_NAME"; exit; }
439706f2543Smrg	echo mips-mips-riscos${UNAME_RELEASE}
440706f2543Smrg	exit ;;
441706f2543Smrg    Motorola:PowerMAX_OS:*:*)
442706f2543Smrg	echo powerpc-motorola-powermax
443706f2543Smrg	exit ;;
444706f2543Smrg    Motorola:*:4.3:PL8-*)
445706f2543Smrg	echo powerpc-harris-powermax
446706f2543Smrg	exit ;;
447706f2543Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
448706f2543Smrg	echo powerpc-harris-powermax
449706f2543Smrg	exit ;;
450706f2543Smrg    Night_Hawk:Power_UNIX:*:*)
451706f2543Smrg	echo powerpc-harris-powerunix
452706f2543Smrg	exit ;;
453706f2543Smrg    m88k:CX/UX:7*:*)
454706f2543Smrg	echo m88k-harris-cxux7
455706f2543Smrg	exit ;;
456706f2543Smrg    m88k:*:4*:R4*)
457706f2543Smrg	echo m88k-motorola-sysv4
458706f2543Smrg	exit ;;
459706f2543Smrg    m88k:*:3*:R3*)
460706f2543Smrg	echo m88k-motorola-sysv3
461706f2543Smrg	exit ;;
462706f2543Smrg    AViiON:dgux:*:*)
463706f2543Smrg        # DG/UX returns AViiON for all architectures
464706f2543Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
465706f2543Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
466706f2543Smrg	then
467706f2543Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
468706f2543Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
469706f2543Smrg	    then
470706f2543Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
471706f2543Smrg	    else
472706f2543Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
473706f2543Smrg	    fi
474706f2543Smrg	else
475706f2543Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
476706f2543Smrg	fi
477706f2543Smrg 	exit ;;
478706f2543Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
479706f2543Smrg	echo m88k-dolphin-sysv3
480706f2543Smrg	exit ;;
481706f2543Smrg    M88*:*:R3*:*)
482706f2543Smrg	# Delta 88k system running SVR3
483706f2543Smrg	echo m88k-motorola-sysv3
484706f2543Smrg	exit ;;
485706f2543Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
486706f2543Smrg	echo m88k-tektronix-sysv3
487706f2543Smrg	exit ;;
488706f2543Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
489706f2543Smrg	echo m68k-tektronix-bsd
490706f2543Smrg	exit ;;
491706f2543Smrg    *:IRIX*:*:*)
492706f2543Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
493706f2543Smrg	exit ;;
494706f2543Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
495706f2543Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
496706f2543Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
497706f2543Smrg    i*86:AIX:*:*)
498706f2543Smrg	echo i386-ibm-aix
499706f2543Smrg	exit ;;
500706f2543Smrg    ia64:AIX:*:*)
501706f2543Smrg	if [ -x /usr/bin/oslevel ] ; then
502706f2543Smrg		IBM_REV=`/usr/bin/oslevel`
503706f2543Smrg	else
504706f2543Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
505706f2543Smrg	fi
506706f2543Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
507706f2543Smrg	exit ;;
508706f2543Smrg    *:AIX:2:3)
509706f2543Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
510706f2543Smrg		eval $set_cc_for_build
511706f2543Smrg		sed 's/^		//' << EOF >$dummy.c
512706f2543Smrg		#include <sys/systemcfg.h>
513706f2543Smrg
514706f2543Smrg		main()
515706f2543Smrg			{
516706f2543Smrg			if (!__power_pc())
517706f2543Smrg				exit(1);
518706f2543Smrg			puts("powerpc-ibm-aix3.2.5");
519706f2543Smrg			exit(0);
520706f2543Smrg			}
521706f2543SmrgEOF
522706f2543Smrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
523706f2543Smrg		then
524706f2543Smrg			echo "$SYSTEM_NAME"
525706f2543Smrg		else
526706f2543Smrg			echo rs6000-ibm-aix3.2.5
527706f2543Smrg		fi
528706f2543Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
529706f2543Smrg		echo rs6000-ibm-aix3.2.4
530706f2543Smrg	else
531706f2543Smrg		echo rs6000-ibm-aix3.2
532706f2543Smrg	fi
533706f2543Smrg	exit ;;
534706f2543Smrg    *:AIX:*:[45])
535706f2543Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
536706f2543Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
537706f2543Smrg		IBM_ARCH=rs6000
538706f2543Smrg	else
539706f2543Smrg		IBM_ARCH=powerpc
540706f2543Smrg	fi
541706f2543Smrg	if [ -x /usr/bin/oslevel ] ; then
542706f2543Smrg		IBM_REV=`/usr/bin/oslevel`
543706f2543Smrg	else
544706f2543Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
545706f2543Smrg	fi
546706f2543Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547706f2543Smrg	exit ;;
548706f2543Smrg    *:AIX:*:*)
549706f2543Smrg	echo rs6000-ibm-aix
550706f2543Smrg	exit ;;
551706f2543Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
552706f2543Smrg	echo romp-ibm-bsd4.4
553706f2543Smrg	exit ;;
554706f2543Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
555706f2543Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
556706f2543Smrg	exit ;;                             # report: romp-ibm BSD 4.3
557706f2543Smrg    *:BOSX:*:*)
558706f2543Smrg	echo rs6000-bull-bosx
559706f2543Smrg	exit ;;
560706f2543Smrg    DPX/2?00:B.O.S.:*:*)
561706f2543Smrg	echo m68k-bull-sysv3
562706f2543Smrg	exit ;;
563706f2543Smrg    9000/[34]??:4.3bsd:1.*:*)
564706f2543Smrg	echo m68k-hp-bsd
565706f2543Smrg	exit ;;
566706f2543Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
567706f2543Smrg	echo m68k-hp-bsd4.4
568706f2543Smrg	exit ;;
569706f2543Smrg    9000/[34678]??:HP-UX:*:*)
570706f2543Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
571706f2543Smrg	case "${UNAME_MACHINE}" in
572706f2543Smrg	    9000/31? )            HP_ARCH=m68000 ;;
573706f2543Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
574706f2543Smrg	    9000/[678][0-9][0-9])
575706f2543Smrg		if [ -x /usr/bin/getconf ]; then
576706f2543Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577706f2543Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
578706f2543Smrg                    case "${sc_cpu_version}" in
579706f2543Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
580706f2543Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
581706f2543Smrg                      532)                      # CPU_PA_RISC2_0
582706f2543Smrg                        case "${sc_kernel_bits}" in
583706f2543Smrg                          32) HP_ARCH="hppa2.0n" ;;
584706f2543Smrg                          64) HP_ARCH="hppa2.0w" ;;
585706f2543Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
586706f2543Smrg                        esac ;;
587706f2543Smrg                    esac
588706f2543Smrg		fi
589706f2543Smrg		if [ "${HP_ARCH}" = "" ]; then
590706f2543Smrg		    eval $set_cc_for_build
591706f2543Smrg		    sed 's/^              //' << EOF >$dummy.c
592706f2543Smrg
593706f2543Smrg              #define _HPUX_SOURCE
594706f2543Smrg              #include <stdlib.h>
595706f2543Smrg              #include <unistd.h>
596706f2543Smrg
597706f2543Smrg              int main ()
598706f2543Smrg              {
599706f2543Smrg              #if defined(_SC_KERNEL_BITS)
600706f2543Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
601706f2543Smrg              #endif
602706f2543Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
603706f2543Smrg
604706f2543Smrg                  switch (cpu)
605706f2543Smrg              	{
606706f2543Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
607706f2543Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
608706f2543Smrg              	case CPU_PA_RISC2_0:
609706f2543Smrg              #if defined(_SC_KERNEL_BITS)
610706f2543Smrg              	    switch (bits)
611706f2543Smrg              		{
612706f2543Smrg              		case 64: puts ("hppa2.0w"); break;
613706f2543Smrg              		case 32: puts ("hppa2.0n"); break;
614706f2543Smrg              		default: puts ("hppa2.0"); break;
615706f2543Smrg              		} break;
616706f2543Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
617706f2543Smrg              	    puts ("hppa2.0"); break;
618706f2543Smrg              #endif
619706f2543Smrg              	default: puts ("hppa1.0"); break;
620706f2543Smrg              	}
621706f2543Smrg                  exit (0);
622706f2543Smrg              }
623706f2543SmrgEOF
624706f2543Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
625706f2543Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
626706f2543Smrg		fi ;;
627706f2543Smrg	esac
628706f2543Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
629706f2543Smrg	then
630706f2543Smrg	    eval $set_cc_for_build
631706f2543Smrg
632706f2543Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
633706f2543Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
634706f2543Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
635706f2543Smrg	    #
636706f2543Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
637706f2543Smrg	    # => hppa2.0w-hp-hpux11.23
638706f2543Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
639706f2543Smrg	    # => hppa64-hp-hpux11.23
640706f2543Smrg
641706f2543Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
642706f2543Smrg		grep __LP64__ >/dev/null
643706f2543Smrg	    then
644706f2543Smrg		HP_ARCH="hppa2.0w"
645706f2543Smrg	    else
646706f2543Smrg		HP_ARCH="hppa64"
647706f2543Smrg	    fi
648706f2543Smrg	fi
649706f2543Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
650706f2543Smrg	exit ;;
651706f2543Smrg    ia64:HP-UX:*:*)
652706f2543Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
653706f2543Smrg	echo ia64-hp-hpux${HPUX_REV}
654706f2543Smrg	exit ;;
655706f2543Smrg    3050*:HI-UX:*:*)
656706f2543Smrg	eval $set_cc_for_build
657706f2543Smrg	sed 's/^	//' << EOF >$dummy.c
658706f2543Smrg	#include <unistd.h>
659706f2543Smrg	int
660706f2543Smrg	main ()
661706f2543Smrg	{
662706f2543Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
663706f2543Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
664706f2543Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
665706f2543Smrg	     results, however.  */
666706f2543Smrg	  if (CPU_IS_PA_RISC (cpu))
667706f2543Smrg	    {
668706f2543Smrg	      switch (cpu)
669706f2543Smrg		{
670706f2543Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
671706f2543Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
672706f2543Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
673706f2543Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
674706f2543Smrg		}
675706f2543Smrg	    }
676706f2543Smrg	  else if (CPU_IS_HP_MC68K (cpu))
677706f2543Smrg	    puts ("m68k-hitachi-hiuxwe2");
678706f2543Smrg	  else puts ("unknown-hitachi-hiuxwe2");
679706f2543Smrg	  exit (0);
680706f2543Smrg	}
681706f2543SmrgEOF
682706f2543Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
683706f2543Smrg		{ echo "$SYSTEM_NAME"; exit; }
684706f2543Smrg	echo unknown-hitachi-hiuxwe2
685706f2543Smrg	exit ;;
686706f2543Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
687706f2543Smrg	echo hppa1.1-hp-bsd
688706f2543Smrg	exit ;;
689706f2543Smrg    9000/8??:4.3bsd:*:*)
690706f2543Smrg	echo hppa1.0-hp-bsd
691706f2543Smrg	exit ;;
692706f2543Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
693706f2543Smrg	echo hppa1.0-hp-mpeix
694706f2543Smrg	exit ;;
695706f2543Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
696706f2543Smrg	echo hppa1.1-hp-osf
697706f2543Smrg	exit ;;
698706f2543Smrg    hp8??:OSF1:*:*)
699706f2543Smrg	echo hppa1.0-hp-osf
700706f2543Smrg	exit ;;
701706f2543Smrg    i*86:OSF1:*:*)
702706f2543Smrg	if [ -x /usr/sbin/sysversion ] ; then
703706f2543Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
704706f2543Smrg	else
705706f2543Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
706706f2543Smrg	fi
707706f2543Smrg	exit ;;
708706f2543Smrg    parisc*:Lites*:*:*)
709706f2543Smrg	echo hppa1.1-hp-lites
710706f2543Smrg	exit ;;
711706f2543Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
712706f2543Smrg	echo c1-convex-bsd
713706f2543Smrg        exit ;;
714706f2543Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
715706f2543Smrg	if getsysinfo -f scalar_acc
716706f2543Smrg	then echo c32-convex-bsd
717706f2543Smrg	else echo c2-convex-bsd
718706f2543Smrg	fi
719706f2543Smrg        exit ;;
720706f2543Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
721706f2543Smrg	echo c34-convex-bsd
722706f2543Smrg        exit ;;
723706f2543Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
724706f2543Smrg	echo c38-convex-bsd
725706f2543Smrg        exit ;;
726706f2543Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
727706f2543Smrg	echo c4-convex-bsd
728706f2543Smrg        exit ;;
729706f2543Smrg    CRAY*Y-MP:*:*:*)
730706f2543Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731706f2543Smrg	exit ;;
732706f2543Smrg    CRAY*[A-Z]90:*:*:*)
733706f2543Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
734706f2543Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
735706f2543Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
736706f2543Smrg	      -e 's/\.[^.]*$/.X/'
737706f2543Smrg	exit ;;
738706f2543Smrg    CRAY*TS:*:*:*)
739706f2543Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740706f2543Smrg	exit ;;
741706f2543Smrg    CRAY*T3E:*:*:*)
742706f2543Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743706f2543Smrg	exit ;;
744706f2543Smrg    CRAY*SV1:*:*:*)
745706f2543Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746706f2543Smrg	exit ;;
747706f2543Smrg    *:UNICOS/mp:*:*)
748706f2543Smrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
749706f2543Smrg	exit ;;
750706f2543Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
751706f2543Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
752706f2543Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
753706f2543Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
754706f2543Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
755706f2543Smrg        exit ;;
756706f2543Smrg    5000:UNIX_System_V:4.*:*)
757706f2543Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
758706f2543Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
759706f2543Smrg        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
760706f2543Smrg	exit ;;
761706f2543Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
762706f2543Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763706f2543Smrg	exit ;;
764706f2543Smrg    sparc*:BSD/OS:*:*)
765706f2543Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
766706f2543Smrg	exit ;;
767706f2543Smrg    *:BSD/OS:*:*)
768706f2543Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769706f2543Smrg	exit ;;
770706f2543Smrg    *:FreeBSD:*:*)
771706f2543Smrg	case ${UNAME_MACHINE} in
772706f2543Smrg	    pc98)
773706f2543Smrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
774706f2543Smrg	    amd64)
775706f2543Smrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
776706f2543Smrg	    *)
777706f2543Smrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
778706f2543Smrg	esac
779706f2543Smrg	exit ;;
780706f2543Smrg    i*:CYGWIN*:*)
781706f2543Smrg	echo ${UNAME_MACHINE}-pc-cygwin
782706f2543Smrg	exit ;;
783706f2543Smrg    i*:MINGW*:*)
784706f2543Smrg	echo ${UNAME_MACHINE}-pc-mingw32
785706f2543Smrg	exit ;;
786706f2543Smrg    i*:windows32*:*)
787706f2543Smrg    	# uname -m includes "-pc" on this system.
788706f2543Smrg    	echo ${UNAME_MACHINE}-mingw32
789706f2543Smrg	exit ;;
790706f2543Smrg    i*:PW*:*)
791706f2543Smrg	echo ${UNAME_MACHINE}-pc-pw32
792706f2543Smrg	exit ;;
793706f2543Smrg    x86:Interix*:[3456]*)
794706f2543Smrg	echo i586-pc-interix${UNAME_RELEASE}
795706f2543Smrg	exit ;;
796706f2543Smrg    EM64T:Interix*:[3456]*)
797706f2543Smrg	echo x86_64-unknown-interix${UNAME_RELEASE}
798706f2543Smrg	exit ;;
799706f2543Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
800706f2543Smrg	echo i${UNAME_MACHINE}-pc-mks
801706f2543Smrg	exit ;;
802706f2543Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
803706f2543Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
804706f2543Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
805706f2543Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
806706f2543Smrg	echo i586-pc-interix
807706f2543Smrg	exit ;;
808706f2543Smrg    i*:UWIN*:*)
809706f2543Smrg	echo ${UNAME_MACHINE}-pc-uwin
810706f2543Smrg	exit ;;
811706f2543Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
812706f2543Smrg	echo x86_64-unknown-cygwin
813706f2543Smrg	exit ;;
814706f2543Smrg    p*:CYGWIN*:*)
815706f2543Smrg	echo powerpcle-unknown-cygwin
816706f2543Smrg	exit ;;
817706f2543Smrg    prep*:SunOS:5.*:*)
818706f2543Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
819706f2543Smrg	exit ;;
820706f2543Smrg    *:GNU:*:*)
821706f2543Smrg	# the GNU system
822706f2543Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
823706f2543Smrg	exit ;;
824706f2543Smrg    *:GNU/*:*:*)
825706f2543Smrg	# other systems with GNU libc and userland
826706f2543Smrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
827706f2543Smrg	exit ;;
828706f2543Smrg    i*86:Minix:*:*)
829706f2543Smrg	echo ${UNAME_MACHINE}-pc-minix
830706f2543Smrg	exit ;;
831706f2543Smrg    arm*:Linux:*:*)
832706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
833706f2543Smrg	exit ;;
834706f2543Smrg    avr32*:Linux:*:*)
835706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
836706f2543Smrg	exit ;;
837706f2543Smrg    cris:Linux:*:*)
838706f2543Smrg	echo cris-axis-linux-gnu
839706f2543Smrg	exit ;;
840706f2543Smrg    crisv32:Linux:*:*)
841706f2543Smrg	echo crisv32-axis-linux-gnu
842706f2543Smrg	exit ;;
843706f2543Smrg    frv:Linux:*:*)
844706f2543Smrg    	echo frv-unknown-linux-gnu
845706f2543Smrg	exit ;;
846706f2543Smrg    ia64:Linux:*:*)
847706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
848706f2543Smrg	exit ;;
849706f2543Smrg    m32r*:Linux:*:*)
850706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
851706f2543Smrg	exit ;;
852706f2543Smrg    m68*:Linux:*:*)
853706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
854706f2543Smrg	exit ;;
855706f2543Smrg    mips:Linux:*:*)
856706f2543Smrg	eval $set_cc_for_build
857706f2543Smrg	sed 's/^	//' << EOF >$dummy.c
858706f2543Smrg	#undef CPU
859706f2543Smrg	#undef mips
860706f2543Smrg	#undef mipsel
861706f2543Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
862706f2543Smrg	CPU=mipsel
863706f2543Smrg	#else
864706f2543Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
865706f2543Smrg	CPU=mips
866706f2543Smrg	#else
867706f2543Smrg	CPU=
868706f2543Smrg	#endif
869706f2543Smrg	#endif
870706f2543SmrgEOF
871706f2543Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
872706f2543Smrg	    /^CPU/{
873706f2543Smrg		s: ::g
874706f2543Smrg		p
875706f2543Smrg	    }'`"
876706f2543Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
877706f2543Smrg	;;
878706f2543Smrg    mips64:Linux:*:*)
879706f2543Smrg	eval $set_cc_for_build
880706f2543Smrg	sed 's/^	//' << EOF >$dummy.c
881706f2543Smrg	#undef CPU
882706f2543Smrg	#undef mips64
883706f2543Smrg	#undef mips64el
884706f2543Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
885706f2543Smrg	CPU=mips64el
886706f2543Smrg	#else
887706f2543Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
888706f2543Smrg	CPU=mips64
889706f2543Smrg	#else
890706f2543Smrg	CPU=
891706f2543Smrg	#endif
892706f2543Smrg	#endif
893706f2543SmrgEOF
894706f2543Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
895706f2543Smrg	    /^CPU/{
896706f2543Smrg		s: ::g
897706f2543Smrg		p
898706f2543Smrg	    }'`"
899706f2543Smrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
900706f2543Smrg	;;
901706f2543Smrg    or32:Linux:*:*)
902706f2543Smrg	echo or32-unknown-linux-gnu
903706f2543Smrg	exit ;;
904706f2543Smrg    ppc:Linux:*:*)
905706f2543Smrg	echo powerpc-unknown-linux-gnu
906706f2543Smrg	exit ;;
907706f2543Smrg    ppc64:Linux:*:*)
908706f2543Smrg	echo powerpc64-unknown-linux-gnu
909706f2543Smrg	exit ;;
910706f2543Smrg    alpha:Linux:*:*)
911706f2543Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
912706f2543Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
913706f2543Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
914706f2543Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
915706f2543Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
916706f2543Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
917706f2543Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
918706f2543Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
919706f2543Smrg        esac
920706f2543Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
921706f2543Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
922706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
923706f2543Smrg	exit ;;
924706f2543Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
925706f2543Smrg	# Look for CPU level
926706f2543Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
927706f2543Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
928706f2543Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
929706f2543Smrg	  *)    echo hppa-unknown-linux-gnu ;;
930706f2543Smrg	esac
931706f2543Smrg	exit ;;
932706f2543Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
933706f2543Smrg	echo hppa64-unknown-linux-gnu
934706f2543Smrg	exit ;;
935706f2543Smrg    s390:Linux:*:* | s390x:Linux:*:*)
936706f2543Smrg	echo ${UNAME_MACHINE}-ibm-linux
937706f2543Smrg	exit ;;
938706f2543Smrg    sh64*:Linux:*:*)
939706f2543Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
940706f2543Smrg	exit ;;
941706f2543Smrg    sh*:Linux:*:*)
942706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
943706f2543Smrg	exit ;;
944706f2543Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
945706f2543Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
946706f2543Smrg	exit ;;
947706f2543Smrg    vax:Linux:*:*)
948706f2543Smrg	echo ${UNAME_MACHINE}-dec-linux-gnu
949706f2543Smrg	exit ;;
950706f2543Smrg    x86_64:Linux:*:*)
951706f2543Smrg	echo x86_64-unknown-linux-gnu
952706f2543Smrg	exit ;;
953706f2543Smrg    i*86:Linux:*:*)
954706f2543Smrg	# The BFD linker knows what the default object file format is, so
955706f2543Smrg	# first see if it will tell us. cd to the root directory to prevent
956706f2543Smrg	# problems with other programs or directories called `ld' in the path.
957706f2543Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
958706f2543Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
959706f2543Smrg			 | sed -ne '/supported targets:/!d
960706f2543Smrg				    s/[ 	][ 	]*/ /g
961706f2543Smrg				    s/.*supported targets: *//
962706f2543Smrg				    s/ .*//
963706f2543Smrg				    p'`
964706f2543Smrg        case "$ld_supported_targets" in
965706f2543Smrg	  elf32-i386)
966706f2543Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
967706f2543Smrg		;;
968706f2543Smrg	  a.out-i386-linux)
969706f2543Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
970706f2543Smrg		exit ;;
971706f2543Smrg	  coff-i386)
972706f2543Smrg		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
973706f2543Smrg		exit ;;
974706f2543Smrg	  "")
975706f2543Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
976706f2543Smrg		# one that does not give us useful --help.
977706f2543Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
978706f2543Smrg		exit ;;
979706f2543Smrg	esac
980706f2543Smrg	# Determine whether the default compiler is a.out or elf
981706f2543Smrg	eval $set_cc_for_build
982706f2543Smrg	sed 's/^	//' << EOF >$dummy.c
983706f2543Smrg	#include <features.h>
984706f2543Smrg	#ifdef __ELF__
985706f2543Smrg	# ifdef __GLIBC__
986706f2543Smrg	#  if __GLIBC__ >= 2
987706f2543Smrg	LIBC=gnu
988706f2543Smrg	#  else
989706f2543Smrg	LIBC=gnulibc1
990706f2543Smrg	#  endif
991706f2543Smrg	# else
992706f2543Smrg	LIBC=gnulibc1
993706f2543Smrg	# endif
994706f2543Smrg	#else
995706f2543Smrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
996706f2543Smrg	LIBC=gnu
997706f2543Smrg	#else
998706f2543Smrg	LIBC=gnuaout
999706f2543Smrg	#endif
1000706f2543Smrg	#endif
1001706f2543Smrg	#ifdef __dietlibc__
1002706f2543Smrg	LIBC=dietlibc
1003706f2543Smrg	#endif
1004706f2543SmrgEOF
1005706f2543Smrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1006706f2543Smrg	    /^LIBC/{
1007706f2543Smrg		s: ::g
1008706f2543Smrg		p
1009706f2543Smrg	    }'`"
1010706f2543Smrg	test x"${LIBC}" != x && {
1011706f2543Smrg		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1012706f2543Smrg		exit
1013706f2543Smrg	}
1014706f2543Smrg	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1015706f2543Smrg	;;
1016706f2543Smrg    i*86:DYNIX/ptx:4*:*)
1017706f2543Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1018706f2543Smrg	# earlier versions are messed up and put the nodename in both
1019706f2543Smrg	# sysname and nodename.
1020706f2543Smrg	echo i386-sequent-sysv4
1021706f2543Smrg	exit ;;
1022706f2543Smrg    i*86:UNIX_SV:4.2MP:2.*)
1023706f2543Smrg        # Unixware is an offshoot of SVR4, but it has its own version
1024706f2543Smrg        # number series starting with 2...
1025706f2543Smrg        # I am not positive that other SVR4 systems won't match this,
1026706f2543Smrg	# I just have to hope.  -- rms.
1027706f2543Smrg        # Use sysv4.2uw... so that sysv4* matches it.
1028706f2543Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1029706f2543Smrg	exit ;;
1030706f2543Smrg    i*86:OS/2:*:*)
1031706f2543Smrg	# If we were able to find `uname', then EMX Unix compatibility
1032706f2543Smrg	# is probably installed.
1033706f2543Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
1034706f2543Smrg	exit ;;
1035706f2543Smrg    i*86:XTS-300:*:STOP)
1036706f2543Smrg	echo ${UNAME_MACHINE}-unknown-stop
1037706f2543Smrg	exit ;;
1038706f2543Smrg    i*86:atheos:*:*)
1039706f2543Smrg	echo ${UNAME_MACHINE}-unknown-atheos
1040706f2543Smrg	exit ;;
1041706f2543Smrg    i*86:syllable:*:*)
1042706f2543Smrg	echo ${UNAME_MACHINE}-pc-syllable
1043706f2543Smrg	exit ;;
1044706f2543Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1045706f2543Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
1046706f2543Smrg	exit ;;
1047706f2543Smrg    i*86:*DOS:*:*)
1048706f2543Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1049706f2543Smrg	exit ;;
1050706f2543Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1051706f2543Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1052706f2543Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1053706f2543Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1054706f2543Smrg	else
1055706f2543Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1056706f2543Smrg	fi
1057706f2543Smrg	exit ;;
1058706f2543Smrg    i*86:*:5:[678]*)
1059706f2543Smrg    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1060706f2543Smrg	case `/bin/uname -X | grep "^Machine"` in
1061706f2543Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1062706f2543Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1063706f2543Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1064706f2543Smrg	esac
1065706f2543Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1066706f2543Smrg	exit ;;
1067706f2543Smrg    i*86:*:3.2:*)
1068706f2543Smrg	if test -f /usr/options/cb.name; then
1069706f2543Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1070706f2543Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1071706f2543Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1072706f2543Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1073706f2543Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1074706f2543Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1075706f2543Smrg			&& UNAME_MACHINE=i586
1076706f2543Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1077706f2543Smrg			&& UNAME_MACHINE=i686
1078706f2543Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1079706f2543Smrg			&& UNAME_MACHINE=i686
1080706f2543Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1081706f2543Smrg	else
1082706f2543Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1083706f2543Smrg	fi
1084706f2543Smrg	exit ;;
1085706f2543Smrg    pc:*:*:*)
1086706f2543Smrg	# Left here for compatibility:
1087706f2543Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1088706f2543Smrg        # the processor, so we play safe by assuming i386.
1089706f2543Smrg	echo i386-pc-msdosdjgpp
1090706f2543Smrg        exit ;;
1091706f2543Smrg    Intel:Mach:3*:*)
1092706f2543Smrg	echo i386-pc-mach3
1093706f2543Smrg	exit ;;
1094706f2543Smrg    paragon:*:*:*)
1095706f2543Smrg	echo i860-intel-osf1
1096706f2543Smrg	exit ;;
1097706f2543Smrg    i860:*:4.*:*) # i860-SVR4
1098706f2543Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1099706f2543Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1100706f2543Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1101706f2543Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1102706f2543Smrg	fi
1103706f2543Smrg	exit ;;
1104706f2543Smrg    mini*:CTIX:SYS*5:*)
1105706f2543Smrg	# "miniframe"
1106706f2543Smrg	echo m68010-convergent-sysv
1107706f2543Smrg	exit ;;
1108706f2543Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1109706f2543Smrg	echo m68k-convergent-sysv
1110706f2543Smrg	exit ;;
1111706f2543Smrg    M680?0:D-NIX:5.3:*)
1112706f2543Smrg	echo m68k-diab-dnix
1113706f2543Smrg	exit ;;
1114706f2543Smrg    M68*:*:R3V[5678]*:*)
1115706f2543Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1116706f2543Smrg    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)
1117706f2543Smrg	OS_REL=''
1118706f2543Smrg	test -r /etc/.relid \
1119706f2543Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1120706f2543Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121706f2543Smrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1122706f2543Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123706f2543Smrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1124706f2543Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1125706f2543Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1126706f2543Smrg          && { echo i486-ncr-sysv4; exit; } ;;
1127706f2543Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1128706f2543Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
1129706f2543Smrg	exit ;;
1130706f2543Smrg    mc68030:UNIX_System_V:4.*:*)
1131706f2543Smrg	echo m68k-atari-sysv4
1132706f2543Smrg	exit ;;
1133706f2543Smrg    TSUNAMI:LynxOS:2.*:*)
1134706f2543Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
1135706f2543Smrg	exit ;;
1136706f2543Smrg    rs6000:LynxOS:2.*:*)
1137706f2543Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1138706f2543Smrg	exit ;;
1139706f2543Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1140706f2543Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1141706f2543Smrg	exit ;;
1142706f2543Smrg    SM[BE]S:UNIX_SV:*:*)
1143706f2543Smrg	echo mips-dde-sysv${UNAME_RELEASE}
1144706f2543Smrg	exit ;;
1145706f2543Smrg    RM*:ReliantUNIX-*:*:*)
1146706f2543Smrg	echo mips-sni-sysv4
1147706f2543Smrg	exit ;;
1148706f2543Smrg    RM*:SINIX-*:*:*)
1149706f2543Smrg	echo mips-sni-sysv4
1150706f2543Smrg	exit ;;
1151706f2543Smrg    *:SINIX-*:*:*)
1152706f2543Smrg	if uname -p 2>/dev/null >/dev/null ; then
1153706f2543Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1154706f2543Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1155706f2543Smrg	else
1156706f2543Smrg		echo ns32k-sni-sysv
1157706f2543Smrg	fi
1158706f2543Smrg	exit ;;
1159706f2543Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1160706f2543Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1161706f2543Smrg        echo i586-unisys-sysv4
1162706f2543Smrg        exit ;;
1163706f2543Smrg    *:UNIX_System_V:4*:FTX*)
1164706f2543Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1165706f2543Smrg	# How about differentiating between stratus architectures? -djm
1166706f2543Smrg	echo hppa1.1-stratus-sysv4
1167706f2543Smrg	exit ;;
1168706f2543Smrg    *:*:*:FTX*)
1169706f2543Smrg	# From seanf@swdc.stratus.com.
1170706f2543Smrg	echo i860-stratus-sysv4
1171706f2543Smrg	exit ;;
1172706f2543Smrg    i*86:VOS:*:*)
1173706f2543Smrg	# From Paul.Green@stratus.com.
1174706f2543Smrg	echo ${UNAME_MACHINE}-stratus-vos
1175706f2543Smrg	exit ;;
1176706f2543Smrg    *:VOS:*:*)
1177706f2543Smrg	# From Paul.Green@stratus.com.
1178706f2543Smrg	echo hppa1.1-stratus-vos
1179706f2543Smrg	exit ;;
1180706f2543Smrg    mc68*:A/UX:*:*)
1181706f2543Smrg	echo m68k-apple-aux${UNAME_RELEASE}
1182706f2543Smrg	exit ;;
1183706f2543Smrg    news*:NEWS-OS:6*:*)
1184706f2543Smrg	echo mips-sony-newsos6
1185706f2543Smrg	exit ;;
1186706f2543Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1187706f2543Smrg	if [ -d /usr/nec ]; then
1188706f2543Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
1189706f2543Smrg	else
1190706f2543Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
1191706f2543Smrg	fi
1192706f2543Smrg        exit ;;
1193706f2543Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1194706f2543Smrg	echo powerpc-be-beos
1195706f2543Smrg	exit ;;
1196706f2543Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1197706f2543Smrg	echo powerpc-apple-beos
1198706f2543Smrg	exit ;;
1199706f2543Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1200706f2543Smrg	echo i586-pc-beos
1201706f2543Smrg	exit ;;
1202706f2543Smrg    SX-4:SUPER-UX:*:*)
1203706f2543Smrg	echo sx4-nec-superux${UNAME_RELEASE}
1204706f2543Smrg	exit ;;
1205706f2543Smrg    SX-5:SUPER-UX:*:*)
1206706f2543Smrg	echo sx5-nec-superux${UNAME_RELEASE}
1207706f2543Smrg	exit ;;
1208706f2543Smrg    SX-6:SUPER-UX:*:*)
1209706f2543Smrg	echo sx6-nec-superux${UNAME_RELEASE}
1210706f2543Smrg	exit ;;
1211706f2543Smrg    Power*:Rhapsody:*:*)
1212706f2543Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1213706f2543Smrg	exit ;;
1214706f2543Smrg    *:Rhapsody:*:*)
1215706f2543Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1216706f2543Smrg	exit ;;
1217706f2543Smrg    *:Darwin:*:*)
1218706f2543Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1219706f2543Smrg	case $UNAME_PROCESSOR in
1220706f2543Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1221706f2543Smrg	esac
1222706f2543Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1223706f2543Smrg	exit ;;
1224706f2543Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1225706f2543Smrg	UNAME_PROCESSOR=`uname -p`
1226706f2543Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1227706f2543Smrg		UNAME_PROCESSOR=i386
1228706f2543Smrg		UNAME_MACHINE=pc
1229706f2543Smrg	fi
1230706f2543Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1231706f2543Smrg	exit ;;
1232706f2543Smrg    *:QNX:*:4*)
1233706f2543Smrg	echo i386-pc-qnx
1234706f2543Smrg	exit ;;
1235706f2543Smrg    NSE-?:NONSTOP_KERNEL:*:*)
1236706f2543Smrg	echo nse-tandem-nsk${UNAME_RELEASE}
1237706f2543Smrg	exit ;;
1238706f2543Smrg    NSR-?:NONSTOP_KERNEL:*:*)
1239706f2543Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
1240706f2543Smrg	exit ;;
1241706f2543Smrg    *:NonStop-UX:*:*)
1242706f2543Smrg	echo mips-compaq-nonstopux
1243706f2543Smrg	exit ;;
1244706f2543Smrg    BS2000:POSIX*:*:*)
1245706f2543Smrg	echo bs2000-siemens-sysv
1246706f2543Smrg	exit ;;
1247706f2543Smrg    DS/*:UNIX_System_V:*:*)
1248706f2543Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1249706f2543Smrg	exit ;;
1250706f2543Smrg    *:Plan9:*:*)
1251706f2543Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1252706f2543Smrg	# is converted to i386 for consistency with other x86
1253706f2543Smrg	# operating systems.
1254706f2543Smrg	if test "$cputype" = "386"; then
1255706f2543Smrg	    UNAME_MACHINE=i386
1256706f2543Smrg	else
1257706f2543Smrg	    UNAME_MACHINE="$cputype"
1258706f2543Smrg	fi
1259706f2543Smrg	echo ${UNAME_MACHINE}-unknown-plan9
1260706f2543Smrg	exit ;;
1261706f2543Smrg    *:TOPS-10:*:*)
1262706f2543Smrg	echo pdp10-unknown-tops10
1263706f2543Smrg	exit ;;
1264706f2543Smrg    *:TENEX:*:*)
1265706f2543Smrg	echo pdp10-unknown-tenex
1266706f2543Smrg	exit ;;
1267706f2543Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1268706f2543Smrg	echo pdp10-dec-tops20
1269706f2543Smrg	exit ;;
1270706f2543Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1271706f2543Smrg	echo pdp10-xkl-tops20
1272706f2543Smrg	exit ;;
1273706f2543Smrg    *:TOPS-20:*:*)
1274706f2543Smrg	echo pdp10-unknown-tops20
1275706f2543Smrg	exit ;;
1276706f2543Smrg    *:ITS:*:*)
1277706f2543Smrg	echo pdp10-unknown-its
1278706f2543Smrg	exit ;;
1279706f2543Smrg    SEI:*:*:SEIUX)
1280706f2543Smrg        echo mips-sei-seiux${UNAME_RELEASE}
1281706f2543Smrg	exit ;;
1282706f2543Smrg    *:DragonFly:*:*)
1283706f2543Smrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1284706f2543Smrg	exit ;;
1285706f2543Smrg    *:*VMS:*:*)
1286706f2543Smrg    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1287706f2543Smrg	case "${UNAME_MACHINE}" in
1288706f2543Smrg	    A*) echo alpha-dec-vms ; exit ;;
1289706f2543Smrg	    I*) echo ia64-dec-vms ; exit ;;
1290706f2543Smrg	    V*) echo vax-dec-vms ; exit ;;
1291706f2543Smrg	esac ;;
1292706f2543Smrg    *:XENIX:*:SysV)
1293706f2543Smrg	echo i386-pc-xenix
1294706f2543Smrg	exit ;;
1295706f2543Smrg    i*86:skyos:*:*)
1296706f2543Smrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1297706f2543Smrg	exit ;;
1298706f2543Smrg    i*86:rdos:*:*)
1299706f2543Smrg	echo ${UNAME_MACHINE}-pc-rdos
1300706f2543Smrg	exit ;;
1301706f2543Smrgesac
1302706f2543Smrg
1303706f2543Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1304706f2543Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1305706f2543Smrg
1306706f2543Smrgeval $set_cc_for_build
1307706f2543Smrgcat >$dummy.c <<EOF
1308706f2543Smrg#ifdef _SEQUENT_
1309706f2543Smrg# include <sys/types.h>
1310706f2543Smrg# include <sys/utsname.h>
1311706f2543Smrg#endif
1312706f2543Smrgmain ()
1313706f2543Smrg{
1314706f2543Smrg#if defined (sony)
1315706f2543Smrg#if defined (MIPSEB)
1316706f2543Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1317706f2543Smrg     I don't know....  */
1318706f2543Smrg  printf ("mips-sony-bsd\n"); exit (0);
1319706f2543Smrg#else
1320706f2543Smrg#include <sys/param.h>
1321706f2543Smrg  printf ("m68k-sony-newsos%s\n",
1322706f2543Smrg#ifdef NEWSOS4
1323706f2543Smrg          "4"
1324706f2543Smrg#else
1325706f2543Smrg	  ""
1326706f2543Smrg#endif
1327706f2543Smrg         ); exit (0);
1328706f2543Smrg#endif
1329706f2543Smrg#endif
1330706f2543Smrg
1331706f2543Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
1332706f2543Smrg  printf ("arm-acorn-riscix\n"); exit (0);
1333706f2543Smrg#endif
1334706f2543Smrg
1335706f2543Smrg#if defined (hp300) && !defined (hpux)
1336706f2543Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1337706f2543Smrg#endif
1338706f2543Smrg
1339706f2543Smrg#if defined (NeXT)
1340706f2543Smrg#if !defined (__ARCHITECTURE__)
1341706f2543Smrg#define __ARCHITECTURE__ "m68k"
1342706f2543Smrg#endif
1343706f2543Smrg  int version;
1344706f2543Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1345706f2543Smrg  if (version < 4)
1346706f2543Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1347706f2543Smrg  else
1348706f2543Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1349706f2543Smrg  exit (0);
1350706f2543Smrg#endif
1351706f2543Smrg
1352706f2543Smrg#if defined (MULTIMAX) || defined (n16)
1353706f2543Smrg#if defined (UMAXV)
1354706f2543Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1355706f2543Smrg#else
1356706f2543Smrg#if defined (CMU)
1357706f2543Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1358706f2543Smrg#else
1359706f2543Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1360706f2543Smrg#endif
1361706f2543Smrg#endif
1362706f2543Smrg#endif
1363706f2543Smrg
1364706f2543Smrg#if defined (__386BSD__)
1365706f2543Smrg  printf ("i386-pc-bsd\n"); exit (0);
1366706f2543Smrg#endif
1367706f2543Smrg
1368706f2543Smrg#if defined (sequent)
1369706f2543Smrg#if defined (i386)
1370706f2543Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1371706f2543Smrg#endif
1372706f2543Smrg#if defined (ns32000)
1373706f2543Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1374706f2543Smrg#endif
1375706f2543Smrg#endif
1376706f2543Smrg
1377706f2543Smrg#if defined (_SEQUENT_)
1378706f2543Smrg    struct utsname un;
1379706f2543Smrg
1380706f2543Smrg    uname(&un);
1381706f2543Smrg
1382706f2543Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1383706f2543Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1384706f2543Smrg    }
1385706f2543Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1386706f2543Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1387706f2543Smrg    }
1388706f2543Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1389706f2543Smrg
1390706f2543Smrg#endif
1391706f2543Smrg
1392706f2543Smrg#if defined (vax)
1393706f2543Smrg# if !defined (ultrix)
1394706f2543Smrg#  include <sys/param.h>
1395706f2543Smrg#  if defined (BSD)
1396706f2543Smrg#   if BSD == 43
1397706f2543Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1398706f2543Smrg#   else
1399706f2543Smrg#    if BSD == 199006
1400706f2543Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1401706f2543Smrg#    else
1402706f2543Smrg      printf ("vax-dec-bsd\n"); exit (0);
1403706f2543Smrg#    endif
1404706f2543Smrg#   endif
1405706f2543Smrg#  else
1406706f2543Smrg    printf ("vax-dec-bsd\n"); exit (0);
1407706f2543Smrg#  endif
1408706f2543Smrg# else
1409706f2543Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1410706f2543Smrg# endif
1411706f2543Smrg#endif
1412706f2543Smrg
1413706f2543Smrg#if defined (alliant) && defined (i860)
1414706f2543Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1415706f2543Smrg#endif
1416706f2543Smrg
1417706f2543Smrg  exit (1);
1418706f2543Smrg}
1419706f2543SmrgEOF
1420706f2543Smrg
1421706f2543Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1422706f2543Smrg	{ echo "$SYSTEM_NAME"; exit; }
1423706f2543Smrg
1424706f2543Smrg# Apollos put the system type in the environment.
1425706f2543Smrg
1426706f2543Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1427706f2543Smrg
1428706f2543Smrg# Convex versions that predate uname can use getsysinfo(1)
1429706f2543Smrg
1430706f2543Smrgif [ -x /usr/convex/getsysinfo ]
1431706f2543Smrgthen
1432706f2543Smrg    case `getsysinfo -f cpu_type` in
1433706f2543Smrg    c1*)
1434706f2543Smrg	echo c1-convex-bsd
1435706f2543Smrg	exit ;;
1436706f2543Smrg    c2*)
1437706f2543Smrg	if getsysinfo -f scalar_acc
1438706f2543Smrg	then echo c32-convex-bsd
1439706f2543Smrg	else echo c2-convex-bsd
1440706f2543Smrg	fi
1441706f2543Smrg	exit ;;
1442706f2543Smrg    c34*)
1443706f2543Smrg	echo c34-convex-bsd
1444706f2543Smrg	exit ;;
1445706f2543Smrg    c38*)
1446706f2543Smrg	echo c38-convex-bsd
1447706f2543Smrg	exit ;;
1448706f2543Smrg    c4*)
1449706f2543Smrg	echo c4-convex-bsd
1450706f2543Smrg	exit ;;
1451706f2543Smrg    esac
1452706f2543Smrgfi
1453706f2543Smrg
1454706f2543Smrgcat >&2 <<EOF
1455706f2543Smrg$0: unable to guess system type
1456706f2543Smrg
1457706f2543SmrgThis script, last modified $timestamp, has failed to recognize
1458706f2543Smrgthe operating system you are using. It is advised that you
1459706f2543Smrgdownload the most up to date version of the config scripts from
1460706f2543Smrg
1461706f2543Smrg  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1462706f2543Smrgand
1463706f2543Smrg  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1464706f2543Smrg
1465706f2543SmrgIf the version you run ($0) is already up to date, please
1466706f2543Smrgsend the following data and any information you think might be
1467706f2543Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1468706f2543Smrginformation to handle your system.
1469706f2543Smrg
1470706f2543Smrgconfig.guess timestamp = $timestamp
1471706f2543Smrg
1472706f2543Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1473706f2543Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1474706f2543Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1475706f2543Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1476706f2543Smrg
1477706f2543Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1478706f2543Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1479706f2543Smrg
1480706f2543Smrghostinfo               = `(hostinfo) 2>/dev/null`
1481706f2543Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1482706f2543Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1483706f2543Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1484706f2543Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1485706f2543Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1486706f2543Smrg
1487706f2543SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1488706f2543SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1489706f2543SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1490706f2543SmrgUNAME_VERSION = ${UNAME_VERSION}
1491706f2543SmrgEOF
1492706f2543Smrg
1493706f2543Smrgexit 1
1494706f2543Smrg
1495706f2543Smrg# Local variables:
1496706f2543Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1497706f2543Smrg# time-stamp-start: "timestamp='"
1498706f2543Smrg# time-stamp-format: "%:y-%02m-%02d"
1499706f2543Smrg# time-stamp-end: "'"
1500706f2543Smrg# End:
1501