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