2a5571
#! /bin/sh
2a5571
# Attempt to guess a canonical system name.
1046b9
#   Copyright 1992-2013 Free Software Foundation, Inc.
2a5571
1046b9
timestamp='2013-06-10'
2a5571
2a5571
# This file is free software; you can redistribute it and/or modify it
2a5571
# under the terms of the GNU General Public License as published by
2a5571
# the Free Software Foundation; either version 3 of the License, or
2a5571
# (at your option) any later version.
2a5571
#
2a5571
# This program is distributed in the hope that it will be useful, but
2a5571
# WITHOUT ANY WARRANTY; without even the implied warranty of
2a5571
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2a5571
# General Public License for more details.
2a5571
#
2a5571
# You should have received a copy of the GNU General Public License
2a5571
# along with this program; if not, see <http: www.gnu.org="" licenses=""/>.
2a5571
#
2a5571
# As a special exception to the GNU General Public License, if you
2a5571
# distribute this file as part of a program that contains a
2a5571
# configuration script generated by Autoconf, you may include it under
2a5571
# the same distribution terms that you use for the rest of that
2a5571
# program.  This Exception is an additional permission under section 7
2a5571
# of the GNU General Public License, version 3 ("GPLv3").
2a5571
#
1046b9
# Originally written by Per Bothner.
2a5571
#
2a5571
# You can get the latest version of this script from:
2a5571
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
2a5571
#
2a5571
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2a5571
2a5571
2a5571
me=`echo "$0" | sed -e 's,.*/,,'`
2a5571
2a5571
usage="\
2a5571
Usage: $0 [OPTION]
2a5571
2a5571
Output the configuration name of the system \`$me' is run on.
2a5571
2a5571
Operation modes:
2a5571
  -h, --help         print this help, then exit
2a5571
  -t, --time-stamp   print date of last modification, then exit
2a5571
  -v, --version      print version number, then exit
2a5571
2a5571
Report bugs and patches to <config-patches@gnu.org>."
2a5571
2a5571
version="\
2a5571
GNU config.guess ($timestamp)
2a5571
2a5571
Originally written by Per Bothner.
1046b9
Copyright 1992-2013 Free Software Foundation, Inc.
2a5571
2a5571
This is free software; see the source for copying conditions.  There is NO
2a5571
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
2a5571
2a5571
help="
2a5571
Try \`$me --help' for more information."
2a5571
2a5571
# Parse command line
2a5571
while test $# -gt 0 ; do
2a5571
  case $1 in
2a5571
    --time-stamp | --time* | -t )
2a5571
       echo "$timestamp" ; exit ;;
2a5571
    --version | -v )
2a5571
       echo "$version" ; exit ;;
2a5571
    --help | --h* | -h )
2a5571
       echo "$usage"; exit ;;
2a5571
    -- )     # Stop option processing
2a5571
       shift; break ;;
2a5571
    - )	# Use stdin as input.
2a5571
       break ;;
2a5571
    -* )
2a5571
       echo "$me: invalid option $1$help" >&2
2a5571
       exit 1 ;;
2a5571
    * )
2a5571
       break ;;
2a5571
  esac
2a5571
done
2a5571
2a5571
if test $# != 0; then
2a5571
  echo "$me: too many arguments$help" >&2
2a5571
  exit 1
2a5571
fi
2a5571
2a5571
trap 'exit 1' 1 2 15
2a5571
2a5571
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
2a5571
# compiler to aid in system detection is discouraged as it requires
2a5571
# temporary files to be created and, as you can see below, it is a
2a5571
# headache to deal with in a portable fashion.
2a5571
2a5571
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
2a5571
# use `HOST_CC' if defined, but it is deprecated.
2a5571
2a5571
# Portable tmp directory creation inspired by the Autoconf team.
2a5571
2a5571
set_cc_for_build='
2a5571
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
2a5571
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
2a5571
: ${TMPDIR=/tmp} ;
2a5571
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
2a5571
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
2a5571
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
2a5571
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
2a5571
dummy=$tmp/dummy ;
2a5571
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
2a5571
case $CC_FOR_BUILD,$HOST_CC,$CC in
2a5571
 ,,)    echo "int x;" > $dummy.c ;
2a5571
	for c in cc gcc c89 c99 ; do
2a5571
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
2a5571
	     CC_FOR_BUILD="$c"; break ;
2a5571
	  fi ;
2a5571
	done ;
2a5571
	if test x"$CC_FOR_BUILD" = x ; then
2a5571
	  CC_FOR_BUILD=no_compiler_found ;
2a5571
	fi
2a5571
	;;
2a5571
 ,,*)   CC_FOR_BUILD=$CC ;;
2a5571
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
2a5571
esac ; set_cc_for_build= ;'
2a5571
2a5571
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
2a5571
# (ghazi@noc.rutgers.edu 1994-08-24)
2a5571
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
2a5571
	PATH=$PATH:/.attbin ; export PATH
