117683Spst#! /bin/sh
217683Spst# Attempt to guess a canonical system name.
3127664Sbms#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4214518Srpaulo#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5214518Srpaulo#   Free Software Foundation, Inc.
675107Sfenner
7214518Srpaulotimestamp='2009-12-30'
875107Sfenner
917683Spst# This file is free software; you can redistribute it and/or modify it
1017683Spst# under the terms of the GNU General Public License as published by
1117683Spst# the Free Software Foundation; either version 2 of the License, or
1217683Spst# (at your option) any later version.
1317683Spst#
1417683Spst# This program is distributed in the hope that it will be useful, but
1517683Spst# WITHOUT ANY WARRANTY; without even the implied warranty of
1617683Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1717683Spst# General Public License for more details.
1817683Spst#
1917683Spst# You should have received a copy of the GNU General Public License
2017683Spst# along with this program; if not, write to the Free Software
21214518Srpaulo# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22214518Srpaulo# 02110-1301, USA.
2317683Spst#
2417683Spst# As a special exception to the GNU General Public License, if you
2517683Spst# distribute this file as part of a program that contains a
2617683Spst# configuration script generated by Autoconf, you may include it under
2717683Spst# the same distribution terms that you use for the rest of that program.
2817683Spst
29214518Srpaulo
30214518Srpaulo# Originally written by Per Bothner.  Please send patches (context
31214518Srpaulo# diff format) to <config-patches@gnu.org> and include a ChangeLog
32214518Srpaulo# entry.
3317683Spst#
3417683Spst# This script attempts to guess a canonical system name similar to
3517683Spst# config.sub.  If it succeeds, it prints the system name on stdout, and
3617683Spst# exits with 0.  Otherwise, it exits with 1.
3717683Spst#
38214518Srpaulo# You can get the latest version of this script from:
39214518Srpaulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
4017683Spst
4175107Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
4275107Sfenner
4375107Sfennerusage="\
4475107SfennerUsage: $0 [OPTION]
4575107Sfenner
4675107SfennerOutput the configuration name of the system \`$me' is run on.
4775107Sfenner
4875107SfennerOperation modes:
4975107Sfenner  -h, --help         print this help, then exit
5075107Sfenner  -t, --time-stamp   print date of last modification, then exit
5175107Sfenner  -v, --version      print version number, then exit
5275107Sfenner
5375107SfennerReport bugs and patches to <config-patches@gnu.org>."
5475107Sfenner
5575107Sfennerversion="\
5675107SfennerGNU config.guess ($timestamp)
5775107Sfenner
5875107SfennerOriginally written by Per Bothner.
59214518SrpauloCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
60214518Srpaulo2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
61214518SrpauloSoftware Foundation, Inc.
6275107Sfenner
6375107SfennerThis is free software; see the source for copying conditions.  There is NO
6475107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6575107Sfenner
6675107Sfennerhelp="
6775107SfennerTry \`$me --help' for more information."
6875107Sfenner
6975107Sfenner# Parse command line
7075107Sfennerwhile test $# -gt 0 ; do
7175107Sfenner  case $1 in
7275107Sfenner    --time-stamp | --time* | -t )
73214518Srpaulo       echo "$timestamp" ; exit ;;
7475107Sfenner    --version | -v )
75214518Srpaulo       echo "$version" ; exit ;;
7675107Sfenner    --help | --h* | -h )
77214518Srpaulo       echo "$usage"; exit ;;
7875107Sfenner    -- )     # Stop option processing
7975107Sfenner       shift; break ;;
8075107Sfenner    - )	# Use stdin as input.
8175107Sfenner       break ;;
8275107Sfenner    -* )
8375107Sfenner       echo "$me: invalid option $1$help" >&2
8475107Sfenner       exit 1 ;;
8575107Sfenner    * )
8675107Sfenner       break ;;
8775107Sfenner  esac
8875107Sfennerdone
8975107Sfenner
9075107Sfennerif test $# != 0; then
9175107Sfenner  echo "$me: too many arguments$help" >&2
9275107Sfenner  exit 1
9375107Sfennerfi
9475107Sfenner
95127664Sbmstrap 'exit 1' 1 2 15
9675107Sfenner
97127664Sbms# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
98127664Sbms# compiler to aid in system detection is discouraged as it requires
99127664Sbms# temporary files to be created and, as you can see below, it is a
100127664Sbms# headache to deal with in a portable fashion.
10175107Sfenner
10275107Sfenner# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10375107Sfenner# use `HOST_CC' if defined, but it is deprecated.
10475107Sfenner
105127664Sbms# Portable tmp directory creation inspired by the Autoconf team.
106127664Sbms
107127664Sbmsset_cc_for_build='
108127664Sbmstrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
109127664Sbmstrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
110127664Sbms: ${TMPDIR=/tmp} ;
111214518Srpaulo { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
112127664Sbms { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
113127664Sbms { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
114127664Sbms { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
115127664Sbmsdummy=$tmp/dummy ;
116127664Sbmstmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
11775107Sfennercase $CC_FOR_BUILD,$HOST_CC,$CC in
118127664Sbms ,,)    echo "int x;" > $dummy.c ;
119127664Sbms	for c in cc gcc c89 c99 ; do
120127664Sbms	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
121127664Sbms	     CC_FOR_BUILD="$c"; break ;
122127664Sbms	  fi ;
123127664Sbms	done ;
12475107Sfenner	if test x"$CC_FOR_BUILD" = x ; then
125127664Sbms	  CC_FOR_BUILD=no_compiler_found ;
12675107Sfenner	fi
12775107Sfenner	;;
12875107Sfenner ,,*)   CC_FOR_BUILD=$CC ;;
12975107Sfenner ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
130214518Srpauloesac ; set_cc_for_build= ;'
13175107Sfenner
13217683Spst# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
133127664Sbms# (ghazi@noc.rutgers.edu 1994-08-24)
13417683Spstif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13517683Spst	PATH=$PATH:/.attbin ; export PATH
13617683Spstfi
13717683Spst
13817683SpstUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13917683SpstUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
14075107SfennerUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14117683SpstUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14217683Spst
14317683Spst# Note: order is significant - the case branches are not exclusive.
14417683Spst
14517683Spstcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14675107Sfenner    *:NetBSD:*:*)
147127664Sbms	# NetBSD (nbsd) targets should (where applicable) match one or
14875107Sfenner	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14975107Sfenner	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
15075107Sfenner	# switched to ELF, *-*-netbsd* would select the old
15175107Sfenner	# object file format.  This provides both forward
15275107Sfenner	# compatibility and a consistent mechanism for selecting the
15375107Sfenner	# object file format.
154127664Sbms	#
155127664Sbms	# Note: NetBSD doesn't particularly care about the vendor
156127664Sbms	# portion of the name.  We always set it to "unknown".
157127664Sbms	sysctl="sysctl -n hw.machine_arch"
158127664Sbms	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
159127664Sbms	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
160127664Sbms	case "${UNAME_MACHINE_ARCH}" in
161127664Sbms	    armeb) machine=armeb-unknown ;;
162127664Sbms	    arm*) machine=arm-unknown ;;
163127664Sbms	    sh3el) machine=shl-unknown ;;
164127664Sbms	    sh3eb) machine=sh-unknown ;;
165214518Srpaulo	    sh5el) machine=sh5le-unknown ;;
166127664Sbms	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16775107Sfenner	esac
16875107Sfenner	# The Operating System including object format, if it has switched
16975107Sfenner	# to ELF recently, or will in the future.
170127664Sbms	case "${UNAME_MACHINE_ARCH}" in
171127664Sbms	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
172127664Sbms		eval $set_cc_for_build
17375107Sfenner		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
174214518Srpaulo			| grep -q __ELF__
17575107Sfenner		then
17675107Sfenner		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17775107Sfenner		    # Return netbsd for either.  FIX?
17875107Sfenner		    os=netbsd
17975107Sfenner		else
18075107Sfenner		    os=netbsdelf
18175107Sfenner		fi
18275107Sfenner		;;
18375107Sfenner	    *)
18475107Sfenner	        os=netbsd
18575107Sfenner		;;
18675107Sfenner	esac
18775107Sfenner	# The OS release
188127664Sbms	# Debian GNU/NetBSD machines have a different userland, and
189127664Sbms	# thus, need a distinct triplet. However, they do not need
190127664Sbms	# kernel version information, so it can be replaced with a
191127664Sbms	# suitable tag, in the style of linux-gnu.
192127664Sbms	case "${UNAME_VERSION}" in
193127664Sbms	    Debian*)
194127664Sbms		release='-gnu'
195127664Sbms		;;
196127664Sbms	    *)
197127664Sbms		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
198127664Sbms		;;
199127664Sbms	esac
20075107Sfenner	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20175107Sfenner	# contains redundant information, the shorter form:
20275107Sfenner	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20375107Sfenner	echo "${machine}-${os}${release}"
204214518Srpaulo	exit ;;
205127664Sbms    *:OpenBSD:*:*)
206214518Srpaulo	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
207214518Srpaulo	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
208214518Srpaulo	exit ;;
209214518Srpaulo    *:ekkoBSD:*:*)
210214518Srpaulo	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
211214518Srpaulo	exit ;;
212214518Srpaulo    *:SolidBSD:*:*)
213214518Srpaulo	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
214214518Srpaulo	exit ;;
215214518Srpaulo    macppc:MirBSD:*:*)
216214518Srpaulo	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
217214518Srpaulo	exit ;;
218214518Srpaulo    *:MirBSD:*:*)
219214518Srpaulo	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
220214518Srpaulo	exit ;;
22117683Spst    alpha:OSF1:*:*)
222214518Srpaulo	case $UNAME_RELEASE in
223214518Srpaulo	*4.0)
22475107Sfenner		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
225214518Srpaulo		;;
226214518Srpaulo	*5.*)
227214518Srpaulo	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
228214518Srpaulo		;;
229214518Srpaulo	esac
230127664Sbms	# According to Compaq, /usr/sbin/psrinfo has been available on
231127664Sbms	# OSF/1 and Tru64 systems produced since 1995.  I hope that
232127664Sbms	# covers most systems running today.  This code pipes the CPU
233127664Sbms	# types through head -n 1, so we only detect the type of CPU 0.
234127664Sbms	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
235127664Sbms	case "$ALPHA_CPU_TYPE" in
236127664Sbms	    "EV4 (21064)")
237127664Sbms		UNAME_MACHINE="alpha" ;;
238127664Sbms	    "EV4.5 (21064)")
239127664Sbms		UNAME_MACHINE="alpha" ;;
240127664Sbms	    "LCA4 (21066/21068)")
241127664Sbms		UNAME_MACHINE="alpha" ;;
242127664Sbms	    "EV5 (21164)")
243127664Sbms		UNAME_MACHINE="alphaev5" ;;
244127664Sbms	    "EV5.6 (21164A)")
245127664Sbms		UNAME_MACHINE="alphaev56" ;;
246127664Sbms	    "EV5.6 (21164PC)")
247127664Sbms		UNAME_MACHINE="alphapca56" ;;
248127664Sbms	    "EV5.7 (21164PC)")
249127664Sbms		UNAME_MACHINE="alphapca57" ;;
250127664Sbms	    "EV6 (21264)")
251127664Sbms		UNAME_MACHINE="alphaev6" ;;
252127664Sbms	    "EV6.7 (21264A)")
253127664Sbms		UNAME_MACHINE="alphaev67" ;;
254127664Sbms	    "EV6.8CB (21264C)")
255127664Sbms		UNAME_MACHINE="alphaev68" ;;
256127664Sbms	    "EV6.8AL (21264B)")
257127664Sbms		UNAME_MACHINE="alphaev68" ;;
258127664Sbms	    "EV6.8CX (21264D)")
259127664Sbms		UNAME_MACHINE="alphaev68" ;;
260127664Sbms	    "EV6.9A (21264/EV69A)")
261127664Sbms		UNAME_MACHINE="alphaev69" ;;
262127664Sbms	    "EV7 (21364)")
263127664Sbms		UNAME_MACHINE="alphaev7" ;;
264127664Sbms	    "EV7.9 (21364A)")
265127664Sbms		UNAME_MACHINE="alphaev79" ;;
266127664Sbms	esac
267214518Srpaulo	# A Pn.n version is a patched version.
26817683Spst	# A Vn.n version is a released version.
26917683Spst	# A Tn.n version is a released field test version.
27017683Spst	# A Xn.n version is an unreleased experimental baselevel.
27117683Spst	# 1.2 uses "1.2" for uname -r.
272214518Srpaulo	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
273214518Srpaulo	exit ;;
27475107Sfenner    Alpha\ *:Windows_NT*:*)
27575107Sfenner	# How do we know it's Interix rather than the generic POSIX subsystem?
27675107Sfenner	# Should we change UNAME_MACHINE based on the output of uname instead
27775107Sfenner	# of the specific Alpha model?
27875107Sfenner	echo alpha-pc-interix
279214518Srpaulo	exit ;;
28017683Spst    21064:Windows_NT:50:3)
28117683Spst	echo alpha-dec-winnt3.5
282214518Srpaulo	exit ;;
28317683Spst    Amiga*:UNIX_System_V:4.0:*)
28475107Sfenner	echo m68k-unknown-sysv4
285214518Srpaulo	exit ;;
28675107Sfenner    *:[Aa]miga[Oo][Ss]:*:*)
28775107Sfenner	echo ${UNAME_MACHINE}-unknown-amigaos
288214518Srpaulo	exit ;;
289127664Sbms    *:[Mm]orph[Oo][Ss]:*:*)
290127664Sbms	echo ${UNAME_MACHINE}-unknown-morphos
291214518Srpaulo	exit ;;
29275107Sfenner    *:OS/390:*:*)
29375107Sfenner	echo i370-ibm-openedition
294214518Srpaulo	exit ;;
295214518Srpaulo    *:z/VM:*:*)
296214518Srpaulo	echo s390-ibm-zvmoe
297214518Srpaulo	exit ;;
298127664Sbms    *:OS400:*:*)
299127664Sbms        echo powerpc-ibm-os400
300214518Srpaulo	exit ;;
30117683Spst    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30217683Spst	echo arm-acorn-riscix${UNAME_RELEASE}
303214518Srpaulo	exit ;;
304214518Srpaulo    arm:riscos:*:*|arm:RISCOS:*:*)
305214518Srpaulo	echo arm-unknown-riscos
306214518Srpaulo	exit ;;
30798530Sfenner    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
30875107Sfenner	echo hppa1.1-hitachi-hiuxmpp
309214518Srpaulo	exit ;;
31075107Sfenner    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
31126175Sfenner	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31217683Spst	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31317683Spst		echo pyramid-pyramid-sysv3
31417683Spst	else
31517683Spst		echo pyramid-pyramid-bsd
31617683Spst	fi
317214518Srpaulo	exit ;;
31875107Sfenner    NILE*:*:*:dcosx)
31926175Sfenner	echo pyramid-pyramid-svr4
320214518Srpaulo	exit ;;
321127664Sbms    DRS?6000:unix:4.0:6*)
322127664Sbms	echo sparc-icl-nx6
323214518Srpaulo	exit ;;
324214518Srpaulo    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
325127664Sbms	case `/usr/bin/uname -p` in
326214518Srpaulo	    sparc) echo sparc-icl-nx7; exit ;;
327127664Sbms	esac ;;
328214518Srpaulo    s390x:SunOS:*:*)
329214518Srpaulo	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330214518Srpaulo	exit ;;
33175107Sfenner    sun4H:SunOS:5.*:*)
33275107Sfenner	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333214518Srpaulo	exit ;;
33426175Sfenner    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33517683Spst	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336214518Srpaulo	exit ;;
337214518Srpaulo    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
338214518Srpaulo	echo i386-pc-auroraux${UNAME_RELEASE}
339214518Srpaulo	exit ;;
340214518Srpaulo    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
341214518Srpaulo	eval $set_cc_for_build
342214518Srpaulo	SUN_ARCH="i386"
343214518Srpaulo	# If there is a compiler, see if it is configured for 64-bit objects.
344214518Srpaulo	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
345214518Srpaulo	# This test works for both compilers.
346214518Srpaulo	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
347214518Srpaulo	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
348214518Srpaulo		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
349214518Srpaulo		grep IS_64BIT_ARCH >/dev/null
350214518Srpaulo	    then
351214518Srpaulo		SUN_ARCH="x86_64"
352214518Srpaulo	    fi
353214518Srpaulo	fi
354214518Srpaulo	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355214518Srpaulo	exit ;;
35617683Spst    sun4*:SunOS:6*:*)
35717683Spst	# According to config.sub, this is the proper way to canonicalize
35817683Spst	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
35917683Spst	# it's likely to be more like Solaris than SunOS4.
36017683Spst	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
361214518Srpaulo	exit ;;
36217683Spst    sun4*:SunOS:*:*)
36317683Spst	case "`/usr/bin/arch -k`" in
36417683Spst	    Series*|S4*)
36517683Spst		UNAME_RELEASE=`uname -v`
36617683Spst		;;
36717683Spst	esac
36817683Spst	# Japanese Language versions have a version number like `4.1.3-JL'.
36917683Spst	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
370214518Srpaulo	exit ;;
37117683Spst    sun3*:SunOS:*:*)
37217683Spst	echo m68k-sun-sunos${UNAME_RELEASE}
373214518Srpaulo	exit ;;
37475107Sfenner    sun*:*:4.2BSD:*)
375127664Sbms	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
37675107Sfenner	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
37775107Sfenner	case "`/bin/arch`" in
37875107Sfenner	    sun3)
37975107Sfenner		echo m68k-sun-sunos${UNAME_RELEASE}
38075107Sfenner		;;
38175107Sfenner	    sun4)
38275107Sfenner		echo sparc-sun-sunos${UNAME_RELEASE}
38375107Sfenner		;;
38475107Sfenner	esac
385214518Srpaulo	exit ;;
38626175Sfenner    aushp:SunOS:*:*)
38726175Sfenner	echo sparc-auspex-sunos${UNAME_RELEASE}
388214518Srpaulo	exit ;;
38975107Sfenner    # The situation for MiNT is a little confusing.  The machine name
39075107Sfenner    # can be virtually everything (everything which is not
39175107Sfenner    # "atarist" or "atariste" at least should have a processor
39275107Sfenner    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
39375107Sfenner    # to the lowercase version "mint" (or "freemint").  Finally
39475107Sfenner    # the system name "TOS" denotes a system which is actually not
39575107Sfenner    # MiNT.  But MiNT is downward compatible to TOS, so this should
39675107Sfenner    # be no problem.
39775107Sfenner    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
39875107Sfenner        echo m68k-atari-mint${UNAME_RELEASE}
399214518Srpaulo	exit ;;
40075107Sfenner    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
40175107Sfenner	echo m68k-atari-mint${UNAME_RELEASE}
402214518Srpaulo        exit ;;
40375107Sfenner    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
40475107Sfenner        echo m68k-atari-mint${UNAME_RELEASE}
405214518Srpaulo	exit ;;
40675107Sfenner    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
40775107Sfenner        echo m68k-milan-mint${UNAME_RELEASE}
408214518Srpaulo        exit ;;
40975107Sfenner    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
41075107Sfenner        echo m68k-hades-mint${UNAME_RELEASE}
411214518Srpaulo        exit ;;
41275107Sfenner    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
41375107Sfenner        echo m68k-unknown-mint${UNAME_RELEASE}
414214518Srpaulo        exit ;;
415214518Srpaulo    m68k:machten:*:*)
416214518Srpaulo	echo m68k-apple-machten${UNAME_RELEASE}
417214518Srpaulo	exit ;;
41826175Sfenner    powerpc:machten:*:*)
41926175Sfenner	echo powerpc-apple-machten${UNAME_RELEASE}
420214518Srpaulo	exit ;;
42126175Sfenner    RISC*:Mach:*:*)
42226175Sfenner	echo mips-dec-mach_bsd4.3
423214518Srpaulo	exit ;;
42417683Spst    RISC*:ULTRIX:*:*)
42517683Spst	echo mips-dec-ultrix${UNAME_RELEASE}
426214518Srpaulo	exit ;;
42717683Spst    VAX*:ULTRIX*:*:*)
42817683Spst	echo vax-dec-ultrix${UNAME_RELEASE}
429214518Srpaulo	exit ;;
43075107Sfenner    2020:CLIX:*:* | 2430:CLIX:*:*)
43175107Sfenner	echo clipper-intergraph-clix${UNAME_RELEASE}
432214518Srpaulo	exit ;;
43326175Sfenner    mips:*:*:UMIPS | mips:*:*:RISCos)
434127664Sbms	eval $set_cc_for_build
43575107Sfenner	sed 's/^	//' << EOF >$dummy.c
43675107Sfenner#ifdef __cplusplus
43775107Sfenner#include <stdio.h>  /* for printf() prototype */
43875107Sfenner	int main (int argc, char *argv[]) {
43975107Sfenner#else
44075107Sfenner	int main (argc, argv) int argc; char *argv[]; {
44175107Sfenner#endif
44226175Sfenner	#if defined (host_mips) && defined (MIPSEB)
44326175Sfenner	#if defined (SYSTYPE_SYSV)
44426175Sfenner	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
44526175Sfenner	#endif
44626175Sfenner	#if defined (SYSTYPE_SVR4)
44726175Sfenner	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
44826175Sfenner	#endif
44926175Sfenner	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
45026175Sfenner	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
45126175Sfenner	#endif
45226175Sfenner	#endif
45326175Sfenner	  exit (-1);
45426175Sfenner	}
45526175SfennerEOF
456214518Srpaulo	$CC_FOR_BUILD -o $dummy $dummy.c &&
457214518Srpaulo	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
458214518Srpaulo	  SYSTEM_NAME=`$dummy $dummyarg` &&
459214518Srpaulo	    { echo "$SYSTEM_NAME"; exit; }
46017683Spst	echo mips-mips-riscos${UNAME_RELEASE}
461214518Srpaulo	exit ;;
46298530Sfenner    Motorola:PowerMAX_OS:*:*)
46398530Sfenner	echo powerpc-motorola-powermax
464214518Srpaulo	exit ;;
465127664Sbms    Motorola:*:4.3:PL8-*)
466127664Sbms	echo powerpc-harris-powermax
467214518Srpaulo	exit ;;
468127664Sbms    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
469127664Sbms	echo powerpc-harris-powermax
470214518Srpaulo	exit ;;
47117683Spst    Night_Hawk:Power_UNIX:*:*)
47217683Spst	echo powerpc-harris-powerunix
473214518Srpaulo	exit ;;
47417683Spst    m88k:CX/UX:7*:*)
47517683Spst	echo m88k-harris-cxux7
476214518Srpaulo	exit ;;
47717683Spst    m88k:*:4*:R4*)
47817683Spst	echo m88k-motorola-sysv4
479214518Srpaulo	exit ;;
48017683Spst    m88k:*:3*:R3*)
48117683Spst	echo m88k-motorola-sysv3
482214518Srpaulo	exit ;;
48317683Spst    AViiON:dgux:*:*)
48417683Spst        # DG/UX returns AViiON for all architectures
48517683Spst        UNAME_PROCESSOR=`/usr/bin/uname -p`
48675107Sfenner	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
48775107Sfenner	then
48875107Sfenner	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
48975107Sfenner	       [ ${TARGET_BINARY_INTERFACE}x = x ]
49075107Sfenner	    then
49117683Spst		echo m88k-dg-dgux${UNAME_RELEASE}
49275107Sfenner	    else
49375107Sfenner		echo m88k-dg-dguxbcs${UNAME_RELEASE}
49475107Sfenner	    fi
49517683Spst	else
49675107Sfenner	    echo i586-dg-dgux${UNAME_RELEASE}
49717683Spst	fi
498214518Srpaulo 	exit ;;
49917683Spst    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
50017683Spst	echo m88k-dolphin-sysv3
501214518Srpaulo	exit ;;
50217683Spst    M88*:*:R3*:*)
50317683Spst	# Delta 88k system running SVR3
50417683Spst	echo m88k-motorola-sysv3
505214518Srpaulo	exit ;;
50617683Spst    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
50717683Spst	echo m88k-tektronix-sysv3
508214518Srpaulo	exit ;;
50917683Spst    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
51017683Spst	echo m68k-tektronix-bsd
511214518Srpaulo	exit ;;
51217683Spst    *:IRIX*:*:*)
51317683Spst	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
514214518Srpaulo	exit ;;
51526175Sfenner    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
516214518Srpaulo	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
517214518Srpaulo	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
51898530Sfenner    i*86:AIX:*:*)
51917683Spst	echo i386-ibm-aix
520214518Srpaulo	exit ;;
52198530Sfenner    ia64:AIX:*:*)
52298530Sfenner	if [ -x /usr/bin/oslevel ] ; then
52398530Sfenner		IBM_REV=`/usr/bin/oslevel`
52498530Sfenner	else
52598530Sfenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
52698530Sfenner	fi
52798530Sfenner	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
528214518Srpaulo	exit ;;
52917683Spst    *:AIX:2:3)
53017683Spst	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
531127664Sbms		eval $set_cc_for_build
53275107Sfenner		sed 's/^		//' << EOF >$dummy.c
53317683Spst		#include <sys/systemcfg.h>
53417683Spst
53517683Spst		main()
53617683Spst			{
53717683Spst			if (!__power_pc())
53817683Spst				exit(1);
53917683Spst			puts("powerpc-ibm-aix3.2.5");
54017683Spst			exit(0);
54117683Spst			}
54217683SpstEOF
543214518Srpaulo		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
544214518Srpaulo		then
545214518Srpaulo			echo "$SYSTEM_NAME"
546214518Srpaulo		else
547214518Srpaulo			echo rs6000-ibm-aix3.2.5
548214518Srpaulo		fi
54917683Spst	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
55017683Spst		echo rs6000-ibm-aix3.2.4
55117683Spst	else
55217683Spst		echo rs6000-ibm-aix3.2
55317683Spst	fi
554214518Srpaulo	exit ;;
555214518Srpaulo    *:AIX:*:[456])
556127664Sbms	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
55798530Sfenner	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
55817683Spst		IBM_ARCH=rs6000
55917683Spst	else
56017683Spst		IBM_ARCH=powerpc
56117683Spst	fi
56217683Spst	if [ -x /usr/bin/oslevel ] ; then
56317683Spst		IBM_REV=`/usr/bin/oslevel`
56417683Spst	else
56598530Sfenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
56617683Spst	fi
56717683Spst	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
568214518Srpaulo	exit ;;
56917683Spst    *:AIX:*:*)
57017683Spst	echo rs6000-ibm-aix
571214518Srpaulo	exit ;;
57217683Spst    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
57317683Spst	echo romp-ibm-bsd4.4
574214518Srpaulo	exit ;;
57575107Sfenner    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
57626175Sfenner	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
577214518Srpaulo	exit ;;                             # report: romp-ibm BSD 4.3
57817683Spst    *:BOSX:*:*)
57917683Spst	echo rs6000-bull-bosx
580214518Srpaulo	exit ;;
58117683Spst    DPX/2?00:B.O.S.:*:*)
58217683Spst	echo m68k-bull-sysv3
583214518Srpaulo	exit ;;
58417683Spst    9000/[34]??:4.3bsd:1.*:*)
58517683Spst	echo m68k-hp-bsd
586214518Srpaulo	exit ;;
58717683Spst    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
58817683Spst	echo m68k-hp-bsd4.4
589214518Srpaulo	exit ;;
59075107Sfenner    9000/[34678]??:HP-UX:*:*)
59175107Sfenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
59217683Spst	case "${UNAME_MACHINE}" in
59317683Spst	    9000/31? )            HP_ARCH=m68000 ;;
59417683Spst	    9000/[34]?? )         HP_ARCH=m68k ;;
59575107Sfenner	    9000/[678][0-9][0-9])
596127664Sbms		if [ -x /usr/bin/getconf ]; then
597127664Sbms		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
59875107Sfenner                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
59975107Sfenner                    case "${sc_cpu_version}" in
60075107Sfenner                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
60175107Sfenner                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
60275107Sfenner                      532)                      # CPU_PA_RISC2_0
60375107Sfenner                        case "${sc_kernel_bits}" in
60475107Sfenner                          32) HP_ARCH="hppa2.0n" ;;
60575107Sfenner                          64) HP_ARCH="hppa2.0w" ;;
606127664Sbms			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
60775107Sfenner                        esac ;;
60875107Sfenner                    esac
609127664Sbms		fi
610127664Sbms		if [ "${HP_ARCH}" = "" ]; then
611127664Sbms		    eval $set_cc_for_build
612127664Sbms		    sed 's/^              //' << EOF >$dummy.c
61375107Sfenner
61475107Sfenner              #define _HPUX_SOURCE
61575107Sfenner              #include <stdlib.h>
61675107Sfenner              #include <unistd.h>
61775107Sfenner
61875107Sfenner              int main ()
61975107Sfenner              {
62075107Sfenner              #if defined(_SC_KERNEL_BITS)
62175107Sfenner                  long bits = sysconf(_SC_KERNEL_BITS);
62275107Sfenner              #endif
62375107Sfenner                  long cpu  = sysconf (_SC_CPU_VERSION);
62475107Sfenner
62575107Sfenner                  switch (cpu)
62675107Sfenner              	{
62775107Sfenner              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
62875107Sfenner              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
62975107Sfenner              	case CPU_PA_RISC2_0:
63075107Sfenner              #if defined(_SC_KERNEL_BITS)
63175107Sfenner              	    switch (bits)
63275107Sfenner              		{
63375107Sfenner              		case 64: puts ("hppa2.0w"); break;
63475107Sfenner              		case 32: puts ("hppa2.0n"); break;
63575107Sfenner              		default: puts ("hppa2.0"); break;
63675107Sfenner              		} break;
63775107Sfenner              #else  /* !defined(_SC_KERNEL_BITS) */
63875107Sfenner              	    puts ("hppa2.0"); break;
63975107Sfenner              #endif
64075107Sfenner              	default: puts ("hppa1.0"); break;
64175107Sfenner              	}
64275107Sfenner                  exit (0);
64375107Sfenner              }
64475107SfennerEOF
645127664Sbms		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
646127664Sbms		    test -z "$HP_ARCH" && HP_ARCH=hppa
647127664Sbms		fi ;;
64817683Spst	esac
649127664Sbms	if [ ${HP_ARCH} = "hppa2.0w" ]
650127664Sbms	then
651214518Srpaulo	    eval $set_cc_for_build
652214518Srpaulo
653214518Srpaulo	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
654214518Srpaulo	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
655214518Srpaulo	    # generating 64-bit code.  GNU and HP use different nomenclature:
656214518Srpaulo	    #
657214518Srpaulo	    # $ CC_FOR_BUILD=cc ./config.guess
658214518Srpaulo	    # => hppa2.0w-hp-hpux11.23
659214518Srpaulo	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
660214518Srpaulo	    # => hppa64-hp-hpux11.23
661214518Srpaulo
662214518Srpaulo	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
663214518Srpaulo		grep -q __LP64__
664127664Sbms	    then
665127664Sbms		HP_ARCH="hppa2.0w"
666127664Sbms	    else
667127664Sbms		HP_ARCH="hppa64"
668127664Sbms	    fi
669127664Sbms	fi
67017683Spst	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
671214518Srpaulo	exit ;;
67298530Sfenner    ia64:HP-UX:*:*)
67398530Sfenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
67498530Sfenner	echo ia64-hp-hpux${HPUX_REV}
675214518Srpaulo	exit ;;
67617683Spst    3050*:HI-UX:*:*)
677127664Sbms	eval $set_cc_for_build
67875107Sfenner	sed 's/^	//' << EOF >$dummy.c
67917683Spst	#include <unistd.h>
68017683Spst	int
68117683Spst	main ()
68217683Spst	{
68317683Spst	  long cpu = sysconf (_SC_CPU_VERSION);
68417683Spst	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
68517683Spst	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
68617683Spst	     results, however.  */
68717683Spst	  if (CPU_IS_PA_RISC (cpu))
68817683Spst	    {
68917683Spst	      switch (cpu)
69017683Spst		{
69117683Spst		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
69217683Spst		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
69317683Spst		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
69417683Spst		  default: puts ("hppa-hitachi-hiuxwe2"); break;
69517683Spst		}
69617683Spst	    }
69717683Spst	  else if (CPU_IS_HP_MC68K (cpu))
69817683Spst	    puts ("m68k-hitachi-hiuxwe2");
69917683Spst	  else puts ("unknown-hitachi-hiuxwe2");
70017683Spst	  exit (0);
70117683Spst	}
70217683SpstEOF
703214518Srpaulo	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
704214518Srpaulo		{ echo "$SYSTEM_NAME"; exit; }
70517683Spst	echo unknown-hitachi-hiuxwe2
706214518Srpaulo	exit ;;
70717683Spst    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
70817683Spst	echo hppa1.1-hp-bsd
709214518Srpaulo	exit ;;
71017683Spst    9000/8??:4.3bsd:*:*)
71117683Spst	echo hppa1.0-hp-bsd
712214518Srpaulo	exit ;;
713127664Sbms    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
71475107Sfenner	echo hppa1.0-hp-mpeix
715214518Srpaulo	exit ;;
71617683Spst    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
71717683Spst	echo hppa1.1-hp-osf
718214518Srpaulo	exit ;;
71917683Spst    hp8??:OSF1:*:*)
72017683Spst	echo hppa1.0-hp-osf
721214518Srpaulo	exit ;;
72298530Sfenner    i*86:OSF1:*:*)
72326175Sfenner	if [ -x /usr/sbin/sysversion ] ; then
72426175Sfenner	    echo ${UNAME_MACHINE}-unknown-osf1mk
72526175Sfenner	else
72626175Sfenner	    echo ${UNAME_MACHINE}-unknown-osf1
72726175Sfenner	fi
728214518Srpaulo	exit ;;
72917683Spst    parisc*:Lites*:*:*)
73017683Spst	echo hppa1.1-hp-lites
731214518Srpaulo	exit ;;
73217683Spst    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
73317683Spst	echo c1-convex-bsd
734214518Srpaulo        exit ;;
73517683Spst    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
73617683Spst	if getsysinfo -f scalar_acc
73717683Spst	then echo c32-convex-bsd
73817683Spst	else echo c2-convex-bsd
73917683Spst	fi
740214518Srpaulo        exit ;;
74117683Spst    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
74217683Spst	echo c34-convex-bsd
743214518Srpaulo        exit ;;
74417683Spst    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
74517683Spst	echo c38-convex-bsd
746214518Srpaulo        exit ;;
74717683Spst    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
74817683Spst	echo c4-convex-bsd
749214518Srpaulo        exit ;;
75017683Spst    CRAY*Y-MP:*:*:*)
751127664Sbms	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
752214518Srpaulo	exit ;;
75326175Sfenner    CRAY*[A-Z]90:*:*:*)
75426175Sfenner	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
75526175Sfenner	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
756127664Sbms	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
757127664Sbms	      -e 's/\.[^.]*$/.X/'
758214518Srpaulo	exit ;;
75926175Sfenner    CRAY*TS:*:*:*)
76075107Sfenner	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
761214518Srpaulo	exit ;;
76275107Sfenner    CRAY*T3E:*:*:*)
76375107Sfenner	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
764214518Srpaulo	exit ;;
76575107Sfenner    CRAY*SV1:*:*:*)
76675107Sfenner	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767214518Srpaulo	exit ;;
768127664Sbms    *:UNICOS/mp:*:*)
769214518Srpaulo	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
770214518Srpaulo	exit ;;
77198530Sfenner    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
77298530Sfenner	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
77375107Sfenner        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
77426175Sfenner        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
77598530Sfenner        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
776214518Srpaulo        exit ;;
777127664Sbms    5000:UNIX_System_V:4.*:*)
778127664Sbms        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
779127664Sbms        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
780127664Sbms        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
781214518Srpaulo	exit ;;
78298530Sfenner    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
78326175Sfenner	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
784214518Srpaulo	exit ;;
78575107Sfenner    sparc*:BSD/OS:*:*)
78675107Sfenner	echo sparc-unknown-bsdi${UNAME_RELEASE}
787214518Srpaulo	exit ;;
78875107Sfenner    *:BSD/OS:*:*)
78975107Sfenner	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
790214518Srpaulo	exit ;;
79117683Spst    *:FreeBSD:*:*)
792214518Srpaulo	case ${UNAME_MACHINE} in
793214518Srpaulo	    pc98)
794214518Srpaulo		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795214518Srpaulo	    amd64)
796214518Srpaulo		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797214518Srpaulo	    *)
798214518Srpaulo		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799214518Srpaulo	esac
800214518Srpaulo	exit ;;
80117683Spst    i*:CYGWIN*:*)
80275107Sfenner	echo ${UNAME_MACHINE}-pc-cygwin
803214518Srpaulo	exit ;;
804214518Srpaulo    *:MINGW*:*)
80575107Sfenner	echo ${UNAME_MACHINE}-pc-mingw32
806214518Srpaulo	exit ;;
807214518Srpaulo    i*:windows32*:*)
808214518Srpaulo    	# uname -m includes "-pc" on this system.
809214518Srpaulo    	echo ${UNAME_MACHINE}-mingw32
810214518Srpaulo	exit ;;
81175107Sfenner    i*:PW*:*)
81275107Sfenner	echo ${UNAME_MACHINE}-pc-pw32
813214518Srpaulo	exit ;;
814214518Srpaulo    *:Interix*:*)
815214518Srpaulo    	case ${UNAME_MACHINE} in
816214518Srpaulo	    x86)
817214518Srpaulo		echo i586-pc-interix${UNAME_RELEASE}
818214518Srpaulo		exit ;;
819214518Srpaulo	    authenticamd | genuineintel | EM64T)
820214518Srpaulo		echo x86_64-unknown-interix${UNAME_RELEASE}
821214518Srpaulo		exit ;;
822214518Srpaulo	    IA64)
823214518Srpaulo		echo ia64-unknown-interix${UNAME_RELEASE}
824214518Srpaulo		exit ;;
825214518Srpaulo	esac ;;
826127664Sbms    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
827127664Sbms	echo i${UNAME_MACHINE}-pc-mks
828214518Srpaulo	exit ;;
829214518Srpaulo    8664:Windows_NT:*)
830214518Srpaulo	echo x86_64-pc-mks
831214518Srpaulo	exit ;;
83275107Sfenner    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
83375107Sfenner	# How do we know it's Interix rather than the generic POSIX subsystem?
83475107Sfenner	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
83575107Sfenner	# UNAME_MACHINE based on the output of uname instead of i386?
836127664Sbms	echo i586-pc-interix
837214518Srpaulo	exit ;;
83875107Sfenner    i*:UWIN*:*)
83975107Sfenner	echo ${UNAME_MACHINE}-pc-uwin
840214518Srpaulo	exit ;;
841214518Srpaulo    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
842214518Srpaulo	echo x86_64-unknown-cygwin
843214518Srpaulo	exit ;;
84417683Spst    p*:CYGWIN*:*)
84575107Sfenner	echo powerpcle-unknown-cygwin
846214518Srpaulo	exit ;;
84717683Spst    prep*:SunOS:5.*:*)
84817683Spst	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
849214518Srpaulo	exit ;;
85017683Spst    *:GNU:*:*)
851127664Sbms	# the GNU system
85275107Sfenner	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
853214518Srpaulo	exit ;;
854127664Sbms    *:GNU/*:*:*)
855127664Sbms	# other systems with GNU libc and userland
856127664Sbms	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
857214518Srpaulo	exit ;;
85875107Sfenner    i*86:Minix:*:*)
85975107Sfenner	echo ${UNAME_MACHINE}-pc-minix
860214518Srpaulo	exit ;;
861214518Srpaulo    alpha:Linux:*:*)
862214518Srpaulo	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
863214518Srpaulo	  EV5)   UNAME_MACHINE=alphaev5 ;;
864214518Srpaulo	  EV56)  UNAME_MACHINE=alphaev56 ;;
865214518Srpaulo	  PCA56) UNAME_MACHINE=alphapca56 ;;
866214518Srpaulo	  PCA57) UNAME_MACHINE=alphapca56 ;;
867214518Srpaulo	  EV6)   UNAME_MACHINE=alphaev6 ;;
868214518Srpaulo	  EV67)  UNAME_MACHINE=alphaev67 ;;
869214518Srpaulo	  EV68*) UNAME_MACHINE=alphaev68 ;;
870214518Srpaulo        esac
871214518Srpaulo	objdump --private-headers /bin/sh | grep -q ld.so.1
872214518Srpaulo	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
873214518Srpaulo	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
874214518Srpaulo	exit ;;
87598530Sfenner    arm*:Linux:*:*)
876214518Srpaulo	eval $set_cc_for_build
877214518Srpaulo	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
878214518Srpaulo	    | grep -q __ARM_EABI__
879214518Srpaulo	then
880214518Srpaulo	    echo ${UNAME_MACHINE}-unknown-linux-gnu
881214518Srpaulo	else
882214518Srpaulo	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
883214518Srpaulo	fi
884214518Srpaulo	exit ;;
885214518Srpaulo    avr32*:Linux:*:*)
88698530Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
887214518Srpaulo	exit ;;
888127664Sbms    cris:Linux:*:*)
889127664Sbms	echo cris-axis-linux-gnu
890214518Srpaulo	exit ;;
891214518Srpaulo    crisv32:Linux:*:*)
892214518Srpaulo	echo crisv32-axis-linux-gnu
893214518Srpaulo	exit ;;
894214518Srpaulo    frv:Linux:*:*)
895214518Srpaulo    	echo frv-unknown-linux-gnu
896214518Srpaulo	exit ;;
897214518Srpaulo    i*86:Linux:*:*)
898214518Srpaulo	LIBC=gnu
899214518Srpaulo	eval $set_cc_for_build
900214518Srpaulo	sed 's/^	//' << EOF >$dummy.c
901214518Srpaulo	#ifdef __dietlibc__
902214518Srpaulo	LIBC=dietlibc
903214518Srpaulo	#endif
904214518SrpauloEOF
905214518Srpaulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
906214518Srpaulo	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
907214518Srpaulo	exit ;;
90898530Sfenner    ia64:Linux:*:*)
909127664Sbms	echo ${UNAME_MACHINE}-unknown-linux-gnu
910214518Srpaulo	exit ;;
911214518Srpaulo    m32r*:Linux:*:*)
912214518Srpaulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
913214518Srpaulo	exit ;;
91498530Sfenner    m68*:Linux:*:*)
91598530Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
916214518Srpaulo	exit ;;
917214518Srpaulo    mips:Linux:*:* | mips64:Linux:*:*)
918127664Sbms	eval $set_cc_for_build
919127664Sbms	sed 's/^	//' << EOF >$dummy.c
920127664Sbms	#undef CPU
921214518Srpaulo	#undef ${UNAME_MACHINE}
922214518Srpaulo	#undef ${UNAME_MACHINE}el
923127664Sbms	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
924214518Srpaulo	CPU=${UNAME_MACHINE}el
925127664Sbms	#else
926127664Sbms	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
927214518Srpaulo	CPU=${UNAME_MACHINE}
928127664Sbms	#else
929127664Sbms	CPU=
930127664Sbms	#endif
931127664Sbms	#endif
93298530SfennerEOF
933214518Srpaulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
934214518Srpaulo	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
93598530Sfenner	;;
936214518Srpaulo    or32:Linux:*:*)
937214518Srpaulo	echo or32-unknown-linux-gnu
938214518Srpaulo	exit ;;
939214518Srpaulo    padre:Linux:*:*)
940214518Srpaulo	echo sparc-unknown-linux-gnu
941214518Srpaulo	exit ;;
942214518Srpaulo    parisc64:Linux:*:* | hppa64:Linux:*:*)
943214518Srpaulo	echo hppa64-unknown-linux-gnu
944214518Srpaulo	exit ;;
94598530Sfenner    parisc:Linux:*:* | hppa:Linux:*:*)
94698530Sfenner	# Look for CPU level
94798530Sfenner	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
94898530Sfenner	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
94998530Sfenner	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
95098530Sfenner	  *)    echo hppa-unknown-linux-gnu ;;
95198530Sfenner	esac
952214518Srpaulo	exit ;;
953214518Srpaulo    ppc64:Linux:*:*)
954214518Srpaulo	echo powerpc64-unknown-linux-gnu
955214518Srpaulo	exit ;;
956214518Srpaulo    ppc:Linux:*:*)
957214518Srpaulo	echo powerpc-unknown-linux-gnu
958214518Srpaulo	exit ;;
95998530Sfenner    s390:Linux:*:* | s390x:Linux:*:*)
96098530Sfenner	echo ${UNAME_MACHINE}-ibm-linux
961214518Srpaulo	exit ;;
962127664Sbms    sh64*:Linux:*:*)
963127664Sbms    	echo ${UNAME_MACHINE}-unknown-linux-gnu
964214518Srpaulo	exit ;;
96598530Sfenner    sh*:Linux:*:*)
96698530Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
967214518Srpaulo	exit ;;
96898530Sfenner    sparc:Linux:*:* | sparc64:Linux:*:*)
96998530Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
970214518Srpaulo	exit ;;
971214518Srpaulo    vax:Linux:*:*)
972214518Srpaulo	echo ${UNAME_MACHINE}-dec-linux-gnu
973214518Srpaulo	exit ;;
97498530Sfenner    x86_64:Linux:*:*)
97598530Sfenner	echo x86_64-unknown-linux-gnu
976214518Srpaulo	exit ;;
977214518Srpaulo    xtensa*:Linux:*:*)
978214518Srpaulo    	echo ${UNAME_MACHINE}-unknown-linux-gnu
979214518Srpaulo	exit ;;
98098530Sfenner    i*86:DYNIX/ptx:4*:*)
981127664Sbms	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
982127664Sbms	# earlier versions are messed up and put the nodename in both
983127664Sbms	# sysname and nodename.
98417683Spst	echo i386-sequent-sysv4
985214518Srpaulo	exit ;;
98698530Sfenner    i*86:UNIX_SV:4.2MP:2.*)
98775107Sfenner        # Unixware is an offshoot of SVR4, but it has its own version
98875107Sfenner        # number series starting with 2...
98975107Sfenner        # I am not positive that other SVR4 systems won't match this,
99075107Sfenner	# I just have to hope.  -- rms.
99175107Sfenner        # Use sysv4.2uw... so that sysv4* matches it.
99275107Sfenner	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
993214518Srpaulo	exit ;;
994127664Sbms    i*86:OS/2:*:*)
995127664Sbms	# If we were able to find `uname', then EMX Unix compatibility
996127664Sbms	# is probably installed.
997127664Sbms	echo ${UNAME_MACHINE}-pc-os2-emx
998214518Srpaulo	exit ;;
999127664Sbms    i*86:XTS-300:*:STOP)
1000127664Sbms	echo ${UNAME_MACHINE}-unknown-stop
1001214518Srpaulo	exit ;;
1002127664Sbms    i*86:atheos:*:*)
1003127664Sbms	echo ${UNAME_MACHINE}-unknown-atheos
1004214518Srpaulo	exit ;;
1005214518Srpaulo    i*86:syllable:*:*)
1006214518Srpaulo	echo ${UNAME_MACHINE}-pc-syllable
1007214518Srpaulo	exit ;;
1008214518Srpaulo    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1009127664Sbms	echo i386-unknown-lynxos${UNAME_RELEASE}
1010214518Srpaulo	exit ;;
1011127664Sbms    i*86:*DOS:*:*)
1012127664Sbms	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1013214518Srpaulo	exit ;;
101498530Sfenner    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
101575107Sfenner	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
101617683Spst	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
101775107Sfenner		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
101817683Spst	else
101975107Sfenner		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
102017683Spst	fi
1021214518Srpaulo	exit ;;
1022214518Srpaulo    i*86:*:5:[678]*)
1023214518Srpaulo    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1024127664Sbms	case `/bin/uname -X | grep "^Machine"` in
1025127664Sbms	    *486*)	     UNAME_MACHINE=i486 ;;
1026127664Sbms	    *Pentium)	     UNAME_MACHINE=i586 ;;
1027127664Sbms	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1028127664Sbms	esac
1029127664Sbms	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1030214518Srpaulo	exit ;;
103198530Sfenner    i*86:*:3.2:*)
103217683Spst	if test -f /usr/options/cb.name; then
103317683Spst		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
103426175Sfenner		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
103517683Spst	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1036127664Sbms		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1037127664Sbms		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1038127664Sbms		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
103917683Spst			&& UNAME_MACHINE=i586
1040127664Sbms		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
104175107Sfenner			&& UNAME_MACHINE=i686
1042127664Sbms		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
104375107Sfenner			&& UNAME_MACHINE=i686
104426175Sfenner		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
104517683Spst	else
104626175Sfenner		echo ${UNAME_MACHINE}-pc-sysv32
104717683Spst	fi
1048214518Srpaulo	exit ;;
104975107Sfenner    pc:*:*:*)
105075107Sfenner	# Left here for compatibility:
105175107Sfenner        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1052214518Srpaulo        # the processor, so we play safe by assuming i586.
1053214518Srpaulo	# Note: whatever this is, it MUST be the same as what config.sub
1054214518Srpaulo	# prints for the "djgpp" host, or else GDB configury will decide that
1055214518Srpaulo	# this is a cross-build.
1056214518Srpaulo	echo i586-pc-msdosdjgpp
1057214518Srpaulo        exit ;;
105817683Spst    Intel:Mach:3*:*)
105926175Sfenner	echo i386-pc-mach3
1060214518Srpaulo	exit ;;
106117683Spst    paragon:*:*:*)
106217683Spst	echo i860-intel-osf1
1063214518Srpaulo	exit ;;
106417683Spst    i860:*:4.*:*) # i860-SVR4
106517683Spst	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
106617683Spst	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
106717683Spst	else # Add other i860-SVR4 vendors below as they are discovered.
106817683Spst	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
106917683Spst	fi
1070214518Srpaulo	exit ;;
107117683Spst    mini*:CTIX:SYS*5:*)
107217683Spst	# "miniframe"
107317683Spst	echo m68010-convergent-sysv
1074214518Srpaulo	exit ;;
1075127664Sbms    mc68k:UNIX:SYSTEM5:3.51m)
1076127664Sbms	echo m68k-convergent-sysv
1077214518Srpaulo	exit ;;
1078127664Sbms    M680?0:D-NIX:5.3:*)
1079127664Sbms	echo m68k-diab-dnix
1080214518Srpaulo	exit ;;
1081214518Srpaulo    M68*:*:R3V[5678]*:*)
1082214518Srpaulo	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1083214518Srpaulo    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)
108426175Sfenner	OS_REL=''
108526175Sfenner	test -r /etc/.relid \
108626175Sfenner	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
108726175Sfenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1088214518Srpaulo	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
108926175Sfenner	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1090214518Srpaulo	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
109117683Spst    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
109226175Sfenner        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1093214518Srpaulo          && { echo i486-ncr-sysv4; exit; } ;;
1094214518Srpaulo    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1095214518Srpaulo	OS_REL='.3'
1096214518Srpaulo	test -r /etc/.relid \
1097214518Srpaulo	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1098214518Srpaulo	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1099214518Srpaulo	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1100214518Srpaulo	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1101214518Srpaulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1102214518Srpaulo	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1103214518Srpaulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
110498530Sfenner    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
110526175Sfenner	echo m68k-unknown-lynxos${UNAME_RELEASE}
1106214518Srpaulo	exit ;;
110717683Spst    mc68030:UNIX_System_V:4.*:*)
110817683Spst	echo m68k-atari-sysv4
1109214518Srpaulo	exit ;;
111026175Sfenner    TSUNAMI:LynxOS:2.*:*)
111126175Sfenner	echo sparc-unknown-lynxos${UNAME_RELEASE}
1112214518Srpaulo	exit ;;
111398530Sfenner    rs6000:LynxOS:2.*:*)
111426175Sfenner	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1115214518Srpaulo	exit ;;
1116214518Srpaulo    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
111798530Sfenner	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1118214518Srpaulo	exit ;;
111926175Sfenner    SM[BE]S:UNIX_SV:*:*)
112026175Sfenner	echo mips-dde-sysv${UNAME_RELEASE}
1121214518Srpaulo	exit ;;
112275107Sfenner    RM*:ReliantUNIX-*:*:*)
112375107Sfenner	echo mips-sni-sysv4
1124214518Srpaulo	exit ;;
112517683Spst    RM*:SINIX-*:*:*)
112617683Spst	echo mips-sni-sysv4
1127214518Srpaulo	exit ;;
112817683Spst    *:SINIX-*:*:*)
112917683Spst	if uname -p 2>/dev/null >/dev/null ; then
113017683Spst		UNAME_MACHINE=`(uname -p) 2>/dev/null`
113117683Spst		echo ${UNAME_MACHINE}-sni-sysv4
113217683Spst	else
113317683Spst		echo ns32k-sni-sysv
113417683Spst	fi
1135214518Srpaulo	exit ;;
1136127664Sbms    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1137127664Sbms                      # says <Richard.M.Bartel@ccMail.Census.GOV>
113875107Sfenner        echo i586-unisys-sysv4
1139214518Srpaulo        exit ;;
114026175Sfenner    *:UNIX_System_V:4*:FTX*)
114126175Sfenner	# From Gerald Hewes <hewes@openmarket.com>.
114226175Sfenner	# How about differentiating between stratus architectures? -djm
114326175Sfenner	echo hppa1.1-stratus-sysv4
1144214518Srpaulo	exit ;;
114526175Sfenner    *:*:*:FTX*)
114626175Sfenner	# From seanf@swdc.stratus.com.
114726175Sfenner	echo i860-stratus-sysv4
1148214518Srpaulo	exit ;;
1149214518Srpaulo    i*86:VOS:*:*)
1150214518Srpaulo	# From Paul.Green@stratus.com.
1151214518Srpaulo	echo ${UNAME_MACHINE}-stratus-vos
1152214518Srpaulo	exit ;;
1153127664Sbms    *:VOS:*:*)
1154127664Sbms	# From Paul.Green@stratus.com.
1155127664Sbms	echo hppa1.1-stratus-vos
1156214518Srpaulo	exit ;;
115717683Spst    mc68*:A/UX:*:*)
115817683Spst	echo m68k-apple-aux${UNAME_RELEASE}
1159214518Srpaulo	exit ;;
116075107Sfenner    news*:NEWS-OS:6*:*)
116175107Sfenner	echo mips-sony-newsos6
1162214518Srpaulo	exit ;;
116375107Sfenner    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
116417683Spst	if [ -d /usr/nec ]; then
116517683Spst	        echo mips-nec-sysv${UNAME_RELEASE}
116617683Spst	else
116717683Spst	        echo mips-unknown-sysv${UNAME_RELEASE}
116817683Spst	fi
1169214518Srpaulo        exit ;;
117075107Sfenner    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
117175107Sfenner	echo powerpc-be-beos
1172214518Srpaulo	exit ;;
117375107Sfenner    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
117475107Sfenner	echo powerpc-apple-beos
1175214518Srpaulo	exit ;;
117675107Sfenner    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
117775107Sfenner	echo i586-pc-beos
1178214518Srpaulo	exit ;;
1179214518Srpaulo    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1180214518Srpaulo	echo i586-pc-haiku
1181214518Srpaulo	exit ;;
118275107Sfenner    SX-4:SUPER-UX:*:*)
118375107Sfenner	echo sx4-nec-superux${UNAME_RELEASE}
1184214518Srpaulo	exit ;;
118575107Sfenner    SX-5:SUPER-UX:*:*)
118675107Sfenner	echo sx5-nec-superux${UNAME_RELEASE}
1187214518Srpaulo	exit ;;
1188127664Sbms    SX-6:SUPER-UX:*:*)
1189127664Sbms	echo sx6-nec-superux${UNAME_RELEASE}
1190214518Srpaulo	exit ;;
1191214518Srpaulo    SX-7:SUPER-UX:*:*)
1192214518Srpaulo	echo sx7-nec-superux${UNAME_RELEASE}
1193214518Srpaulo	exit ;;
1194214518Srpaulo    SX-8:SUPER-UX:*:*)
1195214518Srpaulo	echo sx8-nec-superux${UNAME_RELEASE}
1196214518Srpaulo	exit ;;
1197214518Srpaulo    SX-8R:SUPER-UX:*:*)
1198214518Srpaulo	echo sx8r-nec-superux${UNAME_RELEASE}
1199214518Srpaulo	exit ;;
120075107Sfenner    Power*:Rhapsody:*:*)
120175107Sfenner	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1202214518Srpaulo	exit ;;
120375107Sfenner    *:Rhapsody:*:*)
120475107Sfenner	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1205214518Srpaulo	exit ;;
120675107Sfenner    *:Darwin:*:*)
1207214518Srpaulo	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1208214518Srpaulo	case $UNAME_PROCESSOR in
1209214518Srpaulo	    i386)
1210214518Srpaulo		eval $set_cc_for_build
1211214518Srpaulo		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1212214518Srpaulo		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1213214518Srpaulo		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1214214518Srpaulo		      grep IS_64BIT_ARCH >/dev/null
1215214518Srpaulo		  then
1216214518Srpaulo		      UNAME_PROCESSOR="x86_64"
1217214518Srpaulo		  fi
1218214518Srpaulo		fi ;;
1219214518Srpaulo	    unknown) UNAME_PROCESSOR=powerpc ;;
1220127664Sbms	esac
1221127664Sbms	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1222214518Srpaulo	exit ;;
122375107Sfenner    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1224127664Sbms	UNAME_PROCESSOR=`uname -p`
1225127664Sbms	if test "$UNAME_PROCESSOR" = "x86"; then
1226127664Sbms		UNAME_PROCESSOR=i386
122775107Sfenner		UNAME_MACHINE=pc
122875107Sfenner	fi
1229127664Sbms	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1230214518Srpaulo	exit ;;
123175107Sfenner    *:QNX:*:4*)
123275107Sfenner	echo i386-pc-qnx
1233214518Srpaulo	exit ;;
1234214518Srpaulo    NSE-?:NONSTOP_KERNEL:*:*)
1235214518Srpaulo	echo nse-tandem-nsk${UNAME_RELEASE}
1236214518Srpaulo	exit ;;
1237214518Srpaulo    NSR-?:NONSTOP_KERNEL:*:*)
123875107Sfenner	echo nsr-tandem-nsk${UNAME_RELEASE}
1239214518Srpaulo	exit ;;
124075107Sfenner    *:NonStop-UX:*:*)
124175107Sfenner	echo mips-compaq-nonstopux
1242214518Srpaulo	exit ;;
124375107Sfenner    BS2000:POSIX*:*:*)
124475107Sfenner	echo bs2000-siemens-sysv
1245214518Srpaulo	exit ;;
124675107Sfenner    DS/*:UNIX_System_V:*:*)
124775107Sfenner	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1248214518Srpaulo	exit ;;
124975107Sfenner    *:Plan9:*:*)
125075107Sfenner	# "uname -m" is not consistent, so use $cputype instead. 386
125175107Sfenner	# is converted to i386 for consistency with other x86
125275107Sfenner	# operating systems.
125375107Sfenner	if test "$cputype" = "386"; then
125475107Sfenner	    UNAME_MACHINE=i386
125575107Sfenner	else
125675107Sfenner	    UNAME_MACHINE="$cputype"
125775107Sfenner	fi
125875107Sfenner	echo ${UNAME_MACHINE}-unknown-plan9
1259214518Srpaulo	exit ;;
126098530Sfenner    *:TOPS-10:*:*)
126198530Sfenner	echo pdp10-unknown-tops10
1262214518Srpaulo	exit ;;
126398530Sfenner    *:TENEX:*:*)
126498530Sfenner	echo pdp10-unknown-tenex
1265214518Srpaulo	exit ;;
126698530Sfenner    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
126798530Sfenner	echo pdp10-dec-tops20
1268214518Srpaulo	exit ;;
126998530Sfenner    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
127098530Sfenner	echo pdp10-xkl-tops20
1271214518Srpaulo	exit ;;
127298530Sfenner    *:TOPS-20:*:*)
127398530Sfenner	echo pdp10-unknown-tops20
1274214518Srpaulo	exit ;;
127598530Sfenner    *:ITS:*:*)
127698530Sfenner	echo pdp10-unknown-its
1277214518Srpaulo	exit ;;
1278127664Sbms    SEI:*:*:SEIUX)
1279127664Sbms        echo mips-sei-seiux${UNAME_RELEASE}
1280214518Srpaulo	exit ;;
1281214518Srpaulo    *:DragonFly:*:*)
1282214518Srpaulo	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1283214518Srpaulo	exit ;;
1284214518Srpaulo    *:*VMS:*:*)
1285214518Srpaulo    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1286214518Srpaulo	case "${UNAME_MACHINE}" in
1287214518Srpaulo	    A*) echo alpha-dec-vms ; exit ;;
1288214518Srpaulo	    I*) echo ia64-dec-vms ; exit ;;
1289214518Srpaulo	    V*) echo vax-dec-vms ; exit ;;
1290214518Srpaulo	esac ;;
1291214518Srpaulo    *:XENIX:*:SysV)
1292214518Srpaulo	echo i386-pc-xenix
1293214518Srpaulo	exit ;;
1294214518Srpaulo    i*86:skyos:*:*)
1295214518Srpaulo	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1296214518Srpaulo	exit ;;
1297214518Srpaulo    i*86:rdos:*:*)
1298214518Srpaulo	echo ${UNAME_MACHINE}-pc-rdos
1299214518Srpaulo	exit ;;
1300214518Srpaulo    i*86:AROS:*:*)
1301214518Srpaulo	echo ${UNAME_MACHINE}-pc-aros
1302214518Srpaulo	exit ;;
130317683Spstesac
130417683Spst
130517683Spst#echo '(No uname command or uname output not recognized.)' 1>&2
130617683Spst#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
130717683Spst
1308127664Sbmseval $set_cc_for_build
130975107Sfennercat >$dummy.c <<EOF
131017683Spst#ifdef _SEQUENT_
131117683Spst# include <sys/types.h>
131217683Spst# include <sys/utsname.h>
131317683Spst#endif
131417683Spstmain ()
131517683Spst{
131617683Spst#if defined (sony)
131717683Spst#if defined (MIPSEB)
131817683Spst  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
131917683Spst     I don't know....  */
132017683Spst  printf ("mips-sony-bsd\n"); exit (0);
132117683Spst#else
132217683Spst#include <sys/param.h>
132317683Spst  printf ("m68k-sony-newsos%s\n",
132417683Spst#ifdef NEWSOS4
132517683Spst          "4"
132617683Spst#else
132717683Spst	  ""
132817683Spst#endif
132917683Spst         ); exit (0);
133017683Spst#endif
133117683Spst#endif
133217683Spst
133317683Spst#if defined (__arm) && defined (__acorn) && defined (__unix)
1334214518Srpaulo  printf ("arm-acorn-riscix\n"); exit (0);
133517683Spst#endif
133617683Spst
133717683Spst#if defined (hp300) && !defined (hpux)
133817683Spst  printf ("m68k-hp-bsd\n"); exit (0);
133917683Spst#endif
134017683Spst
134117683Spst#if defined (NeXT)
134217683Spst#if !defined (__ARCHITECTURE__)
134317683Spst#define __ARCHITECTURE__ "m68k"
134417683Spst#endif
134517683Spst  int version;
134617683Spst  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
134775107Sfenner  if (version < 4)
134875107Sfenner    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
134975107Sfenner  else
135075107Sfenner    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
135117683Spst  exit (0);
135217683Spst#endif
135317683Spst
135417683Spst#if defined (MULTIMAX) || defined (n16)
135517683Spst#if defined (UMAXV)
135617683Spst  printf ("ns32k-encore-sysv\n"); exit (0);
135717683Spst#else
135817683Spst#if defined (CMU)
135917683Spst  printf ("ns32k-encore-mach\n"); exit (0);
136017683Spst#else
136117683Spst  printf ("ns32k-encore-bsd\n"); exit (0);
136217683Spst#endif
136317683Spst#endif
136417683Spst#endif
136517683Spst
136617683Spst#if defined (__386BSD__)
136726175Sfenner  printf ("i386-pc-bsd\n"); exit (0);
136817683Spst#endif
136917683Spst
137017683Spst#if defined (sequent)
137117683Spst#if defined (i386)
137217683Spst  printf ("i386-sequent-dynix\n"); exit (0);
137317683Spst#endif
137417683Spst#if defined (ns32000)
137517683Spst  printf ("ns32k-sequent-dynix\n"); exit (0);
137617683Spst#endif
137717683Spst#endif
137817683Spst
137917683Spst#if defined (_SEQUENT_)
138017683Spst    struct utsname un;
138117683Spst
138217683Spst    uname(&un);
138317683Spst
138417683Spst    if (strncmp(un.version, "V2", 2) == 0) {
138517683Spst	printf ("i386-sequent-ptx2\n"); exit (0);
138617683Spst    }
138717683Spst    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
138817683Spst	printf ("i386-sequent-ptx1\n"); exit (0);
138917683Spst    }
139017683Spst    printf ("i386-sequent-ptx\n"); exit (0);
139117683Spst
139217683Spst#endif
139317683Spst
139417683Spst#if defined (vax)
139598530Sfenner# if !defined (ultrix)
139698530Sfenner#  include <sys/param.h>
139798530Sfenner#  if defined (BSD)
139898530Sfenner#   if BSD == 43
139998530Sfenner      printf ("vax-dec-bsd4.3\n"); exit (0);
140098530Sfenner#   else
140198530Sfenner#    if BSD == 199006
140298530Sfenner      printf ("vax-dec-bsd4.3reno\n"); exit (0);
140398530Sfenner#    else
140498530Sfenner      printf ("vax-dec-bsd\n"); exit (0);
140598530Sfenner#    endif
140698530Sfenner#   endif
140798530Sfenner#  else
140898530Sfenner    printf ("vax-dec-bsd\n"); exit (0);
140998530Sfenner#  endif
141098530Sfenner# else
141198530Sfenner    printf ("vax-dec-ultrix\n"); exit (0);
141298530Sfenner# endif
141317683Spst#endif
141417683Spst
141517683Spst#if defined (alliant) && defined (i860)
141617683Spst  printf ("i860-alliant-bsd\n"); exit (0);
141717683Spst#endif
141817683Spst
141917683Spst  exit (1);
142017683Spst}
142117683SpstEOF
142217683Spst
1423214518Srpaulo$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1424214518Srpaulo	{ echo "$SYSTEM_NAME"; exit; }
142517683Spst
142617683Spst# Apollos put the system type in the environment.
142717683Spst
1428214518Srpaulotest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
142917683Spst
143017683Spst# Convex versions that predate uname can use getsysinfo(1)
143117683Spst
143217683Spstif [ -x /usr/convex/getsysinfo ]
143317683Spstthen
143417683Spst    case `getsysinfo -f cpu_type` in
143517683Spst    c1*)
143617683Spst	echo c1-convex-bsd
1437214518Srpaulo	exit ;;
143817683Spst    c2*)
143917683Spst	if getsysinfo -f scalar_acc
144017683Spst	then echo c32-convex-bsd
144117683Spst	else echo c2-convex-bsd
144217683Spst	fi
1443214518Srpaulo	exit ;;
144417683Spst    c34*)
144517683Spst	echo c34-convex-bsd
1446214518Srpaulo	exit ;;
144717683Spst    c38*)
144817683Spst	echo c38-convex-bsd
1449214518Srpaulo	exit ;;
145017683Spst    c4*)
145117683Spst	echo c4-convex-bsd
1452214518Srpaulo	exit ;;
145317683Spst    esac
145417683Spstfi
145517683Spst
145675107Sfennercat >&2 <<EOF
145775107Sfenner$0: unable to guess system type
145817683Spst
145998530SfennerThis script, last modified $timestamp, has failed to recognize
146098530Sfennerthe operating system you are using. It is advised that you
146198530Sfennerdownload the most up to date version of the config scripts from
146275107Sfenner
1463214518Srpaulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1464214518Srpauloand
1465214518Srpaulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
146675107Sfenner
146775107SfennerIf the version you run ($0) is already up to date, please
146875107Sfennersend the following data and any information you think might be
146975107Sfennerpertinent to <config-patches@gnu.org> in order to provide the needed
147075107Sfennerinformation to handle your system.
147175107Sfenner
147298530Sfennerconfig.guess timestamp = $timestamp
147375107Sfenner
147475107Sfenneruname -m = `(uname -m) 2>/dev/null || echo unknown`
147575107Sfenneruname -r = `(uname -r) 2>/dev/null || echo unknown`
147675107Sfenneruname -s = `(uname -s) 2>/dev/null || echo unknown`
147775107Sfenneruname -v = `(uname -v) 2>/dev/null || echo unknown`
147875107Sfenner
147975107Sfenner/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
148075107Sfenner/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
148175107Sfenner
148275107Sfennerhostinfo               = `(hostinfo) 2>/dev/null`
148375107Sfenner/bin/universe          = `(/bin/universe) 2>/dev/null`
148475107Sfenner/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
148575107Sfenner/bin/arch              = `(/bin/arch) 2>/dev/null`
148675107Sfenner/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
148775107Sfenner/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
148875107Sfenner
148975107SfennerUNAME_MACHINE = ${UNAME_MACHINE}
149075107SfennerUNAME_RELEASE = ${UNAME_RELEASE}
149175107SfennerUNAME_SYSTEM  = ${UNAME_SYSTEM}
149275107SfennerUNAME_VERSION = ${UNAME_VERSION}
149375107SfennerEOF
149475107Sfenner
149517683Spstexit 1
149675107Sfenner
149775107Sfenner# Local variables:
149875107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
149975107Sfenner# time-stamp-start: "timestamp='"
150075107Sfenner# time-stamp-format: "%:y-%02m-%02d"
150175107Sfenner# time-stamp-end: "'"
150275107Sfenner# End:
1503