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