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