config.guess revision 67f05d30
167f05d30Smrg#! /bin/sh
267f05d30Smrg# Attempt to guess a canonical system name.
367f05d30Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
467f05d30Smrg#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
567f05d30Smrg
667f05d30Smrgtimestamp='2003-06-17'
767f05d30Smrg
867f05d30Smrg# This file is free software; you can redistribute it and/or modify it
967f05d30Smrg# under the terms of the GNU General Public License as published by
1067f05d30Smrg# the Free Software Foundation; either version 2 of the License, or
1167f05d30Smrg# (at your option) any later version.
1267f05d30Smrg#
1367f05d30Smrg# This program is distributed in the hope that it will be useful, but
1467f05d30Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1567f05d30Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1667f05d30Smrg# General Public License for more details.
1767f05d30Smrg#
1867f05d30Smrg# You should have received a copy of the GNU General Public License
1967f05d30Smrg# along with this program; if not, write to the Free Software
2067f05d30Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2167f05d30Smrg#
2267f05d30Smrg# As a special exception to the GNU General Public License, if you
2367f05d30Smrg# distribute this file as part of a program that contains a
2467f05d30Smrg# configuration script generated by Autoconf, you may include it under
2567f05d30Smrg# the same distribution terms that you use for the rest of that program.
2667f05d30Smrg
2767f05d30Smrg# Originally written by Per Bothner <per@bothner.com>.
2867f05d30Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
2967f05d30Smrg# diff and a properly formatted ChangeLog entry.
3067f05d30Smrg#
3167f05d30Smrg# This script attempts to guess a canonical system name similar to
3267f05d30Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
3367f05d30Smrg# exits with 0.  Otherwise, it exits with 1.
3467f05d30Smrg#
3567f05d30Smrg# The plan is that this can be called by configure scripts if you
3667f05d30Smrg# don't specify an explicit build system type.
3767f05d30Smrg
3867f05d30Smrgme=`echo "$0" | sed -e 's,.*/,,'`
3967f05d30Smrg
4067f05d30Smrgusage="\
4167f05d30SmrgUsage: $0 [OPTION]
4267f05d30Smrg
4367f05d30SmrgOutput the configuration name of the system \`$me' is run on.
4467f05d30Smrg
4567f05d30SmrgOperation modes:
4667f05d30Smrg  -h, --help         print this help, then exit
4767f05d30Smrg  -t, --time-stamp   print date of last modification, then exit
4867f05d30Smrg  -v, --version      print version number, then exit
4967f05d30Smrg
5067f05d30SmrgReport bugs and patches to <config-patches@gnu.org>."
5167f05d30Smrg
5267f05d30Smrgversion="\
5367f05d30SmrgGNU config.guess ($timestamp)
5467f05d30Smrg
5567f05d30SmrgOriginally written by Per Bothner.
5667f05d30SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
5767f05d30SmrgFree Software Foundation, Inc.
5867f05d30Smrg
5967f05d30SmrgThis is free software; see the source for copying conditions.  There is NO
6067f05d30Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6167f05d30Smrg
6267f05d30Smrghelp="
6367f05d30SmrgTry \`$me --help' for more information."
6467f05d30Smrg
6567f05d30Smrg# Parse command line
6667f05d30Smrgwhile test $# -gt 0 ; do
6767f05d30Smrg  case $1 in
6867f05d30Smrg    --time-stamp | --time* | -t )
6967f05d30Smrg       echo "$timestamp" ; exit 0 ;;
7067f05d30Smrg    --version | -v )
7167f05d30Smrg       echo "$version" ; exit 0 ;;
7267f05d30Smrg    --help | --h* | -h )
7367f05d30Smrg       echo "$usage"; exit 0 ;;
7467f05d30Smrg    -- )     # Stop option processing
7567f05d30Smrg       shift; break ;;
7667f05d30Smrg    - )	# Use stdin as input.
7767f05d30Smrg       break ;;
7867f05d30Smrg    -* )
7967f05d30Smrg       echo "$me: invalid option $1$help" >&2
8067f05d30Smrg       exit 1 ;;
8167f05d30Smrg    * )
8267f05d30Smrg       break ;;
8367f05d30Smrg  esac
8467f05d30Smrgdone
8567f05d30Smrg
8667f05d30Smrgif test $# != 0; then
8767f05d30Smrg  echo "$me: too many arguments$help" >&2
8867f05d30Smrg  exit 1
8967f05d30Smrgfi
9067f05d30Smrg
9167f05d30Smrgtrap 'exit 1' 1 2 15
9267f05d30Smrg
9367f05d30Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
9467f05d30Smrg# compiler to aid in system detection is discouraged as it requires
9567f05d30Smrg# temporary files to be created and, as you can see below, it is a
9667f05d30Smrg# headache to deal with in a portable fashion.
9767f05d30Smrg
9867f05d30Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
9967f05d30Smrg# use `HOST_CC' if defined, but it is deprecated.
10067f05d30Smrg
10167f05d30Smrg# Portable tmp directory creation inspired by the Autoconf team.
10267f05d30Smrg
10367f05d30Smrgset_cc_for_build='
10467f05d30Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
10567f05d30Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
10667f05d30Smrg: ${TMPDIR=/tmp} ;
10767f05d30Smrg { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
10867f05d30Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
10967f05d30Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
11067f05d30Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
11167f05d30Smrgdummy=$tmp/dummy ;
11267f05d30Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
11367f05d30Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
11467f05d30Smrg ,,)    echo "int x;" > $dummy.c ;
11567f05d30Smrg	for c in cc gcc c89 c99 ; do
11667f05d30Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
11767f05d30Smrg	     CC_FOR_BUILD="$c"; break ;
11867f05d30Smrg	  fi ;
11967f05d30Smrg	done ;
12067f05d30Smrg	if test x"$CC_FOR_BUILD" = x ; then
12167f05d30Smrg	  CC_FOR_BUILD=no_compiler_found ;
12267f05d30Smrg	fi
12367f05d30Smrg	;;
12467f05d30Smrg ,,*)   CC_FOR_BUILD=$CC ;;
12567f05d30Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
12667f05d30Smrgesac ;'
12767f05d30Smrg
12867f05d30Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
12967f05d30Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
13067f05d30Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
13167f05d30Smrg	PATH=$PATH:/.attbin ; export PATH
13267f05d30Smrgfi
13367f05d30Smrg
13467f05d30SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
13567f05d30SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
13667f05d30SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
13767f05d30SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
13867f05d30Smrg
13967f05d30Smrg## for Red Hat Linux
14067f05d30Smrgif test -f /etc/redhat-release ; then
14167f05d30Smrg    VENDOR=redhat ;
14267f05d30Smrgelse
14367f05d30Smrg    VENDOR= ;
14467f05d30Smrgfi
14567f05d30Smrg
14667f05d30Smrg# Note: order is significant - the case branches are not exclusive.
14767f05d30Smrg
14867f05d30Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
14967f05d30Smrg    *:NetBSD:*:*)
15067f05d30Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
15167f05d30Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
15267f05d30Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
15367f05d30Smrg	# switched to ELF, *-*-netbsd* would select the old
15467f05d30Smrg	# object file format.  This provides both forward
15567f05d30Smrg	# compatibility and a consistent mechanism for selecting the
15667f05d30Smrg	# object file format.
15767f05d30Smrg	#
15867f05d30Smrg	# Note: NetBSD doesn't particularly care about the vendor
15967f05d30Smrg	# portion of the name.  We always set it to "unknown".
16067f05d30Smrg	sysctl="sysctl -n hw.machine_arch"
16167f05d30Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
16267f05d30Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
16367f05d30Smrg	case "${UNAME_MACHINE_ARCH}" in
16467f05d30Smrg	    armeb) machine=armeb-unknown ;;
16567f05d30Smrg	    arm*) machine=arm-unknown ;;
16667f05d30Smrg	    sh3el) machine=shl-unknown ;;
16767f05d30Smrg	    sh3eb) machine=sh-unknown ;;
16867f05d30Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
16967f05d30Smrg	esac
17067f05d30Smrg	# The Operating System including object format, if it has switched
17167f05d30Smrg	# to ELF recently, or will in the future.
17267f05d30Smrg	case "${UNAME_MACHINE_ARCH}" in
17367f05d30Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
17467f05d30Smrg		eval $set_cc_for_build
17567f05d30Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
17667f05d30Smrg			| grep __ELF__ >/dev/null
17767f05d30Smrg		then
17867f05d30Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
17967f05d30Smrg		    # Return netbsd for either.  FIX?
18067f05d30Smrg		    os=netbsd
18167f05d30Smrg		else
18267f05d30Smrg		    os=netbsdelf
18367f05d30Smrg		fi
18467f05d30Smrg		;;
18567f05d30Smrg	    *)
18667f05d30Smrg	        os=netbsd
18767f05d30Smrg		;;
18867f05d30Smrg	esac
18967f05d30Smrg	# The OS release
19067f05d30Smrg	# Debian GNU/NetBSD machines have a different userland, and
19167f05d30Smrg	# thus, need a distinct triplet. However, they do not need
19267f05d30Smrg	# kernel version information, so it can be replaced with a
19367f05d30Smrg	# suitable tag, in the style of linux-gnu.
19467f05d30Smrg	case "${UNAME_VERSION}" in
19567f05d30Smrg	    Debian*)
19667f05d30Smrg		release='-gnu'
19767f05d30Smrg		;;
19867f05d30Smrg	    *)
19967f05d30Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
20067f05d30Smrg		;;
20167f05d30Smrg	esac
20267f05d30Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
20367f05d30Smrg	# contains redundant information, the shorter form:
20467f05d30Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
20567f05d30Smrg	echo "${machine}-${os}${release}"
20667f05d30Smrg	exit 0 ;;
20767f05d30Smrg    amiga:OpenBSD:*:*)
20867f05d30Smrg	echo m68k-unknown-openbsd${UNAME_RELEASE}
20967f05d30Smrg	exit 0 ;;
21067f05d30Smrg    arc:OpenBSD:*:*)
21167f05d30Smrg	echo mipsel-unknown-openbsd${UNAME_RELEASE}
21267f05d30Smrg	exit 0 ;;
21367f05d30Smrg    hp300:OpenBSD:*:*)
21467f05d30Smrg	echo m68k-unknown-openbsd${UNAME_RELEASE}
21567f05d30Smrg	exit 0 ;;
21667f05d30Smrg    mac68k:OpenBSD:*:*)
21767f05d30Smrg	echo m68k-unknown-openbsd${UNAME_RELEASE}
21867f05d30Smrg	exit 0 ;;
21967f05d30Smrg    macppc:OpenBSD:*:*)
22067f05d30Smrg	echo powerpc-unknown-openbsd${UNAME_RELEASE}
22167f05d30Smrg	exit 0 ;;
22267f05d30Smrg    mvme68k:OpenBSD:*:*)
22367f05d30Smrg	echo m68k-unknown-openbsd${UNAME_RELEASE}
22467f05d30Smrg	exit 0 ;;
22567f05d30Smrg    mvme88k:OpenBSD:*:*)
22667f05d30Smrg	echo m88k-unknown-openbsd${UNAME_RELEASE}
22767f05d30Smrg	exit 0 ;;
22867f05d30Smrg    mvmeppc:OpenBSD:*:*)
22967f05d30Smrg	echo powerpc-unknown-openbsd${UNAME_RELEASE}
23067f05d30Smrg	exit 0 ;;
23167f05d30Smrg    pmax:OpenBSD:*:*)
23267f05d30Smrg	echo mipsel-unknown-openbsd${UNAME_RELEASE}
23367f05d30Smrg	exit 0 ;;
23467f05d30Smrg    sgi:OpenBSD:*:*)
23567f05d30Smrg	echo mipseb-unknown-openbsd${UNAME_RELEASE}
23667f05d30Smrg	exit 0 ;;
23767f05d30Smrg    sun3:OpenBSD:*:*)
23867f05d30Smrg	echo m68k-unknown-openbsd${UNAME_RELEASE}
23967f05d30Smrg	exit 0 ;;
24067f05d30Smrg    wgrisc:OpenBSD:*:*)
24167f05d30Smrg	echo mipsel-unknown-openbsd${UNAME_RELEASE}
24267f05d30Smrg	exit 0 ;;
24367f05d30Smrg    *:OpenBSD:*:*)
24467f05d30Smrg	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
24567f05d30Smrg	exit 0 ;;
24667f05d30Smrg    alpha:OSF1:*:*)
24767f05d30Smrg	if test $UNAME_RELEASE = "V4.0"; then
24867f05d30Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
24967f05d30Smrg	fi
25067f05d30Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
25167f05d30Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
25267f05d30Smrg	# covers most systems running today.  This code pipes the CPU
25367f05d30Smrg	# types through head -n 1, so we only detect the type of CPU 0.
25467f05d30Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
25567f05d30Smrg	case "$ALPHA_CPU_TYPE" in
25667f05d30Smrg	    "EV4 (21064)")
25767f05d30Smrg		UNAME_MACHINE="alpha" ;;
25867f05d30Smrg	    "EV4.5 (21064)")
25967f05d30Smrg		UNAME_MACHINE="alpha" ;;
26067f05d30Smrg	    "LCA4 (21066/21068)")
26167f05d30Smrg		UNAME_MACHINE="alpha" ;;
26267f05d30Smrg	    "EV5 (21164)")
26367f05d30Smrg		UNAME_MACHINE="alphaev5" ;;
26467f05d30Smrg	    "EV5.6 (21164A)")
26567f05d30Smrg		UNAME_MACHINE="alphaev56" ;;
26667f05d30Smrg	    "EV5.6 (21164PC)")
26767f05d30Smrg		UNAME_MACHINE="alphapca56" ;;
26867f05d30Smrg	    "EV5.7 (21164PC)")
26967f05d30Smrg		UNAME_MACHINE="alphapca57" ;;
27067f05d30Smrg	    "EV6 (21264)")
27167f05d30Smrg		UNAME_MACHINE="alphaev6" ;;
27267f05d30Smrg	    "EV6.7 (21264A)")
27367f05d30Smrg		UNAME_MACHINE="alphaev67" ;;
27467f05d30Smrg	    "EV6.8CB (21264C)")
27567f05d30Smrg		UNAME_MACHINE="alphaev68" ;;
27667f05d30Smrg	    "EV6.8AL (21264B)")
27767f05d30Smrg		UNAME_MACHINE="alphaev68" ;;
27867f05d30Smrg	    "EV6.8CX (21264D)")
27967f05d30Smrg		UNAME_MACHINE="alphaev68" ;;
28067f05d30Smrg	    "EV6.9A (21264/EV69A)")
28167f05d30Smrg		UNAME_MACHINE="alphaev69" ;;
28267f05d30Smrg	    "EV7 (21364)")
28367f05d30Smrg		UNAME_MACHINE="alphaev7" ;;
28467f05d30Smrg	    "EV7.9 (21364A)")
28567f05d30Smrg		UNAME_MACHINE="alphaev79" ;;
28667f05d30Smrg	esac
28767f05d30Smrg	# A Vn.n version is a released version.
28867f05d30Smrg	# A Tn.n version is a released field test version.
28967f05d30Smrg	# A Xn.n version is an unreleased experimental baselevel.
29067f05d30Smrg	# 1.2 uses "1.2" for uname -r.
29167f05d30Smrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
29267f05d30Smrg	exit 0 ;;
29367f05d30Smrg    Alpha*:OpenVMS:*:*)
29467f05d30Smrg	echo alpha-hp-vms
29567f05d30Smrg	exit 0 ;;
29667f05d30Smrg    Alpha\ *:Windows_NT*:*)
29767f05d30Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
29867f05d30Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
29967f05d30Smrg	# of the specific Alpha model?
30067f05d30Smrg	echo alpha-pc-interix
30167f05d30Smrg	exit 0 ;;
30267f05d30Smrg    21064:Windows_NT:50:3)
30367f05d30Smrg	echo alpha-dec-winnt3.5
30467f05d30Smrg	exit 0 ;;
30567f05d30Smrg    Amiga*:UNIX_System_V:4.0:*)
30667f05d30Smrg	echo m68k-unknown-sysv4
30767f05d30Smrg	exit 0;;
30867f05d30Smrg    *:[Aa]miga[Oo][Ss]:*:*)
30967f05d30Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
31067f05d30Smrg	exit 0 ;;
31167f05d30Smrg    *:[Mm]orph[Oo][Ss]:*:*)
31267f05d30Smrg	echo ${UNAME_MACHINE}-unknown-morphos
31367f05d30Smrg	exit 0 ;;
31467f05d30Smrg    *:OS/390:*:*)
31567f05d30Smrg	echo i370-ibm-openedition
31667f05d30Smrg	exit 0 ;;
31767f05d30Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
31867f05d30Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
31967f05d30Smrg	exit 0;;
32067f05d30Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
32167f05d30Smrg	echo hppa1.1-hitachi-hiuxmpp
32267f05d30Smrg	exit 0;;
32367f05d30Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
32467f05d30Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
32567f05d30Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
32667f05d30Smrg		echo pyramid-pyramid-sysv3
32767f05d30Smrg	else
32867f05d30Smrg		echo pyramid-pyramid-bsd
32967f05d30Smrg	fi
33067f05d30Smrg	exit 0 ;;
33167f05d30Smrg    NILE*:*:*:dcosx)
33267f05d30Smrg	echo pyramid-pyramid-svr4
33367f05d30Smrg	exit 0 ;;
33467f05d30Smrg    DRS?6000:unix:4.0:6*)
33567f05d30Smrg	echo sparc-icl-nx6
33667f05d30Smrg	exit 0 ;;
33767f05d30Smrg    DRS?6000:UNIX_SV:4.2*:7*)
33867f05d30Smrg	case `/usr/bin/uname -p` in
33967f05d30Smrg	    sparc) echo sparc-icl-nx7 && exit 0 ;;
34067f05d30Smrg	esac ;;
34167f05d30Smrg    sun4H:SunOS:5.*:*)
34267f05d30Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
34367f05d30Smrg	exit 0 ;;
34467f05d30Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
34567f05d30Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
34667f05d30Smrg	exit 0 ;;
34767f05d30Smrg    i86pc:SunOS:5.*:*)
34867f05d30Smrg	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
34967f05d30Smrg	exit 0 ;;
35067f05d30Smrg    sun4*:SunOS:6*:*)
35167f05d30Smrg	# According to config.sub, this is the proper way to canonicalize
35267f05d30Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
35367f05d30Smrg	# it's likely to be more like Solaris than SunOS4.
35467f05d30Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
35567f05d30Smrg	exit 0 ;;
35667f05d30Smrg    sun4*:SunOS:*:*)
35767f05d30Smrg	case "`/usr/bin/arch -k`" in
35867f05d30Smrg	    Series*|S4*)
35967f05d30Smrg		UNAME_RELEASE=`uname -v`
36067f05d30Smrg		;;
36167f05d30Smrg	esac
36267f05d30Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
36367f05d30Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
36467f05d30Smrg	exit 0 ;;
36567f05d30Smrg    sun3*:SunOS:*:*)
36667f05d30Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
36767f05d30Smrg	exit 0 ;;
36867f05d30Smrg    sun*:*:4.2BSD:*)
36967f05d30Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
37067f05d30Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
37167f05d30Smrg	case "`/bin/arch`" in
37267f05d30Smrg	    sun3)
37367f05d30Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
37467f05d30Smrg		;;
37567f05d30Smrg	    sun4)
37667f05d30Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
37767f05d30Smrg		;;
37867f05d30Smrg	esac
37967f05d30Smrg	exit 0 ;;
38067f05d30Smrg    aushp:SunOS:*:*)
38167f05d30Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
38267f05d30Smrg	exit 0 ;;
38367f05d30Smrg    # The situation for MiNT is a little confusing.  The machine name
38467f05d30Smrg    # can be virtually everything (everything which is not
38567f05d30Smrg    # "atarist" or "atariste" at least should have a processor
38667f05d30Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
38767f05d30Smrg    # to the lowercase version "mint" (or "freemint").  Finally
38867f05d30Smrg    # the system name "TOS" denotes a system which is actually not
38967f05d30Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
39067f05d30Smrg    # be no problem.
39167f05d30Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
39267f05d30Smrg        echo m68k-atari-mint${UNAME_RELEASE}
39367f05d30Smrg	exit 0 ;;
39467f05d30Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
39567f05d30Smrg	echo m68k-atari-mint${UNAME_RELEASE}
39667f05d30Smrg        exit 0 ;;
39767f05d30Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
39867f05d30Smrg        echo m68k-atari-mint${UNAME_RELEASE}
39967f05d30Smrg	exit 0 ;;
40067f05d30Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
40167f05d30Smrg        echo m68k-milan-mint${UNAME_RELEASE}
40267f05d30Smrg        exit 0 ;;
40367f05d30Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
40467f05d30Smrg        echo m68k-hades-mint${UNAME_RELEASE}
40567f05d30Smrg        exit 0 ;;
40667f05d30Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
40767f05d30Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
40867f05d30Smrg        exit 0 ;;
40967f05d30Smrg    powerpc:machten:*:*)
41067f05d30Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
41167f05d30Smrg	exit 0 ;;
41267f05d30Smrg    RISC*:Mach:*:*)
41367f05d30Smrg	echo mips-dec-mach_bsd4.3
41467f05d30Smrg	exit 0 ;;
41567f05d30Smrg    RISC*:ULTRIX:*:*)
41667f05d30Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
41767f05d30Smrg	exit 0 ;;
41867f05d30Smrg    VAX*:ULTRIX*:*:*)
41967f05d30Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
42067f05d30Smrg	exit 0 ;;
42167f05d30Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
42267f05d30Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
42367f05d30Smrg	exit 0 ;;
42467f05d30Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
42567f05d30Smrg	eval $set_cc_for_build
42667f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
42767f05d30Smrg#ifdef __cplusplus
42867f05d30Smrg#include <stdio.h>  /* for printf() prototype */
42967f05d30Smrg	int main (int argc, char *argv[]) {
43067f05d30Smrg#else
43167f05d30Smrg	int main (argc, argv) int argc; char *argv[]; {
43267f05d30Smrg#endif
43367f05d30Smrg	#if defined (host_mips) && defined (MIPSEB)
43467f05d30Smrg	#if defined (SYSTYPE_SYSV)
43567f05d30Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
43667f05d30Smrg	#endif
43767f05d30Smrg	#if defined (SYSTYPE_SVR4)
43867f05d30Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
43967f05d30Smrg	#endif
44067f05d30Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
44167f05d30Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
44267f05d30Smrg	#endif
44367f05d30Smrg	#endif
44467f05d30Smrg	  exit (-1);
44567f05d30Smrg	}
44667f05d30SmrgEOF
44767f05d30Smrg	$CC_FOR_BUILD -o $dummy $dummy.c \
44867f05d30Smrg	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
44967f05d30Smrg	  && exit 0
45067f05d30Smrg	echo mips-mips-riscos${UNAME_RELEASE}
45167f05d30Smrg	exit 0 ;;
45267f05d30Smrg    Motorola:PowerMAX_OS:*:*)
45367f05d30Smrg	echo powerpc-motorola-powermax
45467f05d30Smrg	exit 0 ;;
45567f05d30Smrg    Motorola:*:4.3:PL8-*)
45667f05d30Smrg	echo powerpc-harris-powermax
45767f05d30Smrg	exit 0 ;;
45867f05d30Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
45967f05d30Smrg	echo powerpc-harris-powermax
46067f05d30Smrg	exit 0 ;;
46167f05d30Smrg    Night_Hawk:Power_UNIX:*:*)
46267f05d30Smrg	echo powerpc-harris-powerunix
46367f05d30Smrg	exit 0 ;;
46467f05d30Smrg    m88k:CX/UX:7*:*)
46567f05d30Smrg	echo m88k-harris-cxux7
46667f05d30Smrg	exit 0 ;;
46767f05d30Smrg    m88k:*:4*:R4*)
46867f05d30Smrg	echo m88k-motorola-sysv4
46967f05d30Smrg	exit 0 ;;
47067f05d30Smrg    m88k:*:3*:R3*)
47167f05d30Smrg	echo m88k-motorola-sysv3
47267f05d30Smrg	exit 0 ;;
47367f05d30Smrg    AViiON:dgux:*:*)
47467f05d30Smrg        # DG/UX returns AViiON for all architectures
47567f05d30Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
47667f05d30Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
47767f05d30Smrg	then
47867f05d30Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
47967f05d30Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
48067f05d30Smrg	    then
48167f05d30Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
48267f05d30Smrg	    else
48367f05d30Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
48467f05d30Smrg	    fi
48567f05d30Smrg	else
48667f05d30Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
48767f05d30Smrg	fi
48867f05d30Smrg 	exit 0 ;;
48967f05d30Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
49067f05d30Smrg	echo m88k-dolphin-sysv3
49167f05d30Smrg	exit 0 ;;
49267f05d30Smrg    M88*:*:R3*:*)
49367f05d30Smrg	# Delta 88k system running SVR3
49467f05d30Smrg	echo m88k-motorola-sysv3
49567f05d30Smrg	exit 0 ;;
49667f05d30Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
49767f05d30Smrg	echo m88k-tektronix-sysv3
49867f05d30Smrg	exit 0 ;;
49967f05d30Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
50067f05d30Smrg	echo m68k-tektronix-bsd
50167f05d30Smrg	exit 0 ;;
50267f05d30Smrg    *:IRIX*:*:*)
50367f05d30Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
50467f05d30Smrg	exit 0 ;;
50567f05d30Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
50667f05d30Smrg	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
50767f05d30Smrg	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
50867f05d30Smrg    i*86:AIX:*:*)
50967f05d30Smrg	echo i386-ibm-aix
51067f05d30Smrg	exit 0 ;;
51167f05d30Smrg    ia64:AIX:*:*)
51267f05d30Smrg	if [ -x /usr/bin/oslevel ] ; then
51367f05d30Smrg		IBM_REV=`/usr/bin/oslevel`
51467f05d30Smrg	else
51567f05d30Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
51667f05d30Smrg	fi
51767f05d30Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
51867f05d30Smrg	exit 0 ;;
51967f05d30Smrg    *:AIX:2:3)
52067f05d30Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
52167f05d30Smrg		eval $set_cc_for_build
52267f05d30Smrg		sed 's/^		//' << EOF >$dummy.c
52367f05d30Smrg		#include <sys/systemcfg.h>
52467f05d30Smrg
52567f05d30Smrg		main()
52667f05d30Smrg			{
52767f05d30Smrg			if (!__power_pc())
52867f05d30Smrg				exit(1);
52967f05d30Smrg			puts("powerpc-ibm-aix3.2.5");
53067f05d30Smrg			exit(0);
53167f05d30Smrg			}
53267f05d30SmrgEOF
53367f05d30Smrg		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
53467f05d30Smrg		echo rs6000-ibm-aix3.2.5
53567f05d30Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
53667f05d30Smrg		echo rs6000-ibm-aix3.2.4
53767f05d30Smrg	else
53867f05d30Smrg		echo rs6000-ibm-aix3.2
53967f05d30Smrg	fi
54067f05d30Smrg	exit 0 ;;
54167f05d30Smrg    *:AIX:*:[45])
54267f05d30Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
54367f05d30Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
54467f05d30Smrg		IBM_ARCH=rs6000
54567f05d30Smrg	else
54667f05d30Smrg		IBM_ARCH=powerpc
54767f05d30Smrg	fi
54867f05d30Smrg	if [ -x /usr/bin/oslevel ] ; then
54967f05d30Smrg		IBM_REV=`/usr/bin/oslevel`
55067f05d30Smrg	else
55167f05d30Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
55267f05d30Smrg	fi
55367f05d30Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
55467f05d30Smrg	exit 0 ;;
55567f05d30Smrg    *:AIX:*:*)
55667f05d30Smrg	echo rs6000-ibm-aix
55767f05d30Smrg	exit 0 ;;
55867f05d30Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
55967f05d30Smrg	echo romp-ibm-bsd4.4
56067f05d30Smrg	exit 0 ;;
56167f05d30Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
56267f05d30Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
56367f05d30Smrg	exit 0 ;;                           # report: romp-ibm BSD 4.3
56467f05d30Smrg    *:BOSX:*:*)
56567f05d30Smrg	echo rs6000-bull-bosx
56667f05d30Smrg	exit 0 ;;
56767f05d30Smrg    DPX/2?00:B.O.S.:*:*)
56867f05d30Smrg	echo m68k-bull-sysv3
56967f05d30Smrg	exit 0 ;;
57067f05d30Smrg    9000/[34]??:4.3bsd:1.*:*)
57167f05d30Smrg	echo m68k-hp-bsd
57267f05d30Smrg	exit 0 ;;
57367f05d30Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
57467f05d30Smrg	echo m68k-hp-bsd4.4
57567f05d30Smrg	exit 0 ;;
57667f05d30Smrg    9000/[34678]??:HP-UX:*:*)
57767f05d30Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
57867f05d30Smrg	case "${UNAME_MACHINE}" in
57967f05d30Smrg	    9000/31? )            HP_ARCH=m68000 ;;
58067f05d30Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
58167f05d30Smrg	    9000/[678][0-9][0-9])
58267f05d30Smrg		if [ -x /usr/bin/getconf ]; then
58367f05d30Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
58467f05d30Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
58567f05d30Smrg                    case "${sc_cpu_version}" in
58667f05d30Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
58767f05d30Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
58867f05d30Smrg                      532)                      # CPU_PA_RISC2_0
58967f05d30Smrg                        case "${sc_kernel_bits}" in
59067f05d30Smrg                          32) HP_ARCH="hppa2.0n" ;;
59167f05d30Smrg                          64) HP_ARCH="hppa2.0w" ;;
59267f05d30Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
59367f05d30Smrg                        esac ;;
59467f05d30Smrg                    esac
59567f05d30Smrg		fi
59667f05d30Smrg		if [ "${HP_ARCH}" = "" ]; then
59767f05d30Smrg		    eval $set_cc_for_build
59867f05d30Smrg		    sed 's/^              //' << EOF >$dummy.c
59967f05d30Smrg
60067f05d30Smrg              #define _HPUX_SOURCE
60167f05d30Smrg              #include <stdlib.h>
60267f05d30Smrg              #include <unistd.h>
60367f05d30Smrg
60467f05d30Smrg              int main ()
60567f05d30Smrg              {
60667f05d30Smrg              #if defined(_SC_KERNEL_BITS)
60767f05d30Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
60867f05d30Smrg              #endif
60967f05d30Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
61067f05d30Smrg
61167f05d30Smrg                  switch (cpu)
61267f05d30Smrg              	{
61367f05d30Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
61467f05d30Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
61567f05d30Smrg              	case CPU_PA_RISC2_0:
61667f05d30Smrg              #if defined(_SC_KERNEL_BITS)
61767f05d30Smrg              	    switch (bits)
61867f05d30Smrg              		{
61967f05d30Smrg              		case 64: puts ("hppa2.0w"); break;
62067f05d30Smrg              		case 32: puts ("hppa2.0n"); break;
62167f05d30Smrg              		default: puts ("hppa2.0"); break;
62267f05d30Smrg              		} break;
62367f05d30Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
62467f05d30Smrg              	    puts ("hppa2.0"); break;
62567f05d30Smrg              #endif
62667f05d30Smrg              	default: puts ("hppa1.0"); break;
62767f05d30Smrg              	}
62867f05d30Smrg                  exit (0);
62967f05d30Smrg              }
63067f05d30SmrgEOF
63167f05d30Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
63267f05d30Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
63367f05d30Smrg		fi ;;
63467f05d30Smrg	esac
63567f05d30Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
63667f05d30Smrg	then
63767f05d30Smrg	    # avoid double evaluation of $set_cc_for_build
63867f05d30Smrg	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
63967f05d30Smrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
64067f05d30Smrg	    then
64167f05d30Smrg		HP_ARCH="hppa2.0w"
64267f05d30Smrg	    else
64367f05d30Smrg		HP_ARCH="hppa64"
64467f05d30Smrg	    fi
64567f05d30Smrg	fi
64667f05d30Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
64767f05d30Smrg	exit 0 ;;
64867f05d30Smrg    ia64:HP-UX:*:*)
64967f05d30Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
65067f05d30Smrg	echo ia64-hp-hpux${HPUX_REV}
65167f05d30Smrg	exit 0 ;;
65267f05d30Smrg    3050*:HI-UX:*:*)
65367f05d30Smrg	eval $set_cc_for_build
65467f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
65567f05d30Smrg	#include <unistd.h>
65667f05d30Smrg	int
65767f05d30Smrg	main ()
65867f05d30Smrg	{
65967f05d30Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
66067f05d30Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
66167f05d30Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
66267f05d30Smrg	     results, however.  */
66367f05d30Smrg	  if (CPU_IS_PA_RISC (cpu))
66467f05d30Smrg	    {
66567f05d30Smrg	      switch (cpu)
66667f05d30Smrg		{
66767f05d30Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
66867f05d30Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
66967f05d30Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
67067f05d30Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
67167f05d30Smrg		}
67267f05d30Smrg	    }
67367f05d30Smrg	  else if (CPU_IS_HP_MC68K (cpu))
67467f05d30Smrg	    puts ("m68k-hitachi-hiuxwe2");
67567f05d30Smrg	  else puts ("unknown-hitachi-hiuxwe2");
67667f05d30Smrg	  exit (0);
67767f05d30Smrg	}
67867f05d30SmrgEOF
67967f05d30Smrg	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
68067f05d30Smrg	echo unknown-hitachi-hiuxwe2
68167f05d30Smrg	exit 0 ;;
68267f05d30Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
68367f05d30Smrg	echo hppa1.1-hp-bsd
68467f05d30Smrg	exit 0 ;;
68567f05d30Smrg    9000/8??:4.3bsd:*:*)
68667f05d30Smrg	echo hppa1.0-hp-bsd
68767f05d30Smrg	exit 0 ;;
68867f05d30Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
68967f05d30Smrg	echo hppa1.0-hp-mpeix
69067f05d30Smrg	exit 0 ;;
69167f05d30Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
69267f05d30Smrg	echo hppa1.1-hp-osf
69367f05d30Smrg	exit 0 ;;
69467f05d30Smrg    hp8??:OSF1:*:*)
69567f05d30Smrg	echo hppa1.0-hp-osf
69667f05d30Smrg	exit 0 ;;
69767f05d30Smrg    i*86:OSF1:*:*)
69867f05d30Smrg	if [ -x /usr/sbin/sysversion ] ; then
69967f05d30Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
70067f05d30Smrg	else
70167f05d30Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
70267f05d30Smrg	fi
70367f05d30Smrg	exit 0 ;;
70467f05d30Smrg    parisc*:Lites*:*:*)
70567f05d30Smrg	echo hppa1.1-hp-lites
70667f05d30Smrg	exit 0 ;;
70767f05d30Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
70867f05d30Smrg	echo c1-convex-bsd
70967f05d30Smrg        exit 0 ;;
71067f05d30Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
71167f05d30Smrg	if getsysinfo -f scalar_acc
71267f05d30Smrg	then echo c32-convex-bsd
71367f05d30Smrg	else echo c2-convex-bsd
71467f05d30Smrg	fi
71567f05d30Smrg        exit 0 ;;
71667f05d30Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
71767f05d30Smrg	echo c34-convex-bsd
71867f05d30Smrg        exit 0 ;;
71967f05d30Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
72067f05d30Smrg	echo c38-convex-bsd
72167f05d30Smrg        exit 0 ;;
72267f05d30Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
72367f05d30Smrg	echo c4-convex-bsd
72467f05d30Smrg        exit 0 ;;
72567f05d30Smrg    CRAY*Y-MP:*:*:*)
72667f05d30Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
72767f05d30Smrg	exit 0 ;;
72867f05d30Smrg    CRAY*[A-Z]90:*:*:*)
72967f05d30Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
73067f05d30Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
73167f05d30Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
73267f05d30Smrg	      -e 's/\.[^.]*$/.X/'
73367f05d30Smrg	exit 0 ;;
73467f05d30Smrg    CRAY*TS:*:*:*)
73567f05d30Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
73667f05d30Smrg	exit 0 ;;
73767f05d30Smrg    CRAY*T3E:*:*:*)
73867f05d30Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
73967f05d30Smrg	exit 0 ;;
74067f05d30Smrg    CRAY*SV1:*:*:*)
74167f05d30Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
74267f05d30Smrg	exit 0 ;;
74367f05d30Smrg    *:UNICOS/mp:*:*)
74467f05d30Smrg	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
74567f05d30Smrg	exit 0 ;;
74667f05d30Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
74767f05d30Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
74867f05d30Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
74967f05d30Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
75067f05d30Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
75167f05d30Smrg        exit 0 ;;
75267f05d30Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
75367f05d30Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
75467f05d30Smrg	exit 0 ;;
75567f05d30Smrg    sparc*:BSD/OS:*:*)
75667f05d30Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
75767f05d30Smrg	exit 0 ;;
75867f05d30Smrg    *:BSD/OS:*:*)
75967f05d30Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
76067f05d30Smrg	exit 0 ;;
76167f05d30Smrg    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
76267f05d30Smrg	# Determine whether the default compiler uses glibc.
76367f05d30Smrg	eval $set_cc_for_build
76467f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
76567f05d30Smrg	#include <features.h>
76667f05d30Smrg	#if __GLIBC__ >= 2
76767f05d30Smrg	LIBC=gnu
76867f05d30Smrg	#else
76967f05d30Smrg	LIBC=
77067f05d30Smrg	#endif
77167f05d30SmrgEOF
77267f05d30Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
77367f05d30Smrg	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
77467f05d30Smrg	exit 0 ;;
77567f05d30Smrg    i*:CYGWIN*:*)
77667f05d30Smrg	echo ${UNAME_MACHINE}-pc-cygwin
77767f05d30Smrg	exit 0 ;;
77867f05d30Smrg    i*:MINGW*:*)
77967f05d30Smrg	echo ${UNAME_MACHINE}-pc-mingw32
78067f05d30Smrg	exit 0 ;;
78167f05d30Smrg    i*:PW*:*)
78267f05d30Smrg	echo ${UNAME_MACHINE}-pc-pw32
78367f05d30Smrg	exit 0 ;;
78467f05d30Smrg    x86:Interix*:[34]*)
78567f05d30Smrg	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
78667f05d30Smrg	exit 0 ;;
78767f05d30Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
78867f05d30Smrg	echo i${UNAME_MACHINE}-pc-mks
78967f05d30Smrg	exit 0 ;;
79067f05d30Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
79167f05d30Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
79267f05d30Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
79367f05d30Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
79467f05d30Smrg	echo i586-pc-interix
79567f05d30Smrg	exit 0 ;;
79667f05d30Smrg    i*:UWIN*:*)
79767f05d30Smrg	echo ${UNAME_MACHINE}-pc-uwin
79867f05d30Smrg	exit 0 ;;
79967f05d30Smrg    p*:CYGWIN*:*)
80067f05d30Smrg	echo powerpcle-unknown-cygwin
80167f05d30Smrg	exit 0 ;;
80267f05d30Smrg    prep*:SunOS:5.*:*)
80367f05d30Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
80467f05d30Smrg	exit 0 ;;
80567f05d30Smrg    *:GNU:*:*)
80667f05d30Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
80767f05d30Smrg	exit 0 ;;
80867f05d30Smrg    i*86:Minix:*:*)
80967f05d30Smrg	echo ${UNAME_MACHINE}-pc-minix
81067f05d30Smrg	exit 0 ;;
81167f05d30Smrg    arm*:Linux:*:*)
81267f05d30Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
81367f05d30Smrg	exit 0 ;;
81467f05d30Smrg    cris:Linux:*:*)
81567f05d30Smrg	echo cris-axis-linux-gnu
81667f05d30Smrg	exit 0 ;;
81767f05d30Smrg    ia64:Linux:*:*)
81867f05d30Smrg	echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
81967f05d30Smrg	exit 0 ;;
82067f05d30Smrg    m68*:Linux:*:*)
82167f05d30Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
82267f05d30Smrg	exit 0 ;;
82367f05d30Smrg    mips:Linux:*:*)
82467f05d30Smrg	eval $set_cc_for_build
82567f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
82667f05d30Smrg	#undef CPU
82767f05d30Smrg	#undef mips
82867f05d30Smrg	#undef mipsel
82967f05d30Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
83067f05d30Smrg	CPU=mipsel
83167f05d30Smrg	#else
83267f05d30Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
83367f05d30Smrg	CPU=mips
83467f05d30Smrg	#else
83567f05d30Smrg	CPU=
83667f05d30Smrg	#endif
83767f05d30Smrg	#endif
83867f05d30SmrgEOF
83967f05d30Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
84067f05d30Smrg	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
84167f05d30Smrg	;;
84267f05d30Smrg    mips64:Linux:*:*)
84367f05d30Smrg	eval $set_cc_for_build
84467f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
84567f05d30Smrg	#undef CPU
84667f05d30Smrg	#undef mips64
84767f05d30Smrg	#undef mips64el
84867f05d30Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
84967f05d30Smrg	CPU=mips64el
85067f05d30Smrg	#else
85167f05d30Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
85267f05d30Smrg	CPU=mips64
85367f05d30Smrg	#else
85467f05d30Smrg	CPU=
85567f05d30Smrg	#endif
85667f05d30Smrg	#endif
85767f05d30SmrgEOF
85867f05d30Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
85967f05d30Smrg	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
86067f05d30Smrg	;;
86167f05d30Smrg    ppc:Linux:*:*)
86267f05d30Smrg	echo powerpc-${VENDOR:-unknown}-linux-gnu
86367f05d30Smrg	exit 0 ;;
86467f05d30Smrg    ppc64:Linux:*:*)
86567f05d30Smrg	echo powerpc64-${VENDOR:-unknown}-linux-gnu
86667f05d30Smrg	exit 0 ;;
86767f05d30Smrg    alpha:Linux:*:*)
86867f05d30Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
86967f05d30Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
87067f05d30Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
87167f05d30Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
87267f05d30Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
87367f05d30Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
87467f05d30Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
87567f05d30Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
87667f05d30Smrg        esac
87767f05d30Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
87867f05d30Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
87967f05d30Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
88067f05d30Smrg	exit 0 ;;
88167f05d30Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
88267f05d30Smrg	# Look for CPU level
88367f05d30Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
88467f05d30Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
88567f05d30Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
88667f05d30Smrg	  *)    echo hppa-unknown-linux-gnu ;;
88767f05d30Smrg	esac
88867f05d30Smrg	exit 0 ;;
88967f05d30Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
89067f05d30Smrg	echo hppa64-unknown-linux-gnu
89167f05d30Smrg	exit 0 ;;
89267f05d30Smrg    s390:Linux:*:* | s390x:Linux:*:*)
89367f05d30Smrg	echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
89467f05d30Smrg	exit 0 ;;
89567f05d30Smrg    sh64*:Linux:*:*)
89667f05d30Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
89767f05d30Smrg	exit 0 ;;
89867f05d30Smrg    sh*:Linux:*:*)
89967f05d30Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
90067f05d30Smrg	exit 0 ;;
90167f05d30Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
90267f05d30Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
90367f05d30Smrg	exit 0 ;;
90467f05d30Smrg    x86_64:Linux:*:*)
90567f05d30Smrg	echo x86_64-${VENDOR:-unknown}-linux-gnu
90667f05d30Smrg	exit 0 ;;
90767f05d30Smrg    i*86:Linux:*:*)
90867f05d30Smrg	# The BFD linker knows what the default object file format is, so
90967f05d30Smrg	# first see if it will tell us. cd to the root directory to prevent
91067f05d30Smrg	# problems with other programs or directories called `ld' in the path.
91167f05d30Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
91267f05d30Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
91367f05d30Smrg			 | sed -ne '/supported targets:/!d
91467f05d30Smrg				    s/[ 	][ 	]*/ /g
91567f05d30Smrg				    s/.*supported targets: *//
91667f05d30Smrg				    s/ .*//
91767f05d30Smrg				    p'`
91867f05d30Smrg        case "$ld_supported_targets" in
91967f05d30Smrg	  elf32-i386)
92067f05d30Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
92167f05d30Smrg		;;
92267f05d30Smrg	  a.out-i386-linux)
92367f05d30Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
92467f05d30Smrg		exit 0 ;;
92567f05d30Smrg	  coff-i386)
92667f05d30Smrg		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
92767f05d30Smrg		exit 0 ;;
92867f05d30Smrg	  "")
92967f05d30Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
93067f05d30Smrg		# one that does not give us useful --help.
93167f05d30Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
93267f05d30Smrg		exit 0 ;;
93367f05d30Smrg	esac
93467f05d30Smrg	# Determine whether the default compiler is a.out or elf
93567f05d30Smrg	eval $set_cc_for_build
93667f05d30Smrg	sed 's/^	//' << EOF >$dummy.c
93767f05d30Smrg	#include <features.h>
93867f05d30Smrg	#ifdef __ELF__
93967f05d30Smrg	# ifdef __GLIBC__
94067f05d30Smrg	#  if __GLIBC__ >= 2
94167f05d30Smrg	LIBC=gnu
94267f05d30Smrg	#  else
94367f05d30Smrg	LIBC=gnulibc1
94467f05d30Smrg	#  endif
94567f05d30Smrg	# else
94667f05d30Smrg	LIBC=gnulibc1
94767f05d30Smrg	# endif
94867f05d30Smrg	#else
94967f05d30Smrg	#ifdef __INTEL_COMPILER
95067f05d30Smrg	LIBC=gnu
95167f05d30Smrg	#else
95267f05d30Smrg	LIBC=gnuaout
95367f05d30Smrg	#endif
95467f05d30Smrg	#endif
95567f05d30SmrgEOF
95667f05d30Smrg	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
95767f05d30Smrg	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
95867f05d30Smrg	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
95967f05d30Smrg	;;
96067f05d30Smrg    i*86:DYNIX/ptx:4*:*)
96167f05d30Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
96267f05d30Smrg	# earlier versions are messed up and put the nodename in both
96367f05d30Smrg	# sysname and nodename.
96467f05d30Smrg	echo i386-sequent-sysv4
96567f05d30Smrg	exit 0 ;;
96667f05d30Smrg    i*86:UNIX_SV:4.2MP:2.*)
96767f05d30Smrg        # Unixware is an offshoot of SVR4, but it has its own version
96867f05d30Smrg        # number series starting with 2...
96967f05d30Smrg        # I am not positive that other SVR4 systems won't match this,
97067f05d30Smrg	# I just have to hope.  -- rms.
97167f05d30Smrg        # Use sysv4.2uw... so that sysv4* matches it.
97267f05d30Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
97367f05d30Smrg	exit 0 ;;
97467f05d30Smrg    i*86:OS/2:*:*)
97567f05d30Smrg	# If we were able to find `uname', then EMX Unix compatibility
97667f05d30Smrg	# is probably installed.
97767f05d30Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
97867f05d30Smrg	exit 0 ;;
97967f05d30Smrg    i*86:XTS-300:*:STOP)
98067f05d30Smrg	echo ${UNAME_MACHINE}-unknown-stop
98167f05d30Smrg	exit 0 ;;
98267f05d30Smrg    i*86:atheos:*:*)
98367f05d30Smrg	echo ${UNAME_MACHINE}-unknown-atheos
98467f05d30Smrg	exit 0 ;;
98567f05d30Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
98667f05d30Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
98767f05d30Smrg	exit 0 ;;
98867f05d30Smrg    i*86:*DOS:*:*)
98967f05d30Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
99067f05d30Smrg	exit 0 ;;
99167f05d30Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
99267f05d30Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
99367f05d30Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
99467f05d30Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
99567f05d30Smrg	else
99667f05d30Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
99767f05d30Smrg	fi
99867f05d30Smrg	exit 0 ;;
99967f05d30Smrg    i*86:*:5:[78]*)
100067f05d30Smrg	case `/bin/uname -X | grep "^Machine"` in
100167f05d30Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
100267f05d30Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
100367f05d30Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
100467f05d30Smrg	esac
100567f05d30Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
100667f05d30Smrg	exit 0 ;;
100767f05d30Smrg    i*86:*:3.2:*)
100867f05d30Smrg	if test -f /usr/options/cb.name; then
100967f05d30Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
101067f05d30Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
101167f05d30Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
101267f05d30Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
101367f05d30Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
101467f05d30Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
101567f05d30Smrg			&& UNAME_MACHINE=i586
101667f05d30Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
101767f05d30Smrg			&& UNAME_MACHINE=i686
101867f05d30Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
101967f05d30Smrg			&& UNAME_MACHINE=i686
102067f05d30Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
102167f05d30Smrg	else
102267f05d30Smrg		echo ${UNAME_MACHINE}-pc-sysv32
102367f05d30Smrg	fi
102467f05d30Smrg	exit 0 ;;
102567f05d30Smrg    pc:*:*:*)
102667f05d30Smrg	# Left here for compatibility:
102767f05d30Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
102867f05d30Smrg        # the processor, so we play safe by assuming i386.
102967f05d30Smrg	echo i386-pc-msdosdjgpp
103067f05d30Smrg        exit 0 ;;
103167f05d30Smrg    Intel:Mach:3*:*)
103267f05d30Smrg	echo i386-pc-mach3
103367f05d30Smrg	exit 0 ;;
103467f05d30Smrg    paragon:*:*:*)
103567f05d30Smrg	echo i860-intel-osf1
103667f05d30Smrg	exit 0 ;;
103767f05d30Smrg    i860:*:4.*:*) # i860-SVR4
103867f05d30Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
103967f05d30Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
104067f05d30Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
104167f05d30Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
104267f05d30Smrg	fi
104367f05d30Smrg	exit 0 ;;
104467f05d30Smrg    mini*:CTIX:SYS*5:*)
104567f05d30Smrg	# "miniframe"
104667f05d30Smrg	echo m68010-convergent-sysv
104767f05d30Smrg	exit 0 ;;
104867f05d30Smrg    mc68k:UNIX:SYSTEM5:3.51m)
104967f05d30Smrg	echo m68k-convergent-sysv
105067f05d30Smrg	exit 0 ;;
105167f05d30Smrg    M680?0:D-NIX:5.3:*)
105267f05d30Smrg	echo m68k-diab-dnix
105367f05d30Smrg	exit 0 ;;
105467f05d30Smrg    M68*:*:R3V[567]*:*)
105567f05d30Smrg	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
105667f05d30Smrg    3[34]??:*: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)
105767f05d30Smrg	OS_REL=''
105867f05d30Smrg	test -r /etc/.relid \
105967f05d30Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
106067f05d30Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
106167f05d30Smrg	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
106267f05d30Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
106367f05d30Smrg	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
106467f05d30Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
106567f05d30Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
106667f05d30Smrg          && echo i486-ncr-sysv4 && exit 0 ;;
106767f05d30Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
106867f05d30Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
106967f05d30Smrg	exit 0 ;;
107067f05d30Smrg    mc68030:UNIX_System_V:4.*:*)
107167f05d30Smrg	echo m68k-atari-sysv4
107267f05d30Smrg	exit 0 ;;
107367f05d30Smrg    TSUNAMI:LynxOS:2.*:*)
107467f05d30Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
107567f05d30Smrg	exit 0 ;;
107667f05d30Smrg    rs6000:LynxOS:2.*:*)
107767f05d30Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
107867f05d30Smrg	exit 0 ;;
107967f05d30Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
108067f05d30Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
108167f05d30Smrg	exit 0 ;;
108267f05d30Smrg    SM[BE]S:UNIX_SV:*:*)
108367f05d30Smrg	echo mips-dde-sysv${UNAME_RELEASE}
108467f05d30Smrg	exit 0 ;;
108567f05d30Smrg    RM*:ReliantUNIX-*:*:*)
108667f05d30Smrg	echo mips-sni-sysv4
108767f05d30Smrg	exit 0 ;;
108867f05d30Smrg    RM*:SINIX-*:*:*)
108967f05d30Smrg	echo mips-sni-sysv4
109067f05d30Smrg	exit 0 ;;
109167f05d30Smrg    *:SINIX-*:*:*)
109267f05d30Smrg	if uname -p 2>/dev/null >/dev/null ; then
109367f05d30Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
109467f05d30Smrg		echo ${UNAME_MACHINE}-sni-sysv4
109567f05d30Smrg	else
109667f05d30Smrg		echo ns32k-sni-sysv
109767f05d30Smrg	fi
109867f05d30Smrg	exit 0 ;;
109967f05d30Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
110067f05d30Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
110167f05d30Smrg        echo i586-unisys-sysv4
110267f05d30Smrg        exit 0 ;;
110367f05d30Smrg    *:UNIX_System_V:4*:FTX*)
110467f05d30Smrg	# From Gerald Hewes <hewes@openmarket.com>.
110567f05d30Smrg	# How about differentiating between stratus architectures? -djm
110667f05d30Smrg	echo hppa1.1-stratus-sysv4
110767f05d30Smrg	exit 0 ;;
110867f05d30Smrg    *:*:*:FTX*)
110967f05d30Smrg	# From seanf@swdc.stratus.com.
111067f05d30Smrg	echo i860-stratus-sysv4
111167f05d30Smrg	exit 0 ;;
111267f05d30Smrg    *:VOS:*:*)
111367f05d30Smrg	# From Paul.Green@stratus.com.
111467f05d30Smrg	echo hppa1.1-stratus-vos
111567f05d30Smrg	exit 0 ;;
111667f05d30Smrg    mc68*:A/UX:*:*)
111767f05d30Smrg	echo m68k-apple-aux${UNAME_RELEASE}
111867f05d30Smrg	exit 0 ;;
111967f05d30Smrg    news*:NEWS-OS:6*:*)
112067f05d30Smrg	echo mips-sony-newsos6
112167f05d30Smrg	exit 0 ;;
112267f05d30Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
112367f05d30Smrg	if [ -d /usr/nec ]; then
112467f05d30Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
112567f05d30Smrg	else
112667f05d30Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
112767f05d30Smrg	fi
112867f05d30Smrg        exit 0 ;;
112967f05d30Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
113067f05d30Smrg	echo powerpc-be-beos
113167f05d30Smrg	exit 0 ;;
113267f05d30Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
113367f05d30Smrg	echo powerpc-apple-beos
113467f05d30Smrg	exit 0 ;;
113567f05d30Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
113667f05d30Smrg	echo i586-pc-beos
113767f05d30Smrg	exit 0 ;;
113867f05d30Smrg    SX-4:SUPER-UX:*:*)
113967f05d30Smrg	echo sx4-nec-superux${UNAME_RELEASE}
114067f05d30Smrg	exit 0 ;;
114167f05d30Smrg    SX-5:SUPER-UX:*:*)
114267f05d30Smrg	echo sx5-nec-superux${UNAME_RELEASE}
114367f05d30Smrg	exit 0 ;;
114467f05d30Smrg    SX-6:SUPER-UX:*:*)
114567f05d30Smrg	echo sx6-nec-superux${UNAME_RELEASE}
114667f05d30Smrg	exit 0 ;;
114767f05d30Smrg    Power*:Rhapsody:*:*)
114867f05d30Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
114967f05d30Smrg	exit 0 ;;
115067f05d30Smrg    *:Rhapsody:*:*)
115167f05d30Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
115267f05d30Smrg	exit 0 ;;
115367f05d30Smrg    *:Darwin:*:*)
115467f05d30Smrg	case `uname -p` in
115567f05d30Smrg	    *86) UNAME_PROCESSOR=i686 ;;
115667f05d30Smrg	    powerpc) UNAME_PROCESSOR=powerpc ;;
115767f05d30Smrg	esac
115867f05d30Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
115967f05d30Smrg	exit 0 ;;
116067f05d30Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
116167f05d30Smrg	UNAME_PROCESSOR=`uname -p`
116267f05d30Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
116367f05d30Smrg		UNAME_PROCESSOR=i386
116467f05d30Smrg		UNAME_MACHINE=pc
116567f05d30Smrg	fi
116667f05d30Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
116767f05d30Smrg	exit 0 ;;
116867f05d30Smrg    *:QNX:*:4*)
116967f05d30Smrg	echo i386-pc-qnx
117067f05d30Smrg	exit 0 ;;
117167f05d30Smrg    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
117267f05d30Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
117367f05d30Smrg	exit 0 ;;
117467f05d30Smrg    *:NonStop-UX:*:*)
117567f05d30Smrg	echo mips-compaq-nonstopux
117667f05d30Smrg	exit 0 ;;
117767f05d30Smrg    BS2000:POSIX*:*:*)
117867f05d30Smrg	echo bs2000-siemens-sysv
117967f05d30Smrg	exit 0 ;;
118067f05d30Smrg    DS/*:UNIX_System_V:*:*)
118167f05d30Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
118267f05d30Smrg	exit 0 ;;
118367f05d30Smrg    *:Plan9:*:*)
118467f05d30Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
118567f05d30Smrg	# is converted to i386 for consistency with other x86
118667f05d30Smrg	# operating systems.
118767f05d30Smrg	if test "$cputype" = "386"; then
118867f05d30Smrg	    UNAME_MACHINE=i386
118967f05d30Smrg	else
119067f05d30Smrg	    UNAME_MACHINE="$cputype"
119167f05d30Smrg	fi
119267f05d30Smrg	echo ${UNAME_MACHINE}-unknown-plan9
119367f05d30Smrg	exit 0 ;;
119467f05d30Smrg    *:TOPS-10:*:*)
119567f05d30Smrg	echo pdp10-unknown-tops10
119667f05d30Smrg	exit 0 ;;
119767f05d30Smrg    *:TENEX:*:*)
119867f05d30Smrg	echo pdp10-unknown-tenex
119967f05d30Smrg	exit 0 ;;
120067f05d30Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
120167f05d30Smrg	echo pdp10-dec-tops20
120267f05d30Smrg	exit 0 ;;
120367f05d30Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
120467f05d30Smrg	echo pdp10-xkl-tops20
120567f05d30Smrg	exit 0 ;;
120667f05d30Smrg    *:TOPS-20:*:*)
120767f05d30Smrg	echo pdp10-unknown-tops20
120867f05d30Smrg	exit 0 ;;
120967f05d30Smrg    *:ITS:*:*)
121067f05d30Smrg	echo pdp10-unknown-its
121167f05d30Smrg	exit 0 ;;
121267f05d30Smrg    SEI:*:*:SEIUX)
121367f05d30Smrg        echo mips-sei-seiux${UNAME_RELEASE}
121467f05d30Smrg	exit 0 ;;
121567f05d30Smrgesac
121667f05d30Smrg
121767f05d30Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
121867f05d30Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
121967f05d30Smrg
122067f05d30Smrgeval $set_cc_for_build
122167f05d30Smrgcat >$dummy.c <<EOF
122267f05d30Smrg#ifdef _SEQUENT_
122367f05d30Smrg# include <sys/types.h>
122467f05d30Smrg# include <sys/utsname.h>
122567f05d30Smrg#endif
122667f05d30Smrgmain ()
122767f05d30Smrg{
122867f05d30Smrg#if defined (sony)
122967f05d30Smrg#if defined (MIPSEB)
123067f05d30Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
123167f05d30Smrg     I don't know....  */
123267f05d30Smrg  printf ("mips-sony-bsd\n"); exit (0);
123367f05d30Smrg#else
123467f05d30Smrg#include <sys/param.h>
123567f05d30Smrg  printf ("m68k-sony-newsos%s\n",
123667f05d30Smrg#ifdef NEWSOS4
123767f05d30Smrg          "4"
123867f05d30Smrg#else
123967f05d30Smrg	  ""
124067f05d30Smrg#endif
124167f05d30Smrg         ); exit (0);
124267f05d30Smrg#endif
124367f05d30Smrg#endif
124467f05d30Smrg
124567f05d30Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
124667f05d30Smrg  printf ("arm-acorn-riscix"); exit (0);
124767f05d30Smrg#endif
124867f05d30Smrg
124967f05d30Smrg#if defined (hp300) && !defined (hpux)
125067f05d30Smrg  printf ("m68k-hp-bsd\n"); exit (0);
125167f05d30Smrg#endif
125267f05d30Smrg
125367f05d30Smrg#if defined (NeXT)
125467f05d30Smrg#if !defined (__ARCHITECTURE__)
125567f05d30Smrg#define __ARCHITECTURE__ "m68k"
125667f05d30Smrg#endif
125767f05d30Smrg  int version;
125867f05d30Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
125967f05d30Smrg  if (version < 4)
126067f05d30Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
126167f05d30Smrg  else
126267f05d30Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
126367f05d30Smrg  exit (0);
126467f05d30Smrg#endif
126567f05d30Smrg
126667f05d30Smrg#if defined (MULTIMAX) || defined (n16)
126767f05d30Smrg#if defined (UMAXV)
126867f05d30Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
126967f05d30Smrg#else
127067f05d30Smrg#if defined (CMU)
127167f05d30Smrg  printf ("ns32k-encore-mach\n"); exit (0);
127267f05d30Smrg#else
127367f05d30Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
127467f05d30Smrg#endif
127567f05d30Smrg#endif
127667f05d30Smrg#endif
127767f05d30Smrg
127867f05d30Smrg#if defined (__386BSD__)
127967f05d30Smrg  printf ("i386-pc-bsd\n"); exit (0);
128067f05d30Smrg#endif
128167f05d30Smrg
128267f05d30Smrg#if defined (sequent)
128367f05d30Smrg#if defined (i386)
128467f05d30Smrg  printf ("i386-sequent-dynix\n"); exit (0);
128567f05d30Smrg#endif
128667f05d30Smrg#if defined (ns32000)
128767f05d30Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
128867f05d30Smrg#endif
128967f05d30Smrg#endif
129067f05d30Smrg
129167f05d30Smrg#if defined (_SEQUENT_)
129267f05d30Smrg    struct utsname un;
129367f05d30Smrg
129467f05d30Smrg    uname(&un);
129567f05d30Smrg
129667f05d30Smrg    if (strncmp(un.version, "V2", 2) == 0) {
129767f05d30Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
129867f05d30Smrg    }
129967f05d30Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
130067f05d30Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
130167f05d30Smrg    }
130267f05d30Smrg    printf ("i386-sequent-ptx\n"); exit (0);
130367f05d30Smrg
130467f05d30Smrg#endif
130567f05d30Smrg
130667f05d30Smrg#if defined (vax)
130767f05d30Smrg# if !defined (ultrix)
130867f05d30Smrg#  include <sys/param.h>
130967f05d30Smrg#  if defined (BSD)
131067f05d30Smrg#   if BSD == 43
131167f05d30Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
131267f05d30Smrg#   else
131367f05d30Smrg#    if BSD == 199006
131467f05d30Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
131567f05d30Smrg#    else
131667f05d30Smrg      printf ("vax-dec-bsd\n"); exit (0);
131767f05d30Smrg#    endif
131867f05d30Smrg#   endif
131967f05d30Smrg#  else
132067f05d30Smrg    printf ("vax-dec-bsd\n"); exit (0);
132167f05d30Smrg#  endif
132267f05d30Smrg# else
132367f05d30Smrg    printf ("vax-dec-ultrix\n"); exit (0);
132467f05d30Smrg# endif
132567f05d30Smrg#endif
132667f05d30Smrg
132767f05d30Smrg#if defined (alliant) && defined (i860)
132867f05d30Smrg  printf ("i860-alliant-bsd\n"); exit (0);
132967f05d30Smrg#endif
133067f05d30Smrg
133167f05d30Smrg  exit (1);
133267f05d30Smrg}
133367f05d30SmrgEOF
133467f05d30Smrg
133567f05d30Smrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
133667f05d30Smrg
133767f05d30Smrg# Apollos put the system type in the environment.
133867f05d30Smrg
133967f05d30Smrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
134067f05d30Smrg
134167f05d30Smrg# Convex versions that predate uname can use getsysinfo(1)
134267f05d30Smrg
134367f05d30Smrgif [ -x /usr/convex/getsysinfo ]
134467f05d30Smrgthen
134567f05d30Smrg    case `getsysinfo -f cpu_type` in
134667f05d30Smrg    c1*)
134767f05d30Smrg	echo c1-convex-bsd
134867f05d30Smrg	exit 0 ;;
134967f05d30Smrg    c2*)
135067f05d30Smrg	if getsysinfo -f scalar_acc
135167f05d30Smrg	then echo c32-convex-bsd
135267f05d30Smrg	else echo c2-convex-bsd
135367f05d30Smrg	fi
135467f05d30Smrg	exit 0 ;;
135567f05d30Smrg    c34*)
135667f05d30Smrg	echo c34-convex-bsd
135767f05d30Smrg	exit 0 ;;
135867f05d30Smrg    c38*)
135967f05d30Smrg	echo c38-convex-bsd
136067f05d30Smrg	exit 0 ;;
136167f05d30Smrg    c4*)
136267f05d30Smrg	echo c4-convex-bsd
136367f05d30Smrg	exit 0 ;;
136467f05d30Smrg    esac
136567f05d30Smrgfi
136667f05d30Smrg
136767f05d30Smrgcat >&2 <<EOF
136867f05d30Smrg$0: unable to guess system type
136967f05d30Smrg
137067f05d30SmrgThis script, last modified $timestamp, has failed to recognize
137167f05d30Smrgthe operating system you are using. It is advised that you
137267f05d30Smrgdownload the most up to date version of the config scripts from
137367f05d30Smrg
137467f05d30Smrg    ftp://ftp.gnu.org/pub/gnu/config/
137567f05d30Smrg
137667f05d30SmrgIf the version you run ($0) is already up to date, please
137767f05d30Smrgsend the following data and any information you think might be
137867f05d30Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
137967f05d30Smrginformation to handle your system.
138067f05d30Smrg
138167f05d30Smrgconfig.guess timestamp = $timestamp
138267f05d30Smrg
138367f05d30Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
138467f05d30Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
138567f05d30Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
138667f05d30Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
138767f05d30Smrg
138867f05d30Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
138967f05d30Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
139067f05d30Smrg
139167f05d30Smrghostinfo               = `(hostinfo) 2>/dev/null`
139267f05d30Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
139367f05d30Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
139467f05d30Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
139567f05d30Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
139667f05d30Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
139767f05d30Smrg
139867f05d30SmrgUNAME_MACHINE = ${UNAME_MACHINE}
139967f05d30SmrgUNAME_RELEASE = ${UNAME_RELEASE}
140067f05d30SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
140167f05d30SmrgUNAME_VERSION = ${UNAME_VERSION}
140267f05d30SmrgEOF
140367f05d30Smrg
140467f05d30Smrgexit 1
140567f05d30Smrg
140667f05d30Smrg# Local variables:
140767f05d30Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
140867f05d30Smrg# time-stamp-start: "timestamp='"
140967f05d30Smrg# time-stamp-format: "%:y-%02m-%02d"
141067f05d30Smrg# time-stamp-end: "'"
141167f05d30Smrg# End:
1412