2a5571
fi
2a5571
2a5571
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
2a5571
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
2a5571
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
2a5571
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
2a5571
1046b9
case "${UNAME_SYSTEM}" in
1046b9
Linux|GNU|GNU/*)
1046b9
	# If the system lacks a compiler, then just pick glibc.
1046b9
	# We could probably try harder.
1046b9
	LIBC=gnu
1046b9
1046b9
	eval $set_cc_for_build
1046b9
	cat <<-EOF > $dummy.c
1046b9
	#include <features.h>
1046b9
	#if defined(__UCLIBC__)
1046b9
	LIBC=uclibc
1046b9
	#elif defined(__dietlibc__)
1046b9
	LIBC=dietlibc
1046b9
	#else
1046b9
	LIBC=gnu
1046b9
	#endif
1046b9
	EOF
1046b9
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
1046b9
	;;
1046b9
esac
1046b9
2a5571
# Note: order is significant - the case branches are not exclusive.
2a5571
2a5571
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
2a5571
    *:NetBSD:*:*)
2a5571
	# NetBSD (nbsd) targets should (where applicable) match one or
2a5571
	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
2a5571
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
2a5571
	# switched to ELF, *-*-netbsd* would select the old
2a5571
	# object file format.  This provides both forward
2a5571
	# compatibility and a consistent mechanism for selecting the
2a5571
	# object file format.
2a5571
	#
2a5571
	# Note: NetBSD doesn't particularly care about the vendor
2a5571
	# portion of the name.  We always set it to "unknown".
2a5571
	sysctl="sysctl -n hw.machine_arch"
2a5571
	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
2a5571
	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
2a5571
	case "${UNAME_MACHINE_ARCH}" in
2a5571
	    armeb) machine=armeb-unknown ;;
2a5571
	    arm*) machine=arm-unknown ;;
2a5571
	    sh3el) machine=shl-unknown ;;
2a5571
	    sh3eb) machine=sh-unknown ;;
2a5571
	    sh5el) machine=sh5le-unknown ;;
2a5571
	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
2a5571
	esac
2a5571
	# The Operating System including object format, if it has switched
2a5571
	# to ELF recently, or will in the future.
2a5571
	case "${UNAME_MACHINE_ARCH}" in
2a5571
	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
2a5571
		eval $set_cc_for_build
2a5571
		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
2a5571
			| grep -q __ELF__
2a5571
		then
2a5571
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
2a5571
		    # Return netbsd for either.  FIX?
2a5571
		    os=netbsd
2a5571
		else
2a5571
		    os=netbsdelf
2a5571
		fi
2a5571
		;;
2a5571
	    *)
2a5571
		os=netbsd
2a5571
		;;
2a5571
	esac
2a5571
	# The OS release
2a5571
	# Debian GNU/NetBSD machines have a different userland, and
2a5571
	# thus, need a distinct triplet. However, they do not need
2a5571
	# kernel version information, so it can be replaced with a
2a5571
	# suitable tag, in the style of linux-gnu.
2a5571
	case "${UNAME_VERSION}" in
2a5571
	    Debian*)
2a5571
		release='-gnu'
2a5571
		;;
2a5571
	    *)
2a5571
		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
2a5571
		;;
2a5571
	esac
2a5571
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
2a5571
	# contains redundant information, the shorter form:
2a5571
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2a5571
	echo "${machine}-${os}${release}"
2a5571
	exit ;;
2a5571
    *:Bitrig:*:*)
2a5571
	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
2a5571
	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:OpenBSD:*:*)
2a5571
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2a5571
	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:ekkoBSD:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:SolidBSD:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    macppc:MirBSD:*:*)
2a5571
	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:MirBSD:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    alpha:OSF1:*:*)
2a5571
	case $UNAME_RELEASE in
2a5571
	*4.0)
2a5571
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2a5571
		;;
2a5571
	*5.*)
2a5571
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2a5571
		;;
2a5571
	esac
2a5571
	# According to Compaq, /usr/sbin/psrinfo has been available on
2a5571
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
2a5571
	# covers most systems running today.  This code pipes the CPU
2a5571
	# types through head -n 1, so we only detect the type of CPU 0.
2a5571
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
2a5571
	case "$ALPHA_CPU_TYPE" in
2a5571
	    "EV4 (21064)")
2a5571
		UNAME_MACHINE="alpha" ;;
2a5571
	    "EV4.5 (21064)")
2a5571
		UNAME_MACHINE="alpha" ;;
2a5571
	    "LCA4 (21066/21068)")
2a5571
		UNAME_MACHINE="alpha" ;;
2a5571
	    "EV5 (21164)")
2a5571
		UNAME_MACHINE="alphaev5" ;;
2a5571
	    "EV5.6 (21164A)")
2a5571
		UNAME_MACHINE="alphaev56" ;;
2a5571
	    "EV5.6 (21164PC)")
2a5571
		UNAME_MACHINE="alphapca56" ;;
2a5571
	    "EV5.7 (21164PC)")
2a5571
		UNAME_MACHINE="alphapca57" ;;
2a5571
	    "EV6 (21264)")
2a5571
		UNAME_MACHINE="alphaev6" ;;
2a5571
	    "EV6.7 (21264A)")
2a5571
		UNAME_MACHINE="alphaev67" ;;
2a5571
	    "EV6.8CB (21264C)")
2a5571
		UNAME_MACHINE="alphaev68" ;;
2a5571
	    "EV6.8AL (21264B)")
2a5571
		UNAME_MACHINE="alphaev68" ;;
2a5571
	    "EV6.8CX (21264D)")
2a5571
		UNAME_MACHINE="alphaev68" ;;
2a5571
	    "EV6.9A (21264/EV69A)")
2a5571
		UNAME_MACHINE="alphaev69" ;;
2a5571
	    "EV7 (21364)")
2a5571
		UNAME_MACHINE="alphaev7" ;;
2a5571
	    "EV7.9 (21364A)")
2a5571
		UNAME_MACHINE="alphaev79" ;;
2a5571
	esac
2a5571
	# A Pn.n version is a patched version.
2a5571
	# A Vn.n version is a released version.
2a5571
	# A Tn.n version is a released field test version.
2a5571
	# A Xn.n version is an unreleased experimental baselevel.
2a5571
	# 1.2 uses "1.2" for uname -r.
2a5571
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2a5571
	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
2a5571
	exitcode=$?
2a5571
	trap '' 0
2a5571
	exit $exitcode ;;
2a5571
    Alpha\ *:Windows_NT*:*)
2a5571
	# How do we know it's Interix rather than the generic POSIX subsystem?
2a5571
	# Should we change UNAME_MACHINE based on the output of uname instead
2a5571
	# of the specific Alpha model?
2a5571
	echo alpha-pc-interix
2a5571
	exit ;;
2a5571
    21064:Windows_NT:50:3)
2a5571
	echo alpha-dec-winnt3.5
2a5571
	exit ;;
2a5571
    Amiga*:UNIX_System_V:4.0:*)
2a5571
	echo m68k-unknown-sysv4
2a5571
	exit ;;
2a5571
    *:[Aa]miga[Oo][Ss]:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-amigaos
2a5571
	exit ;;
2a5571
    *:[Mm]orph[Oo][Ss]:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-morphos
2a5571
	exit ;;
2a5571
    *:OS/390:*:*)
2a5571
	echo i370-ibm-openedition
2a5571
	exit ;;
2a5571
    *:z/VM:*:*)
2a5571
	echo s390-ibm-zvmoe
2a5571
	exit ;;
2a5571
    *:OS400:*:*)
2a5571
	echo powerpc-ibm-os400
2a5571
	exit ;;
2a5571
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
2a5571
	echo arm-acorn-riscix${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    arm*:riscos:*:*|arm*:RISCOS:*:*)
2a5571
	echo arm-unknown-riscos
2a5571
	exit ;;
2a5571
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
2a5571
	echo hppa1.1-hitachi-hiuxmpp
2a5571
	exit ;;
2a5571
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
2a5571
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
2a5571
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
2a5571
		echo pyramid-pyramid-sysv3
2a5571
	else
2a5571
		echo pyramid-pyramid-bsd
2a5571
	fi
2a5571
	exit ;;
2a5571
    NILE*:*:*:dcosx)
2a5571
	echo pyramid-pyramid-svr4
2a5571
	exit ;;
2a5571
    DRS?6000:unix:4.0:6*)
2a5571
	echo sparc-icl-nx6
2a5571
	exit ;;
2a5571
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
2a5571
	case `/usr/bin/uname -p` in
2a5571
	    sparc) echo sparc-icl-nx7; exit ;;
2a5571
	esac ;;
2a5571
    s390x:SunOS:*:*)
2a5571
	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    sun4H:SunOS:5.*:*)
2a5571
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
2a5571
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
2a5571
	echo i386-pc-auroraux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
2a5571
	eval $set_cc_for_build
2a5571
	SUN_ARCH="i386"
2a5571
	# If there is a compiler, see if it is configured for 64-bit objects.
2a5571
	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
2a5571
	# This test works for both compilers.
2a5571
	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
2a5571
	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
2a5571
		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
2a5571
		grep IS_64BIT_ARCH >/dev/null
2a5571
	    then
2a5571
		SUN_ARCH="x86_64"
2a5571
	    fi
2a5571
	fi
2a5571
	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    sun4*:SunOS:6*:*)
2a5571
	# According to config.sub, this is the proper way to canonicalize
2a5571
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
2a5571
	# it's likely to be more like Solaris than SunOS4.
2a5571
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    sun4*:SunOS:*:*)
2a5571
	case "`/usr/bin/arch -k`" in
2a5571
	    Series*|S4*)
2a5571
		UNAME_RELEASE=`uname -v`
2a5571
		;;
2a5571
	esac
2a5571
	# Japanese Language versions have a version number like `4.1.3-JL'.
2a5571
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
2a5571
	exit ;;
2a5571
    sun3*:SunOS:*:*)
2a5571
	echo m68k-sun-sunos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    sun*:*:4.2BSD:*)
2a5571
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
2a5571
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
2a5571
	case "`/bin/arch`" in
2a5571
	    sun3)
2a5571
		echo m68k-sun-sunos${UNAME_RELEASE}
2a5571
		;;
2a5571
	    sun4)
2a5571
		echo sparc-sun-sunos${UNAME_RELEASE}
2a5571
		;;
2a5571
	esac
2a5571
	exit ;;
2a5571
    aushp:SunOS:*:*)
2a5571
	echo sparc-auspex-sunos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    # The situation for MiNT is a little confusing.  The machine name
2a5571
    # can be virtually everything (everything which is not
2a5571
    # "atarist" or "atariste" at least should have a processor
2a5571
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
2a5571
    # to the lowercase version "mint" (or "freemint").  Finally
2a5571
    # the system name "TOS" denotes a system which is actually not
2a5571
    # MiNT.  But MiNT is downward compatible to TOS, so this should
2a5571
    # be no problem.
2a5571
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
2a5571
	echo m68k-atari-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
2a5571
	echo m68k-atari-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
2a5571
	echo m68k-atari-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
2a5571
	echo m68k-milan-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
2a5571
	echo m68k-hades-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
2a5571
	echo m68k-unknown-mint${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    m68k:machten:*:*)
2a5571
	echo m68k-apple-machten${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    powerpc:machten:*:*)
2a5571
	echo powerpc-apple-machten${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    RISC*:Mach:*:*)
2a5571
	echo mips-dec-mach_bsd4.3
2a5571
	exit ;;
2a5571
    RISC*:ULTRIX:*:*)
2a5571
	echo mips-dec-ultrix${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    VAX*:ULTRIX*:*:*)
2a5571
	echo vax-dec-ultrix${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    2020:CLIX:*:* | 2430:CLIX:*:*)
2a5571
	echo clipper-intergraph-clix${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    mips:*:*:UMIPS | mips:*:*:RISCos)
2a5571
	eval $set_cc_for_build
2a5571
	sed 's/^	//' << EOF >$dummy.c
2a5571
#ifdef __cplusplus
2a5571
#include <stdio.h>  /* for printf() prototype */
2a5571
	int main (int argc, char *argv[]) {
2a5571
#else
2a5571
	int main (argc, argv) int argc; char *argv[]; {
2a5571
#endif
2a5571
	#if defined (host_mips) && defined (MIPSEB)
2a5571
	#if defined (SYSTYPE_SYSV)
2a5571
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
2a5571
	#endif
2a5571
	#if defined (SYSTYPE_SVR4)
2a5571
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
2a5571
	#endif
2a5571
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
2a5571
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
2a5571
	#endif
2a5571
	#endif
2a5571
	  exit (-1);
2a5571
	}
2a5571
EOF
2a5571
	$CC_FOR_BUILD -o $dummy $dummy.c &&
2a5571
	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
2a5571
	  SYSTEM_NAME=`$dummy $dummyarg` &&
2a5571
	    { echo "$SYSTEM_NAME"; exit; }
2a5571
	echo mips-mips-riscos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    Motorola:PowerMAX_OS:*:*)
