1548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#! /bin/sh
2548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Attempt to guess a canonical system name.
3548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   Free Software Foundation, Inc.
6548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
7548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentimestamp='2009-11-20'
8548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
9548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# This file is free software; you can redistribute it and/or modify it
10548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# under the terms of the GNU General Public License as published by
11548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# the Free Software Foundation; either version 2 of the License, or
12548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# (at your option) any later version.
13548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
14548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# This program is distributed in the hope that it will be useful, but
15548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# WITHOUT ANY WARRANTY; without even the implied warranty of
16548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# General Public License for more details.
18548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
19548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# You should have received a copy of the GNU General Public License
20548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# along with this program; if not, write to the Free Software
21548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# 02110-1301, USA.
23548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
24548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# As a special exception to the GNU General Public License, if you
25548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# distribute this file as part of a program that contains a
26548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# configuration script generated by Autoconf, you may include it under
27548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# the same distribution terms that you use for the rest of that program.
28548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
29548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
30548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Originally written by Per Bothner.  Please send patches (context
31548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# diff format) to <config-patches@gnu.org> and include a ChangeLog
32548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# entry.
33548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
34548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# This script attempts to guess a canonical system name similar to
35548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# config.sub.  If it succeeds, it prints the system name on stdout, and
36548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# exits with 0.  Otherwise, it exits with 1.
37548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
38548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# You can get the latest version of this script from:
39548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
41548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenme=`echo "$0" | sed -e 's,.*/,,'`
42548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
43548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenusage="\
44548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUsage: $0 [OPTION]
45548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
46548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenOutput the configuration name of the system \`$me' is run on.
47548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
48548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenOperation modes:
49548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  -h, --help         print this help, then exit
50548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  -t, --time-stamp   print date of last modification, then exit
51548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  -v, --version      print version number, then exit
52548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
53548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenReport bugs and patches to <config-patches@gnu.org>."
54548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
55548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenversion="\
56548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenGNU config.guess ($timestamp)
57548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
58548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenOriginally written by Per Bothner.
59548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
62548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenThis is free software; see the source for copying conditions.  There is NO
63548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
65548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenhelp="
66548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenTry \`$me --help' for more information."
67548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
68548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Parse command line
69548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenwhile test $# -gt 0 ; do
70548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  case $1 in
71548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    --time-stamp | --time* | -t )
72548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       echo "$timestamp" ; exit ;;
73548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    --version | -v )
74548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       echo "$version" ; exit ;;
75548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    --help | --h* | -h )
76548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       echo "$usage"; exit ;;
77548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    -- )     # Stop option processing
78548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       shift; break ;;
79548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    - )	# Use stdin as input.
80548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       break ;;
81548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    -* )
82548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       echo "$me: invalid option $1$help" >&2
83548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       exit 1 ;;
84548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    * )
85548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen       break ;;
86548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  esac
87548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissendone
88548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
89548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif test $# != 0; then
90548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  echo "$me: too many arguments$help" >&2
91548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  exit 1
92548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenfi
93548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
94548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentrap 'exit 1' 1 2 15
95548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
96548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# compiler to aid in system detection is discouraged as it requires
98548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# temporary files to be created and, as you can see below, it is a
99548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# headache to deal with in a portable fashion.
100548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
101548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# use `HOST_CC' if defined, but it is deprecated.
103548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
104548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Portable tmp directory creation inspired by the Autoconf team.
105548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
106548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenset_cc_for_build='
107548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen: ${TMPDIR=/tmp} ;
110548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissendummy=$tmp/dummy ;
115548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissencase $CC_FOR_BUILD,$HOST_CC,$CC in
117548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen ,,)    echo "int x;" > $dummy.c ;
118548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	for c in cc gcc c89 c99 ; do
119548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	     CC_FOR_BUILD="$c"; break ;
121548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  fi ;
122548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	done ;
123548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test x"$CC_FOR_BUILD" = x ; then
124548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  CC_FOR_BUILD=no_compiler_found ;
125548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
126548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	;;
127548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen ,,*)   CC_FOR_BUILD=$CC ;;
128548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
129548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenesac ; set_cc_for_build= ;'
130548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
131548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# (ghazi@noc.rutgers.edu 1994-08-24)
133548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	PATH=$PATH:/.attbin ; export PATH
135548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenfi
136548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
137548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
142548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Note: order is significant - the case branches are not exclusive.
143548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
144548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissencase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:NetBSD:*:*)
146548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# NetBSD (nbsd) targets should (where applicable) match one or
147548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# switched to ELF, *-*-netbsd* would select the old
150548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# object file format.  This provides both forward
151548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# compatibility and a consistent mechanism for selecting the
152548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# object file format.
153548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#
154548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Note: NetBSD doesn't particularly care about the vendor
155548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# portion of the name.  We always set it to "unknown".
156548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	sysctl="sysctl -n hw.machine_arch"
157548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "${UNAME_MACHINE_ARCH}" in
160548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    armeb) machine=armeb-unknown ;;
161548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    arm*) machine=arm-unknown ;;
162548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sh3el) machine=shl-unknown ;;
163548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sh3eb) machine=sh-unknown ;;
164548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sh5el) machine=sh5le-unknown ;;
165548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
166548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
167548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# The Operating System including object format, if it has switched
168548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# to ELF recently, or will in the future.
169548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "${UNAME_MACHINE_ARCH}" in
170548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		eval $set_cc_for_build
172548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			| grep -q __ELF__
174548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		then
175548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    # Return netbsd for either.  FIX?
177548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    os=netbsd
178548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		else
179548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    os=netbsdelf
180548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		fi
181548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
182548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *)
183548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	        os=netbsd
184548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
185548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
186548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# The OS release
187548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Debian GNU/NetBSD machines have a different userland, and
188548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# thus, need a distinct triplet. However, they do not need
189548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# kernel version information, so it can be replaced with a
190548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# suitable tag, in the style of linux-gnu.
191548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "${UNAME_VERSION}" in
192548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    Debian*)
193548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		release='-gnu'
194548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
195548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *)
196548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
198548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
199548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
200548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# contains redundant information, the shorter form:
201548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
202548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo "${machine}-${os}${release}"
203548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
204548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:OpenBSD:*:*)
205548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
206548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
207548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
208548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:ekkoBSD:*:*)
209548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
210548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
211548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:SolidBSD:*:*)
212548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
213548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
214548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    macppc:MirBSD:*:*)
215548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
216548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
217548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:MirBSD:*:*)
218548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
219548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
220548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    alpha:OSF1:*:*)
221548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case $UNAME_RELEASE in
222548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	*4.0)
223548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
224548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
225548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	*5.*)
226548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
227548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
228548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
229548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# According to Compaq, /usr/sbin/psrinfo has been available on
230548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# OSF/1 and Tru64 systems produced since 1995.  I hope that
231548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# covers most systems running today.  This code pipes the CPU
232548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# types through head -n 1, so we only detect the type of CPU 0.
233548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "$ALPHA_CPU_TYPE" in
235548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV4 (21064)")
236548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alpha" ;;
237548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV4.5 (21064)")
238548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alpha" ;;
239548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "LCA4 (21066/21068)")
240548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alpha" ;;
241548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV5 (21164)")
242548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev5" ;;
243548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV5.6 (21164A)")
244548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev56" ;;
245548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV5.6 (21164PC)")
246548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphapca56" ;;
247548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV5.7 (21164PC)")
248548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphapca57" ;;
249548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6 (21264)")
250548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev6" ;;
251548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6.7 (21264A)")
252548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev67" ;;
253548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6.8CB (21264C)")
254548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev68" ;;
255548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6.8AL (21264B)")
256548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev68" ;;
257548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6.8CX (21264D)")
258548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev68" ;;
259548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV6.9A (21264/EV69A)")
260548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev69" ;;
261548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV7 (21364)")
262548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev7" ;;
263548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    "EV7.9 (21364A)")
264548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE="alphaev79" ;;
265548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
266548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# A Pn.n version is a patched version.
267548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# A Vn.n version is a released version.
268548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# A Tn.n version is a released field test version.
269548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# A Xn.n version is an unreleased experimental baselevel.
270548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# 1.2 uses "1.2" for uname -r.
271548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
272548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
273548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Alpha\ *:Windows_NT*:*)
274548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# How do we know it's Interix rather than the generic POSIX subsystem?
275548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Should we change UNAME_MACHINE based on the output of uname instead
276548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# of the specific Alpha model?
277548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo alpha-pc-interix
278548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
279548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    21064:Windows_NT:50:3)
280548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo alpha-dec-winnt3.5
281548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
282548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Amiga*:UNIX_System_V:4.0:*)
283548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-unknown-sysv4
284548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
285548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:[Aa]miga[Oo][Ss]:*:*)
286548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-amigaos
287548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
288548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:[Mm]orph[Oo][Ss]:*:*)
289548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-morphos
290548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
291548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:OS/390:*:*)
292548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i370-ibm-openedition
293548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
294548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:z/VM:*:*)
295548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo s390-ibm-zvmoe
296548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
297548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:OS400:*:*)
298548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo powerpc-ibm-os400
299548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
300548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo arm-acorn-riscix${UNAME_RELEASE}
302548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
303548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    arm:riscos:*:*|arm:RISCOS:*:*)
304548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo arm-unknown-riscos
305548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
306548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
307548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-hitachi-hiuxmpp
308548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
309548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
310548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test "`(/bin/universe) 2>/dev/null`" = att ; then
312548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo pyramid-pyramid-sysv3
313548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
314548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo pyramid-pyramid-bsd
315548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
316548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
317548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    NILE*:*:*:dcosx)
318548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pyramid-pyramid-svr4
319548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
320548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    DRS?6000:unix:4.0:6*)
321548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-icl-nx6
322548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
323548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case `/usr/bin/uname -p` in
325548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sparc) echo sparc-icl-nx7; exit ;;
326548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac ;;
327548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    s390x:SunOS:*:*)
328548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
329548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
330548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun4H:SunOS:5.*:*)
331548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
332548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
333548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
334548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
335548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
336548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
337548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-pc-auroraux${UNAME_RELEASE}
338548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
339548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
340548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
341548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	SUN_ARCH="i386"
342548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# If there is a compiler, see if it is configured for 64-bit objects.
343548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
344548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# This test works for both compilers.
345548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
346548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
347548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
348548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		grep IS_64BIT_ARCH >/dev/null
349548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    then
350548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		SUN_ARCH="x86_64"
351548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    fi
352548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
353548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
355548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun4*:SunOS:6*:*)
356548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# According to config.sub, this is the proper way to canonicalize
357548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
358548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# it's likely to be more like Solaris than SunOS4.
359548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
360548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
361548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun4*:SunOS:*:*)
362548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "`/usr/bin/arch -k`" in
363548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    Series*|S4*)
364548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_RELEASE=`uname -v`
365548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
366548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
367548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Japanese Language versions have a version number like `4.1.3-JL'.
368548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
369548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
370548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun3*:SunOS:*:*)
371548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-sun-sunos${UNAME_RELEASE}
372548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
373548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sun*:*:4.2BSD:*)
374548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
375548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
376548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "`/bin/arch`" in
377548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sun3)
378548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo m68k-sun-sunos${UNAME_RELEASE}
379548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
380548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    sun4)
381548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo sparc-sun-sunos${UNAME_RELEASE}
382548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		;;
383548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
384548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
385548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    aushp:SunOS:*:*)
386548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-auspex-sunos${UNAME_RELEASE}
387548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
388548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # The situation for MiNT is a little confusing.  The machine name
389548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # can be virtually everything (everything which is not
390548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # "atarist" or "atariste" at least should have a processor
391548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
392548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # to the lowercase version "mint" (or "freemint").  Finally
393548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # the system name "TOS" denotes a system which is actually not
394548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # MiNT.  But MiNT is downward compatible to TOS, so this should
395548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    # be no problem.
396548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
397548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo m68k-atari-mint${UNAME_RELEASE}
398548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
399548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
400548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-atari-mint${UNAME_RELEASE}
401548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
402548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
403548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo m68k-atari-mint${UNAME_RELEASE}
404548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
405548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
406548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo m68k-milan-mint${UNAME_RELEASE}
407548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
408548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
409548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo m68k-hades-mint${UNAME_RELEASE}
410548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
411548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
412548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo m68k-unknown-mint${UNAME_RELEASE}
413548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
414548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m68k:machten:*:*)
415548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-apple-machten${UNAME_RELEASE}
416548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
417548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    powerpc:machten:*:*)
418548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-apple-machten${UNAME_RELEASE}
419548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
420548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    RISC*:Mach:*:*)
421548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-dec-mach_bsd4.3
422548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
423548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    RISC*:ULTRIX:*:*)
424548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-dec-ultrix${UNAME_RELEASE}
425548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
426548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    VAX*:ULTRIX*:*:*)
427548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo vax-dec-ultrix${UNAME_RELEASE}
428548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
429548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    2020:CLIX:*:* | 2430:CLIX:*:*)
430548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo clipper-intergraph-clix${UNAME_RELEASE}
431548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
432548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mips:*:*:UMIPS | mips:*:*:RISCos)
433548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
434548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	sed 's/^	//' << EOF >$dummy.c
435548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#ifdef __cplusplus
436548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <stdio.h>  /* for printf() prototype */
437548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	int main (int argc, char *argv[]) {
438548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#else
439548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	int main (argc, argv) int argc; char *argv[]; {
440548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
441548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined (host_mips) && defined (MIPSEB)
442548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined (SYSTYPE_SYSV)
443548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
444548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
445548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined (SYSTYPE_SVR4)
446548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
447548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
448548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
449548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
450548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
451548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
452548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  exit (-1);
453548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	}
454548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
455548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	$CC_FOR_BUILD -o $dummy $dummy.c &&
456548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
457548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  SYSTEM_NAME=`$dummy $dummyarg` &&
458548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    { echo "$SYSTEM_NAME"; exit; }
459548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-mips-riscos${UNAME_RELEASE}
460548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
461548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Motorola:PowerMAX_OS:*:*)
462548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-motorola-powermax
463548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
464548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Motorola:*:4.3:PL8-*)
465548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-harris-powermax
466548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
467548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
468548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-harris-powermax
469548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
470548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Night_Hawk:Power_UNIX:*:*)
471548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-harris-powerunix
472548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
473548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m88k:CX/UX:7*:*)
474548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-harris-cxux7
475548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
476548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m88k:*:4*:R4*)
477548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-motorola-sysv4
478548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
479548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m88k:*:3*:R3*)
480548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-motorola-sysv3
481548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
482548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    AViiON:dgux:*:*)
483548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # DG/UX returns AViiON for all architectures
484548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        UNAME_PROCESSOR=`/usr/bin/uname -p`
485548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
486548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	then
487548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
488548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	       [ ${TARGET_BINARY_INTERFACE}x = x ]
489548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    then
490548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo m88k-dg-dgux${UNAME_RELEASE}
491548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    else
492548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo m88k-dg-dguxbcs${UNAME_RELEASE}
493548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    fi
494548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
495548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    echo i586-dg-dgux${UNAME_RELEASE}
496548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
497548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen 	exit ;;
498548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
499548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-dolphin-sysv3
500548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
501548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    M88*:*:R3*:*)
502548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Delta 88k system running SVR3
503548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-motorola-sysv3
504548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
505548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
506548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m88k-tektronix-sysv3
507548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
508548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
509548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-tektronix-bsd
510548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
511548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:IRIX*:*:*)
512548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
513548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
514548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
515548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
516548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
517548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:AIX:*:*)
518548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-ibm-aix
519548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
520548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ia64:AIX:*:*)
521548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ -x /usr/bin/oslevel ] ; then
522548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_REV=`/usr/bin/oslevel`
523548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
524548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
525548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
526548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
527548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
528548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:AIX:2:3)
529548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
530548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		eval $set_cc_for_build
531548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		sed 's/^		//' << EOF >$dummy.c
532548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		#include <sys/systemcfg.h>
533548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
534548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		main()
535548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			{
536548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			if (!__power_pc())
537548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen				exit(1);
538548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			puts("powerpc-ibm-aix3.2.5");
539548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			exit(0);
540548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			}
541548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
542548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
543548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		then
544548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			echo "$SYSTEM_NAME"
545548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		else
546548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			echo rs6000-ibm-aix3.2.5
547548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		fi
548548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
549548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo rs6000-ibm-aix3.2.4
550548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
551548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo rs6000-ibm-aix3.2
552548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
553548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
554548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:AIX:*:[456])
555548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
556548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
557548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_ARCH=rs6000
558548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
559548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_ARCH=powerpc
560548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
561548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ -x /usr/bin/oslevel ] ; then
562548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_REV=`/usr/bin/oslevel`
563548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
564548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
565548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
566548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
567548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
568548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:AIX:*:*)
569548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo rs6000-ibm-aix
570548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
571548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
572548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo romp-ibm-bsd4.4
573548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
574548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
575548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
576548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;                             # report: romp-ibm BSD 4.3
577548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:BOSX:*:*)
578548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo rs6000-bull-bosx
579548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
580548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    DPX/2?00:B.O.S.:*:*)
581548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-bull-sysv3
582548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
583548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    9000/[34]??:4.3bsd:1.*:*)
584548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-hp-bsd
585548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
586548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
587548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-hp-bsd4.4
588548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
589548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    9000/[34678]??:HP-UX:*:*)
590548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
591548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "${UNAME_MACHINE}" in
592548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    9000/31? )            HP_ARCH=m68000 ;;
593548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    9000/[34]?? )         HP_ARCH=m68k ;;
594548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    9000/[678][0-9][0-9])
595548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		if [ -x /usr/bin/getconf ]; then
596548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
597548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
598548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                    case "${sc_cpu_version}" in
599548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
600548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
601548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                      532)                      # CPU_PA_RISC2_0
602548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                        case "${sc_kernel_bits}" in
603548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                          32) HP_ARCH="hppa2.0n" ;;
604548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                          64) HP_ARCH="hppa2.0w" ;;
605548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
606548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                        esac ;;
607548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                    esac
608548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		fi
609548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		if [ "${HP_ARCH}" = "" ]; then
610548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    eval $set_cc_for_build
611548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    sed 's/^              //' << EOF >$dummy.c
612548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
613548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #define _HPUX_SOURCE
614548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #include <stdlib.h>
615548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #include <unistd.h>
616548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
617548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              int main ()
618548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              {
619548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #if defined(_SC_KERNEL_BITS)
620548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                  long bits = sysconf(_SC_KERNEL_BITS);
621548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #endif
622548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                  long cpu  = sysconf (_SC_CPU_VERSION);
623548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
624548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                  switch (cpu)
625548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	{
626548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
627548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
628548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	case CPU_PA_RISC2_0:
629548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #if defined(_SC_KERNEL_BITS)
630548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	    switch (bits)
631548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              		{
632548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              		case 64: puts ("hppa2.0w"); break;
633548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              		case 32: puts ("hppa2.0n"); break;
634548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              		default: puts ("hppa2.0"); break;
635548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              		} break;
636548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #else  /* !defined(_SC_KERNEL_BITS) */
637548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	    puts ("hppa2.0"); break;
638548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              #endif
639548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	default: puts ("hppa1.0"); break;
640548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              	}
641548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                  exit (0);
642548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen              }
643548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
644548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
645548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		    test -z "$HP_ARCH" && HP_ARCH=hppa
646548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		fi ;;
647548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
648548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ ${HP_ARCH} = "hppa2.0w" ]
649548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	then
650548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    eval $set_cc_for_build
651548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
652548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
653548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
654548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # generating 64-bit code.  GNU and HP use different nomenclature:
655548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    #
656548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # $ CC_FOR_BUILD=cc ./config.guess
657548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # => hppa2.0w-hp-hpux11.23
658548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
659548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    # => hppa64-hp-hpux11.23
660548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
661548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
662548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		grep -q __LP64__
663548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    then
664548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		HP_ARCH="hppa2.0w"
665548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    else
666548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		HP_ARCH="hppa64"
667548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    fi
668548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
669548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
670548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
671548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ia64:HP-UX:*:*)
672548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
673548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ia64-hp-hpux${HPUX_REV}
674548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
675548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    3050*:HI-UX:*:*)
676548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
677548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	sed 's/^	//' << EOF >$dummy.c
678548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#include <unistd.h>
679548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	int
680548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	main ()
681548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	{
682548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  long cpu = sysconf (_SC_CPU_VERSION);
683548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
684548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
685548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	     results, however.  */
686548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  if (CPU_IS_PA_RISC (cpu))
687548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    {
688548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	      switch (cpu)
689548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		{
690548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
691548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
692548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
693548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  default: puts ("hppa-hitachi-hiuxwe2"); break;
694548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		}
695548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    }
696548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  else if (CPU_IS_HP_MC68K (cpu))
697548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    puts ("m68k-hitachi-hiuxwe2");
698548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  else puts ("unknown-hitachi-hiuxwe2");
699548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  exit (0);
700548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	}
701548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
702548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
703548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		{ echo "$SYSTEM_NAME"; exit; }
704548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo unknown-hitachi-hiuxwe2
705548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
706548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
707548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-hp-bsd
708548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
709548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    9000/8??:4.3bsd:*:*)
710548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.0-hp-bsd
711548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
712548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
713548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.0-hp-mpeix
714548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
715548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
716548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-hp-osf
717548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
718548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    hp8??:OSF1:*:*)
719548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.0-hp-osf
720548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
721548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:OSF1:*:*)
722548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ -x /usr/sbin/sysversion ] ; then
723548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    echo ${UNAME_MACHINE}-unknown-osf1mk
724548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
725548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    echo ${UNAME_MACHINE}-unknown-osf1
726548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
727548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
728548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    parisc*:Lites*:*:*)
729548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-hp-lites
730548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
731548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
732548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c1-convex-bsd
733548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
734548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
735548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if getsysinfo -f scalar_acc
736548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	then echo c32-convex-bsd
737548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else echo c2-convex-bsd
738548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
739548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
740548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
741548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c34-convex-bsd
742548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
743548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
744548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c38-convex-bsd
745548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
746548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
747548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c4-convex-bsd
748548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
749548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    CRAY*Y-MP:*:*:*)
750548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
752548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    CRAY*[A-Z]90:*:*:*)
753548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
754548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
755548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
756548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	      -e 's/\.[^.]*$/.X/'
757548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
758548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    CRAY*TS:*:*:*)
759548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
761548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    CRAY*T3E:*:*:*)
762548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
764548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    CRAY*SV1:*:*:*)
765548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
767548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:UNICOS/mp:*:*)
768548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
769548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
770548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
771548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
772548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
773548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
774548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
775548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
776548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    5000:UNIX_System_V:4.*:*)
777548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
778548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
779548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
780548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
781548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
782548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
783548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
784548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sparc*:BSD/OS:*:*)
785548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-unknown-bsdi${UNAME_RELEASE}
786548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
787548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:BSD/OS:*:*)
788548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
789548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
790548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:FreeBSD:*:*)
791548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case ${UNAME_MACHINE} in
792548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    pc98)
793548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
794548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    amd64)
795548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *)
797548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
799548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
800548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*:CYGWIN*:*)
801548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-cygwin
802548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
803548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:MINGW*:*)
804548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-mingw32
805548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
806548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*:windows32*:*)
807548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	# uname -m includes "-pc" on this system.
808548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	echo ${UNAME_MACHINE}-mingw32
809548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
810548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*:PW*:*)
811548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-pw32
812548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
813548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:Interix*:*)
814548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	case ${UNAME_MACHINE} in
815548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    x86)
816548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo i586-pc-interix${UNAME_RELEASE}
817548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		exit ;;
818548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    authenticamd | genuineintel | EM64T)
819548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo x86_64-unknown-interix${UNAME_RELEASE}
820548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		exit ;;
821548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    IA64)
822548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ia64-unknown-interix${UNAME_RELEASE}
823548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		exit ;;
824548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac ;;
825548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
826548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i${UNAME_MACHINE}-pc-mks
827548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
828548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    8664:Windows_NT:*)
829548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo x86_64-pc-mks
830548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
831548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
832548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# How do we know it's Interix rather than the generic POSIX subsystem?
833548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
834548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# UNAME_MACHINE based on the output of uname instead of i386?
835548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i586-pc-interix
836548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
837548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*:UWIN*:*)
838548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-uwin
839548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
840548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
841548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo x86_64-unknown-cygwin
842548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
843548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    p*:CYGWIN*:*)
844548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpcle-unknown-cygwin
845548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
846548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    prep*:SunOS:5.*:*)
847548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
848548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
849548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:GNU:*:*)
850548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# the GNU system
851548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
852548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
853548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:GNU/*:*:*)
854548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# other systems with GNU libc and userland
855548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
856548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
857548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:Minix:*:*)
858548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-minix
859548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
860548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    alpha:Linux:*:*)
861548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
862548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  EV5)   UNAME_MACHINE=alphaev5 ;;
863548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  EV56)  UNAME_MACHINE=alphaev56 ;;
864548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  PCA56) UNAME_MACHINE=alphapca56 ;;
865548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  PCA57) UNAME_MACHINE=alphapca56 ;;
866548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  EV6)   UNAME_MACHINE=alphaev6 ;;
867548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  EV67)  UNAME_MACHINE=alphaev67 ;;
868548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  EV68*) UNAME_MACHINE=alphaev68 ;;
869548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        esac
870548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	objdump --private-headers /bin/sh | grep -q ld.so.1
871548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
872548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
873548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
874548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    arm*:Linux:*:*)
875548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
876548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
877548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    | grep -q __ARM_EABI__
878548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	then
879548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    echo ${UNAME_MACHINE}-unknown-linux-gnu
880548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
881548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
882548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
883548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
884548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    avr32*:Linux:*:*)
885548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
886548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
887548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    cris:Linux:*:*)
888548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo cris-axis-linux-gnu
889548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
890548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    crisv32:Linux:*:*)
891548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo crisv32-axis-linux-gnu
892548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
893548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    frv:Linux:*:*)
894548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	echo frv-unknown-linux-gnu
895548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
896548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:Linux:*:*)
897548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	LIBC=gnu
898548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
899548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	sed 's/^	//' << EOF >$dummy.c
900548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#ifdef __dietlibc__
901548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	LIBC=dietlibc
902548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
903548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
904548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
905548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
906548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
907548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ia64:Linux:*:*)
908548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
909548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
910548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m32r*:Linux:*:*)
911548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
912548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
913548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m68*:Linux:*:*)
914548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
915548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
916548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mips:Linux:*:* | mips64:Linux:*:*)
917548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval $set_cc_for_build
918548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	sed 's/^	//' << EOF >$dummy.c
919548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#undef CPU
920548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#undef ${UNAME_MACHINE}
921548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#undef ${UNAME_MACHINE}el
922548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
923548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	CPU=${UNAME_MACHINE}el
924548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#else
925548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
926548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	CPU=${UNAME_MACHINE}
927548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#else
928548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	CPU=
929548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
930548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	#endif
931548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
932548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
933548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
934548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	;;
935548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    or32:Linux:*:*)
936548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo or32-unknown-linux-gnu
937548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
938548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    padre:Linux:*:*)
939548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-unknown-linux-gnu
940548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
941548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    parisc64:Linux:*:* | hppa64:Linux:*:*)
942548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa64-unknown-linux-gnu
943548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
944548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    parisc:Linux:*:* | hppa:Linux:*:*)
945548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Look for CPU level
946548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
947548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
948548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
949548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  *)    echo hppa-unknown-linux-gnu ;;
950548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
951548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
952548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ppc64:Linux:*:*)
953548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc64-unknown-linux-gnu
954548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
955548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    ppc:Linux:*:*)
956548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-unknown-linux-gnu
957548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
958548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    s390:Linux:*:* | s390x:Linux:*:*)
959548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-ibm-linux
960548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
961548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sh64*:Linux:*:*)
962548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	echo ${UNAME_MACHINE}-unknown-linux-gnu
963548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
964548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sh*:Linux:*:*)
965548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
966548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
967548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    sparc:Linux:*:* | sparc64:Linux:*:*)
968548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-linux-gnu
969548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
970548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    vax:Linux:*:*)
971548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-dec-linux-gnu
972548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
973548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    x86_64:Linux:*:*)
974548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo x86_64-unknown-linux-gnu
975548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
976548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    xtensa*:Linux:*:*)
977548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	echo ${UNAME_MACHINE}-unknown-linux-gnu
978548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
979548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:DYNIX/ptx:4*:*)
980548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
981548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# earlier versions are messed up and put the nodename in both
982548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# sysname and nodename.
983548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-sequent-sysv4
984548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
985548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:UNIX_SV:4.2MP:2.*)
986548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # Unixware is an offshoot of SVR4, but it has its own version
987548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # number series starting with 2...
988548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # I am not positive that other SVR4 systems won't match this,
989548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# I just have to hope.  -- rms.
990548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # Use sysv4.2uw... so that sysv4* matches it.
991548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
992548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
993548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:OS/2:*:*)
994548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# If we were able to find `uname', then EMX Unix compatibility
995548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# is probably installed.
996548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-os2-emx
997548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
998548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:XTS-300:*:STOP)
999548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-stop
1000548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1001548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:atheos:*:*)
1002548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-atheos
1003548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1004548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:syllable:*:*)
1005548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-syllable
1006548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1007548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1008548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-unknown-lynxos${UNAME_RELEASE}
1009548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1010548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:*DOS:*:*)
1011548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-msdosdjgpp
1012548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1013548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1014548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1015548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1016548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1017548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
1018548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1019548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1020548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1021548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:*:5:[678]*)
1022548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1023548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case `/bin/uname -X | grep "^Machine"` in
1024548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *486*)	     UNAME_MACHINE=i486 ;;
1025548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *Pentium)	     UNAME_MACHINE=i586 ;;
1026548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1027548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
1028548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1029548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1030548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:*:3.2:*)
1031548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test -f /usr/options/cb.name; then
1032548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1033548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1034548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1035548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1036548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1037548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1038548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			&& UNAME_MACHINE=i586
1039548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1040548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			&& UNAME_MACHINE=i686
1041548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1042548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen			&& UNAME_MACHINE=i686
1043548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1044548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
1045548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-pc-sysv32
1046548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1047548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1048548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    pc:*:*:*)
1049548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Left here for compatibility:
1050548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1051548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        # the processor, so we play safe by assuming i586.
1052548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# Note: whatever this is, it MUST be the same as what config.sub
1053548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# prints for the "djgpp" host, or else GDB configury will decide that
1054548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# this is a cross-build.
1055548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i586-pc-msdosdjgpp
1056548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
1057548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Intel:Mach:3*:*)
1058548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-pc-mach3
1059548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1060548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    paragon:*:*:*)
1061548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i860-intel-osf1
1062548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1063548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i860:*:4.*:*) # i860-SVR4
1064548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1065548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1066548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else # Add other i860-SVR4 vendors below as they are discovered.
1067548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1068548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1069548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1070548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mini*:CTIX:SYS*5:*)
1071548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# "miniframe"
1072548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68010-convergent-sysv
1073548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1074548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mc68k:UNIX:SYSTEM5:3.51m)
1075548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-convergent-sysv
1076548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1077548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    M680?0:D-NIX:5.3:*)
1078548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-diab-dnix
1079548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1080548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    M68*:*:R3V[5678]*:*)
1081548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1082548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    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)
1083548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	OS_REL=''
1084548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	test -r /etc/.relid \
1085548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1086548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1087548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1088548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1089548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1090548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1091548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1092548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen          && { echo i486-ncr-sysv4; exit; } ;;
1093548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1094548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	OS_REL='.3'
1095548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	test -r /etc/.relid \
1096548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1101548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1102548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1103548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1104548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-unknown-lynxos${UNAME_RELEASE}
1105548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1106548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mc68030:UNIX_System_V:4.*:*)
1107548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-atari-sysv4
1108548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1109548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    TSUNAMI:LynxOS:2.*:*)
1110548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sparc-unknown-lynxos${UNAME_RELEASE}
1111548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1112548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    rs6000:LynxOS:2.*:*)
1113548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo rs6000-unknown-lynxos${UNAME_RELEASE}
1114548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1115548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1116548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-unknown-lynxos${UNAME_RELEASE}
1117548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1118548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SM[BE]S:UNIX_SV:*:*)
1119548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-dde-sysv${UNAME_RELEASE}
1120548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1121548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    RM*:ReliantUNIX-*:*:*)
1122548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-sni-sysv4
1123548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1124548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    RM*:SINIX-*:*:*)
1125548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-sni-sysv4
1126548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1127548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:SINIX-*:*:*)
1128548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if uname -p 2>/dev/null >/dev/null ; then
1129548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1130548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ${UNAME_MACHINE}-sni-sysv4
1131548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
1132548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		echo ns32k-sni-sysv
1133548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1134548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1135548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1136548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1137548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo i586-unisys-sysv4
1138548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
1139548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:UNIX_System_V:4*:FTX*)
1140548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# From Gerald Hewes <hewes@openmarket.com>.
1141548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# How about differentiating between stratus architectures? -djm
1142548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-stratus-sysv4
1143548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1144548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:*:*:FTX*)
1145548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# From seanf@swdc.stratus.com.
1146548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i860-stratus-sysv4
1147548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1148548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:VOS:*:*)
1149548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# From Paul.Green@stratus.com.
1150548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-stratus-vos
1151548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1152548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:VOS:*:*)
1153548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# From Paul.Green@stratus.com.
1154548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo hppa1.1-stratus-vos
1155548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1156548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    mc68*:A/UX:*:*)
1157548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo m68k-apple-aux${UNAME_RELEASE}
1158548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1159548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    news*:NEWS-OS:6*:*)
1160548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-sony-newsos6
1161548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1162548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1163548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if [ -d /usr/nec ]; then
1164548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	        echo mips-nec-sysv${UNAME_RELEASE}
1165548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
1166548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	        echo mips-unknown-sysv${UNAME_RELEASE}
1167548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1168548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        exit ;;
1169548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1170548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-be-beos
1171548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1172548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1173548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-apple-beos
1174548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1175548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1176548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i586-pc-beos
1177548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1178548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1179548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i586-pc-haiku
1180548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1181548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-4:SUPER-UX:*:*)
1182548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx4-nec-superux${UNAME_RELEASE}
1183548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1184548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-5:SUPER-UX:*:*)
1185548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx5-nec-superux${UNAME_RELEASE}
1186548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1187548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-6:SUPER-UX:*:*)
1188548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx6-nec-superux${UNAME_RELEASE}
1189548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1190548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-7:SUPER-UX:*:*)
1191548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx7-nec-superux${UNAME_RELEASE}
1192548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1193548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-8:SUPER-UX:*:*)
1194548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx8-nec-superux${UNAME_RELEASE}
1195548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1196548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SX-8R:SUPER-UX:*:*)
1197548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo sx8r-nec-superux${UNAME_RELEASE}
1198548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1199548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    Power*:Rhapsody:*:*)
1200548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo powerpc-apple-rhapsody${UNAME_RELEASE}
1201548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1202548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:Rhapsody:*:*)
1203548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1204548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1205548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:Darwin:*:*)
1206548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1207548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case $UNAME_PROCESSOR in
1208548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    i386)
1209548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		eval $set_cc_for_build
1210548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1211548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1212548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1213548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		      grep IS_64BIT_ARCH >/dev/null
1214548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  then
1215548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		      UNAME_PROCESSOR="x86_64"
1216548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		  fi
1217548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		fi ;;
1218548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    unknown) UNAME_PROCESSOR=powerpc ;;
1219548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac
1220548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1221548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1222548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1223548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	UNAME_PROCESSOR=`uname -p`
1224548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test "$UNAME_PROCESSOR" = "x86"; then
1225548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_PROCESSOR=i386
1226548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen		UNAME_MACHINE=pc
1227548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1228548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1229548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1230548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:QNX:*:4*)
1231548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-pc-qnx
1232548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1233548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    NSE-?:NONSTOP_KERNEL:*:*)
1234548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo nse-tandem-nsk${UNAME_RELEASE}
1235548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1236548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    NSR-?:NONSTOP_KERNEL:*:*)
1237548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo nsr-tandem-nsk${UNAME_RELEASE}
1238548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1239548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:NonStop-UX:*:*)
1240548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo mips-compaq-nonstopux
1241548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1242548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    BS2000:POSIX*:*:*)
1243548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo bs2000-siemens-sysv
1244548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1245548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    DS/*:UNIX_System_V:*:*)
1246548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1247548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1248548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:Plan9:*:*)
1249548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# "uname -m" is not consistent, so use $cputype instead. 386
1250548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# is converted to i386 for consistency with other x86
1251548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	# operating systems.
1252548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if test "$cputype" = "386"; then
1253548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    UNAME_MACHINE=i386
1254548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else
1255548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    UNAME_MACHINE="$cputype"
1256548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1257548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-plan9
1258548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1259548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:TOPS-10:*:*)
1260548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-unknown-tops10
1261548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1262548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:TENEX:*:*)
1263548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-unknown-tenex
1264548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1265548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1266548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-dec-tops20
1267548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1268548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1269548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-xkl-tops20
1270548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1271548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:TOPS-20:*:*)
1272548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-unknown-tops20
1273548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1274548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:ITS:*:*)
1275548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo pdp10-unknown-its
1276548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1277548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    SEI:*:*:SEIUX)
1278548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen        echo mips-sei-seiux${UNAME_RELEASE}
1279548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1280548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:DragonFly:*:*)
1281548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1282548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1283548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:*VMS:*:*)
1284548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1285548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	case "${UNAME_MACHINE}" in
1286548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    A*) echo alpha-dec-vms ; exit ;;
1287548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    I*) echo ia64-dec-vms ; exit ;;
1288548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	    V*) echo vax-dec-vms ; exit ;;
1289548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	esac ;;
1290548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    *:XENIX:*:SysV)
1291548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo i386-pc-xenix
1292548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1293548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:skyos:*:*)
1294548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1295548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1296548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:rdos:*:*)
1297548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-rdos
1298548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1299548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    i*86:AROS:*:*)
1300548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo ${UNAME_MACHINE}-pc-aros
1301548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1302548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenesac
1303548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1304548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#echo '(No uname command or uname output not recognized.)' 1>&2
1305548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1306548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1307548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseneval $set_cc_for_build
1308548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissencat >$dummy.c <<EOF
1309548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#ifdef _SEQUENT_
1310548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# include <sys/types.h>
1311548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# include <sys/utsname.h>
1312548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1313548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenmain ()
1314548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen{
1315548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (sony)
1316548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (MIPSEB)
1317548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1318548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen     I don't know....  */
1319548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("mips-sony-bsd\n"); exit (0);
1320548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#else
1321548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#include <sys/param.h>
1322548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("m68k-sony-newsos%s\n",
1323548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#ifdef NEWSOS4
1324548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen          "4"
1325548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#else
1326548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	  ""
1327548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1328548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen         ); exit (0);
1329548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1330548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1331548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1332548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (__arm) && defined (__acorn) && defined (__unix)
1333548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("arm-acorn-riscix\n"); exit (0);
1334548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1335548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1336548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (hp300) && !defined (hpux)
1337548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("m68k-hp-bsd\n"); exit (0);
1338548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1339548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1340548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (NeXT)
1341548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if !defined (__ARCHITECTURE__)
1342548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#define __ARCHITECTURE__ "m68k"
1343548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1344548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  int version;
1345548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1346548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  if (version < 4)
1347548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1348548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  else
1349548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1350548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  exit (0);
1351548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1352548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1353548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (MULTIMAX) || defined (n16)
1354548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (UMAXV)
1355548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("ns32k-encore-sysv\n"); exit (0);
1356548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#else
1357548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (CMU)
1358548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("ns32k-encore-mach\n"); exit (0);
1359548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#else
1360548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("ns32k-encore-bsd\n"); exit (0);
1361548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1362548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1363548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1364548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1365548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (__386BSD__)
1366548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("i386-pc-bsd\n"); exit (0);
1367548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1368548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1369548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (sequent)
1370548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (i386)
1371548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("i386-sequent-dynix\n"); exit (0);
1372548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1373548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (ns32000)
1374548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("ns32k-sequent-dynix\n"); exit (0);
1375548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1376548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1377548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1378548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (_SEQUENT_)
1379548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    struct utsname un;
1380548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1381548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    uname(&un);
1382548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1383548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    if (strncmp(un.version, "V2", 2) == 0) {
1384548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	printf ("i386-sequent-ptx2\n"); exit (0);
1385548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    }
1386548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1387548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	printf ("i386-sequent-ptx1\n"); exit (0);
1388548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    }
1389548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    printf ("i386-sequent-ptx\n"); exit (0);
1390548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1391548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1392548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1393548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (vax)
1394548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# if !defined (ultrix)
1395548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#  include <sys/param.h>
1396548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#  if defined (BSD)
1397548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   if BSD == 43
1398548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen      printf ("vax-dec-bsd4.3\n"); exit (0);
1399548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   else
1400548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#    if BSD == 199006
1401548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1402548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#    else
1403548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen      printf ("vax-dec-bsd\n"); exit (0);
1404548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#    endif
1405548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#   endif
1406548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#  else
1407548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    printf ("vax-dec-bsd\n"); exit (0);
1408548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#  endif
1409548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# else
1410548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    printf ("vax-dec-ultrix\n"); exit (0);
1411548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# endif
1412548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1413548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1414548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#if defined (alliant) && defined (i860)
1415548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  printf ("i860-alliant-bsd\n"); exit (0);
1416548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#endif
1417548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1418548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  exit (1);
1419548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen}
1420548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
1421548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1422548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1423548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	{ echo "$SYSTEM_NAME"; exit; }
1424548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1425548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Apollos put the system type in the environment.
1426548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1427548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissentest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1428548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1429548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Convex versions that predate uname can use getsysinfo(1)
1430548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1431548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenif [ -x /usr/convex/getsysinfo ]
1432548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenthen
1433548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    case `getsysinfo -f cpu_type` in
1434548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    c1*)
1435548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c1-convex-bsd
1436548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1437548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    c2*)
1438548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	if getsysinfo -f scalar_acc
1439548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	then echo c32-convex-bsd
1440548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	else echo c2-convex-bsd
1441548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	fi
1442548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1443548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    c34*)
1444548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c34-convex-bsd
1445548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1446548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    c38*)
1447548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c38-convex-bsd
1448548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1449548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    c4*)
1450548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	echo c4-convex-bsd
1451548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen	exit ;;
1452548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen    esac
1453548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenfi
1454548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1455548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissencat >&2 <<EOF
1456548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen$0: unable to guess system type
1457548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1458548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenThis script, last modified $timestamp, has failed to recognize
1459548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenthe operating system you are using. It is advised that you
1460548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissendownload the most up to date version of the config scripts from
1461548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1462548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1463548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenand
1464548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1465548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1466548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenIf the version you run ($0) is already up to date, please
1467548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissensend the following data and any information you think might be
1468548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenpertinent to <config-patches@gnu.org> in order to provide the needed
1469548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseninformation to handle your system.
1470548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1471548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenconfig.guess timestamp = $timestamp
1472548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1473548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuname -m = `(uname -m) 2>/dev/null || echo unknown`
1474548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuname -r = `(uname -r) 2>/dev/null || echo unknown`
1475548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuname -s = `(uname -s) 2>/dev/null || echo unknown`
1476548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenuname -v = `(uname -v) 2>/dev/null || echo unknown`
1477548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1478548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1479548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1480548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1481548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenhostinfo               = `(hostinfo) 2>/dev/null`
1482548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/bin/universe          = `(/bin/universe) 2>/dev/null`
1483548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1484548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/bin/arch              = `(/bin/arch) 2>/dev/null`
1485548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1486548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1487548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1488548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_MACHINE = ${UNAME_MACHINE}
1489548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_RELEASE = ${UNAME_RELEASE}
1490548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_SYSTEM  = ${UNAME_SYSTEM}
1491548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenUNAME_VERSION = ${UNAME_VERSION}
1492548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenEOF
1493548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1494548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenexit 1
1495548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen
1496548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Local variables:
1497548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# eval: (add-hook 'write-file-hooks 'time-stamp)
1498548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# time-stamp-start: "timestamp='"
1499548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# time-stamp-format: "%:y-%02m-%02d"
1500548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# time-stamp-end: "'"
1501548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# End:
1502