117680Spst#! /bin/sh
217680Spst# Attempt to guess a canonical system name.
3127668Sbms#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4214478Srpaulo#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5214478Srpaulo#   Free Software Foundation, Inc.
675115Sfenner
7214478Srpaulotimestamp='2009-12-30'
875115Sfenner
917680Spst# This file is free software; you can redistribute it and/or modify it
1017680Spst# under the terms of the GNU General Public License as published by
1117680Spst# the Free Software Foundation; either version 2 of the License, or
1217680Spst# (at your option) any later version.
1317680Spst#
1417680Spst# This program is distributed in the hope that it will be useful, but
1517680Spst# WITHOUT ANY WARRANTY; without even the implied warranty of
1617680Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1717680Spst# General Public License for more details.
1817680Spst#
1917680Spst# You should have received a copy of the GNU General Public License
2017680Spst# along with this program; if not, write to the Free Software
21214478Srpaulo# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22214478Srpaulo# 02110-1301, USA.
2317680Spst#
2417680Spst# As a special exception to the GNU General Public License, if you
2517680Spst# distribute this file as part of a program that contains a
2617680Spst# configuration script generated by Autoconf, you may include it under
2717680Spst# the same distribution terms that you use for the rest of that program.
2817680Spst
29214478Srpaulo
30214478Srpaulo# Originally written by Per Bothner.  Please send patches (context
31214478Srpaulo# diff format) to <config-patches@gnu.org> and include a ChangeLog
32214478Srpaulo# entry.
3317680Spst#
3417680Spst# This script attempts to guess a canonical system name similar to
3517680Spst# config.sub.  If it succeeds, it prints the system name on stdout, and
3617680Spst# exits with 0.  Otherwise, it exits with 1.
3717680Spst#
38214478Srpaulo# You can get the latest version of this script from:
39214478Srpaulo# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
4017680Spst
4175115Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
4275115Sfenner
4375115Sfennerusage="\
4475115SfennerUsage: $0 [OPTION]
4575115Sfenner
4675115SfennerOutput the configuration name of the system \`$me' is run on.
4775115Sfenner
4875115SfennerOperation modes:
4975115Sfenner  -h, --help         print this help, then exit
5075115Sfenner  -t, --time-stamp   print date of last modification, then exit
5175115Sfenner  -v, --version      print version number, then exit
5275115Sfenner
5375115SfennerReport bugs and patches to <config-patches@gnu.org>."
5475115Sfenner
5575115Sfennerversion="\
5675115SfennerGNU config.guess ($timestamp)
5775115Sfenner
5875115SfennerOriginally written by Per Bothner.
59214478SrpauloCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
60214478Srpaulo2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
61214478SrpauloSoftware Foundation, Inc.
6275115Sfenner
6375115SfennerThis is free software; see the source for copying conditions.  There is NO
6475115Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6575115Sfenner
6675115Sfennerhelp="
6775115SfennerTry \`$me --help' for more information."
6875115Sfenner
6975115Sfenner# Parse command line
7075115Sfennerwhile test $# -gt 0 ; do
7175115Sfenner  case $1 in
7275115Sfenner    --time-stamp | --time* | -t )
73214478Srpaulo       echo "$timestamp" ; exit ;;
7475115Sfenner    --version | -v )
75214478Srpaulo       echo "$version" ; exit ;;
7675115Sfenner    --help | --h* | -h )
77214478Srpaulo       echo "$usage"; exit ;;
7875115Sfenner    -- )     # Stop option processing
7975115Sfenner       shift; break ;;
8075115Sfenner    - )	# Use stdin as input.
8175115Sfenner       break ;;
8275115Sfenner    -* )
8375115Sfenner       echo "$me: invalid option $1$help" >&2
8475115Sfenner       exit 1 ;;
8575115Sfenner    * )
8675115Sfenner       break ;;
8775115Sfenner  esac
8875115Sfennerdone
8975115Sfenner
9075115Sfennerif test $# != 0; then
9175115Sfenner  echo "$me: too many arguments$help" >&2
9275115Sfenner  exit 1
9375115Sfennerfi
9475115Sfenner
95127668Sbmstrap 'exit 1' 1 2 15
9675115Sfenner
97127668Sbms# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
98127668Sbms# compiler to aid in system detection is discouraged as it requires
99127668Sbms# temporary files to be created and, as you can see below, it is a
100127668Sbms# headache to deal with in a portable fashion.
10175115Sfenner
10275115Sfenner# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10375115Sfenner# use `HOST_CC' if defined, but it is deprecated.
10475115Sfenner
105127668Sbms# Portable tmp directory creation inspired by the Autoconf team.
106127668Sbms
107127668Sbmsset_cc_for_build='
108127668Sbmstrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
109127668Sbmstrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
110127668Sbms: ${TMPDIR=/tmp} ;
111214478Srpaulo { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
112127668Sbms { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
113127668Sbms { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
114127668Sbms { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
115127668Sbmsdummy=$tmp/dummy ;
116127668Sbmstmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
11775115Sfennercase $CC_FOR_BUILD,$HOST_CC,$CC in
118127668Sbms ,,)    echo "int x;" > $dummy.c ;
119127668Sbms	for c in cc gcc c89 c99 ; do
120127668Sbms	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
121127668Sbms	     CC_FOR_BUILD="$c"; break ;
122127668Sbms	  fi ;
123127668Sbms	done ;
12475115Sfenner	if test x"$CC_FOR_BUILD" = x ; then
125127668Sbms	  CC_FOR_BUILD=no_compiler_found ;
12675115Sfenner	fi
12775115Sfenner	;;
12875115Sfenner ,,*)   CC_FOR_BUILD=$CC ;;
12975115Sfenner ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
130214478Srpauloesac ; set_cc_for_build= ;'
13175115Sfenner
13217680Spst# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
133127668Sbms# (ghazi@noc.rutgers.edu 1994-08-24)
13417680Spstif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13517680Spst	PATH=$PATH:/.attbin ; export PATH
13617680Spstfi
13717680Spst
13817680SpstUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13917680SpstUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
14075115SfennerUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14117680SpstUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14217680Spst
14317680Spst# Note: order is significant - the case branches are not exclusive.
14417680Spst
14517680Spstcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14675115Sfenner    *:NetBSD:*:*)
147127668Sbms	# NetBSD (nbsd) targets should (where applicable) match one or
14875115Sfenner	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14975115Sfenner	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
15075115Sfenner	# switched to ELF, *-*-netbsd* would select the old
15175115Sfenner	# object file format.  This provides both forward
15275115Sfenner	# compatibility and a consistent mechanism for selecting the
15375115Sfenner	# object file format.
154127668Sbms	#
155127668Sbms	# Note: NetBSD doesn't particularly care about the vendor
156127668Sbms	# portion of the name.  We always set it to "unknown".
157127668Sbms	sysctl="sysctl -n hw.machine_arch"
158127668Sbms	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
159127668Sbms	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
160127668Sbms	case "${UNAME_MACHINE_ARCH}" in
161127668Sbms	    armeb) machine=armeb-unknown ;;
162127668Sbms	    arm*) machine=arm-unknown ;;
163127668Sbms	    sh3el) machine=shl-unknown ;;
164127668Sbms	    sh3eb) machine=sh-unknown ;;
165214478Srpaulo	    sh5el) machine=sh5le-unknown ;;
166127668Sbms	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16775115Sfenner	esac
16875115Sfenner	# The Operating System including object format, if it has switched
16975115Sfenner	# to ELF recently, or will in the future.
170127668Sbms	case "${UNAME_MACHINE_ARCH}" in
171127668Sbms	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
172127668Sbms		eval $set_cc_for_build
17375115Sfenner		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
174214478Srpaulo			| grep -q __ELF__
17575115Sfenner		then
17675115Sfenner		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17775115Sfenner		    # Return netbsd for either.  FIX?
17875115Sfenner		    os=netbsd
17975115Sfenner		else
18075115Sfenner		    os=netbsdelf
18175115Sfenner		fi
18275115Sfenner		;;
18375115Sfenner	    *)
18475115Sfenner	        os=netbsd
18575115Sfenner		;;
18675115Sfenner	esac
18775115Sfenner	# The OS release
188127668Sbms	# Debian GNU/NetBSD machines have a different userland, and
189127668Sbms	# thus, need a distinct triplet. However, they do not need
190127668Sbms	# kernel version information, so it can be replaced with a
191127668Sbms	# suitable tag, in the style of linux-gnu.
192127668Sbms	case "${UNAME_VERSION}" in
193127668Sbms	    Debian*)
194127668Sbms		release='-gnu'
195127668Sbms		;;
196127668Sbms	    *)
197127668Sbms		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
198127668Sbms		;;
199127668Sbms	esac
20075115Sfenner	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20175115Sfenner	# contains redundant information, the shorter form:
20275115Sfenner	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20375115Sfenner	echo "${machine}-${os}${release}"
204214478Srpaulo	exit ;;
205127668Sbms    *:OpenBSD:*:*)
206214478Srpaulo	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
207214478Srpaulo	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
208214478Srpaulo	exit ;;
209214478Srpaulo    *:ekkoBSD:*:*)
210214478Srpaulo	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
211214478Srpaulo	exit ;;
212214478Srpaulo    *:SolidBSD:*:*)
213214478Srpaulo	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
214214478Srpaulo	exit ;;
215214478Srpaulo    macppc:MirBSD:*:*)
216214478Srpaulo	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
217214478Srpaulo	exit ;;
218214478Srpaulo    *:MirBSD:*:*)
219214478Srpaulo	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
220214478Srpaulo	exit ;;
22117680Spst    alpha:OSF1:*:*)
222214478Srpaulo	case $UNAME_RELEASE in
223214478Srpaulo	*4.0)
22475115Sfenner		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
225214478Srpaulo		;;
226214478Srpaulo	*5.*)
227214478Srpaulo	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
228214478Srpaulo		;;
229214478Srpaulo	esac
230127668Sbms	# According to Compaq, /usr/sbin/psrinfo has been available on
231127668Sbms	# OSF/1 and Tru64 systems produced since 1995.  I hope that
232127668Sbms	# covers most systems running today.  This code pipes the CPU
233127668Sbms	# types through head -n 1, so we only detect the type of CPU 0.
234127668Sbms	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
235127668Sbms	case "$ALPHA_CPU_TYPE" in
236127668Sbms	    "EV4 (21064)")
237127668Sbms		UNAME_MACHINE="alpha" ;;
238127668Sbms	    "EV4.5 (21064)")
239127668Sbms		UNAME_MACHINE="alpha" ;;
240127668Sbms	    "LCA4 (21066/21068)")
241127668Sbms		UNAME_MACHINE="alpha" ;;
242127668Sbms	    "EV5 (21164)")
243127668Sbms		UNAME_MACHINE="alphaev5" ;;
244127668Sbms	    "EV5.6 (21164A)")
245127668Sbms		UNAME_MACHINE="alphaev56" ;;
246127668Sbms	    "EV5.6 (21164PC)")
247127668Sbms		UNAME_MACHINE="alphapca56" ;;
248127668Sbms	    "EV5.7 (21164PC)")
249127668Sbms		UNAME_MACHINE="alphapca57" ;;
250127668Sbms	    "EV6 (21264)")
251127668Sbms		UNAME_MACHINE="alphaev6" ;;
252127668Sbms	    "EV6.7 (21264A)")
253127668Sbms		UNAME_MACHINE="alphaev67" ;;
254127668Sbms	    "EV6.8CB (21264C)")
255127668Sbms		UNAME_MACHINE="alphaev68" ;;
256127668Sbms	    "EV6.8AL (21264B)")
257127668Sbms		UNAME_MACHINE="alphaev68" ;;
258127668Sbms	    "EV6.8CX (21264D)")
259127668Sbms		UNAME_MACHINE="alphaev68" ;;
260127668Sbms	    "EV6.9A (21264/EV69A)")
261127668Sbms		UNAME_MACHINE="alphaev69" ;;
262127668Sbms	    "EV7 (21364)")
263127668Sbms		UNAME_MACHINE="alphaev7" ;;
264127668Sbms	    "EV7.9 (21364A)")
265127668Sbms		UNAME_MACHINE="alphaev79" ;;
266127668Sbms	esac
267214478Srpaulo	# A Pn.n version is a patched version.
26817680Spst	# A Vn.n version is a released version.
26917680Spst	# A Tn.n version is a released field test version.
27017680Spst	# A Xn.n version is an unreleased experimental baselevel.
27117680Spst	# 1.2 uses "1.2" for uname -r.
272214478Srpaulo	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
273214478Srpaulo	exit ;;
27475115Sfenner    Alpha\ *:Windows_NT*:*)
27575115Sfenner	# How do we know it's Interix rather than the generic POSIX subsystem?
27675115Sfenner	# Should we change UNAME_MACHINE based on the output of uname instead
27775115Sfenner	# of the specific Alpha model?
27875115Sfenner	echo alpha-pc-interix
279214478Srpaulo	exit ;;
28017680Spst    21064:Windows_NT:50:3)
28117680Spst	echo alpha-dec-winnt3.5
282214478Srpaulo	exit ;;
28317680Spst    Amiga*:UNIX_System_V:4.0:*)
28475115Sfenner	echo m68k-unknown-sysv4
285214478Srpaulo	exit ;;
28675115Sfenner    *:[Aa]miga[Oo][Ss]:*:*)
28775115Sfenner	echo ${UNAME_MACHINE}-unknown-amigaos
288214478Srpaulo	exit ;;
289127668Sbms    *:[Mm]orph[Oo][Ss]:*:*)
290127668Sbms	echo ${UNAME_MACHINE}-unknown-morphos
291214478Srpaulo	exit ;;
29275115Sfenner    *:OS/390:*:*)
29375115Sfenner	echo i370-ibm-openedition
294214478Srpaulo	exit ;;
295214478Srpaulo    *:z/VM:*:*)
296214478Srpaulo	echo s390-ibm-zvmoe
297214478Srpaulo	exit ;;
298127668Sbms    *:OS400:*:*)
299127668Sbms        echo powerpc-ibm-os400
300214478Srpaulo	exit ;;
30117680Spst    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30217680Spst	echo arm-acorn-riscix${UNAME_RELEASE}
303214478Srpaulo	exit ;;
304214478Srpaulo    arm:riscos:*:*|arm:RISCOS:*:*)
305214478Srpaulo	echo arm-unknown-riscos
306214478Srpaulo	exit ;;
30798524Sfenner    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
30875115Sfenner	echo hppa1.1-hitachi-hiuxmpp
309214478Srpaulo	exit ;;
31075115Sfenner    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
31126180Sfenner	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31217680Spst	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31317680Spst		echo pyramid-pyramid-sysv3
31417680Spst	else
31517680Spst		echo pyramid-pyramid-bsd
31617680Spst	fi
317214478Srpaulo	exit ;;
31875115Sfenner    NILE*:*:*:dcosx)
31926180Sfenner	echo pyramid-pyramid-svr4
320214478Srpaulo	exit ;;
321127668Sbms    DRS?6000:unix:4.0:6*)
322127668Sbms	echo sparc-icl-nx6
323214478Srpaulo	exit ;;
324214478Srpaulo    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
325127668Sbms	case `/usr/bin/uname -p` in
326214478Srpaulo	    sparc) echo sparc-icl-nx7; exit ;;
327127668Sbms	esac ;;
328214478Srpaulo    s390x:SunOS:*:*)
329214478Srpaulo	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
330214478Srpaulo	exit ;;
33175115Sfenner    sun4H:SunOS:5.*:*)
33275115Sfenner	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
333214478Srpaulo	exit ;;
33426180Sfenner    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33517680Spst	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336214478Srpaulo	exit ;;
337214478Srpaulo    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
338214478Srpaulo	echo i386-pc-auroraux${UNAME_RELEASE}
339214478Srpaulo	exit ;;
340214478Srpaulo    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
341214478Srpaulo	eval $set_cc_for_build
342214478Srpaulo	SUN_ARCH="i386"
343214478Srpaulo	# If there is a compiler, see if it is configured for 64-bit objects.
344214478Srpaulo	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
345214478Srpaulo	# This test works for both compilers.
346214478Srpaulo	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
347214478Srpaulo	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
348214478Srpaulo		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
349214478Srpaulo		grep IS_64BIT_ARCH >/dev/null
350214478Srpaulo	    then
351214478Srpaulo		SUN_ARCH="x86_64"
352214478Srpaulo	    fi
353214478Srpaulo	fi
354214478Srpaulo	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
355214478Srpaulo	exit ;;
35617680Spst    sun4*:SunOS:6*:*)
35717680Spst	# According to config.sub, this is the proper way to canonicalize
35817680Spst	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
35917680Spst	# it's likely to be more like Solaris than SunOS4.
36017680Spst	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
361214478Srpaulo	exit ;;
36217680Spst    sun4*:SunOS:*:*)
36317680Spst	case "`/usr/bin/arch -k`" in
36417680Spst	    Series*|S4*)
36517680Spst		UNAME_RELEASE=`uname -v`
36617680Spst		;;
36717680Spst	esac
36817680Spst	# Japanese Language versions have a version number like `4.1.3-JL'.
36917680Spst	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
370214478Srpaulo	exit ;;
37117680Spst    sun3*:SunOS:*:*)
37217680Spst	echo m68k-sun-sunos${UNAME_RELEASE}
373214478Srpaulo	exit ;;
37475115Sfenner    sun*:*:4.2BSD:*)
375127668Sbms	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
37675115Sfenner	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
37775115Sfenner	case "`/bin/arch`" in
37875115Sfenner	    sun3)
37975115Sfenner		echo m68k-sun-sunos${UNAME_RELEASE}
38075115Sfenner		;;
38175115Sfenner	    sun4)
38275115Sfenner		echo sparc-sun-sunos${UNAME_RELEASE}
38375115Sfenner		;;
38475115Sfenner	esac
385214478Srpaulo	exit ;;
38626180Sfenner    aushp:SunOS:*:*)
38726180Sfenner	echo sparc-auspex-sunos${UNAME_RELEASE}
388214478Srpaulo	exit ;;
38975115Sfenner    # The situation for MiNT is a little confusing.  The machine name
39075115Sfenner    # can be virtually everything (everything which is not
39175115Sfenner    # "atarist" or "atariste" at least should have a processor
39275115Sfenner    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
39375115Sfenner    # to the lowercase version "mint" (or "freemint").  Finally
39475115Sfenner    # the system name "TOS" denotes a system which is actually not
39575115Sfenner    # MiNT.  But MiNT is downward compatible to TOS, so this should
39675115Sfenner    # be no problem.
39775115Sfenner    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
39875115Sfenner        echo m68k-atari-mint${UNAME_RELEASE}
399214478Srpaulo	exit ;;
40075115Sfenner    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
40175115Sfenner	echo m68k-atari-mint${UNAME_RELEASE}
402214478Srpaulo        exit ;;
40375115Sfenner    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
40475115Sfenner        echo m68k-atari-mint${UNAME_RELEASE}
405214478Srpaulo	exit ;;
40675115Sfenner    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
40775115Sfenner        echo m68k-milan-mint${UNAME_RELEASE}
408214478Srpaulo        exit ;;
40975115Sfenner    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
41075115Sfenner        echo m68k-hades-mint${UNAME_RELEASE}
411214478Srpaulo        exit ;;
41275115Sfenner    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
41375115Sfenner        echo m68k-unknown-mint${UNAME_RELEASE}
414214478Srpaulo        exit ;;
415214478Srpaulo    m68k:machten:*:*)
416214478Srpaulo	echo m68k-apple-machten${UNAME_RELEASE}
417214478Srpaulo	exit ;;
41826180Sfenner    powerpc:machten:*:*)
41926180Sfenner	echo powerpc-apple-machten${UNAME_RELEASE}
420214478Srpaulo	exit ;;
42126180Sfenner    RISC*:Mach:*:*)
42226180Sfenner	echo mips-dec-mach_bsd4.3
423214478Srpaulo	exit ;;
42417680Spst    RISC*:ULTRIX:*:*)
42517680Spst	echo mips-dec-ultrix${UNAME_RELEASE}
426214478Srpaulo	exit ;;
42717680Spst    VAX*:ULTRIX*:*:*)
42817680Spst	echo vax-dec-ultrix${UNAME_RELEASE}
429214478Srpaulo	exit ;;
43075115Sfenner    2020:CLIX:*:* | 2430:CLIX:*:*)
43175115Sfenner	echo clipper-intergraph-clix${UNAME_RELEASE}
432214478Srpaulo	exit ;;
43326180Sfenner    mips:*:*:UMIPS | mips:*:*:RISCos)
434127668Sbms	eval $set_cc_for_build
43575115Sfenner	sed 's/^	//' << EOF >$dummy.c
43675115Sfenner#ifdef __cplusplus
43775115Sfenner#include <stdio.h>  /* for printf() prototype */
43875115Sfenner	int main (int argc, char *argv[]) {
43975115Sfenner#else
44075115Sfenner	int main (argc, argv) int argc; char *argv[]; {
44175115Sfenner#endif
44226180Sfenner	#if defined (host_mips) && defined (MIPSEB)
44326180Sfenner	#if defined (SYSTYPE_SYSV)
44426180Sfenner	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
44526180Sfenner	#endif
44626180Sfenner	#if defined (SYSTYPE_SVR4)
44726180Sfenner	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
44826180Sfenner	#endif
44926180Sfenner	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
45026180Sfenner	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
45126180Sfenner	#endif
45226180Sfenner	#endif
45326180Sfenner	  exit (-1);
45426180Sfenner	}
45526180SfennerEOF
456214478Srpaulo	$CC_FOR_BUILD -o $dummy $dummy.c &&
457214478Srpaulo	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
458214478Srpaulo	  SYSTEM_NAME=`$dummy $dummyarg` &&
459214478Srpaulo	    { echo "$SYSTEM_NAME"; exit; }
46017680Spst	echo mips-mips-riscos${UNAME_RELEASE}
461214478Srpaulo	exit ;;
46298524Sfenner    Motorola:PowerMAX_OS:*:*)
46398524Sfenner	echo powerpc-motorola-powermax
464214478Srpaulo	exit ;;
465127668Sbms    Motorola:*:4.3:PL8-*)
466127668Sbms	echo powerpc-harris-powermax
467214478Srpaulo	exit ;;
468127668Sbms    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
469127668Sbms	echo powerpc-harris-powermax
470214478Srpaulo	exit ;;
47117680Spst    Night_Hawk:Power_UNIX:*:*)
47217680Spst	echo powerpc-harris-powerunix
473214478Srpaulo	exit ;;
47417680Spst    m88k:CX/UX:7*:*)
47517680Spst	echo m88k-harris-cxux7
476214478Srpaulo	exit ;;
47717680Spst    m88k:*:4*:R4*)
47817680Spst	echo m88k-motorola-sysv4
479214478Srpaulo	exit ;;
48017680Spst    m88k:*:3*:R3*)
48117680Spst	echo m88k-motorola-sysv3
482214478Srpaulo	exit ;;
48317680Spst    AViiON:dgux:*:*)
48417680Spst        # DG/UX returns AViiON for all architectures
48517680Spst        UNAME_PROCESSOR=`/usr/bin/uname -p`
48675115Sfenner	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
48775115Sfenner	then
48875115Sfenner	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
48975115Sfenner	       [ ${TARGET_BINARY_INTERFACE}x = x ]
49075115Sfenner	    then
49117680Spst		echo m88k-dg-dgux${UNAME_RELEASE}
49275115Sfenner	    else
49375115Sfenner		echo m88k-dg-dguxbcs${UNAME_RELEASE}
49475115Sfenner	    fi
49517680Spst	else
49675115Sfenner	    echo i586-dg-dgux${UNAME_RELEASE}
49717680Spst	fi
498214478Srpaulo 	exit ;;
49917680Spst    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
50017680Spst	echo m88k-dolphin-sysv3
501214478Srpaulo	exit ;;
50217680Spst    M88*:*:R3*:*)
50317680Spst	# Delta 88k system running SVR3
50417680Spst	echo m88k-motorola-sysv3
505214478Srpaulo	exit ;;
50617680Spst    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
50717680Spst	echo m88k-tektronix-sysv3
508214478Srpaulo	exit ;;
50917680Spst    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
51017680Spst	echo m68k-tektronix-bsd
511214478Srpaulo	exit ;;
51217680Spst    *:IRIX*:*:*)
51317680Spst	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
514214478Srpaulo	exit ;;
51526180Sfenner    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
516214478Srpaulo	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
517214478Srpaulo	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
51898524Sfenner    i*86:AIX:*:*)
51917680Spst	echo i386-ibm-aix
520214478Srpaulo	exit ;;
52198524Sfenner    ia64:AIX:*:*)
52298524Sfenner	if [ -x /usr/bin/oslevel ] ; then
52398524Sfenner		IBM_REV=`/usr/bin/oslevel`
52498524Sfenner	else
52598524Sfenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
52698524Sfenner	fi
52798524Sfenner	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
528214478Srpaulo	exit ;;
52917680Spst    *:AIX:2:3)
53017680Spst	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
531127668Sbms		eval $set_cc_for_build
53275115Sfenner		sed 's/^		//' << EOF >$dummy.c
53317680Spst		#include <sys/systemcfg.h>
53417680Spst
53517680Spst		main()
53617680Spst			{
53717680Spst			if (!__power_pc())
53817680Spst				exit(1);
53917680Spst			puts("powerpc-ibm-aix3.2.5");
54017680Spst			exit(0);
54117680Spst			}
54217680SpstEOF
543214478Srpaulo		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
544214478Srpaulo		then
545214478Srpaulo			echo "$SYSTEM_NAME"
546214478Srpaulo		else
547214478Srpaulo			echo rs6000-ibm-aix3.2.5
548214478Srpaulo		fi
54917680Spst	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
55017680Spst		echo rs6000-ibm-aix3.2.4
55117680Spst	else
55217680Spst		echo rs6000-ibm-aix3.2
55317680Spst	fi
554214478Srpaulo	exit ;;
555214478Srpaulo    *:AIX:*:[456])
556127668Sbms	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
55798524Sfenner	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
55817680Spst		IBM_ARCH=rs6000
55917680Spst	else
56017680Spst		IBM_ARCH=powerpc
56117680Spst	fi
56217680Spst	if [ -x /usr/bin/oslevel ] ; then
56317680Spst		IBM_REV=`/usr/bin/oslevel`
56417680Spst	else
56598524Sfenner		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
56617680Spst	fi
56717680Spst	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
568214478Srpaulo	exit ;;
56917680Spst    *:AIX:*:*)
57017680Spst	echo rs6000-ibm-aix
571214478Srpaulo	exit ;;
57217680Spst    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
57317680Spst	echo romp-ibm-bsd4.4
574214478Srpaulo	exit ;;
57575115Sfenner    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
57626180Sfenner	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
577214478Srpaulo	exit ;;                             # report: romp-ibm BSD 4.3
57817680Spst    *:BOSX:*:*)
57917680Spst	echo rs6000-bull-bosx
580214478Srpaulo	exit ;;
58117680Spst    DPX/2?00:B.O.S.:*:*)
58217680Spst	echo m68k-bull-sysv3
583214478Srpaulo	exit ;;
58417680Spst    9000/[34]??:4.3bsd:1.*:*)
58517680Spst	echo m68k-hp-bsd
586214478Srpaulo	exit ;;
58717680Spst    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
58817680Spst	echo m68k-hp-bsd4.4
589214478Srpaulo	exit ;;
59075115Sfenner    9000/[34678]??:HP-UX:*:*)
59175115Sfenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
59217680Spst	case "${UNAME_MACHINE}" in
59317680Spst	    9000/31? )            HP_ARCH=m68000 ;;
59417680Spst	    9000/[34]?? )         HP_ARCH=m68k ;;
59575115Sfenner	    9000/[678][0-9][0-9])
596127668Sbms		if [ -x /usr/bin/getconf ]; then
597127668Sbms		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
59875115Sfenner                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
59975115Sfenner                    case "${sc_cpu_version}" in
60075115Sfenner                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
60175115Sfenner                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
60275115Sfenner                      532)                      # CPU_PA_RISC2_0
60375115Sfenner                        case "${sc_kernel_bits}" in
60475115Sfenner                          32) HP_ARCH="hppa2.0n" ;;
60575115Sfenner                          64) HP_ARCH="hppa2.0w" ;;
606127668Sbms			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
60775115Sfenner                        esac ;;
60875115Sfenner                    esac
609127668Sbms		fi
610127668Sbms		if [ "${HP_ARCH}" = "" ]; then
611127668Sbms		    eval $set_cc_for_build
612127668Sbms		    sed 's/^              //' << EOF >$dummy.c
61375115Sfenner
61475115Sfenner              #define _HPUX_SOURCE
61575115Sfenner              #include <stdlib.h>
61675115Sfenner              #include <unistd.h>
61775115Sfenner
61875115Sfenner              int main ()
61975115Sfenner              {
62075115Sfenner              #if defined(_SC_KERNEL_BITS)
62175115Sfenner                  long bits = sysconf(_SC_KERNEL_BITS);
62275115Sfenner              #endif
62375115Sfenner                  long cpu  = sysconf (_SC_CPU_VERSION);
62475115Sfenner
62575115Sfenner                  switch (cpu)
62675115Sfenner              	{
62775115Sfenner              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
62875115Sfenner              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
62975115Sfenner              	case CPU_PA_RISC2_0:
63075115Sfenner              #if defined(_SC_KERNEL_BITS)
63175115Sfenner              	    switch (bits)
63275115Sfenner              		{
63375115Sfenner              		case 64: puts ("hppa2.0w"); break;
63475115Sfenner              		case 32: puts ("hppa2.0n"); break;
63575115Sfenner              		default: puts ("hppa2.0"); break;
63675115Sfenner              		} break;
63775115Sfenner              #else  /* !defined(_SC_KERNEL_BITS) */
63875115Sfenner              	    puts ("hppa2.0"); break;
63975115Sfenner              #endif
64075115Sfenner              	default: puts ("hppa1.0"); break;
64175115Sfenner              	}
64275115Sfenner                  exit (0);
64375115Sfenner              }
64475115SfennerEOF
645127668Sbms		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
646127668Sbms		    test -z "$HP_ARCH" && HP_ARCH=hppa
647127668Sbms		fi ;;
64817680Spst	esac
649127668Sbms	if [ ${HP_ARCH} = "hppa2.0w" ]
650127668Sbms	then
651214478Srpaulo	    eval $set_cc_for_build
652214478Srpaulo
653214478Srpaulo	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
654214478Srpaulo	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
655214478Srpaulo	    # generating 64-bit code.  GNU and HP use different nomenclature:
656214478Srpaulo	    #
657214478Srpaulo	    # $ CC_FOR_BUILD=cc ./config.guess
658214478Srpaulo	    # => hppa2.0w-hp-hpux11.23
659214478Srpaulo	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
660214478Srpaulo	    # => hppa64-hp-hpux11.23
661214478Srpaulo
662214478Srpaulo	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
663214478Srpaulo		grep -q __LP64__
664127668Sbms	    then
665127668Sbms		HP_ARCH="hppa2.0w"
666127668Sbms	    else
667127668Sbms		HP_ARCH="hppa64"
668127668Sbms	    fi
669127668Sbms	fi
67017680Spst	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
671214478Srpaulo	exit ;;
67298524Sfenner    ia64:HP-UX:*:*)
67398524Sfenner	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
67498524Sfenner	echo ia64-hp-hpux${HPUX_REV}
675214478Srpaulo	exit ;;
67617680Spst    3050*:HI-UX:*:*)
677127668Sbms	eval $set_cc_for_build
67875115Sfenner	sed 's/^	//' << EOF >$dummy.c
67917680Spst	#include <unistd.h>
68017680Spst	int
68117680Spst	main ()
68217680Spst	{
68317680Spst	  long cpu = sysconf (_SC_CPU_VERSION);
68417680Spst	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
68517680Spst	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
68617680Spst	     results, however.  */
68717680Spst	  if (CPU_IS_PA_RISC (cpu))
68817680Spst	    {
68917680Spst	      switch (cpu)
69017680Spst		{
69117680Spst		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
69217680Spst		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
69317680Spst		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
69417680Spst		  default: puts ("hppa-hitachi-hiuxwe2"); break;
69517680Spst		}
69617680Spst	    }
69717680Spst	  else if (CPU_IS_HP_MC68K (cpu))
69817680Spst	    puts ("m68k-hitachi-hiuxwe2");
69917680Spst	  else puts ("unknown-hitachi-hiuxwe2");
70017680Spst	  exit (0);
70117680Spst	}
70217680SpstEOF
703214478Srpaulo	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
704214478Srpaulo		{ echo "$SYSTEM_NAME"; exit; }
70517680Spst	echo unknown-hitachi-hiuxwe2
706214478Srpaulo	exit ;;
70717680Spst    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
70817680Spst	echo hppa1.1-hp-bsd
709214478Srpaulo	exit ;;
71017680Spst    9000/8??:4.3bsd:*:*)
71117680Spst	echo hppa1.0-hp-bsd
712214478Srpaulo	exit ;;
713127668Sbms    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
71475115Sfenner	echo hppa1.0-hp-mpeix
715214478Srpaulo	exit ;;
71617680Spst    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
71717680Spst	echo hppa1.1-hp-osf
718214478Srpaulo	exit ;;
71917680Spst    hp8??:OSF1:*:*)
72017680Spst	echo hppa1.0-hp-osf
721214478Srpaulo	exit ;;
72298524Sfenner    i*86:OSF1:*:*)
72326180Sfenner	if [ -x /usr/sbin/sysversion ] ; then
72426180Sfenner	    echo ${UNAME_MACHINE}-unknown-osf1mk
72526180Sfenner	else
72626180Sfenner	    echo ${UNAME_MACHINE}-unknown-osf1
72726180Sfenner	fi
728214478Srpaulo	exit ;;
72917680Spst    parisc*:Lites*:*:*)
73017680Spst	echo hppa1.1-hp-lites
731214478Srpaulo	exit ;;
73217680Spst    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
73317680Spst	echo c1-convex-bsd
734214478Srpaulo        exit ;;
73517680Spst    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
73617680Spst	if getsysinfo -f scalar_acc
73717680Spst	then echo c32-convex-bsd
73817680Spst	else echo c2-convex-bsd
73917680Spst	fi
740214478Srpaulo        exit ;;
74117680Spst    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
74217680Spst	echo c34-convex-bsd
743214478Srpaulo        exit ;;
74417680Spst    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
74517680Spst	echo c38-convex-bsd
746214478Srpaulo        exit ;;
74717680Spst    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
74817680Spst	echo c4-convex-bsd
749214478Srpaulo        exit ;;
75017680Spst    CRAY*Y-MP:*:*:*)
751127668Sbms	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
752214478Srpaulo	exit ;;
75326180Sfenner    CRAY*[A-Z]90:*:*:*)
75426180Sfenner	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
75526180Sfenner	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
756127668Sbms	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
757127668Sbms	      -e 's/\.[^.]*$/.X/'
758214478Srpaulo	exit ;;
75926180Sfenner    CRAY*TS:*:*:*)
76075115Sfenner	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
761214478Srpaulo	exit ;;
76275115Sfenner    CRAY*T3E:*:*:*)
76375115Sfenner	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
764214478Srpaulo	exit ;;
76575115Sfenner    CRAY*SV1:*:*:*)
76675115Sfenner	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
767214478Srpaulo	exit ;;
768127668Sbms    *:UNICOS/mp:*:*)
769214478Srpaulo	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
770214478Srpaulo	exit ;;
77198524Sfenner    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
77298524Sfenner	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
77375115Sfenner        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
77426180Sfenner        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
77598524Sfenner        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
776214478Srpaulo        exit ;;
777127668Sbms    5000:UNIX_System_V:4.*:*)
778127668Sbms        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
779127668Sbms        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
780127668Sbms        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
781214478Srpaulo	exit ;;
78298524Sfenner    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
78326180Sfenner	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
784214478Srpaulo	exit ;;
78575115Sfenner    sparc*:BSD/OS:*:*)
78675115Sfenner	echo sparc-unknown-bsdi${UNAME_RELEASE}
787214478Srpaulo	exit ;;
78875115Sfenner    *:BSD/OS:*:*)
78975115Sfenner	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
790214478Srpaulo	exit ;;
79117680Spst    *:FreeBSD:*:*)
792214478Srpaulo	case ${UNAME_MACHINE} in
793214478Srpaulo	    pc98)
794214478Srpaulo		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795214478Srpaulo	    amd64)
796214478Srpaulo		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797214478Srpaulo	    *)
798214478Srpaulo		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799214478Srpaulo	esac
800214478Srpaulo	exit ;;
80117680Spst    i*:CYGWIN*:*)
80275115Sfenner	echo ${UNAME_MACHINE}-pc-cygwin
803214478Srpaulo	exit ;;
804214478Srpaulo    *:MINGW*:*)
80575115Sfenner	echo ${UNAME_MACHINE}-pc-mingw32
806214478Srpaulo	exit ;;
807214478Srpaulo    i*:windows32*:*)
808214478Srpaulo    	# uname -m includes "-pc" on this system.
809214478Srpaulo    	echo ${UNAME_MACHINE}-mingw32
810214478Srpaulo	exit ;;
81175115Sfenner    i*:PW*:*)
81275115Sfenner	echo ${UNAME_MACHINE}-pc-pw32
813214478Srpaulo	exit ;;
814214478Srpaulo    *:Interix*:*)
815214478Srpaulo    	case ${UNAME_MACHINE} in
816214478Srpaulo	    x86)
817214478Srpaulo		echo i586-pc-interix${UNAME_RELEASE}
818214478Srpaulo		exit ;;
819214478Srpaulo	    authenticamd | genuineintel | EM64T)
820214478Srpaulo		echo x86_64-unknown-interix${UNAME_RELEASE}
821214478Srpaulo		exit ;;
822214478Srpaulo	    IA64)
823214478Srpaulo		echo ia64-unknown-interix${UNAME_RELEASE}
824214478Srpaulo		exit ;;
825214478Srpaulo	esac ;;
826127668Sbms    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
827127668Sbms	echo i${UNAME_MACHINE}-pc-mks
828214478Srpaulo	exit ;;
829214478Srpaulo    8664:Windows_NT:*)
830214478Srpaulo	echo x86_64-pc-mks
831214478Srpaulo	exit ;;
83275115Sfenner    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
83375115Sfenner	# How do we know it's Interix rather than the generic POSIX subsystem?
83475115Sfenner	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
83575115Sfenner	# UNAME_MACHINE based on the output of uname instead of i386?
836127668Sbms	echo i586-pc-interix
837214478Srpaulo	exit ;;
83875115Sfenner    i*:UWIN*:*)
83975115Sfenner	echo ${UNAME_MACHINE}-pc-uwin
840214478Srpaulo	exit ;;
841214478Srpaulo    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
842214478Srpaulo	echo x86_64-unknown-cygwin
843214478Srpaulo	exit ;;
84417680Spst    p*:CYGWIN*:*)
84575115Sfenner	echo powerpcle-unknown-cygwin
846214478Srpaulo	exit ;;
84717680Spst    prep*:SunOS:5.*:*)
84817680Spst	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
849214478Srpaulo	exit ;;
85017680Spst    *:GNU:*:*)
851127668Sbms	# the GNU system
85275115Sfenner	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
853214478Srpaulo	exit ;;
854127668Sbms    *:GNU/*:*:*)
855127668Sbms	# other systems with GNU libc and userland
856127668Sbms	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
857214478Srpaulo	exit ;;
85875115Sfenner    i*86:Minix:*:*)
85975115Sfenner	echo ${UNAME_MACHINE}-pc-minix
860214478Srpaulo	exit ;;
861214478Srpaulo    alpha:Linux:*:*)
862214478Srpaulo	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
863214478Srpaulo	  EV5)   UNAME_MACHINE=alphaev5 ;;
864214478Srpaulo	  EV56)  UNAME_MACHINE=alphaev56 ;;
865214478Srpaulo	  PCA56) UNAME_MACHINE=alphapca56 ;;
866214478Srpaulo	  PCA57) UNAME_MACHINE=alphapca56 ;;
867214478Srpaulo	  EV6)   UNAME_MACHINE=alphaev6 ;;
868214478Srpaulo	  EV67)  UNAME_MACHINE=alphaev67 ;;
869214478Srpaulo	  EV68*) UNAME_MACHINE=alphaev68 ;;
870214478Srpaulo        esac
871214478Srpaulo	objdump --private-headers /bin/sh | grep -q ld.so.1
872214478Srpaulo	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
873214478Srpaulo	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
874214478Srpaulo	exit ;;
87598524Sfenner    arm*:Linux:*:*)
876214478Srpaulo	eval $set_cc_for_build
877214478Srpaulo	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
878214478Srpaulo	    | grep -q __ARM_EABI__
879214478Srpaulo	then
880214478Srpaulo	    echo ${UNAME_MACHINE}-unknown-linux-gnu
881214478Srpaulo	else
882214478Srpaulo	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
883214478Srpaulo	fi
884214478Srpaulo	exit ;;
885214478Srpaulo    avr32*:Linux:*:*)
88698524Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
887214478Srpaulo	exit ;;
888127668Sbms    cris:Linux:*:*)
889127668Sbms	echo cris-axis-linux-gnu
890214478Srpaulo	exit ;;
891214478Srpaulo    crisv32:Linux:*:*)
892214478Srpaulo	echo crisv32-axis-linux-gnu
893214478Srpaulo	exit ;;
894214478Srpaulo    frv:Linux:*:*)
895214478Srpaulo    	echo frv-unknown-linux-gnu
896214478Srpaulo	exit ;;
897214478Srpaulo    i*86:Linux:*:*)
898214478Srpaulo	LIBC=gnu
899214478Srpaulo	eval $set_cc_for_build
900214478Srpaulo	sed 's/^	//' << EOF >$dummy.c
901214478Srpaulo	#ifdef __dietlibc__
902214478Srpaulo	LIBC=dietlibc
903214478Srpaulo	#endif
904214478SrpauloEOF
905214478Srpaulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
906214478Srpaulo	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
907214478Srpaulo	exit ;;
90898524Sfenner    ia64:Linux:*:*)
909127668Sbms	echo ${UNAME_MACHINE}-unknown-linux-gnu
910214478Srpaulo	exit ;;
911214478Srpaulo    m32r*:Linux:*:*)
912214478Srpaulo	echo ${UNAME_MACHINE}-unknown-linux-gnu
913214478Srpaulo	exit ;;
91498524Sfenner    m68*:Linux:*:*)
91598524Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
916214478Srpaulo	exit ;;
917214478Srpaulo    mips:Linux:*:* | mips64:Linux:*:*)
918127668Sbms	eval $set_cc_for_build
919127668Sbms	sed 's/^	//' << EOF >$dummy.c
920127668Sbms	#undef CPU
921214478Srpaulo	#undef ${UNAME_MACHINE}
922214478Srpaulo	#undef ${UNAME_MACHINE}el
923127668Sbms	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
924214478Srpaulo	CPU=${UNAME_MACHINE}el
925127668Sbms	#else
926127668Sbms	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
927214478Srpaulo	CPU=${UNAME_MACHINE}
928127668Sbms	#else
929127668Sbms	CPU=
930127668Sbms	#endif
931127668Sbms	#endif
93298524SfennerEOF
933214478Srpaulo	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
934214478Srpaulo	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
93598524Sfenner	;;
936214478Srpaulo    or32:Linux:*:*)
937214478Srpaulo	echo or32-unknown-linux-gnu
938214478Srpaulo	exit ;;
939214478Srpaulo    padre:Linux:*:*)
940214478Srpaulo	echo sparc-unknown-linux-gnu
941214478Srpaulo	exit ;;
942214478Srpaulo    parisc64:Linux:*:* | hppa64:Linux:*:*)
943214478Srpaulo	echo hppa64-unknown-linux-gnu
944214478Srpaulo	exit ;;
94598524Sfenner    parisc:Linux:*:* | hppa:Linux:*:*)
94698524Sfenner	# Look for CPU level
94798524Sfenner	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
94898524Sfenner	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
94998524Sfenner	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
95098524Sfenner	  *)    echo hppa-unknown-linux-gnu ;;
95198524Sfenner	esac
952214478Srpaulo	exit ;;
953214478Srpaulo    ppc64:Linux:*:*)
954214478Srpaulo	echo powerpc64-unknown-linux-gnu
955214478Srpaulo	exit ;;
956214478Srpaulo    ppc:Linux:*:*)
957214478Srpaulo	echo powerpc-unknown-linux-gnu
958214478Srpaulo	exit ;;
95998524Sfenner    s390:Linux:*:* | s390x:Linux:*:*)
96098524Sfenner	echo ${UNAME_MACHINE}-ibm-linux
961214478Srpaulo	exit ;;
962127668Sbms    sh64*:Linux:*:*)
963127668Sbms    	echo ${UNAME_MACHINE}-unknown-linux-gnu
964214478Srpaulo	exit ;;
96598524Sfenner    sh*:Linux:*:*)
96698524Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
967214478Srpaulo	exit ;;
96898524Sfenner    sparc:Linux:*:* | sparc64:Linux:*:*)
96998524Sfenner	echo ${UNAME_MACHINE}-unknown-linux-gnu
970214478Srpaulo	exit ;;
971214478Srpaulo    vax:Linux:*:*)
972214478Srpaulo	echo ${UNAME_MACHINE}-dec-linux-gnu
973214478Srpaulo	exit ;;
97498524Sfenner    x86_64:Linux:*:*)
97598524Sfenner	echo x86_64-unknown-linux-gnu
976214478Srpaulo	exit ;;
977214478Srpaulo    xtensa*:Linux:*:*)
978214478Srpaulo    	echo ${UNAME_MACHINE}-unknown-linux-gnu
979214478Srpaulo	exit ;;
98098524Sfenner    i*86:DYNIX/ptx:4*:*)
981127668Sbms	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
982127668Sbms	# earlier versions are messed up and put the nodename in both
983127668Sbms	# sysname and nodename.
98417680Spst	echo i386-sequent-sysv4
985214478Srpaulo	exit ;;
98698524Sfenner    i*86:UNIX_SV:4.2MP:2.*)
98775115Sfenner        # Unixware is an offshoot of SVR4, but it has its own version
98875115Sfenner        # number series starting with 2...
98975115Sfenner        # I am not positive that other SVR4 systems won't match this,
99075115Sfenner	# I just have to hope.  -- rms.
99175115Sfenner        # Use sysv4.2uw... so that sysv4* matches it.
99275115Sfenner	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
993214478Srpaulo	exit ;;
994127668Sbms    i*86:OS/2:*:*)
995127668Sbms	# If we were able to find `uname', then EMX Unix compatibility
996127668Sbms	# is probably installed.
997127668Sbms	echo ${UNAME_MACHINE}-pc-os2-emx
998214478Srpaulo	exit ;;
999127668Sbms    i*86:XTS-300:*:STOP)
1000127668Sbms	echo ${UNAME_MACHINE}-unknown-stop
1001214478Srpaulo	exit ;;
1002127668Sbms    i*86:atheos:*:*)
1003127668Sbms	echo ${UNAME_MACHINE}-unknown-atheos
1004214478Srpaulo	exit ;;
1005214478Srpaulo    i*86:syllable:*:*)
1006214478Srpaulo	echo ${UNAME_MACHINE}-pc-syllable
1007214478Srpaulo	exit ;;
1008214478Srpaulo    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1009127668Sbms	echo i386-unknown-lynxos${UNAME_RELEASE}
1010214478Srpaulo	exit ;;
1011127668Sbms    i*86:*DOS:*:*)
1012127668Sbms	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1013214478Srpaulo	exit ;;
101498524Sfenner    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
101575115Sfenner	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
101617680Spst	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
101775115Sfenner		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
101817680Spst	else
101975115Sfenner		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
102017680Spst	fi
1021214478Srpaulo	exit ;;
1022214478Srpaulo    i*86:*:5:[678]*)
1023214478Srpaulo    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1024127668Sbms	case `/bin/uname -X | grep "^Machine"` in
1025127668Sbms	    *486*)	     UNAME_MACHINE=i486 ;;
1026127668Sbms	    *Pentium)	     UNAME_MACHINE=i586 ;;
1027127668Sbms	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1028127668Sbms	esac
1029127668Sbms	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1030214478Srpaulo	exit ;;
103198524Sfenner    i*86:*:3.2:*)
103217680Spst	if test -f /usr/options/cb.name; then
103317680Spst		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
103426180Sfenner		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
103517680Spst	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1036127668Sbms		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1037127668Sbms		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1038127668Sbms		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
103917680Spst			&& UNAME_MACHINE=i586
1040127668Sbms		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
104175115Sfenner			&& UNAME_MACHINE=i686
1042127668Sbms		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
104375115Sfenner			&& UNAME_MACHINE=i686
104426180Sfenner		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
104517680Spst	else
104626180Sfenner		echo ${UNAME_MACHINE}-pc-sysv32
104717680Spst	fi
1048214478Srpaulo	exit ;;
104975115Sfenner    pc:*:*:*)
105075115Sfenner	# Left here for compatibility:
105175115Sfenner        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1052214478Srpaulo        # the processor, so we play safe by assuming i586.
1053214478Srpaulo	# Note: whatever this is, it MUST be the same as what config.sub
1054214478Srpaulo	# prints for the "djgpp" host, or else GDB configury will decide that
1055214478Srpaulo	# this is a cross-build.
1056214478Srpaulo	echo i586-pc-msdosdjgpp
1057214478Srpaulo        exit ;;
105817680Spst    Intel:Mach:3*:*)
105926180Sfenner	echo i386-pc-mach3
1060214478Srpaulo	exit ;;
106117680Spst    paragon:*:*:*)
106217680Spst	echo i860-intel-osf1
1063214478Srpaulo	exit ;;
106417680Spst    i860:*:4.*:*) # i860-SVR4
106517680Spst	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
106617680Spst	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
106717680Spst	else # Add other i860-SVR4 vendors below as they are discovered.
106817680Spst	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
106917680Spst	fi
1070214478Srpaulo	exit ;;
107117680Spst    mini*:CTIX:SYS*5:*)
107217680Spst	# "miniframe"
107317680Spst	echo m68010-convergent-sysv
1074214478Srpaulo	exit ;;
1075127668Sbms    mc68k:UNIX:SYSTEM5:3.51m)
1076127668Sbms	echo m68k-convergent-sysv
1077214478Srpaulo	exit ;;
1078127668Sbms    M680?0:D-NIX:5.3:*)
1079127668Sbms	echo m68k-diab-dnix
1080214478Srpaulo	exit ;;
1081214478Srpaulo    M68*:*:R3V[5678]*:*)
1082214478Srpaulo	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1083214478Srpaulo    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)
108426180Sfenner	OS_REL=''
108526180Sfenner	test -r /etc/.relid \
108626180Sfenner	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
108726180Sfenner	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1088214478Srpaulo	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
108926180Sfenner	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1090214478Srpaulo	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
109117680Spst    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
109226180Sfenner        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1093214478Srpaulo          && { echo i486-ncr-sysv4; exit; } ;;
1094214478Srpaulo    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1095214478Srpaulo	OS_REL='.3'
1096214478Srpaulo	test -r /etc/.relid \
1097214478Srpaulo	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1098214478Srpaulo	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1099214478Srpaulo	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1100214478Srpaulo	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1101214478Srpaulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1102214478Srpaulo	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1103214478Srpaulo	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
110498524Sfenner    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
110526180Sfenner	echo m68k-unknown-lynxos${UNAME_RELEASE}
1106214478Srpaulo	exit ;;
110717680Spst    mc68030:UNIX_System_V:4.*:*)
110817680Spst	echo m68k-atari-sysv4
1109214478Srpaulo	exit ;;
111026180Sfenner    TSUNAMI:LynxOS:2.*:*)
111126180Sfenner	echo sparc-unknown-lynxos${UNAME_RELEASE}
1112214478Srpaulo	exit ;;
111398524Sfenner    rs6000:LynxOS:2.*:*)
111426180Sfenner	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1115214478Srpaulo	exit ;;
1116214478Srpaulo    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
111798524Sfenner	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1118214478Srpaulo	exit ;;
111926180Sfenner    SM[BE]S:UNIX_SV:*:*)
112026180Sfenner	echo mips-dde-sysv${UNAME_RELEASE}
1121214478Srpaulo	exit ;;
112275115Sfenner    RM*:ReliantUNIX-*:*:*)
112375115Sfenner	echo mips-sni-sysv4
1124214478Srpaulo	exit ;;
112517680Spst    RM*:SINIX-*:*:*)
112617680Spst	echo mips-sni-sysv4
1127214478Srpaulo	exit ;;
112817680Spst    *:SINIX-*:*:*)
112917680Spst	if uname -p 2>/dev/null >/dev/null ; then
113017680Spst		UNAME_MACHINE=`(uname -p) 2>/dev/null`
113117680Spst		echo ${UNAME_MACHINE}-sni-sysv4
113217680Spst	else
113317680Spst		echo ns32k-sni-sysv
113417680Spst	fi
1135214478Srpaulo	exit ;;
1136127668Sbms    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1137127668Sbms                      # says <Richard.M.Bartel@ccMail.Census.GOV>
113875115Sfenner        echo i586-unisys-sysv4
1139214478Srpaulo        exit ;;
114026180Sfenner    *:UNIX_System_V:4*:FTX*)
114126180Sfenner	# From Gerald Hewes <hewes@openmarket.com>.
114226180Sfenner	# How about differentiating between stratus architectures? -djm
114326180Sfenner	echo hppa1.1-stratus-sysv4
1144214478Srpaulo	exit ;;
114526180Sfenner    *:*:*:FTX*)
114626180Sfenner	# From seanf@swdc.stratus.com.
114726180Sfenner	echo i860-stratus-sysv4
1148214478Srpaulo	exit ;;
1149214478Srpaulo    i*86:VOS:*:*)
1150214478Srpaulo	# From Paul.Green@stratus.com.
1151214478Srpaulo	echo ${UNAME_MACHINE}-stratus-vos
1152214478Srpaulo	exit ;;
1153127668Sbms    *:VOS:*:*)
1154127668Sbms	# From Paul.Green@stratus.com.
1155127668Sbms	echo hppa1.1-stratus-vos
1156214478Srpaulo	exit ;;
115717680Spst    mc68*:A/UX:*:*)
115817680Spst	echo m68k-apple-aux${UNAME_RELEASE}
1159214478Srpaulo	exit ;;
116075115Sfenner    news*:NEWS-OS:6*:*)
116175115Sfenner	echo mips-sony-newsos6
1162214478Srpaulo	exit ;;
116375115Sfenner    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
116417680Spst	if [ -d /usr/nec ]; then
116517680Spst	        echo mips-nec-sysv${UNAME_RELEASE}
116617680Spst	else
116717680Spst	        echo mips-unknown-sysv${UNAME_RELEASE}
116817680Spst	fi
1169214478Srpaulo        exit ;;
117075115Sfenner    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
117175115Sfenner	echo powerpc-be-beos
1172214478Srpaulo	exit ;;
117375115Sfenner    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
117475115Sfenner	echo powerpc-apple-beos
1175214478Srpaulo	exit ;;
117675115Sfenner    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
117775115Sfenner	echo i586-pc-beos
1178214478Srpaulo	exit ;;
1179214478Srpaulo    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1180214478Srpaulo	echo i586-pc-haiku
1181214478Srpaulo	exit ;;
118275115Sfenner    SX-4:SUPER-UX:*:*)
118375115Sfenner	echo sx4-nec-superux${UNAME_RELEASE}
1184214478Srpaulo	exit ;;
118575115Sfenner    SX-5:SUPER-UX:*:*)
118675115Sfenner	echo sx5-nec-superux${UNAME_RELEASE}
1187214478Srpaulo	exit ;;
1188127668Sbms    SX-6:SUPER-UX:*:*)
1189127668Sbms	echo sx6-nec-superux${UNAME_RELEASE}
1190214478Srpaulo	exit ;;
1191214478Srpaulo    SX-7:SUPER-UX:*:*)
1192214478Srpaulo	echo sx7-nec-superux${UNAME_RELEASE}
1193214478Srpaulo	exit ;;
1194214478Srpaulo    SX-8:SUPER-UX:*:*)
1195214478Srpaulo	echo sx8-nec-superux${UNAME_RELEASE}
1196214478Srpaulo	exit ;;
1197214478Srpaulo    SX-8R:SUPER-UX:*:*)
1198214478Srpaulo	echo sx8r-nec-superux${UNAME_RELEASE}
1199214478Srpaulo	exit ;;
120075115Sfenner    Power*:Rhapsody:*:*)
120175115Sfenner	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1202214478Srpaulo	exit ;;
120375115Sfenner    *:Rhapsody:*:*)
120475115Sfenner	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1205214478Srpaulo	exit ;;
120675115Sfenner    *:Darwin:*:*)
1207214478Srpaulo	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1208214478Srpaulo	case $UNAME_PROCESSOR in
1209214478Srpaulo	    i386)
1210214478Srpaulo		eval $set_cc_for_build
1211214478Srpaulo		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1212214478Srpaulo		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1213214478Srpaulo		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1214214478Srpaulo		      grep IS_64BIT_ARCH >/dev/null
1215214478Srpaulo		  then
1216214478Srpaulo		      UNAME_PROCESSOR="x86_64"
1217214478Srpaulo		  fi
1218214478Srpaulo		fi ;;
1219214478Srpaulo	    unknown) UNAME_PROCESSOR=powerpc ;;
1220127668Sbms	esac
1221127668Sbms	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1222214478Srpaulo	exit ;;
122375115Sfenner    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1224127668Sbms	UNAME_PROCESSOR=`uname -p`
1225127668Sbms	if test "$UNAME_PROCESSOR" = "x86"; then
1226127668Sbms		UNAME_PROCESSOR=i386
122775115Sfenner		UNAME_MACHINE=pc
122875115Sfenner	fi
1229127668Sbms	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1230214478Srpaulo	exit ;;
123175115Sfenner    *:QNX:*:4*)
123275115Sfenner	echo i386-pc-qnx
1233214478Srpaulo	exit ;;
1234214478Srpaulo    NSE-?:NONSTOP_KERNEL:*:*)
1235214478Srpaulo	echo nse-tandem-nsk${UNAME_RELEASE}
1236214478Srpaulo	exit ;;
1237214478Srpaulo    NSR-?:NONSTOP_KERNEL:*:*)
123875115Sfenner	echo nsr-tandem-nsk${UNAME_RELEASE}
1239214478Srpaulo	exit ;;
124075115Sfenner    *:NonStop-UX:*:*)
124175115Sfenner	echo mips-compaq-nonstopux
1242214478Srpaulo	exit ;;
124375115Sfenner    BS2000:POSIX*:*:*)
124475115Sfenner	echo bs2000-siemens-sysv
1245214478Srpaulo	exit ;;
124675115Sfenner    DS/*:UNIX_System_V:*:*)
124775115Sfenner	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1248214478Srpaulo	exit ;;
124975115Sfenner    *:Plan9:*:*)
125075115Sfenner	# "uname -m" is not consistent, so use $cputype instead. 386
125175115Sfenner	# is converted to i386 for consistency with other x86
125275115Sfenner	# operating systems.
125375115Sfenner	if test "$cputype" = "386"; then
125475115Sfenner	    UNAME_MACHINE=i386
125575115Sfenner	else
125675115Sfenner	    UNAME_MACHINE="$cputype"
125775115Sfenner	fi
125875115Sfenner	echo ${UNAME_MACHINE}-unknown-plan9
1259214478Srpaulo	exit ;;
126098524Sfenner    *:TOPS-10:*:*)
126198524Sfenner	echo pdp10-unknown-tops10
1262214478Srpaulo	exit ;;
126398524Sfenner    *:TENEX:*:*)
126498524Sfenner	echo pdp10-unknown-tenex
1265214478Srpaulo	exit ;;
126698524Sfenner    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
126798524Sfenner	echo pdp10-dec-tops20
1268214478Srpaulo	exit ;;
126998524Sfenner    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
127098524Sfenner	echo pdp10-xkl-tops20
1271214478Srpaulo	exit ;;
127298524Sfenner    *:TOPS-20:*:*)
127398524Sfenner	echo pdp10-unknown-tops20
1274214478Srpaulo	exit ;;
127598524Sfenner    *:ITS:*:*)
127698524Sfenner	echo pdp10-unknown-its
1277214478Srpaulo	exit ;;
1278127668Sbms    SEI:*:*:SEIUX)
1279127668Sbms        echo mips-sei-seiux${UNAME_RELEASE}
1280214478Srpaulo	exit ;;
1281214478Srpaulo    *:DragonFly:*:*)
1282214478Srpaulo	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1283214478Srpaulo	exit ;;
1284214478Srpaulo    *:*VMS:*:*)
1285214478Srpaulo    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1286214478Srpaulo	case "${UNAME_MACHINE}" in
1287214478Srpaulo	    A*) echo alpha-dec-vms ; exit ;;
1288214478Srpaulo	    I*) echo ia64-dec-vms ; exit ;;
1289214478Srpaulo	    V*) echo vax-dec-vms ; exit ;;
1290214478Srpaulo	esac ;;
1291214478Srpaulo    *:XENIX:*:SysV)
1292214478Srpaulo	echo i386-pc-xenix
1293214478Srpaulo	exit ;;
1294214478Srpaulo    i*86:skyos:*:*)
1295214478Srpaulo	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1296214478Srpaulo	exit ;;
1297214478Srpaulo    i*86:rdos:*:*)
1298214478Srpaulo	echo ${UNAME_MACHINE}-pc-rdos
1299214478Srpaulo	exit ;;
1300214478Srpaulo    i*86:AROS:*:*)
1301214478Srpaulo	echo ${UNAME_MACHINE}-pc-aros
1302214478Srpaulo	exit ;;
130317680Spstesac
130417680Spst
130517680Spst#echo '(No uname command or uname output not recognized.)' 1>&2
130617680Spst#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
130717680Spst
1308127668Sbmseval $set_cc_for_build
130975115Sfennercat >$dummy.c <<EOF
131017680Spst#ifdef _SEQUENT_
131117680Spst# include <sys/types.h>
131217680Spst# include <sys/utsname.h>
131317680Spst#endif
131417680Spstmain ()
131517680Spst{
131617680Spst#if defined (sony)
131717680Spst#if defined (MIPSEB)
131817680Spst  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
131917680Spst     I don't know....  */
132017680Spst  printf ("mips-sony-bsd\n"); exit (0);
132117680Spst#else
132217680Spst#include <sys/param.h>
132317680Spst  printf ("m68k-sony-newsos%s\n",
132417680Spst#ifdef NEWSOS4
132517680Spst          "4"
132617680Spst#else
132717680Spst	  ""
132817680Spst#endif
132917680Spst         ); exit (0);
133017680Spst#endif
133117680Spst#endif
133217680Spst
133317680Spst#if defined (__arm) && defined (__acorn) && defined (__unix)
1334214478Srpaulo  printf ("arm-acorn-riscix\n"); exit (0);
133517680Spst#endif
133617680Spst
133717680Spst#if defined (hp300) && !defined (hpux)
133817680Spst  printf ("m68k-hp-bsd\n"); exit (0);
133917680Spst#endif
134017680Spst
134117680Spst#if defined (NeXT)
134217680Spst#if !defined (__ARCHITECTURE__)
134317680Spst#define __ARCHITECTURE__ "m68k"
134417680Spst#endif
134517680Spst  int version;
134617680Spst  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
134775115Sfenner  if (version < 4)
134875115Sfenner    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
134975115Sfenner  else
135075115Sfenner    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
135117680Spst  exit (0);
135217680Spst#endif
135317680Spst
135417680Spst#if defined (MULTIMAX) || defined (n16)
135517680Spst#if defined (UMAXV)
135617680Spst  printf ("ns32k-encore-sysv\n"); exit (0);
135717680Spst#else
135817680Spst#if defined (CMU)
135917680Spst  printf ("ns32k-encore-mach\n"); exit (0);
136017680Spst#else
136117680Spst  printf ("ns32k-encore-bsd\n"); exit (0);
136217680Spst#endif
136317680Spst#endif
136417680Spst#endif
136517680Spst
136617680Spst#if defined (__386BSD__)
136726180Sfenner  printf ("i386-pc-bsd\n"); exit (0);
136817680Spst#endif
136917680Spst
137017680Spst#if defined (sequent)
137117680Spst#if defined (i386)
137217680Spst  printf ("i386-sequent-dynix\n"); exit (0);
137317680Spst#endif
137417680Spst#if defined (ns32000)
137517680Spst  printf ("ns32k-sequent-dynix\n"); exit (0);
137617680Spst#endif
137717680Spst#endif
137817680Spst
137917680Spst#if defined (_SEQUENT_)
138017680Spst    struct utsname un;
138117680Spst
138217680Spst    uname(&un);
138317680Spst
138417680Spst    if (strncmp(un.version, "V2", 2) == 0) {
138517680Spst	printf ("i386-sequent-ptx2\n"); exit (0);
138617680Spst    }
138717680Spst    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
138817680Spst	printf ("i386-sequent-ptx1\n"); exit (0);
138917680Spst    }
139017680Spst    printf ("i386-sequent-ptx\n"); exit (0);
139117680Spst
139217680Spst#endif
139317680Spst
139417680Spst#if defined (vax)
139598524Sfenner# if !defined (ultrix)
139698524Sfenner#  include <sys/param.h>
139798524Sfenner#  if defined (BSD)
139898524Sfenner#   if BSD == 43
139998524Sfenner      printf ("vax-dec-bsd4.3\n"); exit (0);
140098524Sfenner#   else
140198524Sfenner#    if BSD == 199006
140298524Sfenner      printf ("vax-dec-bsd4.3reno\n"); exit (0);
140398524Sfenner#    else
140498524Sfenner      printf ("vax-dec-bsd\n"); exit (0);
140598524Sfenner#    endif
140698524Sfenner#   endif
140798524Sfenner#  else
140898524Sfenner    printf ("vax-dec-bsd\n"); exit (0);
140998524Sfenner#  endif
141098524Sfenner# else
141198524Sfenner    printf ("vax-dec-ultrix\n"); exit (0);
141298524Sfenner# endif
141317680Spst#endif
141417680Spst
141517680Spst#if defined (alliant) && defined (i860)
141617680Spst  printf ("i860-alliant-bsd\n"); exit (0);
141717680Spst#endif
141817680Spst
141917680Spst  exit (1);
142017680Spst}
142117680SpstEOF
142217680Spst
1423214478Srpaulo$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1424214478Srpaulo	{ echo "$SYSTEM_NAME"; exit; }
142517680Spst
142617680Spst# Apollos put the system type in the environment.
142717680Spst
1428214478Srpaulotest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
142917680Spst
143017680Spst# Convex versions that predate uname can use getsysinfo(1)
143117680Spst
143217680Spstif [ -x /usr/convex/getsysinfo ]
143317680Spstthen
143417680Spst    case `getsysinfo -f cpu_type` in
143517680Spst    c1*)
143617680Spst	echo c1-convex-bsd
1437214478Srpaulo	exit ;;
143817680Spst    c2*)
143917680Spst	if getsysinfo -f scalar_acc
144017680Spst	then echo c32-convex-bsd
144117680Spst	else echo c2-convex-bsd
144217680Spst	fi
1443214478Srpaulo	exit ;;
144417680Spst    c34*)
144517680Spst	echo c34-convex-bsd
1446214478Srpaulo	exit ;;
144717680Spst    c38*)
144817680Spst	echo c38-convex-bsd
1449214478Srpaulo	exit ;;
145017680Spst    c4*)
145117680Spst	echo c4-convex-bsd
1452214478Srpaulo	exit ;;
145317680Spst    esac
145417680Spstfi
145517680Spst
145675115Sfennercat >&2 <<EOF
145775115Sfenner$0: unable to guess system type
145817680Spst
145998524SfennerThis script, last modified $timestamp, has failed to recognize
146098524Sfennerthe operating system you are using. It is advised that you
146198524Sfennerdownload the most up to date version of the config scripts from
146275115Sfenner
1463214478Srpaulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1464214478Srpauloand
1465214478Srpaulo  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
146675115Sfenner
146775115SfennerIf the version you run ($0) is already up to date, please
146875115Sfennersend the following data and any information you think might be
146975115Sfennerpertinent to <config-patches@gnu.org> in order to provide the needed
147075115Sfennerinformation to handle your system.
147175115Sfenner
147298524Sfennerconfig.guess timestamp = $timestamp
147375115Sfenner
147475115Sfenneruname -m = `(uname -m) 2>/dev/null || echo unknown`
147575115Sfenneruname -r = `(uname -r) 2>/dev/null || echo unknown`
147675115Sfenneruname -s = `(uname -s) 2>/dev/null || echo unknown`
147775115Sfenneruname -v = `(uname -v) 2>/dev/null || echo unknown`
147875115Sfenner
147975115Sfenner/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
148075115Sfenner/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
148175115Sfenner
148275115Sfennerhostinfo               = `(hostinfo) 2>/dev/null`
148375115Sfenner/bin/universe          = `(/bin/universe) 2>/dev/null`
148475115Sfenner/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
148575115Sfenner/bin/arch              = `(/bin/arch) 2>/dev/null`
148675115Sfenner/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
148775115Sfenner/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
148875115Sfenner
148975115SfennerUNAME_MACHINE = ${UNAME_MACHINE}
149075115SfennerUNAME_RELEASE = ${UNAME_RELEASE}
149175115SfennerUNAME_SYSTEM  = ${UNAME_SYSTEM}
149275115SfennerUNAME_VERSION = ${UNAME_VERSION}
149375115SfennerEOF
149475115Sfenner
149517680Spstexit 1
149675115Sfenner
149775115Sfenner# Local variables:
149875115Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
149975115Sfenner# time-stamp-start: "timestamp='"
150075115Sfenner# time-stamp-format: "%:y-%02m-%02d"
150175115Sfenner# time-stamp-end: "'"
150275115Sfenner# End:
1503