2a5571
	echo powerpc-motorola-powermax
2a5571
	exit ;;
2a5571
    Motorola:*:4.3:PL8-*)
2a5571
	echo powerpc-harris-powermax
2a5571
	exit ;;
2a5571
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
2a5571
	echo powerpc-harris-powermax
2a5571
	exit ;;
2a5571
    Night_Hawk:Power_UNIX:*:*)
2a5571
	echo powerpc-harris-powerunix
2a5571
	exit ;;
2a5571
    m88k:CX/UX:7*:*)
2a5571
	echo m88k-harris-cxux7
2a5571
	exit ;;
2a5571
    m88k:*:4*:R4*)
2a5571
	echo m88k-motorola-sysv4
2a5571
	exit ;;
2a5571
    m88k:*:3*:R3*)
2a5571
	echo m88k-motorola-sysv3
2a5571
	exit ;;
2a5571
    AViiON:dgux:*:*)
2a5571
	# DG/UX returns AViiON for all architectures
2a5571
	UNAME_PROCESSOR=`/usr/bin/uname -p`
2a5571
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
2a5571
	then
2a5571
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
2a5571
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
2a5571
	    then
2a5571
		echo m88k-dg-dgux${UNAME_RELEASE}
2a5571
	    else
2a5571
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
2a5571
	    fi
2a5571
	else
2a5571
	    echo i586-dg-dgux${UNAME_RELEASE}
2a5571
	fi
2a5571
	exit ;;
2a5571
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
2a5571
	echo m88k-dolphin-sysv3
2a5571
	exit ;;
2a5571
    M88*:*:R3*:*)
2a5571
	# Delta 88k system running SVR3
2a5571
	echo m88k-motorola-sysv3
2a5571
	exit ;;
2a5571
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
2a5571
	echo m88k-tektronix-sysv3
2a5571
	exit ;;
2a5571
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
2a5571
	echo m68k-tektronix-bsd
2a5571
	exit ;;
2a5571
    *:IRIX*:*:*)
2a5571
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
2a5571
	exit ;;
2a5571
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
2a5571
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
2a5571
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
2a5571
    i*86:AIX:*:*)
2a5571
	echo i386-ibm-aix
2a5571
	exit ;;
2a5571
    ia64:AIX:*:*)
2a5571
	if [ -x /usr/bin/oslevel ] ; then
2a5571
		IBM_REV=`/usr/bin/oslevel`
2a5571
	else
2a5571
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
2a5571
	fi
2a5571
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
2a5571
	exit ;;
2a5571
    *:AIX:2:3)
2a5571
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
2a5571
		eval $set_cc_for_build
2a5571
		sed 's/^		//' << EOF >$dummy.c
2a5571
		#include <sys systemcfg.h="">
2a5571
2a5571
		main()
2a5571
			{
2a5571
			if (!__power_pc())
2a5571
				exit(1);
2a5571
			puts("powerpc-ibm-aix3.2.5");
2a5571
			exit(0);
2a5571
			}
2a5571
EOF
2a5571
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
2a5571
		then
2a5571
			echo "$SYSTEM_NAME"
