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