155682Smarkm#! /bin/sh
255682Smarkm# Attempt to guess a canonical system name.
3102644Snectar#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4178825Sdfr#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5178825Sdfr#   Inc.
672445Sassar
7178825Sdfrtimestamp='2006-07-02'
872445Sassar
955682Smarkm# This file is free software; you can redistribute it and/or modify it
1055682Smarkm# under the terms of the GNU General Public License as published by
1155682Smarkm# the Free Software Foundation; either version 2 of the License, or
1255682Smarkm# (at your option) any later version.
1355682Smarkm#
1455682Smarkm# This program is distributed in the hope that it will be useful, but
1555682Smarkm# WITHOUT ANY WARRANTY; without even the implied warranty of
1655682Smarkm# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1755682Smarkm# General Public License for more details.
1855682Smarkm#
1955682Smarkm# You should have received a copy of the GNU General Public License
2055682Smarkm# along with this program; if not, write to the Free Software
21178825Sdfr# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22178825Sdfr# 02110-1301, USA.
2355682Smarkm#
2455682Smarkm# As a special exception to the GNU General Public License, if you
2555682Smarkm# distribute this file as part of a program that contains a
2655682Smarkm# configuration script generated by Autoconf, you may include it under
2755682Smarkm# the same distribution terms that you use for the rest of that program.
2855682Smarkm
29178825Sdfr
30102644Snectar# Originally written by Per Bothner <per@bothner.com>.
31102644Snectar# Please send patches to <config-patches@gnu.org>.  Submit a context
32102644Snectar# diff and a properly formatted ChangeLog entry.
3355682Smarkm#
3455682Smarkm# This script attempts to guess a canonical system name similar to
3555682Smarkm# config.sub.  If it succeeds, it prints the system name on stdout, and
3655682Smarkm# exits with 0.  Otherwise, it exits with 1.
3755682Smarkm#
3855682Smarkm# The plan is that this can be called by configure scripts if you
3990926Snectar# don't specify an explicit build system type.
4055682Smarkm
4172445Sassarme=`echo "$0" | sed -e 's,.*/,,'`
4272445Sassar
4372445Sassarusage="\
4472445SassarUsage: $0 [OPTION]
4572445Sassar
4690926SnectarOutput the configuration name of the system \`$me' is run on.
4772445Sassar
4872445SassarOperation modes:
4990926Snectar  -h, --help         print this help, then exit
5090926Snectar  -t, --time-stamp   print date of last modification, then exit
5190926Snectar  -v, --version      print version number, then exit
5272445Sassar
5390926SnectarReport bugs and patches to <config-patches@gnu.org>."
5490926Snectar
5590926Snectarversion="\
5690926SnectarGNU config.guess ($timestamp)
5790926Snectar
5890926SnectarOriginally written by Per Bothner.
59178825SdfrCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
6090926SnectarFree Software Foundation, Inc.
6190926Snectar
6290926SnectarThis is free software; see the source for copying conditions.  There is NO
6390926Snectarwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6490926Snectar
6572445Sassarhelp="
6672445SassarTry \`$me --help' for more information."
6772445Sassar
6872445Sassar# Parse command line
6972445Sassarwhile test $# -gt 0 ; do
7090926Snectar  case $1 in
7190926Snectar    --time-stamp | --time* | -t )
72178825Sdfr       echo "$timestamp" ; exit ;;
7390926Snectar    --version | -v )
74178825Sdfr       echo "$version" ; exit ;;
7572445Sassar    --help | --h* | -h )
76178825Sdfr       echo "$usage"; exit ;;
7772445Sassar    -- )     # Stop option processing
7872445Sassar       shift; break ;;
7972445Sassar    - )	# Use stdin as input.
8072445Sassar       break ;;
8172445Sassar    -* )
8290926Snectar       echo "$me: invalid option $1$help" >&2
8372445Sassar       exit 1 ;;
8472445Sassar    * )
8572445Sassar       break ;;
8672445Sassar  esac
8772445Sassardone
8872445Sassar
8972445Sassarif test $# != 0; then
9072445Sassar  echo "$me: too many arguments$help" >&2
9172445Sassar  exit 1
9272445Sassarfi
9372445Sassar
94127808Snectartrap 'exit 1' 1 2 15
9572445Sassar
96127808Snectar# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97127808Snectar# compiler to aid in system detection is discouraged as it requires
98127808Snectar# temporary files to be created and, as you can see below, it is a
99127808Snectar# headache to deal with in a portable fashion.
10072445Sassar
10190926Snectar# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
10290926Snectar# use `HOST_CC' if defined, but it is deprecated.
10390926Snectar
104127808Snectar# Portable tmp directory creation inspired by the Autoconf team.
105127808Snectar
106127808Snectarset_cc_for_build='
107127808Snectartrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108127808Snectartrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109127808Snectar: ${TMPDIR=/tmp} ;
110178825Sdfr { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111127808Snectar { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112127808Snectar { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113127808Snectar { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114127808Snectardummy=$tmp/dummy ;
115127808Snectartmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116127808Snectarcase $CC_FOR_BUILD,$HOST_CC,$CC in
117127808Snectar ,,)    echo "int x;" > $dummy.c ;
118102644Snectar	for c in cc gcc c89 c99 ; do
119127808Snectar	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
12090926Snectar	     CC_FOR_BUILD="$c"; break ;
12190926Snectar	  fi ;
12290926Snectar	done ;
12390926Snectar	if test x"$CC_FOR_BUILD" = x ; then
12490926Snectar	  CC_FOR_BUILD=no_compiler_found ;
12590926Snectar	fi
12690926Snectar	;;
12790926Snectar ,,*)   CC_FOR_BUILD=$CC ;;
12890926Snectar ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129178825Sdfresac ; set_cc_for_build= ;'
13090926Snectar
13155682Smarkm# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
13290926Snectar# (ghazi@noc.rutgers.edu 1994-08-24)
13355682Smarkmif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13455682Smarkm	PATH=$PATH:/.attbin ; export PATH
13555682Smarkmfi
13655682Smarkm
13755682SmarkmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13855682SmarkmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139102644SnectarUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
14055682SmarkmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
14155682Smarkm
14255682Smarkm# Note: order is significant - the case branches are not exclusive.
14355682Smarkm
14455682Smarkmcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14572445Sassar    *:NetBSD:*:*)
146102644Snectar	# NetBSD (nbsd) targets should (where applicable) match one or
14772445Sassar	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
14872445Sassar	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
14972445Sassar	# switched to ELF, *-*-netbsd* would select the old
15072445Sassar	# object file format.  This provides both forward
15172445Sassar	# compatibility and a consistent mechanism for selecting the
15272445Sassar	# object file format.
153102644Snectar	#
154102644Snectar	# Note: NetBSD doesn't particularly care about the vendor
155102644Snectar	# portion of the name.  We always set it to "unknown".
156102644Snectar	sysctl="sysctl -n hw.machine_arch"
157102644Snectar	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158102644Snectar	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159102644Snectar	case "${UNAME_MACHINE_ARCH}" in
160127808Snectar	    armeb) machine=armeb-unknown ;;
161102644Snectar	    arm*) machine=arm-unknown ;;
162102644Snectar	    sh3el) machine=shl-unknown ;;
163102644Snectar	    sh3eb) machine=sh-unknown ;;
164102644Snectar	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16572445Sassar	esac
16690926Snectar	# The Operating System including object format, if it has switched
16790926Snectar	# to ELF recently, or will in the future.
168102644Snectar	case "${UNAME_MACHINE_ARCH}" in
169102644Snectar	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
17090926Snectar		eval $set_cc_for_build
17190926Snectar		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17290926Snectar			| grep __ELF__ >/dev/null
17390926Snectar		then
17490926Snectar		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17590926Snectar		    # Return netbsd for either.  FIX?
17690926Snectar		    os=netbsd
17790926Snectar		else
17890926Snectar		    os=netbsdelf
17990926Snectar		fi
18090926Snectar		;;
18190926Snectar	    *)
18290926Snectar	        os=netbsd
18390926Snectar		;;
18490926Snectar	esac
18572445Sassar	# The OS release
186127808Snectar	# Debian GNU/NetBSD machines have a different userland, and
187127808Snectar	# thus, need a distinct triplet. However, they do not need
188127808Snectar	# kernel version information, so it can be replaced with a
189127808Snectar	# suitable tag, in the style of linux-gnu.
190127808Snectar	case "${UNAME_VERSION}" in
191127808Snectar	    Debian*)
192127808Snectar		release='-gnu'
193127808Snectar		;;
194127808Snectar	    *)
195127808Snectar		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196127808Snectar		;;
197127808Snectar	esac
19872445Sassar	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
19972445Sassar	# contains redundant information, the shorter form:
20072445Sassar	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20172445Sassar	echo "${machine}-${os}${release}"
202178825Sdfr	exit ;;
203102644Snectar    *:OpenBSD:*:*)
204178825Sdfr	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205178825Sdfr	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206178825Sdfr	exit ;;
207142403Snectar    *:ekkoBSD:*:*)
208142403Snectar	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209178825Sdfr	exit ;;
210178825Sdfr    *:SolidBSD:*:*)
211178825Sdfr	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212178825Sdfr	exit ;;
213142403Snectar    macppc:MirBSD:*:*)
214178825Sdfr	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215178825Sdfr	exit ;;
216142403Snectar    *:MirBSD:*:*)
217142403Snectar	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218178825Sdfr	exit ;;
21955682Smarkm    alpha:OSF1:*:*)
220142403Snectar	case $UNAME_RELEASE in
221142403Snectar	*4.0)
22255682Smarkm		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223142403Snectar		;;
224142403Snectar	*5.*)
225142403Snectar	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226142403Snectar		;;
227142403Snectar	esac
228127808Snectar	# According to Compaq, /usr/sbin/psrinfo has been available on
229127808Snectar	# OSF/1 and Tru64 systems produced since 1995.  I hope that
230127808Snectar	# covers most systems running today.  This code pipes the CPU
231127808Snectar	# types through head -n 1, so we only detect the type of CPU 0.
232127808Snectar	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233127808Snectar	case "$ALPHA_CPU_TYPE" in
234127808Snectar	    "EV4 (21064)")
235127808Snectar		UNAME_MACHINE="alpha" ;;
236127808Snectar	    "EV4.5 (21064)")
237127808Snectar		UNAME_MACHINE="alpha" ;;
238127808Snectar	    "LCA4 (21066/21068)")
239127808Snectar		UNAME_MACHINE="alpha" ;;
240127808Snectar	    "EV5 (21164)")
241127808Snectar		UNAME_MACHINE="alphaev5" ;;
242127808Snectar	    "EV5.6 (21164A)")
243127808Snectar		UNAME_MACHINE="alphaev56" ;;
244127808Snectar	    "EV5.6 (21164PC)")
245127808Snectar		UNAME_MACHINE="alphapca56" ;;
246127808Snectar	    "EV5.7 (21164PC)")
247127808Snectar		UNAME_MACHINE="alphapca57" ;;
248127808Snectar	    "EV6 (21264)")
249127808Snectar		UNAME_MACHINE="alphaev6" ;;
250127808Snectar	    "EV6.7 (21264A)")
251127808Snectar		UNAME_MACHINE="alphaev67" ;;
252127808Snectar	    "EV6.8CB (21264C)")
253127808Snectar		UNAME_MACHINE="alphaev68" ;;
254127808Snectar	    "EV6.8AL (21264B)")
255127808Snectar		UNAME_MACHINE="alphaev68" ;;
256127808Snectar	    "EV6.8CX (21264D)")
257127808Snectar		UNAME_MACHINE="alphaev68" ;;
258127808Snectar	    "EV6.9A (21264/EV69A)")
259127808Snectar		UNAME_MACHINE="alphaev69" ;;
260127808Snectar	    "EV7 (21364)")
261127808Snectar		UNAME_MACHINE="alphaev7" ;;
262127808Snectar	    "EV7.9 (21364A)")
263127808Snectar		UNAME_MACHINE="alphaev79" ;;
264127808Snectar	esac
265142403Snectar	# A Pn.n version is a patched version.
26655682Smarkm	# A Vn.n version is a released version.
26755682Smarkm	# A Tn.n version is a released field test version.
26855682Smarkm	# A Xn.n version is an unreleased experimental baselevel.
26955682Smarkm	# 1.2 uses "1.2" for uname -r.
270142403Snectar	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271178825Sdfr	exit ;;
27272445Sassar    Alpha\ *:Windows_NT*:*)
27372445Sassar	# How do we know it's Interix rather than the generic POSIX subsystem?
27472445Sassar	# Should we change UNAME_MACHINE based on the output of uname instead
27572445Sassar	# of the specific Alpha model?
27672445Sassar	echo alpha-pc-interix
277178825Sdfr	exit ;;
27855682Smarkm    21064:Windows_NT:50:3)
27955682Smarkm	echo alpha-dec-winnt3.5
280178825Sdfr	exit ;;
28155682Smarkm    Amiga*:UNIX_System_V:4.0:*)
28272445Sassar	echo m68k-unknown-sysv4
283178825Sdfr	exit ;;
28455682Smarkm    *:[Aa]miga[Oo][Ss]:*:*)
28555682Smarkm	echo ${UNAME_MACHINE}-unknown-amigaos
286178825Sdfr	exit ;;
287102644Snectar    *:[Mm]orph[Oo][Ss]:*:*)
288102644Snectar	echo ${UNAME_MACHINE}-unknown-morphos
289178825Sdfr	exit ;;
29072445Sassar    *:OS/390:*:*)
29172445Sassar	echo i370-ibm-openedition
292178825Sdfr	exit ;;
293178825Sdfr    *:z/VM:*:*)
294178825Sdfr	echo s390-ibm-zvmoe
295178825Sdfr	exit ;;
296142403Snectar    *:OS400:*:*)
297142403Snectar        echo powerpc-ibm-os400
298178825Sdfr	exit ;;
29955682Smarkm    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
30055682Smarkm	echo arm-acorn-riscix${UNAME_RELEASE}
301178825Sdfr	exit ;;
302178825Sdfr    arm:riscos:*:*|arm:RISCOS:*:*)
303178825Sdfr	echo arm-unknown-riscos
304178825Sdfr	exit ;;
30590926Snectar    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
30655682Smarkm	echo hppa1.1-hitachi-hiuxmpp
307178825Sdfr	exit ;;
30872445Sassar    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
30955682Smarkm	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
31055682Smarkm	if test "`(/bin/universe) 2>/dev/null`" = att ; then
31155682Smarkm		echo pyramid-pyramid-sysv3
31255682Smarkm	else
31355682Smarkm		echo pyramid-pyramid-bsd
31455682Smarkm	fi
315178825Sdfr	exit ;;
31672445Sassar    NILE*:*:*:dcosx)
31755682Smarkm	echo pyramid-pyramid-svr4
318178825Sdfr	exit ;;
319127808Snectar    DRS?6000:unix:4.0:6*)
320127808Snectar	echo sparc-icl-nx6
321178825Sdfr	exit ;;
322178825Sdfr    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
323127808Snectar	case `/usr/bin/uname -p` in
324178825Sdfr	    sparc) echo sparc-icl-nx7; exit ;;
325127808Snectar	esac ;;
32655682Smarkm    sun4H:SunOS:5.*:*)
32755682Smarkm	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328178825Sdfr	exit ;;
32955682Smarkm    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
33055682Smarkm	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331178825Sdfr	exit ;;
33255682Smarkm    i86pc:SunOS:5.*:*)
33355682Smarkm	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334178825Sdfr	exit ;;
33555682Smarkm    sun4*:SunOS:6*:*)
33655682Smarkm	# According to config.sub, this is the proper way to canonicalize
33755682Smarkm	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
33855682Smarkm	# it's likely to be more like Solaris than SunOS4.
33955682Smarkm	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340178825Sdfr	exit ;;
34155682Smarkm    sun4*:SunOS:*:*)
34255682Smarkm	case "`/usr/bin/arch -k`" in
34355682Smarkm	    Series*|S4*)
34455682Smarkm		UNAME_RELEASE=`uname -v`
34555682Smarkm		;;
34655682Smarkm	esac
34755682Smarkm	# Japanese Language versions have a version number like `4.1.3-JL'.
34855682Smarkm	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
349178825Sdfr	exit ;;
35055682Smarkm    sun3*:SunOS:*:*)
35155682Smarkm	echo m68k-sun-sunos${UNAME_RELEASE}
352178825Sdfr	exit ;;
35355682Smarkm    sun*:*:4.2BSD:*)
354102644Snectar	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
35555682Smarkm	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
35655682Smarkm	case "`/bin/arch`" in
35755682Smarkm	    sun3)
35855682Smarkm		echo m68k-sun-sunos${UNAME_RELEASE}
35955682Smarkm		;;
36055682Smarkm	    sun4)
36155682Smarkm		echo sparc-sun-sunos${UNAME_RELEASE}
36255682Smarkm		;;
36355682Smarkm	esac
364178825Sdfr	exit ;;
36555682Smarkm    aushp:SunOS:*:*)
36655682Smarkm	echo sparc-auspex-sunos${UNAME_RELEASE}
367178825Sdfr	exit ;;
36872445Sassar    # The situation for MiNT is a little confusing.  The machine name
36972445Sassar    # can be virtually everything (everything which is not
370102644Snectar    # "atarist" or "atariste" at least should have a processor
37172445Sassar    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
37272445Sassar    # to the lowercase version "mint" (or "freemint").  Finally
37372445Sassar    # the system name "TOS" denotes a system which is actually not
37472445Sassar    # MiNT.  But MiNT is downward compatible to TOS, so this should
37572445Sassar    # be no problem.
37672445Sassar    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
37772445Sassar        echo m68k-atari-mint${UNAME_RELEASE}
378178825Sdfr	exit ;;
37972445Sassar    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
38072445Sassar	echo m68k-atari-mint${UNAME_RELEASE}
381178825Sdfr        exit ;;
38272445Sassar    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
38372445Sassar        echo m68k-atari-mint${UNAME_RELEASE}
384178825Sdfr	exit ;;
38572445Sassar    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
38672445Sassar        echo m68k-milan-mint${UNAME_RELEASE}
387178825Sdfr        exit ;;
38872445Sassar    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
38972445Sassar        echo m68k-hades-mint${UNAME_RELEASE}
390178825Sdfr        exit ;;
39172445Sassar    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
39272445Sassar        echo m68k-unknown-mint${UNAME_RELEASE}
393178825Sdfr        exit ;;
394142403Snectar    m68k:machten:*:*)
395142403Snectar	echo m68k-apple-machten${UNAME_RELEASE}
396178825Sdfr	exit ;;
39755682Smarkm    powerpc:machten:*:*)
39855682Smarkm	echo powerpc-apple-machten${UNAME_RELEASE}
399178825Sdfr	exit ;;
40055682Smarkm    RISC*:Mach:*:*)
40155682Smarkm	echo mips-dec-mach_bsd4.3
402178825Sdfr	exit ;;
40355682Smarkm    RISC*:ULTRIX:*:*)
40455682Smarkm	echo mips-dec-ultrix${UNAME_RELEASE}
405178825Sdfr	exit ;;
40655682Smarkm    VAX*:ULTRIX*:*:*)
40755682Smarkm	echo vax-dec-ultrix${UNAME_RELEASE}
408178825Sdfr	exit ;;
40972445Sassar    2020:CLIX:*:* | 2430:CLIX:*:*)
41055682Smarkm	echo clipper-intergraph-clix${UNAME_RELEASE}
411178825Sdfr	exit ;;
41255682Smarkm    mips:*:*:UMIPS | mips:*:*:RISCos)
41390926Snectar	eval $set_cc_for_build
41455682Smarkm	sed 's/^	//' << EOF >$dummy.c
41572445Sassar#ifdef __cplusplus
41672445Sassar#include <stdio.h>  /* for printf() prototype */
41772445Sassar	int main (int argc, char *argv[]) {
41872445Sassar#else
41972445Sassar	int main (argc, argv) int argc; char *argv[]; {
42072445Sassar#endif
42155682Smarkm	#if defined (host_mips) && defined (MIPSEB)
42255682Smarkm	#if defined (SYSTYPE_SYSV)
42355682Smarkm	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
42455682Smarkm	#endif
42555682Smarkm	#if defined (SYSTYPE_SVR4)
42655682Smarkm	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
42755682Smarkm	#endif
42855682Smarkm	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
42955682Smarkm	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
43055682Smarkm	#endif
43155682Smarkm	#endif
43255682Smarkm	  exit (-1);
43355682Smarkm	}
43455682SmarkmEOF
435178825Sdfr	$CC_FOR_BUILD -o $dummy $dummy.c &&
436178825Sdfr	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
437178825Sdfr	  SYSTEM_NAME=`$dummy $dummyarg` &&
438178825Sdfr	    { echo "$SYSTEM_NAME"; exit; }
43955682Smarkm	echo mips-mips-riscos${UNAME_RELEASE}
440178825Sdfr	exit ;;
44190926Snectar    Motorola:PowerMAX_OS:*:*)
44290926Snectar	echo powerpc-motorola-powermax
443178825Sdfr	exit ;;
444127808Snectar    Motorola:*:4.3:PL8-*)
445127808Snectar	echo powerpc-harris-powermax
446178825Sdfr	exit ;;
447127808Snectar    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
448127808Snectar	echo powerpc-harris-powermax
449178825Sdfr	exit ;;
45055682Smarkm    Night_Hawk:Power_UNIX:*:*)
45155682Smarkm	echo powerpc-harris-powerunix
452178825Sdfr	exit ;;
45355682Smarkm    m88k:CX/UX:7*:*)
45455682Smarkm	echo m88k-harris-cxux7
455178825Sdfr	exit ;;
45655682Smarkm    m88k:*:4*:R4*)
45755682Smarkm	echo m88k-motorola-sysv4
458178825Sdfr	exit ;;
45955682Smarkm    m88k:*:3*:R3*)
46055682Smarkm	echo m88k-motorola-sysv3
461178825Sdfr	exit ;;
46255682Smarkm    AViiON:dgux:*:*)
46355682Smarkm        # DG/UX returns AViiON for all architectures
46455682Smarkm        UNAME_PROCESSOR=`/usr/bin/uname -p`
465102644Snectar	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
46672445Sassar	then
46772445Sassar	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
46872445Sassar	       [ ${TARGET_BINARY_INTERFACE}x = x ]
46972445Sassar	    then
47055682Smarkm		echo m88k-dg-dgux${UNAME_RELEASE}
47172445Sassar	    else
47272445Sassar		echo m88k-dg-dguxbcs${UNAME_RELEASE}
47372445Sassar	    fi
47455682Smarkm	else
47572445Sassar	    echo i586-dg-dgux${UNAME_RELEASE}
47655682Smarkm	fi
477178825Sdfr 	exit ;;
47855682Smarkm    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
47955682Smarkm	echo m88k-dolphin-sysv3
480178825Sdfr	exit ;;
48155682Smarkm    M88*:*:R3*:*)
48255682Smarkm	# Delta 88k system running SVR3
48355682Smarkm	echo m88k-motorola-sysv3
484178825Sdfr	exit ;;
48555682Smarkm    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
48655682Smarkm	echo m88k-tektronix-sysv3
487178825Sdfr	exit ;;
48855682Smarkm    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
48955682Smarkm	echo m68k-tektronix-bsd
490178825Sdfr	exit ;;
49155682Smarkm    *:IRIX*:*:*)
49255682Smarkm	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
493178825Sdfr	exit ;;
49455682Smarkm    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
495178825Sdfr	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
496178825Sdfr	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
49790926Snectar    i*86:AIX:*:*)
49855682Smarkm	echo i386-ibm-aix
499178825Sdfr	exit ;;
50090926Snectar    ia64:AIX:*:*)
50190926Snectar	if [ -x /usr/bin/oslevel ] ; then
50290926Snectar		IBM_REV=`/usr/bin/oslevel`
50390926Snectar	else
50490926Snectar		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
50590926Snectar	fi
50690926Snectar	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
507178825Sdfr	exit ;;
50855682Smarkm    *:AIX:2:3)
50955682Smarkm	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
51090926Snectar		eval $set_cc_for_build
51155682Smarkm		sed 's/^		//' << EOF >$dummy.c
51255682Smarkm		#include <sys/systemcfg.h>
51355682Smarkm
51455682Smarkm		main()
51555682Smarkm			{
51655682Smarkm			if (!__power_pc())
51755682Smarkm				exit(1);
51855682Smarkm			puts("powerpc-ibm-aix3.2.5");
51955682Smarkm			exit(0);
52055682Smarkm			}
52155682SmarkmEOF
522178825Sdfr		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
523178825Sdfr		then
524178825Sdfr			echo "$SYSTEM_NAME"
525178825Sdfr		else
526178825Sdfr			echo rs6000-ibm-aix3.2.5
527178825Sdfr		fi
52855682Smarkm	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
52955682Smarkm		echo rs6000-ibm-aix3.2.4
53055682Smarkm	else
53155682Smarkm		echo rs6000-ibm-aix3.2
53255682Smarkm	fi
533178825Sdfr	exit ;;
53490926Snectar    *:AIX:*:[45])
535102644Snectar	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
53690926Snectar	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
53755682Smarkm		IBM_ARCH=rs6000
53855682Smarkm	else
53955682Smarkm		IBM_ARCH=powerpc
54055682Smarkm	fi
54155682Smarkm	if [ -x /usr/bin/oslevel ] ; then
54255682Smarkm		IBM_REV=`/usr/bin/oslevel`
54355682Smarkm	else
54490926Snectar		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
54555682Smarkm	fi
54655682Smarkm	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547178825Sdfr	exit ;;
54855682Smarkm    *:AIX:*:*)
54955682Smarkm	echo rs6000-ibm-aix
550178825Sdfr	exit ;;
55155682Smarkm    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
55255682Smarkm	echo romp-ibm-bsd4.4
553178825Sdfr	exit ;;
55472445Sassar    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
55555682Smarkm	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
556178825Sdfr	exit ;;                             # report: romp-ibm BSD 4.3
55755682Smarkm    *:BOSX:*:*)
55855682Smarkm	echo rs6000-bull-bosx
559178825Sdfr	exit ;;
56055682Smarkm    DPX/2?00:B.O.S.:*:*)
56155682Smarkm	echo m68k-bull-sysv3
562178825Sdfr	exit ;;
56355682Smarkm    9000/[34]??:4.3bsd:1.*:*)
56455682Smarkm	echo m68k-hp-bsd
565178825Sdfr	exit ;;
56655682Smarkm    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
56755682Smarkm	echo m68k-hp-bsd4.4
568178825Sdfr	exit ;;
56955682Smarkm    9000/[34678]??:HP-UX:*:*)
57090926Snectar	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
57155682Smarkm	case "${UNAME_MACHINE}" in
57255682Smarkm	    9000/31? )            HP_ARCH=m68000 ;;
57355682Smarkm	    9000/[34]?? )         HP_ARCH=m68k ;;
57472445Sassar	    9000/[678][0-9][0-9])
575102644Snectar		if [ -x /usr/bin/getconf ]; then
576102644Snectar		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
57790926Snectar                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
57890926Snectar                    case "${sc_cpu_version}" in
57990926Snectar                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
58090926Snectar                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
58190926Snectar                      532)                      # CPU_PA_RISC2_0
58290926Snectar                        case "${sc_kernel_bits}" in
58390926Snectar                          32) HP_ARCH="hppa2.0n" ;;
58490926Snectar                          64) HP_ARCH="hppa2.0w" ;;
585102644Snectar			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
58690926Snectar                        esac ;;
58790926Snectar                    esac
588102644Snectar		fi
589102644Snectar		if [ "${HP_ARCH}" = "" ]; then
590102644Snectar		    eval $set_cc_for_build
591102644Snectar		    sed 's/^              //' << EOF >$dummy.c
59272445Sassar
59372445Sassar              #define _HPUX_SOURCE
59455682Smarkm              #include <stdlib.h>
59555682Smarkm              #include <unistd.h>
59672445Sassar
59755682Smarkm              int main ()
59855682Smarkm              {
59955682Smarkm              #if defined(_SC_KERNEL_BITS)
60055682Smarkm                  long bits = sysconf(_SC_KERNEL_BITS);
60172445Sassar              #endif
60255682Smarkm                  long cpu  = sysconf (_SC_CPU_VERSION);
60372445Sassar
60472445Sassar                  switch (cpu)
60555682Smarkm              	{
60655682Smarkm              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
60755682Smarkm              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
60872445Sassar              	case CPU_PA_RISC2_0:
60955682Smarkm              #if defined(_SC_KERNEL_BITS)
61072445Sassar              	    switch (bits)
61155682Smarkm              		{
61255682Smarkm              		case 64: puts ("hppa2.0w"); break;
61355682Smarkm              		case 32: puts ("hppa2.0n"); break;
61455682Smarkm              		default: puts ("hppa2.0"); break;
61555682Smarkm              		} break;
61655682Smarkm              #else  /* !defined(_SC_KERNEL_BITS) */
61755682Smarkm              	    puts ("hppa2.0"); break;
61872445Sassar              #endif
61955682Smarkm              	default: puts ("hppa1.0"); break;
62055682Smarkm              	}
62155682Smarkm                  exit (0);
62255682Smarkm              }
62355682SmarkmEOF
624127808Snectar		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
625127808Snectar		    test -z "$HP_ARCH" && HP_ARCH=hppa
626102644Snectar		fi ;;
62755682Smarkm	esac
628127808Snectar	if [ ${HP_ARCH} = "hppa2.0w" ]
629127808Snectar	then
630178825Sdfr	    eval $set_cc_for_build
631178825Sdfr
632178825Sdfr	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
633178825Sdfr	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
634178825Sdfr	    # generating 64-bit code.  GNU and HP use different nomenclature:
635178825Sdfr	    #
636178825Sdfr	    # $ CC_FOR_BUILD=cc ./config.guess
637178825Sdfr	    # => hppa2.0w-hp-hpux11.23
638178825Sdfr	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
639178825Sdfr	    # => hppa64-hp-hpux11.23
640178825Sdfr
641178825Sdfr	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
642178825Sdfr		grep __LP64__ >/dev/null
643127808Snectar	    then
644127808Snectar		HP_ARCH="hppa2.0w"
645127808Snectar	    else
646127808Snectar		HP_ARCH="hppa64"
647127808Snectar	    fi
648127808Snectar	fi
64955682Smarkm	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
650178825Sdfr	exit ;;
65190926Snectar    ia64:HP-UX:*:*)
65290926Snectar	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
65390926Snectar	echo ia64-hp-hpux${HPUX_REV}
654178825Sdfr	exit ;;
65555682Smarkm    3050*:HI-UX:*:*)
65690926Snectar	eval $set_cc_for_build
65755682Smarkm	sed 's/^	//' << EOF >$dummy.c
65855682Smarkm	#include <unistd.h>
65955682Smarkm	int
66055682Smarkm	main ()
66155682Smarkm	{
66255682Smarkm	  long cpu = sysconf (_SC_CPU_VERSION);
66355682Smarkm	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
66455682Smarkm	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
66555682Smarkm	     results, however.  */
66655682Smarkm	  if (CPU_IS_PA_RISC (cpu))
66755682Smarkm	    {
66855682Smarkm	      switch (cpu)
66955682Smarkm		{
67055682Smarkm		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
67155682Smarkm		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
67255682Smarkm		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
67355682Smarkm		  default: puts ("hppa-hitachi-hiuxwe2"); break;
67455682Smarkm		}
67555682Smarkm	    }
67655682Smarkm	  else if (CPU_IS_HP_MC68K (cpu))
67755682Smarkm	    puts ("m68k-hitachi-hiuxwe2");
67855682Smarkm	  else puts ("unknown-hitachi-hiuxwe2");
67955682Smarkm	  exit (0);
68055682Smarkm	}
68155682SmarkmEOF
682178825Sdfr	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
683178825Sdfr		{ echo "$SYSTEM_NAME"; exit; }
68455682Smarkm	echo unknown-hitachi-hiuxwe2
685178825Sdfr	exit ;;
68655682Smarkm    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
68755682Smarkm	echo hppa1.1-hp-bsd
688178825Sdfr	exit ;;
68955682Smarkm    9000/8??:4.3bsd:*:*)
69055682Smarkm	echo hppa1.0-hp-bsd
691178825Sdfr	exit ;;
69290926Snectar    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
69372445Sassar	echo hppa1.0-hp-mpeix
694178825Sdfr	exit ;;
69555682Smarkm    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
69655682Smarkm	echo hppa1.1-hp-osf
697178825Sdfr	exit ;;
69855682Smarkm    hp8??:OSF1:*:*)
69955682Smarkm	echo hppa1.0-hp-osf
700178825Sdfr	exit ;;
70190926Snectar    i*86:OSF1:*:*)
70255682Smarkm	if [ -x /usr/sbin/sysversion ] ; then
70355682Smarkm	    echo ${UNAME_MACHINE}-unknown-osf1mk
70455682Smarkm	else
70555682Smarkm	    echo ${UNAME_MACHINE}-unknown-osf1
70655682Smarkm	fi
707178825Sdfr	exit ;;
70855682Smarkm    parisc*:Lites*:*:*)
70955682Smarkm	echo hppa1.1-hp-lites
710178825Sdfr	exit ;;
71155682Smarkm    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
71255682Smarkm	echo c1-convex-bsd
713178825Sdfr        exit ;;
71455682Smarkm    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
71555682Smarkm	if getsysinfo -f scalar_acc
71655682Smarkm	then echo c32-convex-bsd
71755682Smarkm	else echo c2-convex-bsd
71855682Smarkm	fi
719178825Sdfr        exit ;;
72055682Smarkm    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
72155682Smarkm	echo c34-convex-bsd
722178825Sdfr        exit ;;
72355682Smarkm    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
72455682Smarkm	echo c38-convex-bsd
725178825Sdfr        exit ;;
72655682Smarkm    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
72755682Smarkm	echo c4-convex-bsd
728178825Sdfr        exit ;;
72955682Smarkm    CRAY*Y-MP:*:*:*)
73090926Snectar	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731178825Sdfr	exit ;;
73255682Smarkm    CRAY*[A-Z]90:*:*:*)
73355682Smarkm	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
73455682Smarkm	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
73590926Snectar	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
73690926Snectar	      -e 's/\.[^.]*$/.X/'
737178825Sdfr	exit ;;
73855682Smarkm    CRAY*TS:*:*:*)
73972445Sassar	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740178825Sdfr	exit ;;
74190926Snectar    CRAY*T3E:*:*:*)
74290926Snectar	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743178825Sdfr	exit ;;
74472445Sassar    CRAY*SV1:*:*:*)
745102644Snectar	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746178825Sdfr	exit ;;
747127808Snectar    *:UNICOS/mp:*:*)
748178825Sdfr	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
749178825Sdfr	exit ;;
75090926Snectar    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
75190926Snectar	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
75272445Sassar        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
75355682Smarkm        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
75490926Snectar        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
755178825Sdfr        exit ;;
756142403Snectar    5000:UNIX_System_V:4.*:*)
757142403Snectar        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
758142403Snectar        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
759142403Snectar        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
760178825Sdfr	exit ;;
76190926Snectar    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
76272445Sassar	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763178825Sdfr	exit ;;
76455682Smarkm    sparc*:BSD/OS:*:*)
76555682Smarkm	echo sparc-unknown-bsdi${UNAME_RELEASE}
766178825Sdfr	exit ;;
76755682Smarkm    *:BSD/OS:*:*)
76855682Smarkm	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769178825Sdfr	exit ;;
770142403Snectar    *:FreeBSD:*:*)
771178825Sdfr	case ${UNAME_MACHINE} in
772178825Sdfr	    pc98)
773178825Sdfr		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
774178825Sdfr	    amd64)
775178825Sdfr		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
776178825Sdfr	    *)
777178825Sdfr		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
778178825Sdfr	esac
779178825Sdfr	exit ;;
78055682Smarkm    i*:CYGWIN*:*)
78155682Smarkm	echo ${UNAME_MACHINE}-pc-cygwin
782178825Sdfr	exit ;;
78355682Smarkm    i*:MINGW*:*)
78455682Smarkm	echo ${UNAME_MACHINE}-pc-mingw32
785178825Sdfr	exit ;;
786178825Sdfr    i*:windows32*:*)
787178825Sdfr    	# uname -m includes "-pc" on this system.
788178825Sdfr    	echo ${UNAME_MACHINE}-mingw32
789178825Sdfr	exit ;;
79072445Sassar    i*:PW*:*)
79172445Sassar	echo ${UNAME_MACHINE}-pc-pw32
792178825Sdfr	exit ;;
793178825Sdfr    x86:Interix*:[3456]*)
794178825Sdfr	echo i586-pc-interix${UNAME_RELEASE}
795178825Sdfr	exit ;;
796178825Sdfr    EM64T:Interix*:[3456]*)
797178825Sdfr	echo x86_64-unknown-interix${UNAME_RELEASE}
798178825Sdfr	exit ;;
799127808Snectar    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
800127808Snectar	echo i${UNAME_MACHINE}-pc-mks
801178825Sdfr	exit ;;
80272445Sassar    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
80372445Sassar	# How do we know it's Interix rather than the generic POSIX subsystem?
80472445Sassar	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
80572445Sassar	# UNAME_MACHINE based on the output of uname instead of i386?
806127808Snectar	echo i586-pc-interix
807178825Sdfr	exit ;;
80872445Sassar    i*:UWIN*:*)
80972445Sassar	echo ${UNAME_MACHINE}-pc-uwin
810178825Sdfr	exit ;;
811178825Sdfr    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
812178825Sdfr	echo x86_64-unknown-cygwin
813178825Sdfr	exit ;;
81455682Smarkm    p*:CYGWIN*:*)
81555682Smarkm	echo powerpcle-unknown-cygwin
816178825Sdfr	exit ;;
81755682Smarkm    prep*:SunOS:5.*:*)
81855682Smarkm	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
819178825Sdfr	exit ;;
82055682Smarkm    *:GNU:*:*)
821142403Snectar	# the GNU system
82255682Smarkm	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
823178825Sdfr	exit ;;
824142403Snectar    *:GNU/*:*:*)
825142403Snectar	# other systems with GNU libc and userland
826142403Snectar	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
827178825Sdfr	exit ;;
82872445Sassar    i*86:Minix:*:*)
82972445Sassar	echo ${UNAME_MACHINE}-pc-minix
830178825Sdfr	exit ;;
83190926Snectar    arm*:Linux:*:*)
83290926Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu
833178825Sdfr	exit ;;
834178825Sdfr    avr32*:Linux:*:*)
835178825Sdfr	echo ${UNAME_MACHINE}-unknown-linux-gnu
836178825Sdfr	exit ;;
837127808Snectar    cris:Linux:*:*)
838127808Snectar	echo cris-axis-linux-gnu
839178825Sdfr	exit ;;
840178825Sdfr    crisv32:Linux:*:*)
841178825Sdfr	echo crisv32-axis-linux-gnu
842178825Sdfr	exit ;;
843178825Sdfr    frv:Linux:*:*)
844178825Sdfr    	echo frv-unknown-linux-gnu
845178825Sdfr	exit ;;
84690926Snectar    ia64:Linux:*:*)
847102644Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu
848178825Sdfr	exit ;;
849178825Sdfr    m32r*:Linux:*:*)
850178825Sdfr	echo ${UNAME_MACHINE}-unknown-linux-gnu
851178825Sdfr	exit ;;
85290926Snectar    m68*:Linux:*:*)
85390926Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu
854178825Sdfr	exit ;;
85590926Snectar    mips:Linux:*:*)
856102644Snectar	eval $set_cc_for_build
857102644Snectar	sed 's/^	//' << EOF >$dummy.c
858102644Snectar	#undef CPU
859102644Snectar	#undef mips
860102644Snectar	#undef mipsel
861102644Snectar	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
862102644Snectar	CPU=mipsel
863102644Snectar	#else
864102644Snectar	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
865102644Snectar	CPU=mips
866102644Snectar	#else
867102644Snectar	CPU=
868102644Snectar	#endif
869102644Snectar	#endif
870102644SnectarEOF
871178825Sdfr	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
872178825Sdfr	    /^CPU/{
873178825Sdfr		s: ::g
874178825Sdfr		p
875178825Sdfr	    }'`"
876178825Sdfr	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
87790926Snectar	;;
878127808Snectar    mips64:Linux:*:*)
879127808Snectar	eval $set_cc_for_build
880127808Snectar	sed 's/^	//' << EOF >$dummy.c
881127808Snectar	#undef CPU
882127808Snectar	#undef mips64
883127808Snectar	#undef mips64el
884127808Snectar	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
885127808Snectar	CPU=mips64el
886127808Snectar	#else
887127808Snectar	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
888127808Snectar	CPU=mips64
889127808Snectar	#else
890127808Snectar	CPU=
891127808Snectar	#endif
892127808Snectar	#endif
893127808SnectarEOF
894178825Sdfr	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
895178825Sdfr	    /^CPU/{
896178825Sdfr		s: ::g
897178825Sdfr		p
898178825Sdfr	    }'`"
899178825Sdfr	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
900127808Snectar	;;
901178825Sdfr    or32:Linux:*:*)
902178825Sdfr	echo or32-unknown-linux-gnu
903178825Sdfr	exit ;;
90490926Snectar    ppc:Linux:*:*)
90590926Snectar	echo powerpc-unknown-linux-gnu
906178825Sdfr	exit ;;
90790926Snectar    ppc64:Linux:*:*)
90890926Snectar	echo powerpc64-unknown-linux-gnu
909178825Sdfr	exit ;;
91090926Snectar    alpha:Linux:*:*)
91190926Snectar	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
91290926Snectar	  EV5)   UNAME_MACHINE=alphaev5 ;;
91390926Snectar	  EV56)  UNAME_MACHINE=alphaev56 ;;
91490926Snectar	  PCA56) UNAME_MACHINE=alphapca56 ;;
91590926Snectar	  PCA57) UNAME_MACHINE=alphapca56 ;;
91690926Snectar	  EV6)   UNAME_MACHINE=alphaev6 ;;
91790926Snectar	  EV67)  UNAME_MACHINE=alphaev67 ;;
91890926Snectar	  EV68*) UNAME_MACHINE=alphaev68 ;;
91990926Snectar        esac
92090926Snectar	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
92190926Snectar	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
92290926Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
923178825Sdfr	exit ;;
92490926Snectar    parisc:Linux:*:* | hppa:Linux:*:*)
92590926Snectar	# Look for CPU level
92690926Snectar	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
92790926Snectar	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
92890926Snectar	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
92990926Snectar	  *)    echo hppa-unknown-linux-gnu ;;
93090926Snectar	esac
931178825Sdfr	exit ;;
93290926Snectar    parisc64:Linux:*:* | hppa64:Linux:*:*)
93390926Snectar	echo hppa64-unknown-linux-gnu
934178825Sdfr	exit ;;
93590926Snectar    s390:Linux:*:* | s390x:Linux:*:*)
93690926Snectar	echo ${UNAME_MACHINE}-ibm-linux
937178825Sdfr	exit ;;
938127808Snectar    sh64*:Linux:*:*)
939127808Snectar    	echo ${UNAME_MACHINE}-unknown-linux-gnu
940178825Sdfr	exit ;;
94190926Snectar    sh*:Linux:*:*)
94290926Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu
943178825Sdfr	exit ;;
94490926Snectar    sparc:Linux:*:* | sparc64:Linux:*:*)
94590926Snectar	echo ${UNAME_MACHINE}-unknown-linux-gnu
946178825Sdfr	exit ;;
947178825Sdfr    vax:Linux:*:*)
948178825Sdfr	echo ${UNAME_MACHINE}-dec-linux-gnu
949178825Sdfr	exit ;;
95090926Snectar    x86_64:Linux:*:*)
95190926Snectar	echo x86_64-unknown-linux-gnu
952178825Sdfr	exit ;;
95390926Snectar    i*86:Linux:*:*)
95455682Smarkm	# The BFD linker knows what the default object file format is, so
95572445Sassar	# first see if it will tell us. cd to the root directory to prevent
95672445Sassar	# problems with other programs or directories called `ld' in the path.
957102644Snectar	# Set LC_ALL=C to ensure ld outputs messages in English.
958102644Snectar	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
95990926Snectar			 | sed -ne '/supported targets:/!d
96055682Smarkm				    s/[ 	][ 	]*/ /g
96190926Snectar				    s/.*supported targets: *//
96255682Smarkm				    s/ .*//
96355682Smarkm				    p'`
96490926Snectar        case "$ld_supported_targets" in
96590926Snectar	  elf32-i386)
96690926Snectar		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
96772445Sassar		;;
96890926Snectar	  a.out-i386-linux)
96972445Sassar		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
970178825Sdfr		exit ;;
97190926Snectar	  coff-i386)
97272445Sassar		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
973178825Sdfr		exit ;;
97490926Snectar	  "")
97590926Snectar		# Either a pre-BFD a.out linker (linux-gnuoldld) or
97690926Snectar		# one that does not give us useful --help.
97790926Snectar		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
978178825Sdfr		exit ;;
97955682Smarkm	esac
98090926Snectar	# Determine whether the default compiler is a.out or elf
98190926Snectar	eval $set_cc_for_build
982102644Snectar	sed 's/^	//' << EOF >$dummy.c
983102644Snectar	#include <features.h>
984102644Snectar	#ifdef __ELF__
985102644Snectar	# ifdef __GLIBC__
986102644Snectar	#  if __GLIBC__ >= 2
987102644Snectar	LIBC=gnu
988102644Snectar	#  else
989102644Snectar	LIBC=gnulibc1
990102644Snectar	#  endif
991102644Snectar	# else
992102644Snectar	LIBC=gnulibc1
993102644Snectar	# endif
994102644Snectar	#else
995178825Sdfr	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
996102644Snectar	LIBC=gnu
997102644Snectar	#else
998102644Snectar	LIBC=gnuaout
999102644Snectar	#endif
1000102644Snectar	#endif
1001127808Snectar	#ifdef __dietlibc__
1002127808Snectar	LIBC=dietlibc
1003127808Snectar	#endif
100455682SmarkmEOF
1005178825Sdfr	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1006178825Sdfr	    /^LIBC/{
1007178825Sdfr		s: ::g
1008178825Sdfr		p
1009178825Sdfr	    }'`"
1010178825Sdfr	test x"${LIBC}" != x && {
1011178825Sdfr		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1012178825Sdfr		exit
1013178825Sdfr	}
1014178825Sdfr	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
101590926Snectar	;;
101690926Snectar    i*86:DYNIX/ptx:4*:*)
101790926Snectar	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
101890926Snectar	# earlier versions are messed up and put the nodename in both
101990926Snectar	# sysname and nodename.
102055682Smarkm	echo i386-sequent-sysv4
1021178825Sdfr	exit ;;
102290926Snectar    i*86:UNIX_SV:4.2MP:2.*)
102355682Smarkm        # Unixware is an offshoot of SVR4, but it has its own version
102455682Smarkm        # number series starting with 2...
102555682Smarkm        # I am not positive that other SVR4 systems won't match this,
102655682Smarkm	# I just have to hope.  -- rms.
102755682Smarkm        # Use sysv4.2uw... so that sysv4* matches it.
102855682Smarkm	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1029178825Sdfr	exit ;;
1030127808Snectar    i*86:OS/2:*:*)
1031127808Snectar	# If we were able to find `uname', then EMX Unix compatibility
1032127808Snectar	# is probably installed.
1033127808Snectar	echo ${UNAME_MACHINE}-pc-os2-emx
1034178825Sdfr	exit ;;
1035127808Snectar    i*86:XTS-300:*:STOP)
1036127808Snectar	echo ${UNAME_MACHINE}-unknown-stop
1037178825Sdfr	exit ;;
1038127808Snectar    i*86:atheos:*:*)
1039127808Snectar	echo ${UNAME_MACHINE}-unknown-atheos
1040178825Sdfr	exit ;;
1041178825Sdfr    i*86:syllable:*:*)
1042142403Snectar	echo ${UNAME_MACHINE}-pc-syllable
1043178825Sdfr	exit ;;
1044127808Snectar    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1045127808Snectar	echo i386-unknown-lynxos${UNAME_RELEASE}
1046178825Sdfr	exit ;;
1047127808Snectar    i*86:*DOS:*:*)
1048127808Snectar	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1049178825Sdfr	exit ;;
105090926Snectar    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
105172445Sassar	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
105255682Smarkm	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
105372445Sassar		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
105455682Smarkm	else
105572445Sassar		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
105655682Smarkm	fi
1057178825Sdfr	exit ;;
1058178825Sdfr    i*86:*:5:[678]*)
1059178825Sdfr    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
106090926Snectar	case `/bin/uname -X | grep "^Machine"` in
106190926Snectar	    *486*)	     UNAME_MACHINE=i486 ;;
106290926Snectar	    *Pentium)	     UNAME_MACHINE=i586 ;;
106390926Snectar	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
106490926Snectar	esac
106590926Snectar	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1066178825Sdfr	exit ;;
106790926Snectar    i*86:*:3.2:*)
106855682Smarkm	if test -f /usr/options/cb.name; then
106955682Smarkm		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
107055682Smarkm		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
107155682Smarkm	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1072127808Snectar		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1073127808Snectar		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1074127808Snectar		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
107555682Smarkm			&& UNAME_MACHINE=i586
1076127808Snectar		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
107772445Sassar			&& UNAME_MACHINE=i686
1078127808Snectar		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
107972445Sassar			&& UNAME_MACHINE=i686
108055682Smarkm		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
108155682Smarkm	else
108255682Smarkm		echo ${UNAME_MACHINE}-pc-sysv32
108355682Smarkm	fi
1084178825Sdfr	exit ;;
108555682Smarkm    pc:*:*:*)
108672445Sassar	# Left here for compatibility:
108755682Smarkm        # uname -m prints for DJGPP always 'pc', but it prints nothing about
108855682Smarkm        # the processor, so we play safe by assuming i386.
108955682Smarkm	echo i386-pc-msdosdjgpp
1090178825Sdfr        exit ;;
109155682Smarkm    Intel:Mach:3*:*)
109255682Smarkm	echo i386-pc-mach3
1093178825Sdfr	exit ;;
109455682Smarkm    paragon:*:*:*)
109555682Smarkm	echo i860-intel-osf1
1096178825Sdfr	exit ;;
109755682Smarkm    i860:*:4.*:*) # i860-SVR4
109855682Smarkm	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
109955682Smarkm	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
110055682Smarkm	else # Add other i860-SVR4 vendors below as they are discovered.
110155682Smarkm	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
110255682Smarkm	fi
1103178825Sdfr	exit ;;
110455682Smarkm    mini*:CTIX:SYS*5:*)
110555682Smarkm	# "miniframe"
110655682Smarkm	echo m68010-convergent-sysv
1107178825Sdfr	exit ;;
1108127808Snectar    mc68k:UNIX:SYSTEM5:3.51m)
1109127808Snectar	echo m68k-convergent-sysv
1110178825Sdfr	exit ;;
1111127808Snectar    M680?0:D-NIX:5.3:*)
1112127808Snectar	echo m68k-diab-dnix
1113178825Sdfr	exit ;;
1114178825Sdfr    M68*:*:R3V[5678]*:*)
1115178825Sdfr	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1116178825Sdfr    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)
111755682Smarkm	OS_REL=''
111855682Smarkm	test -r /etc/.relid \
111955682Smarkm	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
112055682Smarkm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121178825Sdfr	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
112255682Smarkm	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123178825Sdfr	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
112455682Smarkm    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
112555682Smarkm        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1126178825Sdfr          && { echo i486-ncr-sysv4; exit; } ;;
112790926Snectar    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
112855682Smarkm	echo m68k-unknown-lynxos${UNAME_RELEASE}
1129178825Sdfr	exit ;;
113055682Smarkm    mc68030:UNIX_System_V:4.*:*)
113155682Smarkm	echo m68k-atari-sysv4
1132178825Sdfr	exit ;;
113355682Smarkm    TSUNAMI:LynxOS:2.*:*)
113455682Smarkm	echo sparc-unknown-lynxos${UNAME_RELEASE}
1135178825Sdfr	exit ;;
113690926Snectar    rs6000:LynxOS:2.*:*)
113755682Smarkm	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1138178825Sdfr	exit ;;
113990926Snectar    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
114090926Snectar	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1141178825Sdfr	exit ;;
114255682Smarkm    SM[BE]S:UNIX_SV:*:*)
114355682Smarkm	echo mips-dde-sysv${UNAME_RELEASE}
1144178825Sdfr	exit ;;
114572445Sassar    RM*:ReliantUNIX-*:*:*)
114672445Sassar	echo mips-sni-sysv4
1147178825Sdfr	exit ;;
114855682Smarkm    RM*:SINIX-*:*:*)
114955682Smarkm	echo mips-sni-sysv4
1150178825Sdfr	exit ;;
115155682Smarkm    *:SINIX-*:*:*)
115255682Smarkm	if uname -p 2>/dev/null >/dev/null ; then
115355682Smarkm		UNAME_MACHINE=`(uname -p) 2>/dev/null`
115455682Smarkm		echo ${UNAME_MACHINE}-sni-sysv4
115555682Smarkm	else
115655682Smarkm		echo ns32k-sni-sysv
115755682Smarkm	fi
1158178825Sdfr	exit ;;
115990926Snectar    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
116090926Snectar                      # says <Richard.M.Bartel@ccMail.Census.GOV>
116155682Smarkm        echo i586-unisys-sysv4
1162178825Sdfr        exit ;;
116355682Smarkm    *:UNIX_System_V:4*:FTX*)
116455682Smarkm	# From Gerald Hewes <hewes@openmarket.com>.
116555682Smarkm	# How about differentiating between stratus architectures? -djm
116655682Smarkm	echo hppa1.1-stratus-sysv4
1167178825Sdfr	exit ;;
116855682Smarkm    *:*:*:FTX*)
116955682Smarkm	# From seanf@swdc.stratus.com.
117055682Smarkm	echo i860-stratus-sysv4
1171178825Sdfr	exit ;;
1172178825Sdfr    i*86:VOS:*:*)
1173178825Sdfr	# From Paul.Green@stratus.com.
1174178825Sdfr	echo ${UNAME_MACHINE}-stratus-vos
1175178825Sdfr	exit ;;
117690926Snectar    *:VOS:*:*)
117790926Snectar	# From Paul.Green@stratus.com.
117890926Snectar	echo hppa1.1-stratus-vos
1179178825Sdfr	exit ;;
118055682Smarkm    mc68*:A/UX:*:*)
118155682Smarkm	echo m68k-apple-aux${UNAME_RELEASE}
1182178825Sdfr	exit ;;
118372445Sassar    news*:NEWS-OS:6*:*)
118455682Smarkm	echo mips-sony-newsos6
1185178825Sdfr	exit ;;
118672445Sassar    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
118755682Smarkm	if [ -d /usr/nec ]; then
118855682Smarkm	        echo mips-nec-sysv${UNAME_RELEASE}
118955682Smarkm	else
119055682Smarkm	        echo mips-unknown-sysv${UNAME_RELEASE}
119155682Smarkm	fi
1192178825Sdfr        exit ;;
119355682Smarkm    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
119455682Smarkm	echo powerpc-be-beos
1195178825Sdfr	exit ;;
119655682Smarkm    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
119755682Smarkm	echo powerpc-apple-beos
1198178825Sdfr	exit ;;
119955682Smarkm    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
120055682Smarkm	echo i586-pc-beos
1201178825Sdfr	exit ;;
120255682Smarkm    SX-4:SUPER-UX:*:*)
120355682Smarkm	echo sx4-nec-superux${UNAME_RELEASE}
1204178825Sdfr	exit ;;
120555682Smarkm    SX-5:SUPER-UX:*:*)
120655682Smarkm	echo sx5-nec-superux${UNAME_RELEASE}
1207178825Sdfr	exit ;;
1208127808Snectar    SX-6:SUPER-UX:*:*)
1209127808Snectar	echo sx6-nec-superux${UNAME_RELEASE}
1210178825Sdfr	exit ;;
121155682Smarkm    Power*:Rhapsody:*:*)
121255682Smarkm	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1213178825Sdfr	exit ;;
121455682Smarkm    *:Rhapsody:*:*)
121555682Smarkm	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1216178825Sdfr	exit ;;
121772445Sassar    *:Darwin:*:*)
1218178825Sdfr	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1219178825Sdfr	case $UNAME_PROCESSOR in
1220178825Sdfr	    unknown) UNAME_PROCESSOR=powerpc ;;
1221127808Snectar	esac
1222127808Snectar	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1223178825Sdfr	exit ;;
122472445Sassar    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1225102644Snectar	UNAME_PROCESSOR=`uname -p`
1226102644Snectar	if test "$UNAME_PROCESSOR" = "x86"; then
1227102644Snectar		UNAME_PROCESSOR=i386
122872445Sassar		UNAME_MACHINE=pc
122972445Sassar	fi
1230102644Snectar	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1231178825Sdfr	exit ;;
123272445Sassar    *:QNX:*:4*)
123372445Sassar	echo i386-pc-qnx
1234178825Sdfr	exit ;;
1235178825Sdfr    NSE-?:NONSTOP_KERNEL:*:*)
1236178825Sdfr	echo nse-tandem-nsk${UNAME_RELEASE}
1237178825Sdfr	exit ;;
1238142403Snectar    NSR-?:NONSTOP_KERNEL:*:*)
123972445Sassar	echo nsr-tandem-nsk${UNAME_RELEASE}
1240178825Sdfr	exit ;;
124190926Snectar    *:NonStop-UX:*:*)
124290926Snectar	echo mips-compaq-nonstopux
1243178825Sdfr	exit ;;
124472445Sassar    BS2000:POSIX*:*:*)
124572445Sassar	echo bs2000-siemens-sysv
1246178825Sdfr	exit ;;
124772445Sassar    DS/*:UNIX_System_V:*:*)
124872445Sassar	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1249178825Sdfr	exit ;;
125072445Sassar    *:Plan9:*:*)
125172445Sassar	# "uname -m" is not consistent, so use $cputype instead. 386
125272445Sassar	# is converted to i386 for consistency with other x86
125372445Sassar	# operating systems.
125472445Sassar	if test "$cputype" = "386"; then
125572445Sassar	    UNAME_MACHINE=i386
125672445Sassar	else
125772445Sassar	    UNAME_MACHINE="$cputype"
125872445Sassar	fi
125972445Sassar	echo ${UNAME_MACHINE}-unknown-plan9
1260178825Sdfr	exit ;;
126190926Snectar    *:TOPS-10:*:*)
126290926Snectar	echo pdp10-unknown-tops10
1263178825Sdfr	exit ;;
126490926Snectar    *:TENEX:*:*)
126590926Snectar	echo pdp10-unknown-tenex
1266178825Sdfr	exit ;;
126790926Snectar    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
126890926Snectar	echo pdp10-dec-tops20
1269178825Sdfr	exit ;;
127090926Snectar    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
127190926Snectar	echo pdp10-xkl-tops20
1272178825Sdfr	exit ;;
127390926Snectar    *:TOPS-20:*:*)
127490926Snectar	echo pdp10-unknown-tops20
1275178825Sdfr	exit ;;
127690926Snectar    *:ITS:*:*)
127790926Snectar	echo pdp10-unknown-its
1278178825Sdfr	exit ;;
1279127808Snectar    SEI:*:*:SEIUX)
1280127808Snectar        echo mips-sei-seiux${UNAME_RELEASE}
1281178825Sdfr	exit ;;
1282142403Snectar    *:DragonFly:*:*)
1283142403Snectar	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1284178825Sdfr	exit ;;
1285178825Sdfr    *:*VMS:*:*)
1286178825Sdfr    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1287178825Sdfr	case "${UNAME_MACHINE}" in
1288178825Sdfr	    A*) echo alpha-dec-vms ; exit ;;
1289178825Sdfr	    I*) echo ia64-dec-vms ; exit ;;
1290178825Sdfr	    V*) echo vax-dec-vms ; exit ;;
1291178825Sdfr	esac ;;
1292178825Sdfr    *:XENIX:*:SysV)
1293178825Sdfr	echo i386-pc-xenix
1294178825Sdfr	exit ;;
1295178825Sdfr    i*86:skyos:*:*)
1296178825Sdfr	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1297178825Sdfr	exit ;;
1298178825Sdfr    i*86:rdos:*:*)
1299178825Sdfr	echo ${UNAME_MACHINE}-pc-rdos
1300178825Sdfr	exit ;;
130155682Smarkmesac
130255682Smarkm
130355682Smarkm#echo '(No uname command or uname output not recognized.)' 1>&2
130455682Smarkm#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
130555682Smarkm
130690926Snectareval $set_cc_for_build
130755682Smarkmcat >$dummy.c <<EOF
130855682Smarkm#ifdef _SEQUENT_
130955682Smarkm# include <sys/types.h>
131055682Smarkm# include <sys/utsname.h>
131155682Smarkm#endif
131255682Smarkmmain ()
131355682Smarkm{
131455682Smarkm#if defined (sony)
131555682Smarkm#if defined (MIPSEB)
131655682Smarkm  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
131755682Smarkm     I don't know....  */
131855682Smarkm  printf ("mips-sony-bsd\n"); exit (0);
131955682Smarkm#else
132055682Smarkm#include <sys/param.h>
132155682Smarkm  printf ("m68k-sony-newsos%s\n",
132255682Smarkm#ifdef NEWSOS4
132355682Smarkm          "4"
132455682Smarkm#else
132555682Smarkm	  ""
132655682Smarkm#endif
132755682Smarkm         ); exit (0);
132855682Smarkm#endif
132955682Smarkm#endif
133055682Smarkm
133155682Smarkm#if defined (__arm) && defined (__acorn) && defined (__unix)
1332178825Sdfr  printf ("arm-acorn-riscix\n"); exit (0);
133355682Smarkm#endif
133455682Smarkm
133555682Smarkm#if defined (hp300) && !defined (hpux)
133655682Smarkm  printf ("m68k-hp-bsd\n"); exit (0);
133755682Smarkm#endif
133855682Smarkm
133955682Smarkm#if defined (NeXT)
134055682Smarkm#if !defined (__ARCHITECTURE__)
134155682Smarkm#define __ARCHITECTURE__ "m68k"
134255682Smarkm#endif
134355682Smarkm  int version;
134455682Smarkm  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
134555682Smarkm  if (version < 4)
134655682Smarkm    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
134755682Smarkm  else
134855682Smarkm    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
134955682Smarkm  exit (0);
135055682Smarkm#endif
135155682Smarkm
135255682Smarkm#if defined (MULTIMAX) || defined (n16)
135355682Smarkm#if defined (UMAXV)
135455682Smarkm  printf ("ns32k-encore-sysv\n"); exit (0);
135555682Smarkm#else
135655682Smarkm#if defined (CMU)
135755682Smarkm  printf ("ns32k-encore-mach\n"); exit (0);
135855682Smarkm#else
135955682Smarkm  printf ("ns32k-encore-bsd\n"); exit (0);
136055682Smarkm#endif
136155682Smarkm#endif
136255682Smarkm#endif
136355682Smarkm
136455682Smarkm#if defined (__386BSD__)
136555682Smarkm  printf ("i386-pc-bsd\n"); exit (0);
136655682Smarkm#endif
136755682Smarkm
136855682Smarkm#if defined (sequent)
136955682Smarkm#if defined (i386)
137055682Smarkm  printf ("i386-sequent-dynix\n"); exit (0);
137155682Smarkm#endif
137255682Smarkm#if defined (ns32000)
137355682Smarkm  printf ("ns32k-sequent-dynix\n"); exit (0);
137455682Smarkm#endif
137555682Smarkm#endif
137655682Smarkm
137755682Smarkm#if defined (_SEQUENT_)
137855682Smarkm    struct utsname un;
137955682Smarkm
138055682Smarkm    uname(&un);
138155682Smarkm
138255682Smarkm    if (strncmp(un.version, "V2", 2) == 0) {
138355682Smarkm	printf ("i386-sequent-ptx2\n"); exit (0);
138455682Smarkm    }
138555682Smarkm    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
138655682Smarkm	printf ("i386-sequent-ptx1\n"); exit (0);
138755682Smarkm    }
138855682Smarkm    printf ("i386-sequent-ptx\n"); exit (0);
138955682Smarkm
139055682Smarkm#endif
139155682Smarkm
139255682Smarkm#if defined (vax)
139390926Snectar# if !defined (ultrix)
139490926Snectar#  include <sys/param.h>
139590926Snectar#  if defined (BSD)
139690926Snectar#   if BSD == 43
139790926Snectar      printf ("vax-dec-bsd4.3\n"); exit (0);
139890926Snectar#   else
139990926Snectar#    if BSD == 199006
140090926Snectar      printf ("vax-dec-bsd4.3reno\n"); exit (0);
140190926Snectar#    else
140290926Snectar      printf ("vax-dec-bsd\n"); exit (0);
140390926Snectar#    endif
140490926Snectar#   endif
140590926Snectar#  else
140690926Snectar    printf ("vax-dec-bsd\n"); exit (0);
140790926Snectar#  endif
140890926Snectar# else
140990926Snectar    printf ("vax-dec-ultrix\n"); exit (0);
141090926Snectar# endif
141155682Smarkm#endif
141255682Smarkm
141355682Smarkm#if defined (alliant) && defined (i860)
141455682Smarkm  printf ("i860-alliant-bsd\n"); exit (0);
141555682Smarkm#endif
141655682Smarkm
141755682Smarkm  exit (1);
141855682Smarkm}
141955682SmarkmEOF
142055682Smarkm
1421178825Sdfr$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1422178825Sdfr	{ echo "$SYSTEM_NAME"; exit; }
142355682Smarkm
142455682Smarkm# Apollos put the system type in the environment.
142555682Smarkm
1426178825Sdfrtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
142755682Smarkm
142855682Smarkm# Convex versions that predate uname can use getsysinfo(1)
142955682Smarkm
143055682Smarkmif [ -x /usr/convex/getsysinfo ]
143155682Smarkmthen
143255682Smarkm    case `getsysinfo -f cpu_type` in
143355682Smarkm    c1*)
143455682Smarkm	echo c1-convex-bsd
1435178825Sdfr	exit ;;
143655682Smarkm    c2*)
143755682Smarkm	if getsysinfo -f scalar_acc
143855682Smarkm	then echo c32-convex-bsd
143955682Smarkm	else echo c2-convex-bsd
144055682Smarkm	fi
1441178825Sdfr	exit ;;
144255682Smarkm    c34*)
144355682Smarkm	echo c34-convex-bsd
1444178825Sdfr	exit ;;
144555682Smarkm    c38*)
144655682Smarkm	echo c38-convex-bsd
1447178825Sdfr	exit ;;
144855682Smarkm    c4*)
144955682Smarkm	echo c4-convex-bsd
1450178825Sdfr	exit ;;
145155682Smarkm    esac
145255682Smarkmfi
145355682Smarkm
145472445Sassarcat >&2 <<EOF
145572445Sassar$0: unable to guess system type
145655682Smarkm
145790926SnectarThis script, last modified $timestamp, has failed to recognize
145890926Snectarthe operating system you are using. It is advised that you
145990926Snectardownload the most up to date version of the config scripts from
146072445Sassar
1461178825Sdfr  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1462178825Sdfrand
1463178825Sdfr  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
146472445Sassar
146572445SassarIf the version you run ($0) is already up to date, please
146672445Sassarsend the following data and any information you think might be
146772445Sassarpertinent to <config-patches@gnu.org> in order to provide the needed
146872445Sassarinformation to handle your system.
146972445Sassar
147090926Snectarconfig.guess timestamp = $timestamp
147172445Sassar
147272445Sassaruname -m = `(uname -m) 2>/dev/null || echo unknown`
147372445Sassaruname -r = `(uname -r) 2>/dev/null || echo unknown`
147472445Sassaruname -s = `(uname -s) 2>/dev/null || echo unknown`
147572445Sassaruname -v = `(uname -v) 2>/dev/null || echo unknown`
147672445Sassar
147772445Sassar/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
147872445Sassar/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
147972445Sassar
148072445Sassarhostinfo               = `(hostinfo) 2>/dev/null`
148172445Sassar/bin/universe          = `(/bin/universe) 2>/dev/null`
148272445Sassar/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
148372445Sassar/bin/arch              = `(/bin/arch) 2>/dev/null`
148472445Sassar/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
148572445Sassar/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
148672445Sassar
148772445SassarUNAME_MACHINE = ${UNAME_MACHINE}
148872445SassarUNAME_RELEASE = ${UNAME_RELEASE}
148972445SassarUNAME_SYSTEM  = ${UNAME_SYSTEM}
149072445SassarUNAME_VERSION = ${UNAME_VERSION}
149172445SassarEOF
149272445Sassar
149355682Smarkmexit 1
149472445Sassar
149572445Sassar# Local variables:
149672445Sassar# eval: (add-hook 'write-file-hooks 'time-stamp)
149790926Snectar# time-stamp-start: "timestamp='"
149872445Sassar# time-stamp-format: "%:y-%02m-%02d"
149972445Sassar# time-stamp-end: "'"
150072445Sassar# End:
1501