2a5571
		else
2a5571
			echo rs6000-ibm-aix3.2.5
2a5571
		fi
2a5571
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
2a5571
		echo rs6000-ibm-aix3.2.4
2a5571
	else
2a5571
		echo rs6000-ibm-aix3.2
2a5571
	fi
2a5571
	exit ;;
2a5571
    *:AIX:*:[4567])
2a5571
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
2a5571
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
2a5571
		IBM_ARCH=rs6000
2a5571
	else
2a5571
		IBM_ARCH=powerpc
2a5571
	fi
2a5571
	if [ -x /usr/bin/oslevel ] ; then
2a5571
		IBM_REV=`/usr/bin/oslevel`
2a5571
	else
2a5571
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
2a5571
	fi
2a5571
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
2a5571
	exit ;;
2a5571
    *:AIX:*:*)
2a5571
	echo rs6000-ibm-aix
2a5571
	exit ;;
2a5571
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
2a5571
	echo romp-ibm-bsd4.4
2a5571
	exit ;;
2a5571
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
2a5571
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
2a5571
	exit ;;                             # report: romp-ibm BSD 4.3
2a5571
    *:BOSX:*:*)
2a5571
	echo rs6000-bull-bosx
2a5571
	exit ;;
2a5571
    DPX/2?00:B.O.S.:*:*)
2a5571
	echo m68k-bull-sysv3
2a5571
	exit ;;
2a5571
    9000/[34]??:4.3bsd:1.*:*)
2a5571
	echo m68k-hp-bsd
2a5571
	exit ;;
2a5571
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
2a5571
	echo m68k-hp-bsd4.4
2a5571
	exit ;;
2a5571
    9000/[34678]??:HP-UX:*:*)
2a5571
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
2a5571
	case "${UNAME_MACHINE}" in
2a5571
	    9000/31? )            HP_ARCH=m68000 ;;
2a5571
	    9000/[34]?? )         HP_ARCH=m68k ;;
2a5571
	    9000/[678][0-9][0-9])
2a5571
		if [ -x /usr/bin/getconf ]; then
2a5571
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
2a5571
		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
2a5571
		    case "${sc_cpu_version}" in
2a5571
		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
2a5571
		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
2a5571
		      532)                      # CPU_PA_RISC2_0
2a5571
			case "${sc_kernel_bits}" in
2a5571
			  32) HP_ARCH="hppa2.0n" ;;
2a5571
			  64) HP_ARCH="hppa2.0w" ;;
2a5571
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
2a5571
			esac ;;
2a5571
		    esac
2a5571
		fi
2a5571
		if [ "${HP_ARCH}" = "" ]; then
2a5571
		    eval $set_cc_for_build
2a5571
		    sed 's/^		//' << EOF >$dummy.c
2a5571
2a5571
		#define _HPUX_SOURCE
2a5571
		#include <stdlib.h>
2a5571
		#include <unistd.h>
2a5571
2a5571
		int main ()
2a5571
		{
2a5571
		#if defined(_SC_KERNEL_BITS)
2a5571
		    long bits = sysconf(_SC_KERNEL_BITS);
2a5571
		#endif
2a5571
		    long cpu  = sysconf (_SC_CPU_VERSION);
2a5571
2a5571
		    switch (cpu)
2a5571
			{
2a5571
			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
2a5571
			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
2a5571
			case CPU_PA_RISC2_0:
2a5571
		#if defined(_SC_KERNEL_BITS)
2a5571
			    switch (bits)
2a5571
				{
2a5571
				case 64: puts ("hppa2.0w"); break;
2a5571
				case 32: puts ("hppa2.0n"); break;
2a5571
				default: puts ("hppa2.0"); break;
2a5571
				} break;
2a5571
		#else  /* !defined(_SC_KERNEL_BITS) */
2a5571
			    puts ("hppa2.0"); break;
2a5571
		#endif
2a5571
			default: puts ("hppa1.0"); break;
2a5571
			}
2a5571
		    exit (0);
2a5571
		}
2a5571
EOF
2a5571
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
2a5571
		    test -z "$HP_ARCH" && HP_ARCH=hppa
2a5571
		fi ;;
2a5571
	esac
2a5571
	if [ ${HP_ARCH} = "hppa2.0w" ]
2a5571
	then
2a5571
	    eval $set_cc_for_build
2a5571
2a5571
	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
2a5571
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
2a5571
	    # generating 64-bit code.  GNU and HP use different nomenclature:
2a5571
	    #
2a5571
	    # $ CC_FOR_BUILD=cc ./config.guess
2a5571
	    # => hppa2.0w-hp-hpux11.23
2a5571
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
2a5571
	    # => hppa64-hp-hpux11.23
2a5571
2a5571
	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
2a5571
		grep -q __LP64__
2a5571
	    then
2a5571
		HP_ARCH="hppa2.0w"
2a5571
	    else
2a5571
		HP_ARCH="hppa64"
2a5571
	    fi
2a5571
	fi
2a5571
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
2a5571
	exit ;;
2a5571
    ia64:HP-UX:*:*)
2a5571
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
2a5571
	echo ia64-hp-hpux${HPUX_REV}
2a5571
	exit ;;
2a5571
    3050*:HI-UX:*:*)
2a5571
	eval $set_cc_for_build
2a5571
	sed 's/^	//' << EOF >$dummy.c
2a5571
	#include <unistd.h>
2a5571
	int
2a5571
	main ()
2a5571
	{
2a5571
	  long cpu = sysconf (_SC_CPU_VERSION);
2a5571
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
2a5571
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
2a5571
	     results, however.  */
2a5571
	  if (CPU_IS_PA_RISC (cpu))
2a5571
	    {
2a5571
	      switch (cpu)
2a5571
		{
2a5571
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
2a5571
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
2a5571
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
2a5571
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
2a5571
		}
2a5571
	    }
2a5571
	  else if (CPU_IS_HP_MC68K (cpu))
2a5571
	    puts ("m68k-hitachi-hiuxwe2");
2a5571
	  else puts ("unknown-hitachi-hiuxwe2");
2a5571
	  exit (0);
2a5571
	}
2a5571
EOF
2a5571
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
2a5571
		{ echo "$SYSTEM_NAME"; exit; }
2a5571
	echo unknown-hitachi-hiuxwe2
2a5571
	exit ;;
2a5571
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
2a5571
	echo hppa1.1-hp-bsd
2a5571
	exit ;;
2a5571
    9000/8??:4.3bsd:*:*)
2a5571
	echo hppa1.0-hp-bsd
2a5571
	exit ;;
2a5571
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
2a5571
	echo hppa1.0-hp-mpeix
2a5571
	exit ;;
2a5571
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
2a5571
	echo hppa1.1-hp-osf
2a5571
	exit ;;
2a5571
    hp8??:OSF1:*:*)
2a5571
	echo hppa1.0-hp-osf
2a5571
	exit ;;
2a5571
    i*86:OSF1:*:*)
2a5571
	if [ -x /usr/sbin/sysversion ] ; then
