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