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