2a5571
	    echo ${UNAME_MACHINE}-unknown-osf1mk
2a5571
	else
2a5571
	    echo ${UNAME_MACHINE}-unknown-osf1
2a5571
	fi
2a5571
	exit ;;
2a5571
    parisc*:Lites*:*:*)
2a5571
	echo hppa1.1-hp-lites
2a5571
	exit ;;
2a5571
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
2a5571
	echo c1-convex-bsd
2a5571
	exit ;;
2a5571
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
2a5571
	if getsysinfo -f scalar_acc
2a5571
	then echo c32-convex-bsd
2a5571
	else echo c2-convex-bsd
2a5571
	fi
2a5571
	exit ;;
2a5571
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
2a5571
	echo c34-convex-bsd
2a5571
	exit ;;
2a5571
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
2a5571
	echo c38-convex-bsd
2a5571
	exit ;;
2a5571
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
2a5571
	echo c4-convex-bsd
2a5571
	exit ;;
2a5571
    CRAY*Y-MP:*:*:*)
2a5571
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    CRAY*[A-Z]90:*:*:*)
2a5571
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
2a5571
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
2a5571
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
2a5571
	      -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    CRAY*TS:*:*:*)
2a5571
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    CRAY*T3E:*:*:*)
2a5571
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    CRAY*SV1:*:*:*)
2a5571
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    *:UNICOS/mp:*:*)
2a5571
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
2a5571
	exit ;;
2a5571
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
2a5571
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2a5571
	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
2a5571
	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
2a5571
	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
2a5571
	exit ;;
2a5571
    5000:UNIX_System_V:4.*:*)
2a5571
	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
2a5571
	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
2a5571
	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
2a5571
	exit ;;
2a5571
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    sparc*:BSD/OS:*:*)
2a5571
	echo sparc-unknown-bsdi${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:BSD/OS:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:FreeBSD:*:*)
2a5571
	UNAME_PROCESSOR=`/usr/bin/uname -p`
2a5571
	case ${UNAME_PROCESSOR} in
2a5571
	    amd64)
2a5571
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
2a5571
	    *)
2a5571
		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
2a5571
	esac
2a5571
	exit ;;
2a5571
    i*:CYGWIN*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-cygwin
2a5571
	exit ;;
2a5571
    *:MINGW64*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-mingw64
2a5571
	exit ;;
2a5571
    *:MINGW*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-mingw32
2a5571
	exit ;;
2a5571
    i*:MSYS*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-msys
2a5571
	exit ;;
2a5571
    i*:windows32*:*)
2a5571
	# uname -m includes "-pc" on this system.
2a5571
	echo ${UNAME_MACHINE}-mingw32
2a5571
	exit ;;
2a5571
    i*:PW*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-pw32
2a5571
	exit ;;
2a5571
    *:Interix*:*)
2a5571
	case ${UNAME_MACHINE} in
2a5571
	    x86)
2a5571
		echo i586-pc-interix${UNAME_RELEASE}
2a5571
		exit ;;
2a5571
	    authenticamd | genuineintel | EM64T)
2a5571
		echo x86_64-unknown-interix${UNAME_RELEASE}
2a5571
		exit ;;
2a5571
	    IA64)
2a5571
		echo ia64-unknown-interix${UNAME_RELEASE}
2a5571
		exit ;;
2a5571
	esac ;;
2a5571
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
2a5571
	echo i${UNAME_MACHINE}-pc-mks
2a5571
	exit ;;
2a5571
    8664:Windows_NT:*)
2a5571
	echo x86_64-pc-mks
2a5571
	exit ;;
2a5571
    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
2a5571
	# How do we know it's Interix rather than the generic POSIX subsystem?
2a5571
	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
2a5571
	# UNAME_MACHINE based on the output of uname instead of i386?
2a5571
	echo i586-pc-interix
2a5571
	exit ;;
2a5571
    i*:UWIN*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-uwin
2a5571
	exit ;;
2a5571
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
2a5571
	echo x86_64-unknown-cygwin
2a5571
	exit ;;
2a5571
    p*:CYGWIN*:*)
2a5571
	echo powerpcle-unknown-cygwin
2a5571
	exit ;;
2a5571
    prep*:SunOS:5.*:*)
2a5571
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
2a5571
	exit ;;
2a5571
    *:GNU:*:*)
2a5571
	# the GNU system
1046b9
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
2a5571
	exit ;;
