13aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#! /bin/sh
23aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Attempt to guess a canonical system name.
33aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
43aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
53aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Free Software Foundation, Inc.
63aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtimestamp='2008-01-23'
83aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
93aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This file is free software; you can redistribute it and/or modify it
103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# under the terms of the GNU General Public License as published by
113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the Free Software Foundation; either version 2 of the License, or
123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# (at your option) any later version.
133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This program is distributed in the hope that it will be useful, but
153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# WITHOUT ANY WARRANTY; without even the implied warranty of
163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# General Public License for more details.
183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# You should have received a copy of the GNU General Public License
203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# along with this program; if not, write to the Free Software
213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 02110-1301, USA.
233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# As a special exception to the GNU General Public License, if you
253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# distribute this file as part of a program that contains a
263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# configuration script generated by Autoconf, you may include it under
273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the same distribution terms that you use for the rest of that program.
283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Originally written by Per Bothner <per@bothner.com>.
313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Please send patches to <config-patches@gnu.org>.  Submit a context
323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# diff and a properly formatted ChangeLog entry.
333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This script attempts to guess a canonical system name similar to
353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# config.sub.  If it succeeds, it prints the system name on stdout, and
363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# exits with 0.  Otherwise, it exits with 1.
373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# The plan is that this can be called by configure scripts if you
393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# don't specify an explicit build system type.
403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevme=`echo "$0" | sed -e 's,.*/,,'`
423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevusage="\
443aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUsage: $0 [OPTION]
453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
463aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevOutput the configuration name of the system \`$me' is run on.
473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevOperation modes:
493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -h, --help         print this help, then exit
503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -t, --time-stamp   print date of last modification, then exit
513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -v, --version      print version number, then exit
523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
533aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevReport bugs and patches to <config-patches@gnu.org>."
543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevversion="\
563aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGNU config.guess ($timestamp)
573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
583aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevOriginally written by Per Bothner.
593aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevThis is free software; see the source for copying conditions.  There is NO
633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhelp="
663aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevTry \`$me --help' for more information."
673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Parse command line
693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwhile test $# -gt 0 ; do
703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $1 in
713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --time-stamp | --time* | -t )
723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       echo "$timestamp" ; exit ;;
733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --version | -v )
743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       echo "$version" ; exit ;;
753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --help | --h* | -h )
763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       echo "$usage"; exit ;;
773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    -- )     # Stop option processing
783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       shift; break ;;
793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    - )	# Use stdin as input.
803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       break ;;
813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    -* )
823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       echo "$me: invalid option $1$help" >&2
833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       exit 1 ;;
843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    * )
853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       break ;;
863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test $# != 0; then
903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo "$me: too many arguments$help" >&2
913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exit 1
923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtrap 'exit 1' 1 2 15
953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# compiler to aid in system detection is discouraged as it requires
983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# temporary files to be created and, as you can see below, it is a
993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# headache to deal with in a portable fashion.
1003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
1023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# use `HOST_CC' if defined, but it is deprecated.
1033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Portable tmp directory creation inspired by the Autoconf team.
1053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevset_cc_for_build='
1073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
1083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
1093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev: ${TMPDIR=/tmp} ;
1103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
1113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
1123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
1133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
1143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdummy=$tmp/dummy ;
1153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
1163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $CC_FOR_BUILD,$HOST_CC,$CC in
1173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ,,)    echo "int x;" > $dummy.c ;
1183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	for c in cc gcc c89 c99 ; do
1193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
1203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     CC_FOR_BUILD="$c"; break ;
1213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi ;
1223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	done ;
1233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test x"$CC_FOR_BUILD" = x ; then
1243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC_FOR_BUILD=no_compiler_found ;
1253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
1263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
1273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ,,*)   CC_FOR_BUILD=$CC ;;
1283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac ; set_cc_for_build= ;'
1303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
1323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# (ghazi@noc.rutgers.edu 1994-08-24)
1333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
1343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	PATH=$PATH:/.attbin ; export PATH
1353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
1363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1373aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1383aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1393aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
1403aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Note: order is significant - the case branches are not exclusive.
1433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
1453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:NetBSD:*:*)
1463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# NetBSD (nbsd) targets should (where applicable) match one or
1473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
1483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
1493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# switched to ELF, *-*-netbsd* would select the old
1503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# object file format.  This provides both forward
1513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# compatibility and a consistent mechanism for selecting the
1523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# object file format.
1533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#
1543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Note: NetBSD doesn't particularly care about the vendor
1553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# portion of the name.  We always set it to "unknown".
1563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sysctl="sysctl -n hw.machine_arch"
1573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
1583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
1593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "${UNAME_MACHINE_ARCH}" in
1603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    armeb) machine=armeb-unknown ;;
1613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    arm*) machine=arm-unknown ;;
1623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sh3el) machine=shl-unknown ;;
1633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sh3eb) machine=sh-unknown ;;
1643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sh5el) machine=sh5le-unknown ;;
1653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
1663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
1673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# The Operating System including object format, if it has switched
1683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# to ELF recently, or will in the future.
1693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "${UNAME_MACHINE_ARCH}" in
1703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
1713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		eval $set_cc_for_build
1723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
1733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			| grep __ELF__ >/dev/null
1743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		then
1753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
1763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    # Return netbsd for either.  FIX?
1773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    os=netbsd
1783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		else
1793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    os=netbsdelf
1803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		fi
1813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
1823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *)
1833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        os=netbsd
1843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
1853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
1863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# The OS release
1873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Debian GNU/NetBSD machines have a different userland, and
1883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# thus, need a distinct triplet. However, they do not need
1893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# kernel version information, so it can be replaced with a
1903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# suitable tag, in the style of linux-gnu.
1913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "${UNAME_VERSION}" in
1923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    Debian*)
1933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		release='-gnu'
1943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
1953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *)
1963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
1973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
1983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
1993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# contains redundant information, the shorter form:
2013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo "${machine}-${os}${release}"
2033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:OpenBSD:*:*)
2053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:ekkoBSD:*:*)
2093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:SolidBSD:*:*)
2123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    macppc:MirBSD:*:*)
2153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:MirBSD:*:*)
2183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    alpha:OSF1:*:*)
2213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $UNAME_RELEASE in
2223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*4.0)
2233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
2253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*5.*)
2263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
2283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
2293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# According to Compaq, /usr/sbin/psrinfo has been available on
2303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# covers most systems running today.  This code pipes the CPU
2323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# types through head -n 1, so we only detect the type of CPU 0.
2333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "$ALPHA_CPU_TYPE" in
2353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV4 (21064)")
2363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alpha" ;;
2373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV4.5 (21064)")
2383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alpha" ;;
2393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "LCA4 (21066/21068)")
2403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alpha" ;;
2413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV5 (21164)")
2423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev5" ;;
2433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV5.6 (21164A)")
2443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev56" ;;
2453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV5.6 (21164PC)")
2463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphapca56" ;;
2473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV5.7 (21164PC)")
2483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphapca57" ;;
2493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6 (21264)")
2503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev6" ;;
2513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6.7 (21264A)")
2523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev67" ;;
2533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6.8CB (21264C)")
2543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev68" ;;
2553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6.8AL (21264B)")
2563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev68" ;;
2573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6.8CX (21264D)")
2583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev68" ;;
2593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV6.9A (21264/EV69A)")
2603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev69" ;;
2613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV7 (21364)")
2623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev7" ;;
2633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    "EV7.9 (21364A)")
2643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE="alphaev79" ;;
2653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
2663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# A Pn.n version is a patched version.
2673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# A Vn.n version is a released version.
2683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# A Tn.n version is a released field test version.
2693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# A Xn.n version is an unreleased experimental baselevel.
2703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# 1.2 uses "1.2" for uname -r.
2713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Alpha\ *:Windows_NT*:*)
2743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# How do we know it's Interix rather than the generic POSIX subsystem?
2753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Should we change UNAME_MACHINE based on the output of uname instead
2763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# of the specific Alpha model?
2773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo alpha-pc-interix
2783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    21064:Windows_NT:50:3)
2803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo alpha-dec-winnt3.5
2813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Amiga*:UNIX_System_V:4.0:*)
2833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-unknown-sysv4
2843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:[Aa]miga[Oo][Ss]:*:*)
2863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-amigaos
2873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:[Mm]orph[Oo][Ss]:*:*)
2893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-morphos
2903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:OS/390:*:*)
2923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i370-ibm-openedition
2933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:z/VM:*:*)
2953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo s390-ibm-zvmoe
2963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
2973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:OS400:*:*)
2983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo powerpc-ibm-os400
2993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo arm-acorn-riscix${UNAME_RELEASE}
3023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    arm:riscos:*:*|arm:RISCOS:*:*)
3043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo arm-unknown-riscos
3053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
3073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-hitachi-hiuxmpp
3083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
3103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
3113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "`(/bin/universe) 2>/dev/null`" = att ; then
3123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo pyramid-pyramid-sysv3
3133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
3143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo pyramid-pyramid-bsd
3153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
3163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    NILE*:*:*:dcosx)
3183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pyramid-pyramid-svr4
3193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DRS?6000:unix:4.0:6*)
3213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-icl-nx6
3223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
3243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `/usr/bin/uname -p` in
3253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sparc) echo sparc-icl-nx7; exit ;;
3263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac ;;
3273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun4H:SunOS:5.*:*)
3283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
3343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun4*:SunOS:6*:*)
3373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# According to config.sub, this is the proper way to canonicalize
3383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
3393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# it's likely to be more like Solaris than SunOS4.
3403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun4*:SunOS:*:*)
3433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "`/usr/bin/arch -k`" in
3443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    Series*|S4*)
3453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_RELEASE=`uname -v`
3463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
3473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
3483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Japanese Language versions have a version number like `4.1.3-JL'.
3493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun3*:SunOS:*:*)
3523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-sun-sunos${UNAME_RELEASE}
3533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sun*:*:4.2BSD:*)
3553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
3563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
3573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "`/bin/arch`" in
3583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sun3)
3593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo m68k-sun-sunos${UNAME_RELEASE}
3603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
3613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    sun4)
3623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo sparc-sun-sunos${UNAME_RELEASE}
3633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
3643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
3653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aushp:SunOS:*:*)
3673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-auspex-sunos${UNAME_RELEASE}
3683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # The situation for MiNT is a little confusing.  The machine name
3703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # can be virtually everything (everything which is not
3713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # "atarist" or "atariste" at least should have a processor
3723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
3733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # to the lowercase version "mint" (or "freemint").  Finally
3743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # the system name "TOS" denotes a system which is actually not
3753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # MiNT.  But MiNT is downward compatible to TOS, so this should
3763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # be no problem.
3773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
3783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo m68k-atari-mint${UNAME_RELEASE}
3793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
3813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-atari-mint${UNAME_RELEASE}
3823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
3833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
3843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo m68k-atari-mint${UNAME_RELEASE}
3853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
3873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo m68k-milan-mint${UNAME_RELEASE}
3883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
3893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
3903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo m68k-hades-mint${UNAME_RELEASE}
3913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
3923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
3933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo m68k-unknown-mint${UNAME_RELEASE}
3943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
3953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m68k:machten:*:*)
3963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-apple-machten${UNAME_RELEASE}
3973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
3983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    powerpc:machten:*:*)
3993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-apple-machten${UNAME_RELEASE}
4003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    RISC*:Mach:*:*)
4023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-dec-mach_bsd4.3
4033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    RISC*:ULTRIX:*:*)
4053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-dec-ultrix${UNAME_RELEASE}
4063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    VAX*:ULTRIX*:*:*)
4083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo vax-dec-ultrix${UNAME_RELEASE}
4093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    2020:CLIX:*:* | 2430:CLIX:*:*)
4113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo clipper-intergraph-clix${UNAME_RELEASE}
4123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mips:*:*:UMIPS | mips:*:*:RISCos)
4143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
4153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sed 's/^	//' << EOF >$dummy.c
4163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus
4173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <stdio.h>  /* for printf() prototype */
4183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	int main (int argc, char *argv[]) {
4193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
4203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	int main (argc, argv) int argc; char *argv[]; {
4213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
4223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined (host_mips) && defined (MIPSEB)
4233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined (SYSTYPE_SYSV)
4243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
4253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
4263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined (SYSTYPE_SVR4)
4273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
4283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
4293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
4303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
4313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
4323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
4333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  exit (-1);
4343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	}
4353aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
4363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	$CC_FOR_BUILD -o $dummy $dummy.c &&
4373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  SYSTEM_NAME=`$dummy $dummyarg` &&
4393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    { echo "$SYSTEM_NAME"; exit; }
4403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-mips-riscos${UNAME_RELEASE}
4413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Motorola:PowerMAX_OS:*:*)
4433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-motorola-powermax
4443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Motorola:*:4.3:PL8-*)
4463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-harris-powermax
4473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-harris-powermax
4503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Night_Hawk:Power_UNIX:*:*)
4523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-harris-powerunix
4533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m88k:CX/UX:7*:*)
4553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-harris-cxux7
4563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m88k:*:4*:R4*)
4583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-motorola-sysv4
4593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m88k:*:3*:R3*)
4613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-motorola-sysv3
4623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AViiON:dgux:*:*)
4643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # DG/UX returns AViiON for all architectures
4653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        UNAME_PROCESSOR=`/usr/bin/uname -p`
4663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
4673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	then
4683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
4693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	       [ ${TARGET_BINARY_INTERFACE}x = x ]
4703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    then
4713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo m88k-dg-dgux${UNAME_RELEASE}
4723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    else
4733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo m88k-dg-dguxbcs${UNAME_RELEASE}
4743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
4753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
4763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo i586-dg-dgux${UNAME_RELEASE}
4773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
4783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 	exit ;;
4793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
4803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-dolphin-sysv3
4813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    M88*:*:R3*:*)
4833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Delta 88k system running SVR3
4843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-motorola-sysv3
4853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
4873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m88k-tektronix-sysv3
4883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
4903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-tektronix-bsd
4913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:IRIX*:*:*)
4933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
4943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
4953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
4963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
4973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
4983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:AIX:*:*)
4993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-ibm-aix
5003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ia64:AIX:*:*)
5023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ -x /usr/bin/oslevel ] ; then
5033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_REV=`/usr/bin/oslevel`
5043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
5053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
5073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:AIX:2:3)
5103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		eval $set_cc_for_build
5123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		sed 's/^		//' << EOF >$dummy.c
5133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		#include <sys/systemcfg.h>
5143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		main()
5163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			{
5173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			if (!__power_pc())
5183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				exit(1);
5193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			puts("powerpc-ibm-aix3.2.5");
5203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			exit(0);
5213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			}
5223aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
5233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		then
5253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			echo "$SYSTEM_NAME"
5263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		else
5273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			echo rs6000-ibm-aix3.2.5
5283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		fi
5293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
5303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo rs6000-ibm-aix3.2.4
5313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
5323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo rs6000-ibm-aix3.2
5333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
5343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:AIX:*:[456])
5363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
5373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
5383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_ARCH=rs6000
5393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
5403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_ARCH=powerpc
5413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
5423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ -x /usr/bin/oslevel ] ; then
5433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_REV=`/usr/bin/oslevel`
5443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
5453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
5463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
5473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:AIX:*:*)
5503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo rs6000-ibm-aix
5513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
5533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo romp-ibm-bsd4.4
5543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
5563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;                             # report: romp-ibm BSD 4.3
5583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:BOSX:*:*)
5593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo rs6000-bull-bosx
5603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DPX/2?00:B.O.S.:*:*)
5623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-bull-sysv3
5633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    9000/[34]??:4.3bsd:1.*:*)
5653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-hp-bsd
5663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
5683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-hp-bsd4.4
5693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
5703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    9000/[34678]??:HP-UX:*:*)
5713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
5723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "${UNAME_MACHINE}" in
5733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    9000/31? )            HP_ARCH=m68000 ;;
5743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    9000/[34]?? )         HP_ARCH=m68k ;;
5753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    9000/[678][0-9][0-9])
5763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		if [ -x /usr/bin/getconf ]; then
5773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
5783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
5793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                    case "${sc_cpu_version}" in
5803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
5813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
5823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                      532)                      # CPU_PA_RISC2_0
5833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                        case "${sc_kernel_bits}" in
5843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                          32) HP_ARCH="hppa2.0n" ;;
5853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                          64) HP_ARCH="hppa2.0w" ;;
5863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
5873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                        esac ;;
5883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                    esac
5893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		fi
5903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		if [ "${HP_ARCH}" = "" ]; then
5913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    eval $set_cc_for_build
5923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    sed 's/^              //' << EOF >$dummy.c
5933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #define _HPUX_SOURCE
5953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #include <stdlib.h>
5963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #include <unistd.h>
5973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              int main ()
5993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              {
6003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #if defined(_SC_KERNEL_BITS)
6013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                  long bits = sysconf(_SC_KERNEL_BITS);
6023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #endif
6033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                  long cpu  = sysconf (_SC_CPU_VERSION);
6043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                  switch (cpu)
6063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	{
6073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
6083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
6093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	case CPU_PA_RISC2_0:
6103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #if defined(_SC_KERNEL_BITS)
6113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	    switch (bits)
6123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              		{
6133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              		case 64: puts ("hppa2.0w"); break;
6143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              		case 32: puts ("hppa2.0n"); break;
6153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              		default: puts ("hppa2.0"); break;
6163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              		} break;
6173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #else  /* !defined(_SC_KERNEL_BITS) */
6183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	    puts ("hppa2.0"); break;
6193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              #endif
6203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	default: puts ("hppa1.0"); break;
6213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              	}
6223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                  exit (0);
6233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              }
6243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
6253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
6263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    test -z "$HP_ARCH" && HP_ARCH=hppa
6273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		fi ;;
6283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
6293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ ${HP_ARCH} = "hppa2.0w" ]
6303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	then
6313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    eval $set_cc_for_build
6323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # generating 64-bit code.  GNU and HP use different nomenclature:
6363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    #
6373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # $ CC_FOR_BUILD=cc ./config.guess
6383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # => hppa2.0w-hp-hpux11.23
6393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # => hppa64-hp-hpux11.23
6413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		grep __LP64__ >/dev/null
6443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    then
6453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		HP_ARCH="hppa2.0w"
6463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    else
6473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		HP_ARCH="hppa64"
6483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
6493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
6503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ia64:HP-UX:*:*)
6533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
6543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ia64-hp-hpux${HPUX_REV}
6553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    3050*:HI-UX:*:*)
6573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
6583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sed 's/^	//' << EOF >$dummy.c
6593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#include <unistd.h>
6603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	int
6613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	main ()
6623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	{
6633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  long cpu = sysconf (_SC_CPU_VERSION);
6643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
6653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
6663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     results, however.  */
6673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if (CPU_IS_PA_RISC (cpu))
6683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    {
6693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      switch (cpu)
6703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		{
6713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
6723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
6733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
6743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  default: puts ("hppa-hitachi-hiuxwe2"); break;
6753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		}
6763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    }
6773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else if (CPU_IS_HP_MC68K (cpu))
6783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    puts ("m68k-hitachi-hiuxwe2");
6793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else puts ("unknown-hitachi-hiuxwe2");
6803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  exit (0);
6813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	}
6823aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
6833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
6843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		{ echo "$SYSTEM_NAME"; exit; }
6853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo unknown-hitachi-hiuxwe2
6863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
6883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-hp-bsd
6893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    9000/8??:4.3bsd:*:*)
6913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.0-hp-bsd
6923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
6943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.0-hp-mpeix
6953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
6973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-hp-osf
6983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
6993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hp8??:OSF1:*:*)
7003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.0-hp-osf
7013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:OSF1:*:*)
7033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ -x /usr/sbin/sysversion ] ; then
7043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo ${UNAME_MACHINE}-unknown-osf1mk
7053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
7063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo ${UNAME_MACHINE}-unknown-osf1
7073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
7083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    parisc*:Lites*:*:*)
7103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-hp-lites
7113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
7133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c1-convex-bsd
7143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
7163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if getsysinfo -f scalar_acc
7173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	then echo c32-convex-bsd
7183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else echo c2-convex-bsd
7193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
7203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
7223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c34-convex-bsd
7233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
7253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c38-convex-bsd
7263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
7283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c4-convex-bsd
7293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CRAY*Y-MP:*:*:*)
7313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CRAY*[A-Z]90:*:*:*)
7343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
7353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
7363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
7373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      -e 's/\.[^.]*$/.X/'
7383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CRAY*TS:*:*:*)
7403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CRAY*T3E:*:*:*)
7433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CRAY*SV1:*:*:*)
7463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:UNICOS/mp:*:*)
7493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
7523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
7533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
7553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
7573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    5000:UNIX_System_V:4.*:*)
7583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
7633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
7643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sparc*:BSD/OS:*:*)
7663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-unknown-bsdi${UNAME_RELEASE}
7673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:BSD/OS:*:*)
7693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
7703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:FreeBSD:*:*)
7723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case ${UNAME_MACHINE} in
7733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    pc98)
7743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    amd64)
7763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *)
7783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
7803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*:CYGWIN*:*)
7823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-cygwin
7833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:MINGW*:*)
7853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-mingw32
7863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*:windows32*:*)
7883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	# uname -m includes "-pc" on this system.
7893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	echo ${UNAME_MACHINE}-mingw32
7903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*:PW*:*)
7923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-pw32
7933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
7943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:Interix*:[3456]*)
7953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	case ${UNAME_MACHINE} in
7963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    x86)
7973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo i586-pc-interix${UNAME_RELEASE}
7983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
7993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    EM64T | authenticamd)
8003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo x86_64-unknown-interix${UNAME_RELEASE}
8013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
8023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    IA64)
8033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ia64-unknown-interix${UNAME_RELEASE}
8043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
8053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac ;;
8063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
8073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i${UNAME_MACHINE}-pc-mks
8083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
8103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# How do we know it's Interix rather than the generic POSIX subsystem?
8113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
8123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# UNAME_MACHINE based on the output of uname instead of i386?
8133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i586-pc-interix
8143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*:UWIN*:*)
8163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-uwin
8173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo x86_64-unknown-cygwin
8203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    p*:CYGWIN*:*)
8223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpcle-unknown-cygwin
8233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    prep*:SunOS:5.*:*)
8253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:GNU:*:*)
8283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# the GNU system
8293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:GNU/*:*:*)
8323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# other systems with GNU libc and userland
8333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
8343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:Minix:*:*)
8363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-minix
8373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    arm*:Linux:*:*)
8393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
8403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
8413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    | grep -q __ARM_EABI__
8423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	then
8433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo ${UNAME_MACHINE}-unknown-linux-gnu
8443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
8453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
8463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
8473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    avr32*:Linux:*:*)
8493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
8503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cris:Linux:*:*)
8523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo cris-axis-linux-gnu
8533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    crisv32:Linux:*:*)
8553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo crisv32-axis-linux-gnu
8563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    frv:Linux:*:*)
8583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	echo frv-unknown-linux-gnu
8593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ia64:Linux:*:*)
8613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
8623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m32r*:Linux:*:*)
8643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
8653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m68*:Linux:*:*)
8673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
8683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
8693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mips:Linux:*:*)
8703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
8713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sed 's/^	//' << EOF >$dummy.c
8723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef CPU
8733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef mips
8743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef mipsel
8753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
8763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=mipsel
8773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
8783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
8793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=mips
8803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
8813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=
8823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
8833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
8843aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
8853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
8863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    /^CPU/{
8873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		s: ::g
8883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		p
8893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    }'`"
8903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
8913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
8923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mips64:Linux:*:*)
8933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
8943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sed 's/^	//' << EOF >$dummy.c
8953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef CPU
8963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef mips64
8973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#undef mips64el
8983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
8993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=mips64el
9003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
9013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
9023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=mips64
9033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
9043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	CPU=
9053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
9063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
9073aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
9083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
9093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    /^CPU/{
9103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		s: ::g
9113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		p
9123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    }'`"
9133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
9143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
9153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    or32:Linux:*:*)
9163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo or32-unknown-linux-gnu
9173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ppc:Linux:*:*)
9193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-unknown-linux-gnu
9203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ppc64:Linux:*:*)
9223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc64-unknown-linux-gnu
9233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    alpha:Linux:*:*)
9253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
9263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  EV5)   UNAME_MACHINE=alphaev5 ;;
9273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  EV56)  UNAME_MACHINE=alphaev56 ;;
9283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  PCA56) UNAME_MACHINE=alphapca56 ;;
9293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  PCA57) UNAME_MACHINE=alphapca56 ;;
9303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  EV6)   UNAME_MACHINE=alphaev6 ;;
9313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  EV67)  UNAME_MACHINE=alphaev67 ;;
9323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  EV68*) UNAME_MACHINE=alphaev68 ;;
9333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
9343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
9353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
9363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
9373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    parisc:Linux:*:* | hppa:Linux:*:*)
9393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Look for CPU level
9403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
9413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
9423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
9433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)    echo hppa-unknown-linux-gnu ;;
9443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
9453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    parisc64:Linux:*:* | hppa64:Linux:*:*)
9473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa64-unknown-linux-gnu
9483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    s390:Linux:*:* | s390x:Linux:*:*)
9503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-ibm-linux
9513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sh64*:Linux:*:*)
9533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sh*:Linux:*:*)
9563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
9573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sparc:Linux:*:* | sparc64:Linux:*:*)
9593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-linux-gnu
9603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    vax:Linux:*:*)
9623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-dec-linux-gnu
9633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    x86_64:Linux:*:*)
9653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo x86_64-unknown-linux-gnu
9663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    xtensa*:Linux:*:*)
9683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
9703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:Linux:*:*)
9713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# The BFD linker knows what the default object file format is, so
9723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# first see if it will tell us. cd to the root directory to prevent
9733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# problems with other programs or directories called `ld' in the path.
9743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Set LC_ALL=C to ensure ld outputs messages in English.
9753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
9763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			 | sed -ne '/supported targets:/!d
9773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				    s/[ 	][ 	]*/ /g
9783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				    s/.*supported targets: *//
9793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				    s/ .*//
9803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				    p'`
9813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case "$ld_supported_targets" in
9823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  elf32-i386)
9833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
9843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
9853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  a.out-i386-linux)
9863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
9873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
9883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  coff-i386)
9893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
9903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
9913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  "")
9923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		# Either a pre-BFD a.out linker (linux-gnuoldld) or
9933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		# one that does not give us useful --help.
9943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
9953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit ;;
9963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
9973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Determine whether the default compiler is a.out or elf
9983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval $set_cc_for_build
9993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sed 's/^	//' << EOF >$dummy.c
10003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#include <features.h>
10013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#ifdef __ELF__
10023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# ifdef __GLIBC__
10033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#  if __GLIBC__ >= 2
10043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=gnu
10053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#  else
10063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=gnulibc1
10073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#  endif
10083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# else
10093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=gnulibc1
10103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# endif
10113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
10123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
10133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=gnu
10143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#else
10153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=gnuaout
10163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
10173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
10183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#ifdef __dietlibc__
10193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LIBC=dietlibc
10203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#endif
10213aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
10223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
10233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    /^LIBC/{
10243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		s: ::g
10253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		p
10263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    }'`"
10273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test x"${LIBC}" != x && {
10283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
10293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		exit
10303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	}
10313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
10323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
10333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:DYNIX/ptx:4*:*)
10343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
10353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# earlier versions are messed up and put the nodename in both
10363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# sysname and nodename.
10373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-sequent-sysv4
10383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:UNIX_SV:4.2MP:2.*)
10403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # Unixware is an offshoot of SVR4, but it has its own version
10413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # number series starting with 2...
10423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # I am not positive that other SVR4 systems won't match this,
10433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# I just have to hope.  -- rms.
10443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # Use sysv4.2uw... so that sysv4* matches it.
10453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:OS/2:*:*)
10483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# If we were able to find `uname', then EMX Unix compatibility
10493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# is probably installed.
10503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-os2-emx
10513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:XTS-300:*:STOP)
10533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-stop
10543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:atheos:*:*)
10563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-atheos
10573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:syllable:*:*)
10593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-syllable
10603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
10623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-unknown-lynxos${UNAME_RELEASE}
10633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:*DOS:*:*)
10653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
10683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
10693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
10703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
10713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
10723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
10733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
10743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:*:5:[678]*)
10763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
10773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `/bin/uname -X | grep "^Machine"` in
10783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *486*)	     UNAME_MACHINE=i486 ;;
10793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *Pentium)	     UNAME_MACHINE=i586 ;;
10803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
10813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
10823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
10843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:*:3.2:*)
10853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test -f /usr/options/cb.name; then
10863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
10873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
10883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	elif /bin/uname -X 2>/dev/null >/dev/null ; then
10893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
10903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
10913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
10923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			&& UNAME_MACHINE=i586
10933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
10943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			&& UNAME_MACHINE=i686
10953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
10963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			&& UNAME_MACHINE=i686
10973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
10983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
10993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-pc-sysv32
11003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
11013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    pc:*:*:*)
11033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Left here for compatibility:
11043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # uname -m prints for DJGPP always 'pc', but it prints nothing about
11053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # the processor, so we play safe by assuming i386.
11063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-pc-msdosdjgpp
11073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
11083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Intel:Mach:3*:*)
11093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-pc-mach3
11103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    paragon:*:*:*)
11123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i860-intel-osf1
11133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i860:*:4.*:*) # i860-SVR4
11153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
11163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
11173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else # Add other i860-SVR4 vendors below as they are discovered.
11183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
11193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
11203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mini*:CTIX:SYS*5:*)
11223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# "miniframe"
11233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68010-convergent-sysv
11243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mc68k:UNIX:SYSTEM5:3.51m)
11263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-convergent-sysv
11273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    M680?0:D-NIX:5.3:*)
11293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-diab-dnix
11303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    M68*:*:R3V[5678]*:*)
11323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
11343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	OS_REL=''
11353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test -r /etc/.relid \
11363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          && { echo i486-ncr-sysv4; exit; } ;;
11443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-unknown-lynxos${UNAME_RELEASE}
11463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mc68030:UNIX_System_V:4.*:*)
11483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-atari-sysv4
11493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    TSUNAMI:LynxOS:2.*:*)
11513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sparc-unknown-lynxos${UNAME_RELEASE}
11523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    rs6000:LynxOS:2.*:*)
11543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
11573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SM[BE]S:UNIX_SV:*:*)
11603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-dde-sysv${UNAME_RELEASE}
11613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    RM*:ReliantUNIX-*:*:*)
11633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-sni-sysv4
11643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    RM*:SINIX-*:*:*)
11663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-sni-sysv4
11673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:SINIX-*:*:*)
11693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if uname -p 2>/dev/null >/dev/null ; then
11703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE=`(uname -p) 2>/dev/null`
11713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ${UNAME_MACHINE}-sni-sysv4
11723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
11733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo ns32k-sni-sysv
11743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
11753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
11773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                      # says <Richard.M.Bartel@ccMail.Census.GOV>
11783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo i586-unisys-sysv4
11793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
11803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:UNIX_System_V:4*:FTX*)
11813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# From Gerald Hewes <hewes@openmarket.com>.
11823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# How about differentiating between stratus architectures? -djm
11833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-stratus-sysv4
11843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:*:*:FTX*)
11863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# From seanf@swdc.stratus.com.
11873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i860-stratus-sysv4
11883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:VOS:*:*)
11903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# From Paul.Green@stratus.com.
11913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-stratus-vos
11923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:VOS:*:*)
11943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# From Paul.Green@stratus.com.
11953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo hppa1.1-stratus-vos
11963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
11973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mc68*:A/UX:*:*)
11983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo m68k-apple-aux${UNAME_RELEASE}
11993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    news*:NEWS-OS:6*:*)
12013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-sony-newsos6
12023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
12043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if [ -d /usr/nec ]; then
12053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        echo mips-nec-sysv${UNAME_RELEASE}
12063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
12073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        echo mips-unknown-sysv${UNAME_RELEASE}
12083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
12093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exit ;;
12103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
12113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-be-beos
12123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
12143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-apple-beos
12153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
12173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i586-pc-beos
12183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-4:SUPER-UX:*:*)
12203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx4-nec-superux${UNAME_RELEASE}
12213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-5:SUPER-UX:*:*)
12233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx5-nec-superux${UNAME_RELEASE}
12243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-6:SUPER-UX:*:*)
12263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx6-nec-superux${UNAME_RELEASE}
12273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-7:SUPER-UX:*:*)
12293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx7-nec-superux${UNAME_RELEASE}
12303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-8:SUPER-UX:*:*)
12323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx8-nec-superux${UNAME_RELEASE}
12333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SX-8R:SUPER-UX:*:*)
12353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo sx8r-nec-superux${UNAME_RELEASE}
12363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    Power*:Rhapsody:*:*)
12383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:Rhapsody:*:*)
12413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:Darwin:*:*)
12443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $UNAME_PROCESSOR in
12463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    unknown) UNAME_PROCESSOR=powerpc ;;
12473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
12483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:procnto*:*:* | *:QNX:[0123456789]*:*)
12513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	UNAME_PROCESSOR=`uname -p`
12523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$UNAME_PROCESSOR" = "x86"; then
12533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_PROCESSOR=i386
12543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		UNAME_MACHINE=pc
12553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
12563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:QNX:*:4*)
12593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-pc-qnx
12603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    NSE-?:NONSTOP_KERNEL:*:*)
12623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo nse-tandem-nsk${UNAME_RELEASE}
12633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    NSR-?:NONSTOP_KERNEL:*:*)
12653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo nsr-tandem-nsk${UNAME_RELEASE}
12663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:NonStop-UX:*:*)
12683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo mips-compaq-nonstopux
12693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    BS2000:POSIX*:*:*)
12713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo bs2000-siemens-sysv
12723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DS/*:UNIX_System_V:*:*)
12743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
12753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:Plan9:*:*)
12773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# "uname -m" is not consistent, so use $cputype instead. 386
12783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# is converted to i386 for consistency with other x86
12793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# operating systems.
12803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$cputype" = "386"; then
12813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    UNAME_MACHINE=i386
12823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
12833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    UNAME_MACHINE="$cputype"
12843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
12853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-plan9
12863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:TOPS-10:*:*)
12883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-unknown-tops10
12893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:TENEX:*:*)
12913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-unknown-tenex
12923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
12943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-dec-tops20
12953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
12973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-xkl-tops20
12983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
12993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:TOPS-20:*:*)
13003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-unknown-tops20
13013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:ITS:*:*)
13033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo pdp10-unknown-its
13043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    SEI:*:*:SEIUX)
13063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        echo mips-sei-seiux${UNAME_RELEASE}
13073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:DragonFly:*:*)
13093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:*VMS:*:*)
13123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case "${UNAME_MACHINE}" in
13143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    A*) echo alpha-dec-vms ; exit ;;
13153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    I*) echo ia64-dec-vms ; exit ;;
13163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    V*) echo vax-dec-vms ; exit ;;
13173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac ;;
13183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *:XENIX:*:SysV)
13193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo i386-pc-xenix
13203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:skyos:*:*)
13223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86:rdos:*:*)
13253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo ${UNAME_MACHINE}-pc-rdos
13263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
13273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
13283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#echo '(No uname command or uname output not recognized.)' 1>&2
13303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
13313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulisheveval $set_cc_for_build
13333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >$dummy.c <<EOF
13343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef _SEQUENT_
13353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# include <sys/types.h>
13363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# include <sys/utsname.h>
13373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmain ()
13393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
13403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (sony)
13413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (MIPSEB)
13423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
13433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     I don't know....  */
13443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("mips-sony-bsd\n"); exit (0);
13453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
13463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <sys/param.h>
13473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("m68k-sony-newsos%s\n",
13483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef NEWSOS4
13493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          "4"
13503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
13513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ""
13523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         ); exit (0);
13543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (__arm) && defined (__acorn) && defined (__unix)
13583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("arm-acorn-riscix\n"); exit (0);
13593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (hp300) && !defined (hpux)
13623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("m68k-hp-bsd\n"); exit (0);
13633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (NeXT)
13663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if !defined (__ARCHITECTURE__)
13673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#define __ARCHITECTURE__ "m68k"
13683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  int version;
13703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
13713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if (version < 4)
13723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
13733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
13743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
13753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exit (0);
13763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (MULTIMAX) || defined (n16)
13793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (UMAXV)
13803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("ns32k-encore-sysv\n"); exit (0);
13813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
13823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (CMU)
13833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("ns32k-encore-mach\n"); exit (0);
13843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
13853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("ns32k-encore-bsd\n"); exit (0);
13863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (__386BSD__)
13913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("i386-pc-bsd\n"); exit (0);
13923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (sequent)
13953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (i386)
13963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("i386-sequent-dynix\n"); exit (0);
13973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
13983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (ns32000)
13993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("ns32k-sequent-dynix\n"); exit (0);
14003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
14013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
14023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (_SEQUENT_)
14043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    struct utsname un;
14053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    uname(&un);
14073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if (strncmp(un.version, "V2", 2) == 0) {
14093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	printf ("i386-sequent-ptx2\n"); exit (0);
14103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    }
14113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
14123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	printf ("i386-sequent-ptx1\n"); exit (0);
14133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    }
14143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    printf ("i386-sequent-ptx\n"); exit (0);
14153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
14173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (vax)
14193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if !defined (ultrix)
14203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  include <sys/param.h>
14213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  if defined (BSD)
14223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   if BSD == 43
14233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      printf ("vax-dec-bsd4.3\n"); exit (0);
14243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   else
14253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    if BSD == 199006
14263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      printf ("vax-dec-bsd4.3reno\n"); exit (0);
14273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    else
14283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      printf ("vax-dec-bsd\n"); exit (0);
14293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    endif
14303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   endif
14313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  else
14323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    printf ("vax-dec-bsd\n"); exit (0);
14333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  endif
14343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else
14353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    printf ("vax-dec-ultrix\n"); exit (0);
14363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif
14373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
14383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if defined (alliant) && defined (i860)
14403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  printf ("i860-alliant-bsd\n"); exit (0);
14413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
14423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exit (1);
14443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
14453aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
14463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	{ echo "$SYSTEM_NAME"; exit; }
14493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Apollos put the system type in the environment.
14513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
14533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Convex versions that predate uname can use getsysinfo(1)
14553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif [ -x /usr/convex/getsysinfo ]
14573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevthen
14583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case `getsysinfo -f cpu_type` in
14593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    c1*)
14603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c1-convex-bsd
14613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
14623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    c2*)
14633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if getsysinfo -f scalar_acc
14643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	then echo c32-convex-bsd
14653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else echo c2-convex-bsd
14663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
14673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
14683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    c34*)
14693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c34-convex-bsd
14703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
14713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    c38*)
14723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c38-convex-bsd
14733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
14743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    c4*)
14753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo c4-convex-bsd
14763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exit ;;
14773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
14783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
14793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >&2 <<EOF
14813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$0: unable to guess system type
14823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14833aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevThis script, last modified $timestamp, has failed to recognize
14843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevthe operating system you are using. It is advised that you
14853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdownload the most up to date version of the config scripts from
14863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
14883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevand
14893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
14903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14913aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevIf the version you run ($0) is already up to date, please
14923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsend the following data and any information you think might be
14933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpertinent to <config-patches@gnu.org> in order to provide the needed
14943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinformation to handle your system.
14953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevconfig.guess timestamp = $timestamp
14973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuname -m = `(uname -m) 2>/dev/null || echo unknown`
14993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuname -r = `(uname -r) 2>/dev/null || echo unknown`
15003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuname -s = `(uname -s) 2>/dev/null || echo unknown`
15013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuname -v = `(uname -v) 2>/dev/null || echo unknown`
15023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
15043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
15053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhostinfo               = `(hostinfo) 2>/dev/null`
15073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/bin/universe          = `(/bin/universe) 2>/dev/null`
15083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
15093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/bin/arch              = `(/bin/arch) 2>/dev/null`
15103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
15113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
15123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15133aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_MACHINE = ${UNAME_MACHINE}
15143aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_RELEASE = ${UNAME_RELEASE}
15153aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_SYSTEM  = ${UNAME_SYSTEM}
15163aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUNAME_VERSION = ${UNAME_VERSION}
15173aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevEOF
15183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevexit 1
15203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Local variables:
15223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# eval: (add-hook 'write-file-hooks 'time-stamp)
15233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# time-stamp-start: "timestamp='"
15243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# time-stamp-format: "%:y-%02m-%02d"
15253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# time-stamp-end: "'"
15263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# End:
1527