11d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#! /bin/sh
21d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Attempt to guess a canonical system name.
31d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
41d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
51d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   2011, 2012 Free Software Foundation, Inc.
61d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
71d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtimestamp='2012-01-01'
81d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
91d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This file is free software; you can redistribute it and/or modify it
101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# under the terms of the GNU General Public License as published by
111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the Free Software Foundation; either version 2 of the License, or
121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# (at your option) any later version.
131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This program is distributed in the hope that it will be useful, but
151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# WITHOUT ANY WARRANTY; without even the implied warranty of
161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# General Public License for more details.
181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# You should have received a copy of the GNU General Public License
201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# along with this program; if not, write to the Free Software
211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# 02110-1301, USA.
231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# As a special exception to the GNU General Public License, if you
251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# distribute this file as part of a program that contains a
261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# configuration script generated by Autoconf, you may include it under
271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the same distribution terms that you use for the rest of that program.
281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Originally written by Per Bothner.  Please send patches (context
311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# diff format) to <config-patches@gnu.org> and include a ChangeLog
321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# entry.
331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This script attempts to guess a canonical system name similar to
351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# config.sub.  If it succeeds, it prints the system name on stdout, and
361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# exits with 0.  Otherwise, it exits with 1.
371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# You can get the latest version of this script from:
391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichme=`echo "$0" | sed -e 's,.*/,,'`
421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichusage="\
441d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUsage: $0 [OPTION]
451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
461d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichOutput the configuration name of the system \`$me' is run on.
471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
481d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichOperation modes:
491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -h, --help         print this help, then exit
501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -t, --time-stamp   print date of last modification, then exit
511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  -v, --version      print version number, then exit
521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
531d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichReport bugs and patches to <config-patches@gnu.org>."
541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichversion="\
561d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichGNU config.guess ($timestamp)
571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
581d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichOriginally written by Per Bothner.
591d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
611d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichFree Software Foundation, Inc.
621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
631d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichThis is free software; see the source for copying conditions.  There is NO
641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichhelp="
671d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichTry \`$me --help' for more information."
681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Parse command line
701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichwhile test $# -gt 0 ; do
711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  case $1 in
721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    --time-stamp | --time* | -t )
731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       echo "$timestamp" ; exit ;;
741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    --version | -v )
751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       echo "$version" ; exit ;;
761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    --help | --h* | -h )
771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       echo "$usage"; exit ;;
781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    -- )     # Stop option processing
791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       shift; break ;;
801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    - )	# Use stdin as input.
811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       break ;;
821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    -* )
831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       echo "$me: invalid option $1$help" >&2
841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       exit 1 ;;
851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    * )
861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich       break ;;
871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  esac
881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdone
891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichif test $# != 0; then
911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  echo "$me: too many arguments$help" >&2
921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  exit 1
931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichfi
941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtrap 'exit 1' 1 2 15
961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# compiler to aid in system detection is discouraged as it requires
991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# temporary files to be created and, as you can see below, it is a
1001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# headache to deal with in a portable fashion.
1011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# use `HOST_CC' if defined, but it is deprecated.
1041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Portable tmp directory creation inspired by the Autoconf team.
1061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichset_cc_for_build='
1081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich: ${TMPDIR=/tmp} ;
1111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdummy=$tmp/dummy ;
1161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase $CC_FOR_BUILD,$HOST_CC,$CC in
1181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich ,,)    echo "int x;" > $dummy.c ;
1191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	for c in cc gcc c89 c99 ; do
1201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	     CC_FOR_BUILD="$c"; break ;
1221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  fi ;
1231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	done ;
1241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test x"$CC_FOR_BUILD" = x ; then
1251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  CC_FOR_BUILD=no_compiler_found ;
1261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
1271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	;;
1281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich ,,*)   CC_FOR_BUILD=$CC ;;
1291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac ; set_cc_for_build= ;'
1311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# (ghazi@noc.rutgers.edu 1994-08-24)
1341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	PATH=$PATH:/.attbin ; export PATH
1361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichfi
1371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1381d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1391d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1401d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1411d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Note: order is significant - the case branches are not exclusive.
1441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
1461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:NetBSD:*:*)
1471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# NetBSD (nbsd) targets should (where applicable) match one or
1481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
1491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# switched to ELF, *-*-netbsd* would select the old
1511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# object file format.  This provides both forward
1521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# compatibility and a consistent mechanism for selecting the
1531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# object file format.
1541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#
1551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Note: NetBSD doesn't particularly care about the vendor
1561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# portion of the name.  We always set it to "unknown".
1571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	sysctl="sysctl -n hw.machine_arch"
1581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "${UNAME_MACHINE_ARCH}" in
1611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    armeb) machine=armeb-unknown ;;
1621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    arm*) machine=arm-unknown ;;
1631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sh3el) machine=shl-unknown ;;
1641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sh3eb) machine=sh-unknown ;;
1651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sh5el) machine=sh5le-unknown ;;
1661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
1671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
1681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# The Operating System including object format, if it has switched
1691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# to ELF recently, or will in the future.
1701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "${UNAME_MACHINE_ARCH}" in
1711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		eval $set_cc_for_build
1731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			| grep -q __ELF__
1751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		then
1761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
1771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    # Return netbsd for either.  FIX?
1781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    os=netbsd
1791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		else
1801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    os=netbsdelf
1811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		fi
1821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
1831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *)
1841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		os=netbsd
1851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
1861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
1871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# The OS release
1881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Debian GNU/NetBSD machines have a different userland, and
1891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# thus, need a distinct triplet. However, they do not need
1901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# kernel version information, so it can be replaced with a
1911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# suitable tag, in the style of linux-gnu.
1921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "${UNAME_VERSION}" in
1931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    Debian*)
1941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		release='-gnu'
1951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
1961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *)
1971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
1991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
2001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# contains redundant information, the shorter form:
2021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "${machine}-${os}${release}"
2041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:OpenBSD:*:*)
2061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:ekkoBSD:*:*)
2101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:SolidBSD:*:*)
2131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    macppc:MirBSD:*:*)
2161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:MirBSD:*:*)
2191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    alpha:OSF1:*:*)
2221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case $UNAME_RELEASE in
2231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	*4.0)
2241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
2261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	*5.*)
2271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
2291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
2301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# According to Compaq, /usr/sbin/psrinfo has been available on
2311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# covers most systems running today.  This code pipes the CPU
2331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# types through head -n 1, so we only detect the type of CPU 0.
2341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "$ALPHA_CPU_TYPE" in
2361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV4 (21064)")
2371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alpha" ;;
2381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV4.5 (21064)")
2391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alpha" ;;
2401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "LCA4 (21066/21068)")
2411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alpha" ;;
2421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV5 (21164)")
2431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev5" ;;
2441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV5.6 (21164A)")
2451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev56" ;;
2461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV5.6 (21164PC)")
2471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphapca56" ;;
2481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV5.7 (21164PC)")
2491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphapca57" ;;
2501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6 (21264)")
2511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev6" ;;
2521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6.7 (21264A)")
2531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev67" ;;
2541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6.8CB (21264C)")
2551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev68" ;;
2561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6.8AL (21264B)")
2571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev68" ;;
2581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6.8CX (21264D)")
2591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev68" ;;
2601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV6.9A (21264/EV69A)")
2611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev69" ;;
2621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV7 (21364)")
2631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev7" ;;
2641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    "EV7.9 (21364A)")
2651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE="alphaev79" ;;
2661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
2671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# A Pn.n version is a patched version.
2681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# A Vn.n version is a released version.
2691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# A Tn.n version is a released field test version.
2701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# A Xn.n version is an unreleased experimental baselevel.
2711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# 1.2 uses "1.2" for uname -r.
2721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
2741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exitcode=$?
2751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	trap '' 0
2761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit $exitcode ;;
2771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Alpha\ *:Windows_NT*:*)
2781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# How do we know it's Interix rather than the generic POSIX subsystem?
2791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Should we change UNAME_MACHINE based on the output of uname instead
2801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# of the specific Alpha model?
2811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo alpha-pc-interix
2821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    21064:Windows_NT:50:3)
2841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo alpha-dec-winnt3.5
2851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Amiga*:UNIX_System_V:4.0:*)
2871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-unknown-sysv4
2881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:[Aa]miga[Oo][Ss]:*:*)
2901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-amigaos
2911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:[Mm]orph[Oo][Ss]:*:*)
2931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-morphos
2941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:OS/390:*:*)
2961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i370-ibm-openedition
2971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
2981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:z/VM:*:*)
2991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo s390-ibm-zvmoe
3001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:OS400:*:*)
3021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-ibm-os400
3031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo arm-acorn-riscix${UNAME_RELEASE}
3061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    arm:riscos:*:*|arm:RISCOS:*:*)
3081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo arm-unknown-riscos
3091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-hitachi-hiuxmpp
3121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo pyramid-pyramid-sysv3
3171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
3181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo pyramid-pyramid-bsd
3191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
3201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    NILE*:*:*:dcosx)
3221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pyramid-pyramid-svr4
3231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    DRS?6000:unix:4.0:6*)
3251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-icl-nx6
3261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case `/usr/bin/uname -p` in
3291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sparc) echo sparc-icl-nx7; exit ;;
3301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac ;;
3311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    s390x:SunOS:*:*)
3321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun4H:SunOS:5.*:*)
3351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
3411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-pc-auroraux${UNAME_RELEASE}
3421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
3441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
3451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	SUN_ARCH="i386"
3461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# If there is a compiler, see if it is configured for 64-bit objects.
3471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
3481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# This test works for both compilers.
3491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
3501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
3511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
3521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		grep IS_64BIT_ARCH >/dev/null
3531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    then
3541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		SUN_ARCH="x86_64"
3551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
3561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
3571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun4*:SunOS:6*:*)
3601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# According to config.sub, this is the proper way to canonicalize
3611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# it's likely to be more like Solaris than SunOS4.
3631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun4*:SunOS:*:*)
3661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "`/usr/bin/arch -k`" in
3671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    Series*|S4*)
3681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_RELEASE=`uname -v`
3691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
3701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
3711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Japanese Language versions have a version number like `4.1.3-JL'.
3721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun3*:SunOS:*:*)
3751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-sun-sunos${UNAME_RELEASE}
3761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sun*:*:4.2BSD:*)
3781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
3791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
3801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "`/bin/arch`" in
3811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sun3)
3821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo m68k-sun-sunos${UNAME_RELEASE}
3831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
3841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    sun4)
3851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo sparc-sun-sunos${UNAME_RELEASE}
3861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		;;
3871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
3881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    aushp:SunOS:*:*)
3901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-auspex-sunos${UNAME_RELEASE}
3911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
3921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # The situation for MiNT is a little confusing.  The machine name
3931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # can be virtually everything (everything which is not
3941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # "atarist" or "atariste" at least should have a processor
3951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
3961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # to the lowercase version "mint" (or "freemint").  Finally
3971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # the system name "TOS" denotes a system which is actually not
3981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # MiNT.  But MiNT is downward compatible to TOS, so this should
3991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    # be no problem.
4001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
4011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-atari-mint${UNAME_RELEASE}
4021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-atari-mint${UNAME_RELEASE}
4051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-atari-mint${UNAME_RELEASE}
4081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
4101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-milan-mint${UNAME_RELEASE}
4111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
4131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-hades-mint${UNAME_RELEASE}
4141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
4161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-unknown-mint${UNAME_RELEASE}
4171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m68k:machten:*:*)
4191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-apple-machten${UNAME_RELEASE}
4201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    powerpc:machten:*:*)
4221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-apple-machten${UNAME_RELEASE}
4231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    RISC*:Mach:*:*)
4251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-dec-mach_bsd4.3
4261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    RISC*:ULTRIX:*:*)
4281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-dec-ultrix${UNAME_RELEASE}
4291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    VAX*:ULTRIX*:*:*)
4311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo vax-dec-ultrix${UNAME_RELEASE}
4321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    2020:CLIX:*:* | 2430:CLIX:*:*)
4341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo clipper-intergraph-clix${UNAME_RELEASE}
4351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mips:*:*:UMIPS | mips:*:*:RISCos)
4371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
4381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	sed 's/^	//' << EOF >$dummy.c
4391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#ifdef __cplusplus
4401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#include <stdio.h>  /* for printf() prototype */
4411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	int main (int argc, char *argv[]) {
4421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#else
4431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	int main (argc, argv) int argc; char *argv[]; {
4441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
4451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined (host_mips) && defined (MIPSEB)
4461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined (SYSTYPE_SYSV)
4471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
4491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined (SYSTYPE_SVR4)
4501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
4521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
4551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
4561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  exit (-1);
4571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	}
4581d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
4591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	$CC_FOR_BUILD -o $dummy $dummy.c &&
4601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  SYSTEM_NAME=`$dummy $dummyarg` &&
4621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    { echo "$SYSTEM_NAME"; exit; }
4631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-mips-riscos${UNAME_RELEASE}
4641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Motorola:PowerMAX_OS:*:*)
4661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-motorola-powermax
4671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Motorola:*:4.3:PL8-*)
4691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-harris-powermax
4701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-harris-powermax
4731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Night_Hawk:Power_UNIX:*:*)
4751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-harris-powerunix
4761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m88k:CX/UX:7*:*)
4781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-harris-cxux7
4791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m88k:*:4*:R4*)
4811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-motorola-sysv4
4821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m88k:*:3*:R3*)
4841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-motorola-sysv3
4851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
4861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    AViiON:dgux:*:*)
4871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# DG/UX returns AViiON for all architectures
4881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_PROCESSOR=`/usr/bin/uname -p`
4891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
4901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	then
4911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
4921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	       [ ${TARGET_BINARY_INTERFACE}x = x ]
4931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    then
4941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo m88k-dg-dgux${UNAME_RELEASE}
4951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    else
4961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo m88k-dg-dguxbcs${UNAME_RELEASE}
4971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
4981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
4991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    echo i586-dg-dgux${UNAME_RELEASE}
5001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
5011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
5031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-dolphin-sysv3
5041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    M88*:*:R3*:*)
5061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Delta 88k system running SVR3
5071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-motorola-sysv3
5081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
5101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m88k-tektronix-sysv3
5111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
5131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-tektronix-bsd
5141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:IRIX*:*:*)
5161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
5171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
5201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
5211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:AIX:*:*)
5221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-ibm-aix
5231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ia64:AIX:*:*)
5251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ -x /usr/bin/oslevel ] ; then
5261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_REV=`/usr/bin/oslevel`
5271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
5281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
5301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:AIX:2:3)
5331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		eval $set_cc_for_build
5351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		sed 's/^		//' << EOF >$dummy.c
5361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#include <sys/systemcfg.h>
5371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
5381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		main()
5391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			{
5401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			if (!__power_pc())
5411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				exit(1);
5421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			puts("powerpc-ibm-aix3.2.5");
5431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			exit(0);
5441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			}
5451d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
5461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		then
5481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			echo "$SYSTEM_NAME"
5491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		else
5501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			echo rs6000-ibm-aix3.2.5
5511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		fi
5521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo rs6000-ibm-aix3.2.4
5541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
5551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo rs6000-ibm-aix3.2
5561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
5571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:AIX:*:[4567])
5591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
5601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_ARCH=rs6000
5621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
5631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_ARCH=powerpc
5641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
5651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ -x /usr/bin/oslevel ] ; then
5661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_REV=`/usr/bin/oslevel`
5671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
5681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
5701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:AIX:*:*)
5731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo rs6000-ibm-aix
5741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
5761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo romp-ibm-bsd4.4
5771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
5791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;                             # report: romp-ibm BSD 4.3
5811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:BOSX:*:*)
5821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo rs6000-bull-bosx
5831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    DPX/2?00:B.O.S.:*:*)
5851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-bull-sysv3
5861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    9000/[34]??:4.3bsd:1.*:*)
5881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-hp-bsd
5891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
5911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-hp-bsd4.4
5921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
5931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    9000/[34678]??:HP-UX:*:*)
5941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
5951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "${UNAME_MACHINE}" in
5961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    9000/31? )            HP_ARCH=m68000 ;;
5971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    9000/[34]?? )         HP_ARCH=m68k ;;
5981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    9000/[678][0-9][0-9])
5991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		if [ -x /usr/bin/getconf ]; then
6001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
6011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    case "${sc_cpu_version}" in
6031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
6041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
6051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      532)                      # CPU_PA_RISC2_0
6061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			case "${sc_kernel_bits}" in
6071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			  32) HP_ARCH="hppa2.0n" ;;
6081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			  64) HP_ARCH="hppa2.0w" ;;
6091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
6101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			esac ;;
6111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    esac
6121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		fi
6131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		if [ "${HP_ARCH}" = "" ]; then
6141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    eval $set_cc_for_build
6151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    sed 's/^		//' << EOF >$dummy.c
6161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
6171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#define _HPUX_SOURCE
6181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#include <stdlib.h>
6191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#include <unistd.h>
6201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
6211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		int main ()
6221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		{
6231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#if defined(_SC_KERNEL_BITS)
6241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    long bits = sysconf(_SC_KERNEL_BITS);
6251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#endif
6261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    long cpu  = sysconf (_SC_CPU_VERSION);
6271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
6281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    switch (cpu)
6291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			{
6301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			case CPU_PA_RISC2_0:
6331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#if defined(_SC_KERNEL_BITS)
6341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			    switch (bits)
6351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				{
6361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				case 64: puts ("hppa2.0w"); break;
6371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				case 32: puts ("hppa2.0n"); break;
6381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				default: puts ("hppa2.0"); break;
6391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich				} break;
6401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#else  /* !defined(_SC_KERNEL_BITS) */
6411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			    puts ("hppa2.0"); break;
6421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		#endif
6431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			default: puts ("hppa1.0"); break;
6441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			}
6451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    exit (0);
6461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		}
6471d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
6481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		    test -z "$HP_ARCH" && HP_ARCH=hppa
6501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		fi ;;
6511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
6521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ ${HP_ARCH} = "hppa2.0w" ]
6531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	then
6541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    eval $set_cc_for_build
6551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
6561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # generating 64-bit code.  GNU and HP use different nomenclature:
6591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    #
6601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # $ CC_FOR_BUILD=cc ./config.guess
6611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # => hppa2.0w-hp-hpux11.23
6621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    # => hppa64-hp-hpux11.23
6641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
6651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		grep -q __LP64__
6671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    then
6681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		HP_ARCH="hppa2.0w"
6691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    else
6701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		HP_ARCH="hppa64"
6711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
6721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
6731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
6751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ia64:HP-UX:*:*)
6761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ia64-hp-hpux${HPUX_REV}
6781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
6791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    3050*:HI-UX:*:*)
6801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
6811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	sed 's/^	//' << EOF >$dummy.c
6821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#include <unistd.h>
6831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	int
6841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	main ()
6851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	{
6861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  long cpu = sysconf (_SC_CPU_VERSION);
6871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
6881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
6891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	     results, however.  */
6901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  if (CPU_IS_PA_RISC (cpu))
6911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    {
6921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	      switch (cpu)
6931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		{
6941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
6951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
6961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
6971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  default: puts ("hppa-hitachi-hiuxwe2"); break;
6981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		}
6991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    }
7001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  else if (CPU_IS_HP_MC68K (cpu))
7011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    puts ("m68k-hitachi-hiuxwe2");
7021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  else puts ("unknown-hitachi-hiuxwe2");
7031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  exit (0);
7041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	}
7051d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
7061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
7071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		{ echo "$SYSTEM_NAME"; exit; }
7081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo unknown-hitachi-hiuxwe2
7091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
7111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-hp-bsd
7121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    9000/8??:4.3bsd:*:*)
7141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.0-hp-bsd
7151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
7171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.0-hp-mpeix
7181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
7201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-hp-osf
7211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    hp8??:OSF1:*:*)
7231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.0-hp-osf
7241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:OSF1:*:*)
7261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ -x /usr/sbin/sysversion ] ; then
7271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    echo ${UNAME_MACHINE}-unknown-osf1mk
7281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
7291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    echo ${UNAME_MACHINE}-unknown-osf1
7301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
7311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    parisc*:Lites*:*:*)
7331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-hp-lites
7341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c1-convex-bsd
7371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if getsysinfo -f scalar_acc
7401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	then echo c32-convex-bsd
7411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else echo c2-convex-bsd
7421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
7431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c34-convex-bsd
7461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c38-convex-bsd
7491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c4-convex-bsd
7521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    CRAY*Y-MP:*:*:*)
7541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    CRAY*[A-Z]90:*:*:*)
7571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	      -e 's/\.[^.]*$/.X/'
7611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    CRAY*TS:*:*:*)
7631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    CRAY*T3E:*:*:*)
7661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    CRAY*SV1:*:*:*)
7691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:UNICOS/mp:*:*)
7721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
7751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
7761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    5000:UNIX_System_V:4.*:*)
7811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
7861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
7871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sparc*:BSD/OS:*:*)
7891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-unknown-bsdi${UNAME_RELEASE}
7901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:BSD/OS:*:*)
7921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
7931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
7941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:FreeBSD:*:*)
7951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_PROCESSOR=`/usr/bin/uname -p`
7961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case ${UNAME_PROCESSOR} in
7971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    amd64)
7981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *)
8001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
8011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
8021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:CYGWIN*:*)
8041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-cygwin
8051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:MINGW*:*)
8071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-mingw32
8081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:MSYS*:*)
8101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-msys
8111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:windows32*:*)
8131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# uname -m includes "-pc" on this system.
8141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-mingw32
8151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:PW*:*)
8171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-pw32
8181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:Interix*:*)
8201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case ${UNAME_MACHINE} in
8211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    x86)
8221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo i586-pc-interix${UNAME_RELEASE}
8231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		exit ;;
8241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    authenticamd | genuineintel | EM64T)
8251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo x86_64-unknown-interix${UNAME_RELEASE}
8261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		exit ;;
8271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    IA64)
8281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ia64-unknown-interix${UNAME_RELEASE}
8291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		exit ;;
8301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac ;;
8311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i${UNAME_MACHINE}-pc-mks
8331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    8664:Windows_NT:*)
8351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo x86_64-pc-mks
8361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
8381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# How do we know it's Interix rather than the generic POSIX subsystem?
8391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
8401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# UNAME_MACHINE based on the output of uname instead of i386?
8411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i586-pc-interix
8421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*:UWIN*:*)
8441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-uwin
8451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo x86_64-unknown-cygwin
8481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    p*:CYGWIN*:*)
8501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpcle-unknown-cygwin
8511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    prep*:SunOS:5.*:*)
8531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:GNU:*:*)
8561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# the GNU system
8571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:GNU/*:*:*)
8601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# other systems with GNU libc and userland
8611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
8621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:Minix:*:*)
8641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-minix
8651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    alpha:Linux:*:*)
8671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
8681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  EV5)   UNAME_MACHINE=alphaev5 ;;
8691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  EV56)  UNAME_MACHINE=alphaev56 ;;
8701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  PCA56) UNAME_MACHINE=alphapca56 ;;
8711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  PCA57) UNAME_MACHINE=alphapca56 ;;
8721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  EV6)   UNAME_MACHINE=alphaev6 ;;
8731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  EV67)  UNAME_MACHINE=alphaev67 ;;
8741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  EV68*) UNAME_MACHINE=alphaev68 ;;
8751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
8761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	objdump --private-headers /bin/sh | grep -q ld.so.1
8771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
8781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
8791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    arm*:Linux:*:*)
8811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
8821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
8831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    | grep -q __ARM_EABI__
8841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	then
8851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    echo ${UNAME_MACHINE}-unknown-linux-gnu
8861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
8871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
8881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		| grep -q __ARM_PCS_VFP
8891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    then
8901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
8911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    else
8921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
8931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    fi
8941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
8951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    avr32*:Linux:*:*)
8971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
8981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
8991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    cris:Linux:*:*)
9001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-axis-linux-gnu
9011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    crisv32:Linux:*:*)
9031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-axis-linux-gnu
9041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    frv:Linux:*:*)
9061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    hexagon:Linux:*:*)
9091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:Linux:*:*)
9121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	LIBC=gnu
9131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
9141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	sed 's/^	//' << EOF >$dummy.c
9151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#ifdef __dietlibc__
9161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	LIBC=dietlibc
9171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
9181d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
9191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
9201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
9211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ia64:Linux:*:*)
9231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m32r*:Linux:*:*)
9261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m68*:Linux:*:*)
9291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mips:Linux:*:* | mips64:Linux:*:*)
9321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval $set_cc_for_build
9331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	sed 's/^	//' << EOF >$dummy.c
9341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#undef CPU
9351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#undef ${UNAME_MACHINE}
9361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#undef ${UNAME_MACHINE}el
9371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
9381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	CPU=${UNAME_MACHINE}el
9391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#else
9401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
9411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	CPU=${UNAME_MACHINE}
9421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#else
9431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	CPU=
9441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
9451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	#endif
9461d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
9471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
9481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
9491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	;;
9501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    or32:Linux:*:*)
9511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    padre:Linux:*:*)
9541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-unknown-linux-gnu
9551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    parisc64:Linux:*:* | hppa64:Linux:*:*)
9571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa64-unknown-linux-gnu
9581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    parisc:Linux:*:* | hppa:Linux:*:*)
9601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Look for CPU level
9611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
9621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
9631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
9641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  *)    echo hppa-unknown-linux-gnu ;;
9651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
9661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ppc64:Linux:*:*)
9681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc64-unknown-linux-gnu
9691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    ppc:Linux:*:*)
9711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-unknown-linux-gnu
9721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    s390:Linux:*:* | s390x:Linux:*:*)
9741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-ibm-linux
9751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sh64*:Linux:*:*)
9771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sh*:Linux:*:*)
9801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    sparc:Linux:*:* | sparc64:Linux:*:*)
9831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    tile*:Linux:*:*)
9861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    vax:Linux:*:*)
9891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-dec-linux-gnu
9901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    x86_64:Linux:*:*)
9921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    xtensa*:Linux:*:*)
9951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-linux-gnu
9961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
9971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:DYNIX/ptx:4*:*)
9981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
9991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# earlier versions are messed up and put the nodename in both
10001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# sysname and nodename.
10011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-sequent-sysv4
10021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:UNIX_SV:4.2MP:2.*)
10041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Unixware is an offshoot of SVR4, but it has its own version
10051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# number series starting with 2...
10061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# I am not positive that other SVR4 systems won't match this,
10071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# I just have to hope.  -- rms.
10081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Use sysv4.2uw... so that sysv4* matches it.
10091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:OS/2:*:*)
10121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# If we were able to find `uname', then EMX Unix compatibility
10131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# is probably installed.
10141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-os2-emx
10151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:XTS-300:*:STOP)
10171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-stop
10181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:atheos:*:*)
10201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-atheos
10211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:syllable:*:*)
10231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-syllable
10241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-unknown-lynxos${UNAME_RELEASE}
10271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:*DOS:*:*)
10291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
10321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
10331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
10341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
10351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
10361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
10371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
10381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:*:5:[678]*)
10401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case `/bin/uname -X | grep "^Machine"` in
10421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *486*)	     UNAME_MACHINE=i486 ;;
10431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *Pentium)	     UNAME_MACHINE=i586 ;;
10441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
10461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:*:3.2:*)
10491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test -f /usr/options/cb.name; then
10501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
10511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
10521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
10541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
10551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
10561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			&& UNAME_MACHINE=i586
10571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
10581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			&& UNAME_MACHINE=i686
10591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
10601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			&& UNAME_MACHINE=i686
10611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
10621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
10631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-pc-sysv32
10641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
10651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    pc:*:*:*)
10671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Left here for compatibility:
10681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# uname -m prints for DJGPP always 'pc', but it prints nothing about
10691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# the processor, so we play safe by assuming i586.
10701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# Note: whatever this is, it MUST be the same as what config.sub
10711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# prints for the "djgpp" host, or else GDB configury will decide that
10721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# this is a cross-build.
10731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i586-pc-msdosdjgpp
10741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Intel:Mach:3*:*)
10761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-pc-mach3
10771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    paragon:*:*:*)
10791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i860-intel-osf1
10801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i860:*:4.*:*) # i860-SVR4
10821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
10831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
10841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else # Add other i860-SVR4 vendors below as they are discovered.
10851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
10861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
10871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mini*:CTIX:SYS*5:*)
10891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# "miniframe"
10901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68010-convergent-sysv
10911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mc68k:UNIX:SYSTEM5:3.51m)
10931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-convergent-sysv
10941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    M680?0:D-NIX:5.3:*)
10961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-diab-dnix
10971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
10981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    M68*:*:R3V[5678]*:*)
10991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    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)
11011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	OS_REL=''
11021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test -r /etc/.relid \
11031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  && { echo i486-ncr-sysv4; exit; } ;;
11111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
11121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	OS_REL='.3'
11131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	test -r /etc/.relid \
11141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
11191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
11201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-unknown-lynxos${UNAME_RELEASE}
11231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mc68030:UNIX_System_V:4.*:*)
11251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-atari-sysv4
11261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    TSUNAMI:LynxOS:2.*:*)
11281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sparc-unknown-lynxos${UNAME_RELEASE}
11291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    rs6000:LynxOS:2.*:*)
11311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
11341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SM[BE]S:UNIX_SV:*:*)
11371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-dde-sysv${UNAME_RELEASE}
11381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    RM*:ReliantUNIX-*:*:*)
11401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-sni-sysv4
11411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    RM*:SINIX-*:*:*)
11431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-sni-sysv4
11441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:SINIX-*:*:*)
11461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if uname -p 2>/dev/null >/dev/null ; then
11471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE=`(uname -p) 2>/dev/null`
11481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ${UNAME_MACHINE}-sni-sysv4
11491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
11501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo ns32k-sni-sysv
11511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
11521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
11541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich			# says <Richard.M.Bartel@ccMail.Census.GOV>
11551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i586-unisys-sysv4
11561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:UNIX_System_V:4*:FTX*)
11581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# From Gerald Hewes <hewes@openmarket.com>.
11591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# How about differentiating between stratus architectures? -djm
11601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-stratus-sysv4
11611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:*:*:FTX*)
11631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# From seanf@swdc.stratus.com.
11641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i860-stratus-sysv4
11651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:VOS:*:*)
11671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# From Paul.Green@stratus.com.
11681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-stratus-vos
11691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:VOS:*:*)
11711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# From Paul.Green@stratus.com.
11721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo hppa1.1-stratus-vos
11731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    mc68*:A/UX:*:*)
11751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo m68k-apple-aux${UNAME_RELEASE}
11761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    news*:NEWS-OS:6*:*)
11781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-sony-newsos6
11791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
11811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if [ -d /usr/nec ]; then
11821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo mips-nec-sysv${UNAME_RELEASE}
11831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
11841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		echo mips-unknown-sysv${UNAME_RELEASE}
11851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
11861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
11881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-be-beos
11891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
11911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-apple-beos
11921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
11941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i586-pc-beos
11951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
11971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i586-pc-haiku
11981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
11991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-4:SUPER-UX:*:*)
12001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx4-nec-superux${UNAME_RELEASE}
12011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-5:SUPER-UX:*:*)
12031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx5-nec-superux${UNAME_RELEASE}
12041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-6:SUPER-UX:*:*)
12061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx6-nec-superux${UNAME_RELEASE}
12071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-7:SUPER-UX:*:*)
12091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx7-nec-superux${UNAME_RELEASE}
12101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-8:SUPER-UX:*:*)
12121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx8-nec-superux${UNAME_RELEASE}
12131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SX-8R:SUPER-UX:*:*)
12151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo sx8r-nec-superux${UNAME_RELEASE}
12161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    Power*:Rhapsody:*:*)
12181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:Rhapsody:*:*)
12211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:Darwin:*:*)
12241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case $UNAME_PROCESSOR in
12261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    i386)
12271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		eval $set_cc_for_build
12281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
12291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
12301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
12311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      grep IS_64BIT_ARCH >/dev/null
12321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  then
12331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      UNAME_PROCESSOR="x86_64"
12341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		  fi
12351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		fi ;;
12361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    unknown) UNAME_PROCESSOR=powerpc ;;
12371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac
12381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:procnto*:*:* | *:QNX:[0123456789]*:*)
12411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_PROCESSOR=`uname -p`
12421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "$UNAME_PROCESSOR" = "x86"; then
12431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_PROCESSOR=i386
12441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		UNAME_MACHINE=pc
12451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
12461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:QNX:*:4*)
12491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-pc-qnx
12501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    NEO-?:NONSTOP_KERNEL:*:*)
12521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo neo-tandem-nsk${UNAME_RELEASE}
12531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    NSE-?:NONSTOP_KERNEL:*:*)
12551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo nse-tandem-nsk${UNAME_RELEASE}
12561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    NSR-?:NONSTOP_KERNEL:*:*)
12581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo nsr-tandem-nsk${UNAME_RELEASE}
12591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:NonStop-UX:*:*)
12611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-compaq-nonstopux
12621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    BS2000:POSIX*:*:*)
12641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo bs2000-siemens-sysv
12651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    DS/*:UNIX_System_V:*:*)
12671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
12681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:Plan9:*:*)
12701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# "uname -m" is not consistent, so use $cputype instead. 386
12711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# is converted to i386 for consistency with other x86
12721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	# operating systems.
12731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "$cputype" = "386"; then
12741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    UNAME_MACHINE=i386
12751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else
12761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    UNAME_MACHINE="$cputype"
12771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
12781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-plan9
12791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:TOPS-10:*:*)
12811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-unknown-tops10
12821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:TENEX:*:*)
12841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-unknown-tenex
12851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
12871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-dec-tops20
12881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
12901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-xkl-tops20
12911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:TOPS-20:*:*)
12931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-unknown-tops20
12941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:ITS:*:*)
12961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo pdp10-unknown-its
12971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
12981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    SEI:*:*:SEIUX)
12991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo mips-sei-seiux${UNAME_RELEASE}
13001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:DragonFly:*:*)
13021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:*VMS:*:*)
13051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	case "${UNAME_MACHINE}" in
13071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    A*) echo alpha-dec-vms ; exit ;;
13081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    I*) echo ia64-dec-vms ; exit ;;
13091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    V*) echo vax-dec-vms ; exit ;;
13101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	esac ;;
13111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *:XENIX:*:SysV)
13121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo i386-pc-xenix
13131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:skyos:*:*)
13151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:rdos:*:*)
13181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-rdos
13191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    i*86:AROS:*:*)
13211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo ${UNAME_MACHINE}-pc-aros
13221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
13231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac
13241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#echo '(No uname command or uname output not recognized.)' 1>&2
13261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
13271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevicheval $set_cc_for_build
13291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcat >$dummy.c <<EOF
13301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#ifdef _SEQUENT_
13311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# include <sys/types.h>
13321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# include <sys/utsname.h>
13331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichmain ()
13351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich{
13361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (sony)
13371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (MIPSEB)
13381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
13391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich     I don't know....  */
13401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("mips-sony-bsd\n"); exit (0);
13411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#else
13421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#include <sys/param.h>
13431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("m68k-sony-newsos%s\n",
13441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#ifdef NEWSOS4
13451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	"4"
13461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#else
13471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	""
13481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	); exit (0);
13501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (__arm) && defined (__acorn) && defined (__unix)
13541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("arm-acorn-riscix\n"); exit (0);
13551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (hp300) && !defined (hpux)
13581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("m68k-hp-bsd\n"); exit (0);
13591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (NeXT)
13621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if !defined (__ARCHITECTURE__)
13631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#define __ARCHITECTURE__ "m68k"
13641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  int version;
13661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
13671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  if (version < 4)
13681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
13691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  else
13701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
13711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  exit (0);
13721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (MULTIMAX) || defined (n16)
13751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (UMAXV)
13761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("ns32k-encore-sysv\n"); exit (0);
13771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#else
13781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (CMU)
13791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("ns32k-encore-mach\n"); exit (0);
13801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#else
13811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("ns32k-encore-bsd\n"); exit (0);
13821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (__386BSD__)
13871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("i386-pc-bsd\n"); exit (0);
13881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (sequent)
13911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (i386)
13921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("i386-sequent-dynix\n"); exit (0);
13931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (ns32000)
13951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("ns32k-sequent-dynix\n"); exit (0);
13961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
13981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
13991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (_SEQUENT_)
14001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    struct utsname un;
14011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    uname(&un);
14031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if (strncmp(un.version, "V2", 2) == 0) {
14051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	printf ("i386-sequent-ptx2\n"); exit (0);
14061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    }
14071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
14081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	printf ("i386-sequent-ptx1\n"); exit (0);
14091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    }
14101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    printf ("i386-sequent-ptx\n"); exit (0);
14111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
14131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (vax)
14151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# if !defined (ultrix)
14161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#  include <sys/param.h>
14171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#  if defined (BSD)
14181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   if BSD == 43
14191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      printf ("vax-dec-bsd4.3\n"); exit (0);
14201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   else
14211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#    if BSD == 199006
14221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      printf ("vax-dec-bsd4.3reno\n"); exit (0);
14231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#    else
14241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      printf ("vax-dec-bsd\n"); exit (0);
14251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#    endif
14261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   endif
14271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#  else
14281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    printf ("vax-dec-bsd\n"); exit (0);
14291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#  endif
14301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# else
14311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    printf ("vax-dec-ultrix\n"); exit (0);
14321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# endif
14331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
14341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#if defined (alliant) && defined (i860)
14361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  printf ("i860-alliant-bsd\n"); exit (0);
14371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#endif
14381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  exit (1);
14401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich}
14411d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
14421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	{ echo "$SYSTEM_NAME"; exit; }
14451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Apollos put the system type in the environment.
14471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
14491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Convex versions that predate uname can use getsysinfo(1)
14511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichif [ -x /usr/convex/getsysinfo ]
14531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichthen
14541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    case `getsysinfo -f cpu_type` in
14551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    c1*)
14561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c1-convex-bsd
14571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
14581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    c2*)
14591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if getsysinfo -f scalar_acc
14601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	then echo c32-convex-bsd
14611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	else echo c2-convex-bsd
14621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
14631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
14641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    c34*)
14651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c34-convex-bsd
14661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
14671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    c38*)
14681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c38-convex-bsd
14691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
14701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    c4*)
14711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	echo c4-convex-bsd
14721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	exit ;;
14731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    esac
14741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichfi
14751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcat >&2 <<EOF
14771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich$0: unable to guess system type
14781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14791d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichThis script, last modified $timestamp, has failed to recognize
14801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichthe operating system you are using. It is advised that you
14811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdownload the most up to date version of the config scripts from
14821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
14841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichand
14851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
14861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14871d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichIf the version you run ($0) is already up to date, please
14881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichsend the following data and any information you think might be
14891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichpertinent to <config-patches@gnu.org> in order to provide the needed
14901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichinformation to handle your system.
14911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichconfig.guess timestamp = $timestamp
14931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichuname -m = `(uname -m) 2>/dev/null || echo unknown`
14951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichuname -r = `(uname -r) 2>/dev/null || echo unknown`
14961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichuname -s = `(uname -s) 2>/dev/null || echo unknown`
14971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichuname -v = `(uname -v) 2>/dev/null || echo unknown`
14981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
14991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
15001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
15011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
15021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichhostinfo               = `(hostinfo) 2>/dev/null`
15031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/bin/universe          = `(/bin/universe) 2>/dev/null`
15041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
15051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/bin/arch              = `(/bin/arch) 2>/dev/null`
15061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
15071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
15081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
15091d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_MACHINE = ${UNAME_MACHINE}
15101d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_RELEASE = ${UNAME_RELEASE}
15111d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_SYSTEM  = ${UNAME_SYSTEM}
15121d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichUNAME_VERSION = ${UNAME_VERSION}
15131d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichEOF
15141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
15151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichexit 1
15161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
15171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Local variables:
15181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# eval: (add-hook 'write-file-hooks 'time-stamp)
15191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-start: "timestamp='"
15201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-format: "%:y-%02m-%02d"
15211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# time-stamp-end: "'"
15221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# End:
1523