2a5571
    *:GNU/*:*:*)
2a5571
	# other systems with GNU libc and userland
1046b9
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
2a5571
	exit ;;
2a5571
    i*86:Minix:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-minix
2a5571
	exit ;;
2a5571
    aarch64:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    aarch64_be:Linux:*:*)
2a5571
	UNAME_MACHINE=aarch64_be
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    alpha:Linux:*:*)
2a5571
	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
2a5571
	  EV5)   UNAME_MACHINE=alphaev5 ;;
2a5571
	  EV56)  UNAME_MACHINE=alphaev56 ;;
2a5571
	  PCA56) UNAME_MACHINE=alphapca56 ;;
2a5571
	  PCA57) UNAME_MACHINE=alphapca56 ;;
2a5571
	  EV6)   UNAME_MACHINE=alphaev6 ;;
2a5571
	  EV67)  UNAME_MACHINE=alphaev67 ;;
2a5571
	  EV68*) UNAME_MACHINE=alphaev68 ;;
2a5571
	esac
2a5571
	objdump --private-headers /bin/sh | grep -q ld.so.1
1046b9
	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1046b9
	exit ;;
1046b9
    arc:Linux:*:* | arceb:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    arm*:Linux:*:*)
2a5571
	eval $set_cc_for_build
2a5571
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
2a5571
	    | grep -q __ARM_EABI__
2a5571
	then
1046b9
	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	else
2a5571
	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
2a5571
		| grep -q __ARM_PCS_VFP
2a5571
	    then
1046b9
		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
2a5571
	    else
1046b9
		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
2a5571
	    fi
2a5571
	fi
2a5571
	exit ;;
2a5571
    avr32*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    cris:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
2a5571
	exit ;;
2a5571
    crisv32:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
2a5571
	exit ;;
2a5571
    frv:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    hexagon:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    i*86:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
2a5571
	exit ;;
2a5571
    ia64:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    m32r*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    m68*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    mips:Linux:*:* | mips64:Linux:*:*)
2a5571
	eval $set_cc_for_build
2a5571
	sed 's/^	//' << EOF >$dummy.c
2a5571
	#undef CPU
2a5571
	#undef ${UNAME_MACHINE}
2a5571
	#undef ${UNAME_MACHINE}el
2a5571
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
2a5571
	CPU=${UNAME_MACHINE}el
2a5571
	#else
2a5571
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
2a5571
	CPU=${UNAME_MACHINE}
2a5571
	#else
2a5571
	CPU=
2a5571
	#endif
2a5571
	#endif
2a5571
EOF
2a5571
	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
1046b9
	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
2a5571
	;;
1046b9
    or1k:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1046b9
	exit ;;
2a5571
    or32:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    padre:Linux:*:*)
1046b9
	echo sparc-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    parisc64:Linux:*:* | hppa64:Linux:*:*)
1046b9
	echo hppa64-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    parisc:Linux:*:* | hppa:Linux:*:*)
2a5571
	# Look for CPU level
2a5571
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1046b9
	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
1046b9
	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
1046b9
	  *)    echo hppa-unknown-linux-${LIBC} ;;
2a5571
	esac
2a5571
	exit ;;
2a5571
    ppc64:Linux:*:*)
1046b9
	echo powerpc64-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    ppc:Linux:*:*)
1046b9
	echo powerpc-unknown-linux-${LIBC}
1046b9
	exit ;;
1046b9
    ppc64le:Linux:*:*)
1046b9
	echo powerpc64le-unknown-linux-${LIBC}
1046b9
	exit ;;
1046b9
    ppcle:Linux:*:*)
1046b9
	echo powerpcle-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    s390:Linux:*:* | s390x:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
2a5571
	exit ;;
2a5571
    sh64*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    sh*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    sparc:Linux:*:* | sparc64:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    tile*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    vax:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
2a5571
	exit ;;
2a5571
    x86_64:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    xtensa*:Linux:*:*)
1046b9
	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
2a5571
	exit ;;
2a5571
    i*86:DYNIX/ptx:4*:*)
2a5571
	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
2a5571
	# earlier versions are messed up and put the nodename in both
2a5571
	# sysname and nodename.
2a5571
	echo i386-sequent-sysv4
2a5571
	exit ;;
2a5571
    i*86:UNIX_SV:4.2MP:2.*)
2a5571
	# Unixware is an offshoot of SVR4, but it has its own version
2a5571
	# number series starting with 2...
2a5571
	# I am not positive that other SVR4 systems won't match this,
2a5571
	# I just have to hope.  -- rms.
2a5571
	# Use sysv4.2uw... so that sysv4* matches it.
2a5571
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
2a5571
	exit ;;
2a5571
    i*86:OS/2:*:*)
2a5571
	# If we were able to find `uname', then EMX Unix compatibility
2a5571
	# is probably installed.
2a5571
	echo ${UNAME_MACHINE}-pc-os2-emx
2a5571
	exit ;;
2a5571
    i*86:XTS-300:*:STOP)
2a5571
	echo ${UNAME_MACHINE}-unknown-stop
2a5571
	exit ;;
2a5571
    i*86:atheos:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-atheos
2a5571
	exit ;;
2a5571
    i*86:syllable:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-syllable
2a5571
	exit ;;
2a5571
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
2a5571
	echo i386-unknown-lynxos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    i*86:*DOS:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
2a5571
	exit ;;
2a5571
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
2a5571
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
2a5571
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
2a5571
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
2a5571
	else
2a5571
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
2a5571
	fi
2a5571
	exit ;;
2a5571
    i*86:*:5:[678]*)
2a5571
	# UnixWare 7.x, OpenUNIX and OpenServer 6.
2a5571
	case `/bin/uname -X | grep "^Machine"` in
2a5571
	    *486*)	     UNAME_MACHINE=i486 ;;
2a5571
	    *Pentium)	     UNAME_MACHINE=i586 ;;
2a5571
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
2a5571
	esac
2a5571
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
2a5571
	exit ;;
2a5571
    i*86:*:3.2:*)
2a5571
	if test -f /usr/options/cb.name; then
2a5571
		UNAME_REL=`sed -n 's/.*Version //p' 
2a5571
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
2a5571
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
2a5571
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
2a5571
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
2a5571
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
2a5571
			&& UNAME_MACHINE=i586
2a5571
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
2a5571
			&& UNAME_MACHINE=i686
2a5571
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
2a5571
			&& UNAME_MACHINE=i686
2a5571
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
2a5571
	else
2a5571
		echo ${UNAME_MACHINE}-pc-sysv32
2a5571
	fi
2a5571
	exit ;;
2a5571
    pc:*:*:*)
2a5571
	# Left here for compatibility:
2a5571
	# uname -m prints for DJGPP always 'pc', but it prints nothing about
2a5571
	# the processor, so we play safe by assuming i586.
2a5571
	# Note: whatever this is, it MUST be the same as what config.sub
2a5571
	# prints for the "djgpp" host, or else GDB configury will decide that
2a5571
	# this is a cross-build.
2a5571
	echo i586-pc-msdosdjgpp
2a5571
	exit ;;
2a5571
    Intel:Mach:3*:*)
2a5571
	echo i386-pc-mach3
2a5571
	exit ;;
2a5571
    paragon:*:*:*)
2a5571
	echo i860-intel-osf1
2a5571
	exit ;;
2a5571
    i860:*:4.*:*) # i860-SVR4
2a5571
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
2a5571
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
2a5571
	else # Add other i860-SVR4 vendors below as they are discovered.
2a5571
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
2a5571
	fi
2a5571
	exit ;;
2a5571
    mini*:CTIX:SYS*5:*)
2a5571
	# "miniframe"
2a5571
	echo m68010-convergent-sysv
2a5571
	exit ;;
2a5571
    mc68k:UNIX:SYSTEM5:3.51m)
2a5571
	echo m68k-convergent-sysv
2a5571
	exit ;;
2a5571
    M680?0:D-NIX:5.3:*)
2a5571
	echo m68k-diab-dnix
2a5571
	exit ;;
2a5571
    M68*:*:R3V[5678]*:*)
2a5571
	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
2a5571
    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)
2a5571
	OS_REL=''
2a5571
	test -r /etc/.relid \
2a5571
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
2a5571
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2a5571
	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
2a5571
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
2a5571
	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
2a5571
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
2a5571
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2a5571
	  && { echo i486-ncr-sysv4; exit; } ;;
2a5571
    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
2a5571
	OS_REL='.3'
2a5571
	test -r /etc/.relid \
2a5571
	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
2a5571
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
2a5571
	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
2a5571
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
2a5571
	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
2a5571
	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
2a5571
	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
2a5571
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
2a5571
	echo m68k-unknown-lynxos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    mc68030:UNIX_System_V:4.*:*)
2a5571
	echo m68k-atari-sysv4
2a5571
	exit ;;
2a5571
    TSUNAMI:LynxOS:2.*:*)
2a5571
	echo sparc-unknown-lynxos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    rs6000:LynxOS:2.*:*)
2a5571
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
2a5571
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SM[BE]S:UNIX_SV:*:*)
2a5571
	echo mips-dde-sysv${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    RM*:ReliantUNIX-*:*:*)
2a5571
	echo mips-sni-sysv4
2a5571
	exit ;;
2a5571
    RM*:SINIX-*:*:*)
2a5571
	echo mips-sni-sysv4
2a5571
	exit ;;
2a5571
    *:SINIX-*:*:*)
2a5571
	if uname -p 2>/dev/null >/dev/null ; then
2a5571
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
2a5571
		echo ${UNAME_MACHINE}-sni-sysv4
2a5571
	else
2a5571
		echo ns32k-sni-sysv
2a5571
	fi
2a5571
	exit ;;
2a5571
    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
2a5571
			# says <richard.m.bartel@ccmail.census.gov>
2a5571
	echo i586-unisys-sysv4
2a5571
	exit ;;
2a5571
    *:UNIX_System_V:4*:FTX*)
2a5571
	# From Gerald Hewes <hewes@openmarket.com>.
2a5571
	# How about differentiating between stratus architectures? -djm
2a5571
	echo hppa1.1-stratus-sysv4
2a5571
	exit ;;
2a5571
    *:*:*:FTX*)
2a5571
	# From seanf@swdc.stratus.com.
2a5571
	echo i860-stratus-sysv4
2a5571
	exit ;;
2a5571
    i*86:VOS:*:*)
2a5571
	# From Paul.Green@stratus.com.
2a5571
	echo ${UNAME_MACHINE}-stratus-vos
2a5571
	exit ;;
2a5571
    *:VOS:*:*)
2a5571
	# From Paul.Green@stratus.com.
2a5571
	echo hppa1.1-stratus-vos
2a5571
	exit ;;
2a5571
    mc68*:A/UX:*:*)
2a5571
	echo m68k-apple-aux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    news*:NEWS-OS:6*:*)
2a5571
	echo mips-sony-newsos6
2a5571
	exit ;;
2a5571
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
2a5571
	if [ -d /usr/nec ]; then
2a5571
		echo mips-nec-sysv${UNAME_RELEASE}
2a5571
	else
2a5571
		echo mips-unknown-sysv${UNAME_RELEASE}
2a5571
	fi
2a5571
	exit ;;
2a5571
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
2a5571
	echo powerpc-be-beos
2a5571
	exit ;;
2a5571
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
2a5571
	echo powerpc-apple-beos
2a5571
	exit ;;
2a5571
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
2a5571
	echo i586-pc-beos
2a5571
	exit ;;
2a5571
    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
2a5571
	echo i586-pc-haiku
2a5571
	exit ;;
2a5571
    x86_64:Haiku:*:*)
2a5571
	echo x86_64-unknown-haiku
2a5571
	exit ;;
2a5571
    SX-4:SUPER-UX:*:*)
2a5571
	echo sx4-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SX-5:SUPER-UX:*:*)
2a5571
	echo sx5-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SX-6:SUPER-UX:*:*)
2a5571
	echo sx6-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SX-7:SUPER-UX:*:*)
2a5571
	echo sx7-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SX-8:SUPER-UX:*:*)
2a5571
	echo sx8-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    SX-8R:SUPER-UX:*:*)
2a5571
	echo sx8r-nec-superux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    Power*:Rhapsody:*:*)
2a5571
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:Rhapsody:*:*)
2a5571
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:Darwin:*:*)
2a5571
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1046b9
	eval $set_cc_for_build
1046b9
	if test "$UNAME_PROCESSOR" = unknown ; then
1046b9
	    UNAME_PROCESSOR=powerpc
1046b9
	fi
1046b9
	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1046b9
	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1046b9
		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1046b9
		grep IS_64BIT_ARCH >/dev/null
1046b9
	    then
1046b9
		case $UNAME_PROCESSOR in
1046b9
		    i386) UNAME_PROCESSOR=x86_64 ;;
1046b9
		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1046b9
		esac
1046b9
	    fi
1046b9
	fi
2a5571
	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
2a5571
	UNAME_PROCESSOR=`uname -p`
2a5571
	if test "$UNAME_PROCESSOR" = "x86"; then
2a5571
		UNAME_PROCESSOR=i386
2a5571
		UNAME_MACHINE=pc
2a5571
	fi
2a5571
	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:QNX:*:4*)
2a5571
	echo i386-pc-qnx
2a5571
	exit ;;
2a5571
    NEO-?:NONSTOP_KERNEL:*:*)
2a5571
	echo neo-tandem-nsk${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    NSE-*:NONSTOP_KERNEL:*:*)
2a5571
	echo nse-tandem-nsk${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    NSR-?:NONSTOP_KERNEL:*:*)
2a5571
	echo nsr-tandem-nsk${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:NonStop-UX:*:*)
2a5571
	echo mips-compaq-nonstopux
2a5571
	exit ;;
2a5571
    BS2000:POSIX*:*:*)
2a5571
	echo bs2000-siemens-sysv
2a5571
	exit ;;
2a5571
    DS/*:UNIX_System_V:*:*)
2a5571
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:Plan9:*:*)
2a5571
	# "uname -m" is not consistent, so use $cputype instead. 386
2a5571
	# is converted to i386 for consistency with other x86
2a5571
	# operating systems.
2a5571
	if test "$cputype" = "386"; then
2a5571
	    UNAME_MACHINE=i386
2a5571
	else
2a5571
	    UNAME_MACHINE="$cputype"
2a5571
	fi
2a5571
	echo ${UNAME_MACHINE}-unknown-plan9
2a5571
	exit ;;
2a5571
    *:TOPS-10:*:*)
2a5571
	echo pdp10-unknown-tops10
2a5571
	exit ;;
2a5571
    *:TENEX:*:*)
2a5571
	echo pdp10-unknown-tenex
2a5571
	exit ;;
2a5571
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
2a5571
	echo pdp10-dec-tops20
2a5571
	exit ;;
2a5571
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
2a5571
	echo pdp10-xkl-tops20
2a5571
	exit ;;
2a5571
    *:TOPS-20:*:*)
2a5571
	echo pdp10-unknown-tops20
2a5571
	exit ;;
2a5571
    *:ITS:*:*)
2a5571
	echo pdp10-unknown-its
2a5571
	exit ;;
2a5571
    SEI:*:*:SEIUX)
2a5571
	echo mips-sei-seiux${UNAME_RELEASE}
2a5571
	exit ;;
2a5571
    *:DragonFly:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
2a5571
	exit ;;
2a5571
    *:*VMS:*:*)
2a5571
	UNAME_MACHINE=`(uname -p) 2>/dev/null`
2a5571
	case "${UNAME_MACHINE}" in
2a5571
	    A*) echo alpha-dec-vms ; exit ;;
2a5571
	    I*) echo ia64-dec-vms ; exit ;;
2a5571
	    V*) echo vax-dec-vms ; exit ;;
2a5571
	esac ;;
2a5571
    *:XENIX:*:SysV)
2a5571
	echo i386-pc-xenix
2a5571
	exit ;;
2a5571
    i*86:skyos:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
2a5571
	exit ;;
2a5571
    i*86:rdos:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-rdos
2a5571
	exit ;;
2a5571
    i*86:AROS:*:*)
2a5571
	echo ${UNAME_MACHINE}-pc-aros
2a5571
	exit ;;
2a5571
    x86_64:VMkernel:*:*)
2a5571
	echo ${UNAME_MACHINE}-unknown-esx
2a5571
	exit ;;
2a5571
esac
2a5571
2a5571
eval $set_cc_for_build
2a5571
cat >$dummy.c <
2a5571
#ifdef _SEQUENT_
2a5571
# include <sys types.h="">
2a5571
# include <sys utsname.h="">
2a5571
#endif
2a5571
main ()
2a5571
{
2a5571
#if defined (sony)
2a5571
#if defined (MIPSEB)
2a5571
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
2a5571
     I don't know....  */
2a5571
  printf ("mips-sony-bsd\n"); exit (0);
2a5571
#else
2a5571
#include <sys param.h="">
2a5571
  printf ("m68k-sony-newsos%s\n",
2a5571
#ifdef NEWSOS4
2a5571
	"4"
2a5571
#else
2a5571
	""
2a5571
#endif
2a5571
	); exit (0);
2a5571
#endif
2a5571
#endif
2a5571
2a5571
#if defined (__arm) && defined (__acorn) && defined (__unix)
2a5571
  printf ("arm-acorn-riscix\n"); exit (0);
2a5571
#endif
2a5571
2a5571
#if defined (hp300) && !defined (hpux)
2a5571
  printf ("m68k-hp-bsd\n"); exit (0);
2a5571
#endif
2a5571
2a5571
#if defined (NeXT)
2a5571
#if !defined (__ARCHITECTURE__)
2a5571
#define __ARCHITECTURE__ "m68k"
2a5571
#endif
2a5571
  int version;
2a5571
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
2a5571
  if (version < 4)
2a5571
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
2a5571
  else
2a5571
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
2a5571
  exit (0);
2a5571
#endif
2a5571
2a5571
#if defined (MULTIMAX) || defined (n16)
2a5571
#if defined (UMAXV)
2a5571
  printf ("ns32k-encore-sysv\n"); exit (0);
2a5571
#else
2a5571
#if defined (CMU)
2a5571
  printf ("ns32k-encore-mach\n"); exit (0);
2a5571
#else
2a5571
  printf ("ns32k-encore-bsd\n"); exit (0);
2a5571
#endif
2a5571
#endif
2a5571
#endif
2a5571
2a5571
#if defined (__386BSD__)
2a5571
  printf ("i386-pc-bsd\n"); exit (0);
2a5571
#endif
2a5571
2a5571
#if defined (sequent)
2a5571
#if defined (i386)
2a5571
  printf ("i386-sequent-dynix\n"); exit (0);
2a5571
#endif
2a5571
#if defined (ns32000)
2a5571
  printf ("ns32k-sequent-dynix\n"); exit (0);
2a5571
#endif
2a5571
#endif
2a5571
2a5571
#if defined (_SEQUENT_)
2a5571
    struct utsname un;
2a5571
2a5571
    uname(&un);
2a5571
2a5571
    if (strncmp(un.version, "V2", 2) == 0) {
2a5571
	printf ("i386-sequent-ptx2\n"); exit (0);
2a5571
    }
2a5571
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
2a5571
	printf ("i386-sequent-ptx1\n"); exit (0);
2a5571
    }
2a5571
    printf ("i386-sequent-ptx\n"); exit (0);
2a5571
2a5571
#endif
2a5571
2a5571
#if defined (vax)
2a5571
# if !defined (ultrix)
2a5571
#  include <sys param.h="">
2a5571
#  if defined (BSD)
2a5571
#   if BSD == 43
2a5571
      printf ("vax-dec-bsd4.3\n"); exit (0);
2a5571
#   else
2a5571
#    if BSD == 199006
2a5571
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
2a5571
#    else
2a5571
      printf ("vax-dec-bsd\n"); exit (0);
2a5571
#    endif
2a5571
#   endif
2a5571
#  else
2a5571
    printf ("vax-dec-bsd\n"); exit (0);
2a5571
#  endif
2a5571
# else
2a5571
    printf ("vax-dec-ultrix\n"); exit (0);
2a5571
# endif
2a5571
#endif
2a5571
2a5571
#if defined (alliant) && defined (i860)
2a5571
  printf ("i860-alliant-bsd\n"); exit (0);
2a5571
#endif
2a5571
2a5571
  exit (1);
2a5571
}
2a5571
EOF
2a5571
2a5571
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
2a5571
	{ echo "$SYSTEM_NAME"; exit; }
2a5571
2a5571
# Apollos put the system type in the environment.
2a5571
2a5571
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
2a5571
2a5571
# Convex versions that predate uname can use getsysinfo(1)
2a5571
2a5571
if [ -x /usr/convex/getsysinfo ]
2a5571
then
2a5571
    case `getsysinfo -f cpu_type` in
2a5571
    c1*)
2a5571
	echo c1-convex-bsd
2a5571
	exit ;;
2a5571
    c2*)
2a5571
	if getsysinfo -f scalar_acc
2a5571
	then echo c32-convex-bsd
2a5571
	else echo c2-convex-bsd
2a5571
	fi
2a5571
	exit ;;
2a5571
    c34*)
2a5571
	echo c34-convex-bsd
2a5571
	exit ;;
2a5571
    c38*)
2a5571
	echo c38-convex-bsd
2a5571
	exit ;;
2a5571
    c4*)
2a5571
	echo c4-convex-bsd
2a5571
	exit ;;
2a5571
    esac
2a5571
fi
2a5571
2a5571
cat >&2 <
2a5571
$0: unable to guess system type
2a5571
2a5571
This script, last modified $timestamp, has failed to recognize
2a5571
the operating system you are using. It is advised that you
2a5571
download the most up to date version of the config scripts from
2a5571
2a5571
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
2a5571
and
2a5571
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
2a5571
2a5571
If the version you run ($0) is already up to date, please
2a5571
send the following data and any information you think might be
2a5571
pertinent to <config-patches@gnu.org> in order to provide the needed
2a5571
information to handle your system.
2a5571
2a5571
config.guess timestamp = $timestamp
2a5571
2a5571
uname -m = `(uname -m) 2>/dev/null || echo unknown`
2a5571
uname -r = `(uname -r) 2>/dev/null || echo unknown`
2a5571
uname -s = `(uname -s) 2>/dev/null || echo unknown`
2a5571
uname -v = `(uname -v) 2>/dev/null || echo unknown`
2a5571
2a5571
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
2a5571
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
2a5571
2a5571
hostinfo               = `(hostinfo) 2>/dev/null`
2a5571
/bin/universe          = `(/bin/universe) 2>/dev/null`
2a5571
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
2a5571
/bin/arch              = `(/bin/arch) 2>/dev/null`
2a5571
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
2a5571
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
2a5571
2a5571
UNAME_MACHINE = ${UNAME_MACHINE}
2a5571
UNAME_RELEASE = ${UNAME_RELEASE}
2a5571
UNAME_SYSTEM  = ${UNAME_SYSTEM}
2a5571
UNAME_VERSION = ${UNAME_VERSION}
2a5571
EOF
2a5571
2a5571
exit 1
2a5571
2a5571
# Local variables:
2a5571
# eval: (add-hook 'write-file-hooks 'time-stamp)
2a5571
# time-stamp-start: "timestamp='"
2a5571
# time-stamp-format: "%:y-%02m-%02d"
2a5571
# time-stamp-end: "'"
2a5571
# End: