config.guess revision 9b41ff1a
1fdb3d228Smrg#! /bin/sh
2fdb3d228Smrg# Attempt to guess a canonical system name.
3fdb3d228Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
49b41ff1aSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
59b41ff1aSmrg#   Free Software Foundation, Inc.
6fdb3d228Smrg
79b41ff1aSmrgtimestamp='2009-04-27'
8fdb3d228Smrg
9fdb3d228Smrg# This file is free software; you can redistribute it and/or modify it
10fdb3d228Smrg# under the terms of the GNU General Public License as published by
11fdb3d228Smrg# the Free Software Foundation; either version 2 of the License, or
12fdb3d228Smrg# (at your option) any later version.
13fdb3d228Smrg#
14fdb3d228Smrg# This program is distributed in the hope that it will be useful, but
15fdb3d228Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16fdb3d228Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17fdb3d228Smrg# General Public License for more details.
18fdb3d228Smrg#
19fdb3d228Smrg# You should have received a copy of the GNU General Public License
20fdb3d228Smrg# along with this program; if not, write to the Free Software
219b41ff1aSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
229b41ff1aSmrg# 02110-1301, USA.
23fdb3d228Smrg#
24fdb3d228Smrg# As a special exception to the GNU General Public License, if you
25fdb3d228Smrg# distribute this file as part of a program that contains a
26fdb3d228Smrg# configuration script generated by Autoconf, you may include it under
27fdb3d228Smrg# the same distribution terms that you use for the rest of that program.
28fdb3d228Smrg
299b41ff1aSmrg
30fdb3d228Smrg# Originally written by Per Bothner <per@bothner.com>.
31fdb3d228Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
32fdb3d228Smrg# diff and a properly formatted ChangeLog entry.
33fdb3d228Smrg#
34fdb3d228Smrg# This script attempts to guess a canonical system name similar to
35fdb3d228Smrg# config.sub.  If it succeeds, it prints the system name on stdout, and
36fdb3d228Smrg# exits with 0.  Otherwise, it exits with 1.
37fdb3d228Smrg#
38fdb3d228Smrg# The plan is that this can be called by configure scripts if you
39fdb3d228Smrg# don't specify an explicit build system type.
40fdb3d228Smrg
41fdb3d228Smrgme=`echo "$0" | sed -e 's,.*/,,'`
42fdb3d228Smrg
43fdb3d228Smrgusage="\
44fdb3d228SmrgUsage: $0 [OPTION]
45fdb3d228Smrg
46fdb3d228SmrgOutput the configuration name of the system \`$me' is run on.
47fdb3d228Smrg
48fdb3d228SmrgOperation modes:
49fdb3d228Smrg  -h, --help         print this help, then exit
50fdb3d228Smrg  -t, --time-stamp   print date of last modification, then exit
51fdb3d228Smrg  -v, --version      print version number, then exit
52fdb3d228Smrg
53fdb3d228SmrgReport bugs and patches to <config-patches@gnu.org>."
54fdb3d228Smrg
55fdb3d228Smrgversion="\
56fdb3d228SmrgGNU config.guess ($timestamp)
57fdb3d228Smrg
58fdb3d228SmrgOriginally written by Per Bothner.
599b41ff1aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
609b41ff1aSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
61fdb3d228Smrg
62fdb3d228SmrgThis is free software; see the source for copying conditions.  There is NO
63fdb3d228Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
64fdb3d228Smrg
65fdb3d228Smrghelp="
66fdb3d228SmrgTry \`$me --help' for more information."
67fdb3d228Smrg
68fdb3d228Smrg# Parse command line
69fdb3d228Smrgwhile test $# -gt 0 ; do
70fdb3d228Smrg  case $1 in
71fdb3d228Smrg    --time-stamp | --time* | -t )
729b41ff1aSmrg       echo "$timestamp" ; exit ;;
73fdb3d228Smrg    --version | -v )
749b41ff1aSmrg       echo "$version" ; exit ;;
75fdb3d228Smrg    --help | --h* | -h )
769b41ff1aSmrg       echo "$usage"; exit ;;
77fdb3d228Smrg    -- )     # Stop option processing
78fdb3d228Smrg       shift; break ;;
79fdb3d228Smrg    - )	# Use stdin as input.
80fdb3d228Smrg       break ;;
81fdb3d228Smrg    -* )
82fdb3d228Smrg       echo "$me: invalid option $1$help" >&2
83fdb3d228Smrg       exit 1 ;;
84fdb3d228Smrg    * )
85fdb3d228Smrg       break ;;
86fdb3d228Smrg  esac
87fdb3d228Smrgdone
88fdb3d228Smrg
89fdb3d228Smrgif test $# != 0; then
90fdb3d228Smrg  echo "$me: too many arguments$help" >&2
91fdb3d228Smrg  exit 1
92fdb3d228Smrgfi
93fdb3d228Smrg
94fdb3d228Smrgtrap 'exit 1' 1 2 15
95fdb3d228Smrg
96fdb3d228Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
97fdb3d228Smrg# compiler to aid in system detection is discouraged as it requires
98fdb3d228Smrg# temporary files to be created and, as you can see below, it is a
99fdb3d228Smrg# headache to deal with in a portable fashion.
100fdb3d228Smrg
101fdb3d228Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
102fdb3d228Smrg# use `HOST_CC' if defined, but it is deprecated.
103fdb3d228Smrg
104fdb3d228Smrg# Portable tmp directory creation inspired by the Autoconf team.
105fdb3d228Smrg
106fdb3d228Smrgset_cc_for_build='
107fdb3d228Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
108fdb3d228Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
109fdb3d228Smrg: ${TMPDIR=/tmp} ;
1109b41ff1aSmrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
111fdb3d228Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
112fdb3d228Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
113fdb3d228Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
114fdb3d228Smrgdummy=$tmp/dummy ;
115fdb3d228Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
116fdb3d228Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
117fdb3d228Smrg ,,)    echo "int x;" > $dummy.c ;
118fdb3d228Smrg	for c in cc gcc c89 c99 ; do
119fdb3d228Smrg	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
120fdb3d228Smrg	     CC_FOR_BUILD="$c"; break ;
121fdb3d228Smrg	  fi ;
122fdb3d228Smrg	done ;
123fdb3d228Smrg	if test x"$CC_FOR_BUILD" = x ; then
124fdb3d228Smrg	  CC_FOR_BUILD=no_compiler_found ;
125fdb3d228Smrg	fi
126fdb3d228Smrg	;;
127fdb3d228Smrg ,,*)   CC_FOR_BUILD=$CC ;;
128fdb3d228Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
1299b41ff1aSmrgesac ; set_cc_for_build= ;'
130fdb3d228Smrg
131fdb3d228Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
132fdb3d228Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
133fdb3d228Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
134fdb3d228Smrg	PATH=$PATH:/.attbin ; export PATH
135fdb3d228Smrgfi
136fdb3d228Smrg
137fdb3d228SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
138fdb3d228SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
139fdb3d228SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
140fdb3d228SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
141fdb3d228Smrg
142fdb3d228Smrg# Note: order is significant - the case branches are not exclusive.
143fdb3d228Smrg
144fdb3d228Smrgcase "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
145fdb3d228Smrg    *:NetBSD:*:*)
146fdb3d228Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
147fdb3d228Smrg	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
148fdb3d228Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
149fdb3d228Smrg	# switched to ELF, *-*-netbsd* would select the old
150fdb3d228Smrg	# object file format.  This provides both forward
151fdb3d228Smrg	# compatibility and a consistent mechanism for selecting the
152fdb3d228Smrg	# object file format.
153fdb3d228Smrg	#
154fdb3d228Smrg	# Note: NetBSD doesn't particularly care about the vendor
155fdb3d228Smrg	# portion of the name.  We always set it to "unknown".
156fdb3d228Smrg	sysctl="sysctl -n hw.machine_arch"
157fdb3d228Smrg	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
158fdb3d228Smrg	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
159fdb3d228Smrg	case "${UNAME_MACHINE_ARCH}" in
160fdb3d228Smrg	    armeb) machine=armeb-unknown ;;
161fdb3d228Smrg	    arm*) machine=arm-unknown ;;
162fdb3d228Smrg	    sh3el) machine=shl-unknown ;;
163fdb3d228Smrg	    sh3eb) machine=sh-unknown ;;
1649b41ff1aSmrg	    sh5el) machine=sh5le-unknown ;;
165fdb3d228Smrg	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
166fdb3d228Smrg	esac
167fdb3d228Smrg	# The Operating System including object format, if it has switched
168fdb3d228Smrg	# to ELF recently, or will in the future.
169fdb3d228Smrg	case "${UNAME_MACHINE_ARCH}" in
170fdb3d228Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
171fdb3d228Smrg		eval $set_cc_for_build
172fdb3d228Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
173fdb3d228Smrg			| grep __ELF__ >/dev/null
174fdb3d228Smrg		then
175fdb3d228Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176fdb3d228Smrg		    # Return netbsd for either.  FIX?
177fdb3d228Smrg		    os=netbsd
178fdb3d228Smrg		else
179fdb3d228Smrg		    os=netbsdelf
180fdb3d228Smrg		fi
181fdb3d228Smrg		;;
182fdb3d228Smrg	    *)
183fdb3d228Smrg	        os=netbsd
184fdb3d228Smrg		;;
185fdb3d228Smrg	esac
186fdb3d228Smrg	# The OS release
187fdb3d228Smrg	# Debian GNU/NetBSD machines have a different userland, and
188fdb3d228Smrg	# thus, need a distinct triplet. However, they do not need
189fdb3d228Smrg	# kernel version information, so it can be replaced with a
190fdb3d228Smrg	# suitable tag, in the style of linux-gnu.
191fdb3d228Smrg	case "${UNAME_VERSION}" in
192fdb3d228Smrg	    Debian*)
193fdb3d228Smrg		release='-gnu'
194fdb3d228Smrg		;;
195fdb3d228Smrg	    *)
196fdb3d228Smrg		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
197fdb3d228Smrg		;;
198fdb3d228Smrg	esac
199fdb3d228Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
200fdb3d228Smrg	# contains redundant information, the shorter form:
201fdb3d228Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
202fdb3d228Smrg	echo "${machine}-${os}${release}"
2039b41ff1aSmrg	exit ;;
204fdb3d228Smrg    *:OpenBSD:*:*)
2059b41ff1aSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2069b41ff1aSmrg	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
2079b41ff1aSmrg	exit ;;
2089b41ff1aSmrg    *:ekkoBSD:*:*)
2099b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
2109b41ff1aSmrg	exit ;;
2119b41ff1aSmrg    *:SolidBSD:*:*)
2129b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
2139b41ff1aSmrg	exit ;;
2149b41ff1aSmrg    macppc:MirBSD:*:*)
2159b41ff1aSmrg	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
2169b41ff1aSmrg	exit ;;
2179b41ff1aSmrg    *:MirBSD:*:*)
2189b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
2199b41ff1aSmrg	exit ;;
220fdb3d228Smrg    alpha:OSF1:*:*)
2219b41ff1aSmrg	case $UNAME_RELEASE in
2229b41ff1aSmrg	*4.0)
223fdb3d228Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
2249b41ff1aSmrg		;;
2259b41ff1aSmrg	*5.*)
2269b41ff1aSmrg	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
2279b41ff1aSmrg		;;
2289b41ff1aSmrg	esac
229fdb3d228Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
230fdb3d228Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
231fdb3d228Smrg	# covers most systems running today.  This code pipes the CPU
232fdb3d228Smrg	# types through head -n 1, so we only detect the type of CPU 0.
233fdb3d228Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
234fdb3d228Smrg	case "$ALPHA_CPU_TYPE" in
235fdb3d228Smrg	    "EV4 (21064)")
236fdb3d228Smrg		UNAME_MACHINE="alpha" ;;
237fdb3d228Smrg	    "EV4.5 (21064)")
238fdb3d228Smrg		UNAME_MACHINE="alpha" ;;
239fdb3d228Smrg	    "LCA4 (21066/21068)")
240fdb3d228Smrg		UNAME_MACHINE="alpha" ;;
241fdb3d228Smrg	    "EV5 (21164)")
242fdb3d228Smrg		UNAME_MACHINE="alphaev5" ;;
243fdb3d228Smrg	    "EV5.6 (21164A)")
244fdb3d228Smrg		UNAME_MACHINE="alphaev56" ;;
245fdb3d228Smrg	    "EV5.6 (21164PC)")
246fdb3d228Smrg		UNAME_MACHINE="alphapca56" ;;
247fdb3d228Smrg	    "EV5.7 (21164PC)")
248fdb3d228Smrg		UNAME_MACHINE="alphapca57" ;;
249fdb3d228Smrg	    "EV6 (21264)")
250fdb3d228Smrg		UNAME_MACHINE="alphaev6" ;;
251fdb3d228Smrg	    "EV6.7 (21264A)")
252fdb3d228Smrg		UNAME_MACHINE="alphaev67" ;;
253fdb3d228Smrg	    "EV6.8CB (21264C)")
254fdb3d228Smrg		UNAME_MACHINE="alphaev68" ;;
255fdb3d228Smrg	    "EV6.8AL (21264B)")
256fdb3d228Smrg		UNAME_MACHINE="alphaev68" ;;
257fdb3d228Smrg	    "EV6.8CX (21264D)")
258fdb3d228Smrg		UNAME_MACHINE="alphaev68" ;;
259fdb3d228Smrg	    "EV6.9A (21264/EV69A)")
260fdb3d228Smrg		UNAME_MACHINE="alphaev69" ;;
261fdb3d228Smrg	    "EV7 (21364)")
262fdb3d228Smrg		UNAME_MACHINE="alphaev7" ;;
263fdb3d228Smrg	    "EV7.9 (21364A)")
264fdb3d228Smrg		UNAME_MACHINE="alphaev79" ;;
265fdb3d228Smrg	esac
2669b41ff1aSmrg	# A Pn.n version is a patched version.
267fdb3d228Smrg	# A Vn.n version is a released version.
268fdb3d228Smrg	# A Tn.n version is a released field test version.
269fdb3d228Smrg	# A Xn.n version is an unreleased experimental baselevel.
270fdb3d228Smrg	# 1.2 uses "1.2" for uname -r.
2719b41ff1aSmrg	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
2729b41ff1aSmrg	exit ;;
273fdb3d228Smrg    Alpha\ *:Windows_NT*:*)
274fdb3d228Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
275fdb3d228Smrg	# Should we change UNAME_MACHINE based on the output of uname instead
276fdb3d228Smrg	# of the specific Alpha model?
277fdb3d228Smrg	echo alpha-pc-interix
2789b41ff1aSmrg	exit ;;
279fdb3d228Smrg    21064:Windows_NT:50:3)
280fdb3d228Smrg	echo alpha-dec-winnt3.5
2819b41ff1aSmrg	exit ;;
282fdb3d228Smrg    Amiga*:UNIX_System_V:4.0:*)
283fdb3d228Smrg	echo m68k-unknown-sysv4
2849b41ff1aSmrg	exit ;;
285fdb3d228Smrg    *:[Aa]miga[Oo][Ss]:*:*)
286fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-amigaos
2879b41ff1aSmrg	exit ;;
288fdb3d228Smrg    *:[Mm]orph[Oo][Ss]:*:*)
289fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-morphos
2909b41ff1aSmrg	exit ;;
291fdb3d228Smrg    *:OS/390:*:*)
292fdb3d228Smrg	echo i370-ibm-openedition
2939b41ff1aSmrg	exit ;;
2949b41ff1aSmrg    *:z/VM:*:*)
2959b41ff1aSmrg	echo s390-ibm-zvmoe
2969b41ff1aSmrg	exit ;;
2979b41ff1aSmrg    *:OS400:*:*)
2989b41ff1aSmrg        echo powerpc-ibm-os400
2999b41ff1aSmrg	exit ;;
300fdb3d228Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
301fdb3d228Smrg	echo arm-acorn-riscix${UNAME_RELEASE}
3029b41ff1aSmrg	exit ;;
3039b41ff1aSmrg    arm:riscos:*:*|arm:RISCOS:*:*)
3049b41ff1aSmrg	echo arm-unknown-riscos
3059b41ff1aSmrg	exit ;;
306fdb3d228Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
307fdb3d228Smrg	echo hppa1.1-hitachi-hiuxmpp
3089b41ff1aSmrg	exit ;;
309fdb3d228Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
310fdb3d228Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
311fdb3d228Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
312fdb3d228Smrg		echo pyramid-pyramid-sysv3
313fdb3d228Smrg	else
314fdb3d228Smrg		echo pyramid-pyramid-bsd
315fdb3d228Smrg	fi
3169b41ff1aSmrg	exit ;;
317fdb3d228Smrg    NILE*:*:*:dcosx)
318fdb3d228Smrg	echo pyramid-pyramid-svr4
3199b41ff1aSmrg	exit ;;
320fdb3d228Smrg    DRS?6000:unix:4.0:6*)
321fdb3d228Smrg	echo sparc-icl-nx6
3229b41ff1aSmrg	exit ;;
3239b41ff1aSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
324fdb3d228Smrg	case `/usr/bin/uname -p` in
3259b41ff1aSmrg	    sparc) echo sparc-icl-nx7; exit ;;
326fdb3d228Smrg	esac ;;
3279b41ff1aSmrg    s390x:SunOS:*:*)
3289b41ff1aSmrg	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3299b41ff1aSmrg	exit ;;
330fdb3d228Smrg    sun4H:SunOS:5.*:*)
331fdb3d228Smrg	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3329b41ff1aSmrg	exit ;;
333fdb3d228Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
334fdb3d228Smrg	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3359b41ff1aSmrg	exit ;;
3369b41ff1aSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
3379b41ff1aSmrg	eval $set_cc_for_build
3389b41ff1aSmrg	SUN_ARCH="i386"
3399b41ff1aSmrg	# If there is a compiler, see if it is configured for 64-bit objects.
3409b41ff1aSmrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
3419b41ff1aSmrg	# This test works for both compilers.
3429b41ff1aSmrg	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
3439b41ff1aSmrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
3449b41ff1aSmrg		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
3459b41ff1aSmrg		grep IS_64BIT_ARCH >/dev/null
3469b41ff1aSmrg	    then
3479b41ff1aSmrg		SUN_ARCH="x86_64"
3489b41ff1aSmrg	    fi
3499b41ff1aSmrg	fi
3509b41ff1aSmrg	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3519b41ff1aSmrg	exit ;;
352fdb3d228Smrg    sun4*:SunOS:6*:*)
353fdb3d228Smrg	# According to config.sub, this is the proper way to canonicalize
354fdb3d228Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
355fdb3d228Smrg	# it's likely to be more like Solaris than SunOS4.
356fdb3d228Smrg	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
3579b41ff1aSmrg	exit ;;
358fdb3d228Smrg    sun4*:SunOS:*:*)
359fdb3d228Smrg	case "`/usr/bin/arch -k`" in
360fdb3d228Smrg	    Series*|S4*)
361fdb3d228Smrg		UNAME_RELEASE=`uname -v`
362fdb3d228Smrg		;;
363fdb3d228Smrg	esac
364fdb3d228Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
365fdb3d228Smrg	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
3669b41ff1aSmrg	exit ;;
367fdb3d228Smrg    sun3*:SunOS:*:*)
368fdb3d228Smrg	echo m68k-sun-sunos${UNAME_RELEASE}
3699b41ff1aSmrg	exit ;;
370fdb3d228Smrg    sun*:*:4.2BSD:*)
371fdb3d228Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
372fdb3d228Smrg	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
373fdb3d228Smrg	case "`/bin/arch`" in
374fdb3d228Smrg	    sun3)
375fdb3d228Smrg		echo m68k-sun-sunos${UNAME_RELEASE}
376fdb3d228Smrg		;;
377fdb3d228Smrg	    sun4)
378fdb3d228Smrg		echo sparc-sun-sunos${UNAME_RELEASE}
379fdb3d228Smrg		;;
380fdb3d228Smrg	esac
3819b41ff1aSmrg	exit ;;
382fdb3d228Smrg    aushp:SunOS:*:*)
383fdb3d228Smrg	echo sparc-auspex-sunos${UNAME_RELEASE}
3849b41ff1aSmrg	exit ;;
385fdb3d228Smrg    # The situation for MiNT is a little confusing.  The machine name
386fdb3d228Smrg    # can be virtually everything (everything which is not
387fdb3d228Smrg    # "atarist" or "atariste" at least should have a processor
388fdb3d228Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
389fdb3d228Smrg    # to the lowercase version "mint" (or "freemint").  Finally
390fdb3d228Smrg    # the system name "TOS" denotes a system which is actually not
391fdb3d228Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
392fdb3d228Smrg    # be no problem.
393fdb3d228Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
394fdb3d228Smrg        echo m68k-atari-mint${UNAME_RELEASE}
3959b41ff1aSmrg	exit ;;
396fdb3d228Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
397fdb3d228Smrg	echo m68k-atari-mint${UNAME_RELEASE}
3989b41ff1aSmrg        exit ;;
399fdb3d228Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
400fdb3d228Smrg        echo m68k-atari-mint${UNAME_RELEASE}
4019b41ff1aSmrg	exit ;;
402fdb3d228Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
403fdb3d228Smrg        echo m68k-milan-mint${UNAME_RELEASE}
4049b41ff1aSmrg        exit ;;
405fdb3d228Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
406fdb3d228Smrg        echo m68k-hades-mint${UNAME_RELEASE}
4079b41ff1aSmrg        exit ;;
408fdb3d228Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
409fdb3d228Smrg        echo m68k-unknown-mint${UNAME_RELEASE}
4109b41ff1aSmrg        exit ;;
4119b41ff1aSmrg    m68k:machten:*:*)
4129b41ff1aSmrg	echo m68k-apple-machten${UNAME_RELEASE}
4139b41ff1aSmrg	exit ;;
414fdb3d228Smrg    powerpc:machten:*:*)
415fdb3d228Smrg	echo powerpc-apple-machten${UNAME_RELEASE}
4169b41ff1aSmrg	exit ;;
417fdb3d228Smrg    RISC*:Mach:*:*)
418fdb3d228Smrg	echo mips-dec-mach_bsd4.3
4199b41ff1aSmrg	exit ;;
420fdb3d228Smrg    RISC*:ULTRIX:*:*)
421fdb3d228Smrg	echo mips-dec-ultrix${UNAME_RELEASE}
4229b41ff1aSmrg	exit ;;
423fdb3d228Smrg    VAX*:ULTRIX*:*:*)
424fdb3d228Smrg	echo vax-dec-ultrix${UNAME_RELEASE}
4259b41ff1aSmrg	exit ;;
426fdb3d228Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
427fdb3d228Smrg	echo clipper-intergraph-clix${UNAME_RELEASE}
4289b41ff1aSmrg	exit ;;
429fdb3d228Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
430fdb3d228Smrg	eval $set_cc_for_build
431fdb3d228Smrg	sed 's/^	//' << EOF >$dummy.c
432fdb3d228Smrg#ifdef __cplusplus
433fdb3d228Smrg#include <stdio.h>  /* for printf() prototype */
434fdb3d228Smrg	int main (int argc, char *argv[]) {
435fdb3d228Smrg#else
436fdb3d228Smrg	int main (argc, argv) int argc; char *argv[]; {
437fdb3d228Smrg#endif
438fdb3d228Smrg	#if defined (host_mips) && defined (MIPSEB)
439fdb3d228Smrg	#if defined (SYSTYPE_SYSV)
440fdb3d228Smrg	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
441fdb3d228Smrg	#endif
442fdb3d228Smrg	#if defined (SYSTYPE_SVR4)
443fdb3d228Smrg	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
444fdb3d228Smrg	#endif
445fdb3d228Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
446fdb3d228Smrg	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
447fdb3d228Smrg	#endif
448fdb3d228Smrg	#endif
449fdb3d228Smrg	  exit (-1);
450fdb3d228Smrg	}
451fdb3d228SmrgEOF
4529b41ff1aSmrg	$CC_FOR_BUILD -o $dummy $dummy.c &&
4539b41ff1aSmrg	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
4549b41ff1aSmrg	  SYSTEM_NAME=`$dummy $dummyarg` &&
4559b41ff1aSmrg	    { echo "$SYSTEM_NAME"; exit; }
456fdb3d228Smrg	echo mips-mips-riscos${UNAME_RELEASE}
4579b41ff1aSmrg	exit ;;
458fdb3d228Smrg    Motorola:PowerMAX_OS:*:*)
459fdb3d228Smrg	echo powerpc-motorola-powermax
4609b41ff1aSmrg	exit ;;
461fdb3d228Smrg    Motorola:*:4.3:PL8-*)
462fdb3d228Smrg	echo powerpc-harris-powermax
4639b41ff1aSmrg	exit ;;
464fdb3d228Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
465fdb3d228Smrg	echo powerpc-harris-powermax
4669b41ff1aSmrg	exit ;;
467fdb3d228Smrg    Night_Hawk:Power_UNIX:*:*)
468fdb3d228Smrg	echo powerpc-harris-powerunix
4699b41ff1aSmrg	exit ;;
470fdb3d228Smrg    m88k:CX/UX:7*:*)
471fdb3d228Smrg	echo m88k-harris-cxux7
4729b41ff1aSmrg	exit ;;
473fdb3d228Smrg    m88k:*:4*:R4*)
474fdb3d228Smrg	echo m88k-motorola-sysv4
4759b41ff1aSmrg	exit ;;
476fdb3d228Smrg    m88k:*:3*:R3*)
477fdb3d228Smrg	echo m88k-motorola-sysv3
4789b41ff1aSmrg	exit ;;
479fdb3d228Smrg    AViiON:dgux:*:*)
480fdb3d228Smrg        # DG/UX returns AViiON for all architectures
481fdb3d228Smrg        UNAME_PROCESSOR=`/usr/bin/uname -p`
482fdb3d228Smrg	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
483fdb3d228Smrg	then
484fdb3d228Smrg	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
485fdb3d228Smrg	       [ ${TARGET_BINARY_INTERFACE}x = x ]
486fdb3d228Smrg	    then
487fdb3d228Smrg		echo m88k-dg-dgux${UNAME_RELEASE}
488fdb3d228Smrg	    else
489fdb3d228Smrg		echo m88k-dg-dguxbcs${UNAME_RELEASE}
490fdb3d228Smrg	    fi
491fdb3d228Smrg	else
492fdb3d228Smrg	    echo i586-dg-dgux${UNAME_RELEASE}
493fdb3d228Smrg	fi
4949b41ff1aSmrg 	exit ;;
495fdb3d228Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
496fdb3d228Smrg	echo m88k-dolphin-sysv3
4979b41ff1aSmrg	exit ;;
498fdb3d228Smrg    M88*:*:R3*:*)
499fdb3d228Smrg	# Delta 88k system running SVR3
500fdb3d228Smrg	echo m88k-motorola-sysv3
5019b41ff1aSmrg	exit ;;
502fdb3d228Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
503fdb3d228Smrg	echo m88k-tektronix-sysv3
5049b41ff1aSmrg	exit ;;
505fdb3d228Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
506fdb3d228Smrg	echo m68k-tektronix-bsd
5079b41ff1aSmrg	exit ;;
508fdb3d228Smrg    *:IRIX*:*:*)
509fdb3d228Smrg	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
5109b41ff1aSmrg	exit ;;
511fdb3d228Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
5129b41ff1aSmrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
5139b41ff1aSmrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
514fdb3d228Smrg    i*86:AIX:*:*)
515fdb3d228Smrg	echo i386-ibm-aix
5169b41ff1aSmrg	exit ;;
517fdb3d228Smrg    ia64:AIX:*:*)
518fdb3d228Smrg	if [ -x /usr/bin/oslevel ] ; then
519fdb3d228Smrg		IBM_REV=`/usr/bin/oslevel`
520fdb3d228Smrg	else
521fdb3d228Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522fdb3d228Smrg	fi
523fdb3d228Smrg	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
5249b41ff1aSmrg	exit ;;
525fdb3d228Smrg    *:AIX:2:3)
526fdb3d228Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
527fdb3d228Smrg		eval $set_cc_for_build
528fdb3d228Smrg		sed 's/^		//' << EOF >$dummy.c
529fdb3d228Smrg		#include <sys/systemcfg.h>
530fdb3d228Smrg
531fdb3d228Smrg		main()
532fdb3d228Smrg			{
533fdb3d228Smrg			if (!__power_pc())
534fdb3d228Smrg				exit(1);
535fdb3d228Smrg			puts("powerpc-ibm-aix3.2.5");
536fdb3d228Smrg			exit(0);
537fdb3d228Smrg			}
538fdb3d228SmrgEOF
5399b41ff1aSmrg		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
5409b41ff1aSmrg		then
5419b41ff1aSmrg			echo "$SYSTEM_NAME"
5429b41ff1aSmrg		else
5439b41ff1aSmrg			echo rs6000-ibm-aix3.2.5
5449b41ff1aSmrg		fi
545fdb3d228Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
546fdb3d228Smrg		echo rs6000-ibm-aix3.2.4
547fdb3d228Smrg	else
548fdb3d228Smrg		echo rs6000-ibm-aix3.2
549fdb3d228Smrg	fi
5509b41ff1aSmrg	exit ;;
5519b41ff1aSmrg    *:AIX:*:[456])
552fdb3d228Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
553fdb3d228Smrg	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
554fdb3d228Smrg		IBM_ARCH=rs6000
555fdb3d228Smrg	else
556fdb3d228Smrg		IBM_ARCH=powerpc
557fdb3d228Smrg	fi
558fdb3d228Smrg	if [ -x /usr/bin/oslevel ] ; then
559fdb3d228Smrg		IBM_REV=`/usr/bin/oslevel`
560fdb3d228Smrg	else
561fdb3d228Smrg		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
562fdb3d228Smrg	fi
563fdb3d228Smrg	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
5649b41ff1aSmrg	exit ;;
565fdb3d228Smrg    *:AIX:*:*)
566fdb3d228Smrg	echo rs6000-ibm-aix
5679b41ff1aSmrg	exit ;;
568fdb3d228Smrg    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
569fdb3d228Smrg	echo romp-ibm-bsd4.4
5709b41ff1aSmrg	exit ;;
571fdb3d228Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
572fdb3d228Smrg	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
5739b41ff1aSmrg	exit ;;                             # report: romp-ibm BSD 4.3
574fdb3d228Smrg    *:BOSX:*:*)
575fdb3d228Smrg	echo rs6000-bull-bosx
5769b41ff1aSmrg	exit ;;
577fdb3d228Smrg    DPX/2?00:B.O.S.:*:*)
578fdb3d228Smrg	echo m68k-bull-sysv3
5799b41ff1aSmrg	exit ;;
580fdb3d228Smrg    9000/[34]??:4.3bsd:1.*:*)
581fdb3d228Smrg	echo m68k-hp-bsd
5829b41ff1aSmrg	exit ;;
583fdb3d228Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
584fdb3d228Smrg	echo m68k-hp-bsd4.4
5859b41ff1aSmrg	exit ;;
586fdb3d228Smrg    9000/[34678]??:HP-UX:*:*)
587fdb3d228Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
588fdb3d228Smrg	case "${UNAME_MACHINE}" in
589fdb3d228Smrg	    9000/31? )            HP_ARCH=m68000 ;;
590fdb3d228Smrg	    9000/[34]?? )         HP_ARCH=m68k ;;
591fdb3d228Smrg	    9000/[678][0-9][0-9])
592fdb3d228Smrg		if [ -x /usr/bin/getconf ]; then
593fdb3d228Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
594fdb3d228Smrg                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
595fdb3d228Smrg                    case "${sc_cpu_version}" in
596fdb3d228Smrg                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
597fdb3d228Smrg                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
598fdb3d228Smrg                      532)                      # CPU_PA_RISC2_0
599fdb3d228Smrg                        case "${sc_kernel_bits}" in
600fdb3d228Smrg                          32) HP_ARCH="hppa2.0n" ;;
601fdb3d228Smrg                          64) HP_ARCH="hppa2.0w" ;;
602fdb3d228Smrg			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
603fdb3d228Smrg                        esac ;;
604fdb3d228Smrg                    esac
605fdb3d228Smrg		fi
606fdb3d228Smrg		if [ "${HP_ARCH}" = "" ]; then
607fdb3d228Smrg		    eval $set_cc_for_build
608fdb3d228Smrg		    sed 's/^              //' << EOF >$dummy.c
609fdb3d228Smrg
610fdb3d228Smrg              #define _HPUX_SOURCE
611fdb3d228Smrg              #include <stdlib.h>
612fdb3d228Smrg              #include <unistd.h>
613fdb3d228Smrg
614fdb3d228Smrg              int main ()
615fdb3d228Smrg              {
616fdb3d228Smrg              #if defined(_SC_KERNEL_BITS)
617fdb3d228Smrg                  long bits = sysconf(_SC_KERNEL_BITS);
618fdb3d228Smrg              #endif
619fdb3d228Smrg                  long cpu  = sysconf (_SC_CPU_VERSION);
620fdb3d228Smrg
621fdb3d228Smrg                  switch (cpu)
622fdb3d228Smrg              	{
623fdb3d228Smrg              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
624fdb3d228Smrg              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
625fdb3d228Smrg              	case CPU_PA_RISC2_0:
626fdb3d228Smrg              #if defined(_SC_KERNEL_BITS)
627fdb3d228Smrg              	    switch (bits)
628fdb3d228Smrg              		{
629fdb3d228Smrg              		case 64: puts ("hppa2.0w"); break;
630fdb3d228Smrg              		case 32: puts ("hppa2.0n"); break;
631fdb3d228Smrg              		default: puts ("hppa2.0"); break;
632fdb3d228Smrg              		} break;
633fdb3d228Smrg              #else  /* !defined(_SC_KERNEL_BITS) */
634fdb3d228Smrg              	    puts ("hppa2.0"); break;
635fdb3d228Smrg              #endif
636fdb3d228Smrg              	default: puts ("hppa1.0"); break;
637fdb3d228Smrg              	}
638fdb3d228Smrg                  exit (0);
639fdb3d228Smrg              }
640fdb3d228SmrgEOF
641fdb3d228Smrg		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
642fdb3d228Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
643fdb3d228Smrg		fi ;;
644fdb3d228Smrg	esac
645fdb3d228Smrg	if [ ${HP_ARCH} = "hppa2.0w" ]
646fdb3d228Smrg	then
6479b41ff1aSmrg	    eval $set_cc_for_build
6489b41ff1aSmrg
6499b41ff1aSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
6509b41ff1aSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
6519b41ff1aSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
6529b41ff1aSmrg	    #
6539b41ff1aSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
6549b41ff1aSmrg	    # => hppa2.0w-hp-hpux11.23
6559b41ff1aSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
6569b41ff1aSmrg	    # => hppa64-hp-hpux11.23
6579b41ff1aSmrg
6589b41ff1aSmrg	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
6599b41ff1aSmrg		grep __LP64__ >/dev/null
660fdb3d228Smrg	    then
661fdb3d228Smrg		HP_ARCH="hppa2.0w"
662fdb3d228Smrg	    else
663fdb3d228Smrg		HP_ARCH="hppa64"
664fdb3d228Smrg	    fi
665fdb3d228Smrg	fi
666fdb3d228Smrg	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
6679b41ff1aSmrg	exit ;;
668fdb3d228Smrg    ia64:HP-UX:*:*)
669fdb3d228Smrg	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
670fdb3d228Smrg	echo ia64-hp-hpux${HPUX_REV}
6719b41ff1aSmrg	exit ;;
672fdb3d228Smrg    3050*:HI-UX:*:*)
673fdb3d228Smrg	eval $set_cc_for_build
674fdb3d228Smrg	sed 's/^	//' << EOF >$dummy.c
675fdb3d228Smrg	#include <unistd.h>
676fdb3d228Smrg	int
677fdb3d228Smrg	main ()
678fdb3d228Smrg	{
679fdb3d228Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
680fdb3d228Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
681fdb3d228Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
682fdb3d228Smrg	     results, however.  */
683fdb3d228Smrg	  if (CPU_IS_PA_RISC (cpu))
684fdb3d228Smrg	    {
685fdb3d228Smrg	      switch (cpu)
686fdb3d228Smrg		{
687fdb3d228Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
688fdb3d228Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
689fdb3d228Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
690fdb3d228Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
691fdb3d228Smrg		}
692fdb3d228Smrg	    }
693fdb3d228Smrg	  else if (CPU_IS_HP_MC68K (cpu))
694fdb3d228Smrg	    puts ("m68k-hitachi-hiuxwe2");
695fdb3d228Smrg	  else puts ("unknown-hitachi-hiuxwe2");
696fdb3d228Smrg	  exit (0);
697fdb3d228Smrg	}
698fdb3d228SmrgEOF
6999b41ff1aSmrg	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
7009b41ff1aSmrg		{ echo "$SYSTEM_NAME"; exit; }
701fdb3d228Smrg	echo unknown-hitachi-hiuxwe2
7029b41ff1aSmrg	exit ;;
703fdb3d228Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
704fdb3d228Smrg	echo hppa1.1-hp-bsd
7059b41ff1aSmrg	exit ;;
706fdb3d228Smrg    9000/8??:4.3bsd:*:*)
707fdb3d228Smrg	echo hppa1.0-hp-bsd
7089b41ff1aSmrg	exit ;;
709fdb3d228Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
710fdb3d228Smrg	echo hppa1.0-hp-mpeix
7119b41ff1aSmrg	exit ;;
712fdb3d228Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
713fdb3d228Smrg	echo hppa1.1-hp-osf
7149b41ff1aSmrg	exit ;;
715fdb3d228Smrg    hp8??:OSF1:*:*)
716fdb3d228Smrg	echo hppa1.0-hp-osf
7179b41ff1aSmrg	exit ;;
718fdb3d228Smrg    i*86:OSF1:*:*)
719fdb3d228Smrg	if [ -x /usr/sbin/sysversion ] ; then
720fdb3d228Smrg	    echo ${UNAME_MACHINE}-unknown-osf1mk
721fdb3d228Smrg	else
722fdb3d228Smrg	    echo ${UNAME_MACHINE}-unknown-osf1
723fdb3d228Smrg	fi
7249b41ff1aSmrg	exit ;;
725fdb3d228Smrg    parisc*:Lites*:*:*)
726fdb3d228Smrg	echo hppa1.1-hp-lites
7279b41ff1aSmrg	exit ;;
728fdb3d228Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
729fdb3d228Smrg	echo c1-convex-bsd
7309b41ff1aSmrg        exit ;;
731fdb3d228Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
732fdb3d228Smrg	if getsysinfo -f scalar_acc
733fdb3d228Smrg	then echo c32-convex-bsd
734fdb3d228Smrg	else echo c2-convex-bsd
735fdb3d228Smrg	fi
7369b41ff1aSmrg        exit ;;
737fdb3d228Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
738fdb3d228Smrg	echo c34-convex-bsd
7399b41ff1aSmrg        exit ;;
740fdb3d228Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
741fdb3d228Smrg	echo c38-convex-bsd
7429b41ff1aSmrg        exit ;;
743fdb3d228Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
744fdb3d228Smrg	echo c4-convex-bsd
7459b41ff1aSmrg        exit ;;
746fdb3d228Smrg    CRAY*Y-MP:*:*:*)
747fdb3d228Smrg	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7489b41ff1aSmrg	exit ;;
749fdb3d228Smrg    CRAY*[A-Z]90:*:*:*)
750fdb3d228Smrg	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
751fdb3d228Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
752fdb3d228Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
753fdb3d228Smrg	      -e 's/\.[^.]*$/.X/'
7549b41ff1aSmrg	exit ;;
755fdb3d228Smrg    CRAY*TS:*:*:*)
756fdb3d228Smrg	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7579b41ff1aSmrg	exit ;;
758fdb3d228Smrg    CRAY*T3E:*:*:*)
759fdb3d228Smrg	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7609b41ff1aSmrg	exit ;;
761fdb3d228Smrg    CRAY*SV1:*:*:*)
762fdb3d228Smrg	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7639b41ff1aSmrg	exit ;;
764fdb3d228Smrg    *:UNICOS/mp:*:*)
7659b41ff1aSmrg	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
7669b41ff1aSmrg	exit ;;
767fdb3d228Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
768fdb3d228Smrg	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
769fdb3d228Smrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
770fdb3d228Smrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
771fdb3d228Smrg        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7729b41ff1aSmrg        exit ;;
7739b41ff1aSmrg    5000:UNIX_System_V:4.*:*)
7749b41ff1aSmrg        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
7759b41ff1aSmrg        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
7769b41ff1aSmrg        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
7779b41ff1aSmrg	exit ;;
778fdb3d228Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
779fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
7809b41ff1aSmrg	exit ;;
781fdb3d228Smrg    sparc*:BSD/OS:*:*)
782fdb3d228Smrg	echo sparc-unknown-bsdi${UNAME_RELEASE}
7839b41ff1aSmrg	exit ;;
784fdb3d228Smrg    *:BSD/OS:*:*)
785fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
7869b41ff1aSmrg	exit ;;
7879b41ff1aSmrg    *:FreeBSD:*:*)
7889b41ff1aSmrg	case ${UNAME_MACHINE} in
7899b41ff1aSmrg	    pc98)
7909b41ff1aSmrg		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7919b41ff1aSmrg	    amd64)
7929b41ff1aSmrg		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7939b41ff1aSmrg	    *)
7949b41ff1aSmrg		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
7959b41ff1aSmrg	esac
7969b41ff1aSmrg	exit ;;
797fdb3d228Smrg    i*:CYGWIN*:*)
798fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-cygwin
7999b41ff1aSmrg	exit ;;
8009b41ff1aSmrg    *:MINGW*:*)
801fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-mingw32
8029b41ff1aSmrg	exit ;;
8039b41ff1aSmrg    i*:windows32*:*)
8049b41ff1aSmrg    	# uname -m includes "-pc" on this system.
8059b41ff1aSmrg    	echo ${UNAME_MACHINE}-mingw32
8069b41ff1aSmrg	exit ;;
807fdb3d228Smrg    i*:PW*:*)
808fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-pw32
8099b41ff1aSmrg	exit ;;
8109b41ff1aSmrg    *:Interix*:[3456]*)
8119b41ff1aSmrg    	case ${UNAME_MACHINE} in
8129b41ff1aSmrg	    x86)
8139b41ff1aSmrg		echo i586-pc-interix${UNAME_RELEASE}
8149b41ff1aSmrg		exit ;;
8159b41ff1aSmrg	    EM64T | authenticamd | genuineintel)
8169b41ff1aSmrg		echo x86_64-unknown-interix${UNAME_RELEASE}
8179b41ff1aSmrg		exit ;;
8189b41ff1aSmrg	    IA64)
8199b41ff1aSmrg		echo ia64-unknown-interix${UNAME_RELEASE}
8209b41ff1aSmrg		exit ;;
8219b41ff1aSmrg	esac ;;
822fdb3d228Smrg    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
823fdb3d228Smrg	echo i${UNAME_MACHINE}-pc-mks
8249b41ff1aSmrg	exit ;;
825fdb3d228Smrg    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
826fdb3d228Smrg	# How do we know it's Interix rather than the generic POSIX subsystem?
827fdb3d228Smrg	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
828fdb3d228Smrg	# UNAME_MACHINE based on the output of uname instead of i386?
829fdb3d228Smrg	echo i586-pc-interix
8309b41ff1aSmrg	exit ;;
831fdb3d228Smrg    i*:UWIN*:*)
832fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-uwin
8339b41ff1aSmrg	exit ;;
8349b41ff1aSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
8359b41ff1aSmrg	echo x86_64-unknown-cygwin
8369b41ff1aSmrg	exit ;;
837fdb3d228Smrg    p*:CYGWIN*:*)
838fdb3d228Smrg	echo powerpcle-unknown-cygwin
8399b41ff1aSmrg	exit ;;
840fdb3d228Smrg    prep*:SunOS:5.*:*)
841fdb3d228Smrg	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
8429b41ff1aSmrg	exit ;;
843fdb3d228Smrg    *:GNU:*:*)
8449b41ff1aSmrg	# the GNU system
845fdb3d228Smrg	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
8469b41ff1aSmrg	exit ;;
8479b41ff1aSmrg    *:GNU/*:*:*)
8489b41ff1aSmrg	# other systems with GNU libc and userland
8499b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
8509b41ff1aSmrg	exit ;;
851fdb3d228Smrg    i*86:Minix:*:*)
852fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-minix
8539b41ff1aSmrg	exit ;;
854fdb3d228Smrg    arm*:Linux:*:*)
8559b41ff1aSmrg	eval $set_cc_for_build
8569b41ff1aSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
8579b41ff1aSmrg	    | grep -q __ARM_EABI__
8589b41ff1aSmrg	then
8599b41ff1aSmrg	    echo ${UNAME_MACHINE}-unknown-linux-gnu
8609b41ff1aSmrg	else
8619b41ff1aSmrg	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
8629b41ff1aSmrg	fi
8639b41ff1aSmrg	exit ;;
8649b41ff1aSmrg    avr32*:Linux:*:*)
865fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8669b41ff1aSmrg	exit ;;
867fdb3d228Smrg    cris:Linux:*:*)
868fdb3d228Smrg	echo cris-axis-linux-gnu
8699b41ff1aSmrg	exit ;;
8709b41ff1aSmrg    crisv32:Linux:*:*)
8719b41ff1aSmrg	echo crisv32-axis-linux-gnu
8729b41ff1aSmrg	exit ;;
8739b41ff1aSmrg    frv:Linux:*:*)
8749b41ff1aSmrg    	echo frv-unknown-linux-gnu
8759b41ff1aSmrg	exit ;;
876fdb3d228Smrg    ia64:Linux:*:*)
8779b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8789b41ff1aSmrg	exit ;;
8799b41ff1aSmrg    m32r*:Linux:*:*)
8809b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8819b41ff1aSmrg	exit ;;
882fdb3d228Smrg    m68*:Linux:*:*)
883fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
8849b41ff1aSmrg	exit ;;
885fdb3d228Smrg    mips:Linux:*:*)
886fdb3d228Smrg	eval $set_cc_for_build
887fdb3d228Smrg	sed 's/^	//' << EOF >$dummy.c
888fdb3d228Smrg	#undef CPU
889fdb3d228Smrg	#undef mips
890fdb3d228Smrg	#undef mipsel
891fdb3d228Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
892fdb3d228Smrg	CPU=mipsel
893fdb3d228Smrg	#else
894fdb3d228Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
895fdb3d228Smrg	CPU=mips
896fdb3d228Smrg	#else
897fdb3d228Smrg	CPU=
898fdb3d228Smrg	#endif
899fdb3d228Smrg	#endif
900fdb3d228SmrgEOF
9019b41ff1aSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
9029b41ff1aSmrg	    /^CPU/{
9039b41ff1aSmrg		s: ::g
9049b41ff1aSmrg		p
9059b41ff1aSmrg	    }'`"
9069b41ff1aSmrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
907fdb3d228Smrg	;;
908fdb3d228Smrg    mips64:Linux:*:*)
909fdb3d228Smrg	eval $set_cc_for_build
910fdb3d228Smrg	sed 's/^	//' << EOF >$dummy.c
911fdb3d228Smrg	#undef CPU
912fdb3d228Smrg	#undef mips64
913fdb3d228Smrg	#undef mips64el
914fdb3d228Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
915fdb3d228Smrg	CPU=mips64el
916fdb3d228Smrg	#else
917fdb3d228Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
918fdb3d228Smrg	CPU=mips64
919fdb3d228Smrg	#else
920fdb3d228Smrg	CPU=
921fdb3d228Smrg	#endif
922fdb3d228Smrg	#endif
923fdb3d228SmrgEOF
9249b41ff1aSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
9259b41ff1aSmrg	    /^CPU/{
9269b41ff1aSmrg		s: ::g
9279b41ff1aSmrg		p
9289b41ff1aSmrg	    }'`"
9299b41ff1aSmrg	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
930fdb3d228Smrg	;;
9319b41ff1aSmrg    or32:Linux:*:*)
9329b41ff1aSmrg	echo or32-unknown-linux-gnu
9339b41ff1aSmrg	exit ;;
934fdb3d228Smrg    ppc:Linux:*:*)
9359b41ff1aSmrg	echo powerpc-unknown-linux-gnu
9369b41ff1aSmrg	exit ;;
937fdb3d228Smrg    ppc64:Linux:*:*)
9389b41ff1aSmrg	echo powerpc64-unknown-linux-gnu
9399b41ff1aSmrg	exit ;;
940fdb3d228Smrg    alpha:Linux:*:*)
941fdb3d228Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
942fdb3d228Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
943fdb3d228Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
944fdb3d228Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
945fdb3d228Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
946fdb3d228Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
947fdb3d228Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
948fdb3d228Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
949fdb3d228Smrg        esac
950fdb3d228Smrg	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
951fdb3d228Smrg	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
952fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
9539b41ff1aSmrg	exit ;;
9549b41ff1aSmrg    padre:Linux:*:*)
9559b41ff1aSmrg	echo sparc-unknown-linux-gnu
9569b41ff1aSmrg	exit ;;
957fdb3d228Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
958fdb3d228Smrg	# Look for CPU level
959fdb3d228Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
960fdb3d228Smrg	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
961fdb3d228Smrg	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
962fdb3d228Smrg	  *)    echo hppa-unknown-linux-gnu ;;
963fdb3d228Smrg	esac
9649b41ff1aSmrg	exit ;;
965fdb3d228Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
966fdb3d228Smrg	echo hppa64-unknown-linux-gnu
9679b41ff1aSmrg	exit ;;
968fdb3d228Smrg    s390:Linux:*:* | s390x:Linux:*:*)
9699b41ff1aSmrg	echo ${UNAME_MACHINE}-ibm-linux
9709b41ff1aSmrg	exit ;;
971fdb3d228Smrg    sh64*:Linux:*:*)
972fdb3d228Smrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9739b41ff1aSmrg	exit ;;
974fdb3d228Smrg    sh*:Linux:*:*)
975fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9769b41ff1aSmrg	exit ;;
977fdb3d228Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
978fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-linux-gnu
9799b41ff1aSmrg	exit ;;
9809b41ff1aSmrg    vax:Linux:*:*)
9819b41ff1aSmrg	echo ${UNAME_MACHINE}-dec-linux-gnu
9829b41ff1aSmrg	exit ;;
983fdb3d228Smrg    x86_64:Linux:*:*)
9849b41ff1aSmrg	echo x86_64-unknown-linux-gnu
9859b41ff1aSmrg	exit ;;
9869b41ff1aSmrg    xtensa*:Linux:*:*)
9879b41ff1aSmrg    	echo ${UNAME_MACHINE}-unknown-linux-gnu
9889b41ff1aSmrg	exit ;;
989fdb3d228Smrg    i*86:Linux:*:*)
990fdb3d228Smrg	# The BFD linker knows what the default object file format is, so
991fdb3d228Smrg	# first see if it will tell us. cd to the root directory to prevent
992fdb3d228Smrg	# problems with other programs or directories called `ld' in the path.
993fdb3d228Smrg	# Set LC_ALL=C to ensure ld outputs messages in English.
994fdb3d228Smrg	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
995fdb3d228Smrg			 | sed -ne '/supported targets:/!d
996fdb3d228Smrg				    s/[ 	][ 	]*/ /g
997fdb3d228Smrg				    s/.*supported targets: *//
998fdb3d228Smrg				    s/ .*//
999fdb3d228Smrg				    p'`
1000fdb3d228Smrg        case "$ld_supported_targets" in
1001fdb3d228Smrg	  elf32-i386)
1002fdb3d228Smrg		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
1003fdb3d228Smrg		;;
1004fdb3d228Smrg	  a.out-i386-linux)
1005fdb3d228Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
10069b41ff1aSmrg		exit ;;
1007fdb3d228Smrg	  "")
1008fdb3d228Smrg		# Either a pre-BFD a.out linker (linux-gnuoldld) or
1009fdb3d228Smrg		# one that does not give us useful --help.
1010fdb3d228Smrg		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
10119b41ff1aSmrg		exit ;;
1012fdb3d228Smrg	esac
1013fdb3d228Smrg	# Determine whether the default compiler is a.out or elf
1014fdb3d228Smrg	eval $set_cc_for_build
1015fdb3d228Smrg	sed 's/^	//' << EOF >$dummy.c
1016fdb3d228Smrg	#include <features.h>
1017fdb3d228Smrg	#ifdef __ELF__
1018fdb3d228Smrg	# ifdef __GLIBC__
1019fdb3d228Smrg	#  if __GLIBC__ >= 2
1020fdb3d228Smrg	LIBC=gnu
1021fdb3d228Smrg	#  else
1022fdb3d228Smrg	LIBC=gnulibc1
1023fdb3d228Smrg	#  endif
1024fdb3d228Smrg	# else
1025fdb3d228Smrg	LIBC=gnulibc1
1026fdb3d228Smrg	# endif
1027fdb3d228Smrg	#else
10289b41ff1aSmrg	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1029fdb3d228Smrg	LIBC=gnu
1030fdb3d228Smrg	#else
1031fdb3d228Smrg	LIBC=gnuaout
1032fdb3d228Smrg	#endif
1033fdb3d228Smrg	#endif
10349b41ff1aSmrg	#ifdef __dietlibc__
10359b41ff1aSmrg	LIBC=dietlibc
10369b41ff1aSmrg	#endif
1037fdb3d228SmrgEOF
10389b41ff1aSmrg	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
10399b41ff1aSmrg	    /^LIBC/{
10409b41ff1aSmrg		s: ::g
10419b41ff1aSmrg		p
10429b41ff1aSmrg	    }'`"
10439b41ff1aSmrg	test x"${LIBC}" != x && {
10449b41ff1aSmrg		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
10459b41ff1aSmrg		exit
10469b41ff1aSmrg	}
10479b41ff1aSmrg	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1048fdb3d228Smrg	;;
1049fdb3d228Smrg    i*86:DYNIX/ptx:4*:*)
1050fdb3d228Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1051fdb3d228Smrg	# earlier versions are messed up and put the nodename in both
1052fdb3d228Smrg	# sysname and nodename.
1053fdb3d228Smrg	echo i386-sequent-sysv4
10549b41ff1aSmrg	exit ;;
1055fdb3d228Smrg    i*86:UNIX_SV:4.2MP:2.*)
1056fdb3d228Smrg        # Unixware is an offshoot of SVR4, but it has its own version
1057fdb3d228Smrg        # number series starting with 2...
1058fdb3d228Smrg        # I am not positive that other SVR4 systems won't match this,
1059fdb3d228Smrg	# I just have to hope.  -- rms.
1060fdb3d228Smrg        # Use sysv4.2uw... so that sysv4* matches it.
1061fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
10629b41ff1aSmrg	exit ;;
1063fdb3d228Smrg    i*86:OS/2:*:*)
1064fdb3d228Smrg	# If we were able to find `uname', then EMX Unix compatibility
1065fdb3d228Smrg	# is probably installed.
1066fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-os2-emx
10679b41ff1aSmrg	exit ;;
1068fdb3d228Smrg    i*86:XTS-300:*:STOP)
1069fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-stop
10709b41ff1aSmrg	exit ;;
1071fdb3d228Smrg    i*86:atheos:*:*)
1072fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-atheos
10739b41ff1aSmrg	exit ;;
10749b41ff1aSmrg    i*86:syllable:*:*)
10759b41ff1aSmrg	echo ${UNAME_MACHINE}-pc-syllable
10769b41ff1aSmrg	exit ;;
1077fdb3d228Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1078fdb3d228Smrg	echo i386-unknown-lynxos${UNAME_RELEASE}
10799b41ff1aSmrg	exit ;;
1080fdb3d228Smrg    i*86:*DOS:*:*)
1081fdb3d228Smrg	echo ${UNAME_MACHINE}-pc-msdosdjgpp
10829b41ff1aSmrg	exit ;;
1083fdb3d228Smrg    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1084fdb3d228Smrg	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1085fdb3d228Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1086fdb3d228Smrg		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1087fdb3d228Smrg	else
1088fdb3d228Smrg		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1089fdb3d228Smrg	fi
10909b41ff1aSmrg	exit ;;
10919b41ff1aSmrg    i*86:*:5:[678]*)
10929b41ff1aSmrg    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1093fdb3d228Smrg	case `/bin/uname -X | grep "^Machine"` in
1094fdb3d228Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1095fdb3d228Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1096fdb3d228Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1097fdb3d228Smrg	esac
1098fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
10999b41ff1aSmrg	exit ;;
1100fdb3d228Smrg    i*86:*:3.2:*)
1101fdb3d228Smrg	if test -f /usr/options/cb.name; then
1102fdb3d228Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1103fdb3d228Smrg		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1104fdb3d228Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1105fdb3d228Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1106fdb3d228Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1107fdb3d228Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1108fdb3d228Smrg			&& UNAME_MACHINE=i586
1109fdb3d228Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1110fdb3d228Smrg			&& UNAME_MACHINE=i686
1111fdb3d228Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1112fdb3d228Smrg			&& UNAME_MACHINE=i686
1113fdb3d228Smrg		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1114fdb3d228Smrg	else
1115fdb3d228Smrg		echo ${UNAME_MACHINE}-pc-sysv32
1116fdb3d228Smrg	fi
11179b41ff1aSmrg	exit ;;
1118fdb3d228Smrg    pc:*:*:*)
1119fdb3d228Smrg	# Left here for compatibility:
1120fdb3d228Smrg        # uname -m prints for DJGPP always 'pc', but it prints nothing about
11219b41ff1aSmrg        # the processor, so we play safe by assuming i586.
11229b41ff1aSmrg	# Note: whatever this is, it MUST be the same as what config.sub
11239b41ff1aSmrg	# prints for the "djgpp" host, or else GDB configury will decide that
11249b41ff1aSmrg	# this is a cross-build.
11259b41ff1aSmrg	echo i586-pc-msdosdjgpp
11269b41ff1aSmrg        exit ;;
1127fdb3d228Smrg    Intel:Mach:3*:*)
1128fdb3d228Smrg	echo i386-pc-mach3
11299b41ff1aSmrg	exit ;;
1130fdb3d228Smrg    paragon:*:*:*)
1131fdb3d228Smrg	echo i860-intel-osf1
11329b41ff1aSmrg	exit ;;
1133fdb3d228Smrg    i860:*:4.*:*) # i860-SVR4
1134fdb3d228Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1135fdb3d228Smrg	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1136fdb3d228Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1137fdb3d228Smrg	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1138fdb3d228Smrg	fi
11399b41ff1aSmrg	exit ;;
1140fdb3d228Smrg    mini*:CTIX:SYS*5:*)
1141fdb3d228Smrg	# "miniframe"
1142fdb3d228Smrg	echo m68010-convergent-sysv
11439b41ff1aSmrg	exit ;;
1144fdb3d228Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1145fdb3d228Smrg	echo m68k-convergent-sysv
11469b41ff1aSmrg	exit ;;
1147fdb3d228Smrg    M680?0:D-NIX:5.3:*)
1148fdb3d228Smrg	echo m68k-diab-dnix
11499b41ff1aSmrg	exit ;;
11509b41ff1aSmrg    M68*:*:R3V[5678]*:*)
11519b41ff1aSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
11529b41ff1aSmrg    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)
1153fdb3d228Smrg	OS_REL=''
1154fdb3d228Smrg	test -r /etc/.relid \
1155fdb3d228Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1156fdb3d228Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11579b41ff1aSmrg	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1158fdb3d228Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11599b41ff1aSmrg	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1160fdb3d228Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1161fdb3d228Smrg        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11629b41ff1aSmrg          && { echo i486-ncr-sysv4; exit; } ;;
11639b41ff1aSmrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
11649b41ff1aSmrg	OS_REL='.3'
11659b41ff1aSmrg	test -r /etc/.relid \
11669b41ff1aSmrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
11679b41ff1aSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11689b41ff1aSmrg	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
11699b41ff1aSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11709b41ff1aSmrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
11719b41ff1aSmrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
11729b41ff1aSmrg	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1173fdb3d228Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1174fdb3d228Smrg	echo m68k-unknown-lynxos${UNAME_RELEASE}
11759b41ff1aSmrg	exit ;;
1176fdb3d228Smrg    mc68030:UNIX_System_V:4.*:*)
1177fdb3d228Smrg	echo m68k-atari-sysv4
11789b41ff1aSmrg	exit ;;
1179fdb3d228Smrg    TSUNAMI:LynxOS:2.*:*)
1180fdb3d228Smrg	echo sparc-unknown-lynxos${UNAME_RELEASE}
11819b41ff1aSmrg	exit ;;
1182fdb3d228Smrg    rs6000:LynxOS:2.*:*)
1183fdb3d228Smrg	echo rs6000-unknown-lynxos${UNAME_RELEASE}
11849b41ff1aSmrg	exit ;;
1185fdb3d228Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1186fdb3d228Smrg	echo powerpc-unknown-lynxos${UNAME_RELEASE}
11879b41ff1aSmrg	exit ;;
1188fdb3d228Smrg    SM[BE]S:UNIX_SV:*:*)
1189fdb3d228Smrg	echo mips-dde-sysv${UNAME_RELEASE}
11909b41ff1aSmrg	exit ;;
1191fdb3d228Smrg    RM*:ReliantUNIX-*:*:*)
1192fdb3d228Smrg	echo mips-sni-sysv4
11939b41ff1aSmrg	exit ;;
1194fdb3d228Smrg    RM*:SINIX-*:*:*)
1195fdb3d228Smrg	echo mips-sni-sysv4
11969b41ff1aSmrg	exit ;;
1197fdb3d228Smrg    *:SINIX-*:*:*)
1198fdb3d228Smrg	if uname -p 2>/dev/null >/dev/null ; then
1199fdb3d228Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1200fdb3d228Smrg		echo ${UNAME_MACHINE}-sni-sysv4
1201fdb3d228Smrg	else
1202fdb3d228Smrg		echo ns32k-sni-sysv
1203fdb3d228Smrg	fi
12049b41ff1aSmrg	exit ;;
1205fdb3d228Smrg    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1206fdb3d228Smrg                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1207fdb3d228Smrg        echo i586-unisys-sysv4
12089b41ff1aSmrg        exit ;;
1209fdb3d228Smrg    *:UNIX_System_V:4*:FTX*)
1210fdb3d228Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1211fdb3d228Smrg	# How about differentiating between stratus architectures? -djm
1212fdb3d228Smrg	echo hppa1.1-stratus-sysv4
12139b41ff1aSmrg	exit ;;
1214fdb3d228Smrg    *:*:*:FTX*)
1215fdb3d228Smrg	# From seanf@swdc.stratus.com.
1216fdb3d228Smrg	echo i860-stratus-sysv4
12179b41ff1aSmrg	exit ;;
12189b41ff1aSmrg    i*86:VOS:*:*)
12199b41ff1aSmrg	# From Paul.Green@stratus.com.
12209b41ff1aSmrg	echo ${UNAME_MACHINE}-stratus-vos
12219b41ff1aSmrg	exit ;;
1222fdb3d228Smrg    *:VOS:*:*)
1223fdb3d228Smrg	# From Paul.Green@stratus.com.
1224fdb3d228Smrg	echo hppa1.1-stratus-vos
12259b41ff1aSmrg	exit ;;
1226fdb3d228Smrg    mc68*:A/UX:*:*)
1227fdb3d228Smrg	echo m68k-apple-aux${UNAME_RELEASE}
12289b41ff1aSmrg	exit ;;
1229fdb3d228Smrg    news*:NEWS-OS:6*:*)
1230fdb3d228Smrg	echo mips-sony-newsos6
12319b41ff1aSmrg	exit ;;
1232fdb3d228Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1233fdb3d228Smrg	if [ -d /usr/nec ]; then
1234fdb3d228Smrg	        echo mips-nec-sysv${UNAME_RELEASE}
1235fdb3d228Smrg	else
1236fdb3d228Smrg	        echo mips-unknown-sysv${UNAME_RELEASE}
1237fdb3d228Smrg	fi
12389b41ff1aSmrg        exit ;;
1239fdb3d228Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1240fdb3d228Smrg	echo powerpc-be-beos
12419b41ff1aSmrg	exit ;;
1242fdb3d228Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1243fdb3d228Smrg	echo powerpc-apple-beos
12449b41ff1aSmrg	exit ;;
1245fdb3d228Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1246fdb3d228Smrg	echo i586-pc-beos
12479b41ff1aSmrg	exit ;;
12489b41ff1aSmrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
12499b41ff1aSmrg	echo i586-pc-haiku
12509b41ff1aSmrg	exit ;;
1251fdb3d228Smrg    SX-4:SUPER-UX:*:*)
1252fdb3d228Smrg	echo sx4-nec-superux${UNAME_RELEASE}
12539b41ff1aSmrg	exit ;;
1254fdb3d228Smrg    SX-5:SUPER-UX:*:*)
1255fdb3d228Smrg	echo sx5-nec-superux${UNAME_RELEASE}
12569b41ff1aSmrg	exit ;;
1257fdb3d228Smrg    SX-6:SUPER-UX:*:*)
1258fdb3d228Smrg	echo sx6-nec-superux${UNAME_RELEASE}
12599b41ff1aSmrg	exit ;;
12609b41ff1aSmrg    SX-7:SUPER-UX:*:*)
12619b41ff1aSmrg	echo sx7-nec-superux${UNAME_RELEASE}
12629b41ff1aSmrg	exit ;;
12639b41ff1aSmrg    SX-8:SUPER-UX:*:*)
12649b41ff1aSmrg	echo sx8-nec-superux${UNAME_RELEASE}
12659b41ff1aSmrg	exit ;;
12669b41ff1aSmrg    SX-8R:SUPER-UX:*:*)
12679b41ff1aSmrg	echo sx8r-nec-superux${UNAME_RELEASE}
12689b41ff1aSmrg	exit ;;
1269fdb3d228Smrg    Power*:Rhapsody:*:*)
1270fdb3d228Smrg	echo powerpc-apple-rhapsody${UNAME_RELEASE}
12719b41ff1aSmrg	exit ;;
1272fdb3d228Smrg    *:Rhapsody:*:*)
1273fdb3d228Smrg	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
12749b41ff1aSmrg	exit ;;
1275fdb3d228Smrg    *:Darwin:*:*)
12769b41ff1aSmrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12779b41ff1aSmrg	case $UNAME_PROCESSOR in
12789b41ff1aSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1279fdb3d228Smrg	esac
1280fdb3d228Smrg	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
12819b41ff1aSmrg	exit ;;
1282fdb3d228Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1283fdb3d228Smrg	UNAME_PROCESSOR=`uname -p`
1284fdb3d228Smrg	if test "$UNAME_PROCESSOR" = "x86"; then
1285fdb3d228Smrg		UNAME_PROCESSOR=i386
1286fdb3d228Smrg		UNAME_MACHINE=pc
1287fdb3d228Smrg	fi
1288fdb3d228Smrg	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
12899b41ff1aSmrg	exit ;;
1290fdb3d228Smrg    *:QNX:*:4*)
1291fdb3d228Smrg	echo i386-pc-qnx
12929b41ff1aSmrg	exit ;;
12939b41ff1aSmrg    NSE-?:NONSTOP_KERNEL:*:*)
12949b41ff1aSmrg	echo nse-tandem-nsk${UNAME_RELEASE}
12959b41ff1aSmrg	exit ;;
12969b41ff1aSmrg    NSR-?:NONSTOP_KERNEL:*:*)
1297fdb3d228Smrg	echo nsr-tandem-nsk${UNAME_RELEASE}
12989b41ff1aSmrg	exit ;;
1299fdb3d228Smrg    *:NonStop-UX:*:*)
1300fdb3d228Smrg	echo mips-compaq-nonstopux
13019b41ff1aSmrg	exit ;;
1302fdb3d228Smrg    BS2000:POSIX*:*:*)
1303fdb3d228Smrg	echo bs2000-siemens-sysv
13049b41ff1aSmrg	exit ;;
1305fdb3d228Smrg    DS/*:UNIX_System_V:*:*)
1306fdb3d228Smrg	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
13079b41ff1aSmrg	exit ;;
1308fdb3d228Smrg    *:Plan9:*:*)
1309fdb3d228Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1310fdb3d228Smrg	# is converted to i386 for consistency with other x86
1311fdb3d228Smrg	# operating systems.
1312fdb3d228Smrg	if test "$cputype" = "386"; then
1313fdb3d228Smrg	    UNAME_MACHINE=i386
1314fdb3d228Smrg	else
1315fdb3d228Smrg	    UNAME_MACHINE="$cputype"
1316fdb3d228Smrg	fi
1317fdb3d228Smrg	echo ${UNAME_MACHINE}-unknown-plan9
13189b41ff1aSmrg	exit ;;
1319fdb3d228Smrg    *:TOPS-10:*:*)
1320fdb3d228Smrg	echo pdp10-unknown-tops10
13219b41ff1aSmrg	exit ;;
1322fdb3d228Smrg    *:TENEX:*:*)
1323fdb3d228Smrg	echo pdp10-unknown-tenex
13249b41ff1aSmrg	exit ;;
1325fdb3d228Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1326fdb3d228Smrg	echo pdp10-dec-tops20
13279b41ff1aSmrg	exit ;;
1328fdb3d228Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1329fdb3d228Smrg	echo pdp10-xkl-tops20
13309b41ff1aSmrg	exit ;;
1331fdb3d228Smrg    *:TOPS-20:*:*)
1332fdb3d228Smrg	echo pdp10-unknown-tops20
13339b41ff1aSmrg	exit ;;
1334fdb3d228Smrg    *:ITS:*:*)
1335fdb3d228Smrg	echo pdp10-unknown-its
13369b41ff1aSmrg	exit ;;
1337fdb3d228Smrg    SEI:*:*:SEIUX)
1338fdb3d228Smrg        echo mips-sei-seiux${UNAME_RELEASE}
13399b41ff1aSmrg	exit ;;
13409b41ff1aSmrg    *:DragonFly:*:*)
13419b41ff1aSmrg	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
13429b41ff1aSmrg	exit ;;
13439b41ff1aSmrg    *:*VMS:*:*)
13449b41ff1aSmrg    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13459b41ff1aSmrg	case "${UNAME_MACHINE}" in
13469b41ff1aSmrg	    A*) echo alpha-dec-vms ; exit ;;
13479b41ff1aSmrg	    I*) echo ia64-dec-vms ; exit ;;
13489b41ff1aSmrg	    V*) echo vax-dec-vms ; exit ;;
13499b41ff1aSmrg	esac ;;
13509b41ff1aSmrg    *:XENIX:*:SysV)
13519b41ff1aSmrg	echo i386-pc-xenix
13529b41ff1aSmrg	exit ;;
13539b41ff1aSmrg    i*86:skyos:*:*)
13549b41ff1aSmrg	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
13559b41ff1aSmrg	exit ;;
13569b41ff1aSmrg    i*86:rdos:*:*)
13579b41ff1aSmrg	echo ${UNAME_MACHINE}-pc-rdos
13589b41ff1aSmrg	exit ;;
13599b41ff1aSmrg    i*86:AROS:*:*)
13609b41ff1aSmrg	echo ${UNAME_MACHINE}-pc-aros
13619b41ff1aSmrg	exit ;;
1362fdb3d228Smrgesac
1363fdb3d228Smrg
1364fdb3d228Smrg#echo '(No uname command or uname output not recognized.)' 1>&2
1365fdb3d228Smrg#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1366fdb3d228Smrg
1367fdb3d228Smrgeval $set_cc_for_build
1368fdb3d228Smrgcat >$dummy.c <<EOF
1369fdb3d228Smrg#ifdef _SEQUENT_
1370fdb3d228Smrg# include <sys/types.h>
1371fdb3d228Smrg# include <sys/utsname.h>
1372fdb3d228Smrg#endif
1373fdb3d228Smrgmain ()
1374fdb3d228Smrg{
1375fdb3d228Smrg#if defined (sony)
1376fdb3d228Smrg#if defined (MIPSEB)
1377fdb3d228Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1378fdb3d228Smrg     I don't know....  */
1379fdb3d228Smrg  printf ("mips-sony-bsd\n"); exit (0);
1380fdb3d228Smrg#else
1381fdb3d228Smrg#include <sys/param.h>
1382fdb3d228Smrg  printf ("m68k-sony-newsos%s\n",
1383fdb3d228Smrg#ifdef NEWSOS4
1384fdb3d228Smrg          "4"
1385fdb3d228Smrg#else
1386fdb3d228Smrg	  ""
1387fdb3d228Smrg#endif
1388fdb3d228Smrg         ); exit (0);
1389fdb3d228Smrg#endif
1390fdb3d228Smrg#endif
1391fdb3d228Smrg
1392fdb3d228Smrg#if defined (__arm) && defined (__acorn) && defined (__unix)
13939b41ff1aSmrg  printf ("arm-acorn-riscix\n"); exit (0);
1394fdb3d228Smrg#endif
1395fdb3d228Smrg
1396fdb3d228Smrg#if defined (hp300) && !defined (hpux)
1397fdb3d228Smrg  printf ("m68k-hp-bsd\n"); exit (0);
1398fdb3d228Smrg#endif
1399fdb3d228Smrg
1400fdb3d228Smrg#if defined (NeXT)
1401fdb3d228Smrg#if !defined (__ARCHITECTURE__)
1402fdb3d228Smrg#define __ARCHITECTURE__ "m68k"
1403fdb3d228Smrg#endif
1404fdb3d228Smrg  int version;
1405fdb3d228Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1406fdb3d228Smrg  if (version < 4)
1407fdb3d228Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1408fdb3d228Smrg  else
1409fdb3d228Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1410fdb3d228Smrg  exit (0);
1411fdb3d228Smrg#endif
1412fdb3d228Smrg
1413fdb3d228Smrg#if defined (MULTIMAX) || defined (n16)
1414fdb3d228Smrg#if defined (UMAXV)
1415fdb3d228Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1416fdb3d228Smrg#else
1417fdb3d228Smrg#if defined (CMU)
1418fdb3d228Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1419fdb3d228Smrg#else
1420fdb3d228Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1421fdb3d228Smrg#endif
1422fdb3d228Smrg#endif
1423fdb3d228Smrg#endif
1424fdb3d228Smrg
1425fdb3d228Smrg#if defined (__386BSD__)
1426fdb3d228Smrg  printf ("i386-pc-bsd\n"); exit (0);
1427fdb3d228Smrg#endif
1428fdb3d228Smrg
1429fdb3d228Smrg#if defined (sequent)
1430fdb3d228Smrg#if defined (i386)
1431fdb3d228Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1432fdb3d228Smrg#endif
1433fdb3d228Smrg#if defined (ns32000)
1434fdb3d228Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1435fdb3d228Smrg#endif
1436fdb3d228Smrg#endif
1437fdb3d228Smrg
1438fdb3d228Smrg#if defined (_SEQUENT_)
1439fdb3d228Smrg    struct utsname un;
1440fdb3d228Smrg
1441fdb3d228Smrg    uname(&un);
1442fdb3d228Smrg
1443fdb3d228Smrg    if (strncmp(un.version, "V2", 2) == 0) {
1444fdb3d228Smrg	printf ("i386-sequent-ptx2\n"); exit (0);
1445fdb3d228Smrg    }
1446fdb3d228Smrg    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1447fdb3d228Smrg	printf ("i386-sequent-ptx1\n"); exit (0);
1448fdb3d228Smrg    }
1449fdb3d228Smrg    printf ("i386-sequent-ptx\n"); exit (0);
1450fdb3d228Smrg
1451fdb3d228Smrg#endif
1452fdb3d228Smrg
1453fdb3d228Smrg#if defined (vax)
1454fdb3d228Smrg# if !defined (ultrix)
1455fdb3d228Smrg#  include <sys/param.h>
1456fdb3d228Smrg#  if defined (BSD)
1457fdb3d228Smrg#   if BSD == 43
1458fdb3d228Smrg      printf ("vax-dec-bsd4.3\n"); exit (0);
1459fdb3d228Smrg#   else
1460fdb3d228Smrg#    if BSD == 199006
1461fdb3d228Smrg      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1462fdb3d228Smrg#    else
1463fdb3d228Smrg      printf ("vax-dec-bsd\n"); exit (0);
1464fdb3d228Smrg#    endif
1465fdb3d228Smrg#   endif
1466fdb3d228Smrg#  else
1467fdb3d228Smrg    printf ("vax-dec-bsd\n"); exit (0);
1468fdb3d228Smrg#  endif
1469fdb3d228Smrg# else
1470fdb3d228Smrg    printf ("vax-dec-ultrix\n"); exit (0);
1471fdb3d228Smrg# endif
1472fdb3d228Smrg#endif
1473fdb3d228Smrg
1474fdb3d228Smrg#if defined (alliant) && defined (i860)
1475fdb3d228Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1476fdb3d228Smrg#endif
1477fdb3d228Smrg
1478fdb3d228Smrg  exit (1);
1479fdb3d228Smrg}
1480fdb3d228SmrgEOF
1481fdb3d228Smrg
14829b41ff1aSmrg$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
14839b41ff1aSmrg	{ echo "$SYSTEM_NAME"; exit; }
1484fdb3d228Smrg
1485fdb3d228Smrg# Apollos put the system type in the environment.
1486fdb3d228Smrg
14879b41ff1aSmrgtest -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1488fdb3d228Smrg
1489fdb3d228Smrg# Convex versions that predate uname can use getsysinfo(1)
1490fdb3d228Smrg
1491fdb3d228Smrgif [ -x /usr/convex/getsysinfo ]
1492fdb3d228Smrgthen
1493fdb3d228Smrg    case `getsysinfo -f cpu_type` in
1494fdb3d228Smrg    c1*)
1495fdb3d228Smrg	echo c1-convex-bsd
14969b41ff1aSmrg	exit ;;
1497fdb3d228Smrg    c2*)
1498fdb3d228Smrg	if getsysinfo -f scalar_acc
1499fdb3d228Smrg	then echo c32-convex-bsd
1500fdb3d228Smrg	else echo c2-convex-bsd
1501fdb3d228Smrg	fi
15029b41ff1aSmrg	exit ;;
1503fdb3d228Smrg    c34*)
1504fdb3d228Smrg	echo c34-convex-bsd
15059b41ff1aSmrg	exit ;;
1506fdb3d228Smrg    c38*)
1507fdb3d228Smrg	echo c38-convex-bsd
15089b41ff1aSmrg	exit ;;
1509fdb3d228Smrg    c4*)
1510fdb3d228Smrg	echo c4-convex-bsd
15119b41ff1aSmrg	exit ;;
1512fdb3d228Smrg    esac
1513fdb3d228Smrgfi
1514fdb3d228Smrg
1515fdb3d228Smrgcat >&2 <<EOF
1516fdb3d228Smrg$0: unable to guess system type
1517fdb3d228Smrg
1518fdb3d228SmrgThis script, last modified $timestamp, has failed to recognize
1519fdb3d228Smrgthe operating system you are using. It is advised that you
1520fdb3d228Smrgdownload the most up to date version of the config scripts from
1521fdb3d228Smrg
15229b41ff1aSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
15239b41ff1aSmrgand
15249b41ff1aSmrg  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1525fdb3d228Smrg
1526fdb3d228SmrgIf the version you run ($0) is already up to date, please
1527fdb3d228Smrgsend the following data and any information you think might be
1528fdb3d228Smrgpertinent to <config-patches@gnu.org> in order to provide the needed
1529fdb3d228Smrginformation to handle your system.
1530fdb3d228Smrg
1531fdb3d228Smrgconfig.guess timestamp = $timestamp
1532fdb3d228Smrg
1533fdb3d228Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1534fdb3d228Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1535fdb3d228Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1536fdb3d228Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1537fdb3d228Smrg
1538fdb3d228Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1539fdb3d228Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1540fdb3d228Smrg
1541fdb3d228Smrghostinfo               = `(hostinfo) 2>/dev/null`
1542fdb3d228Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1543fdb3d228Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1544fdb3d228Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1545fdb3d228Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1546fdb3d228Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1547fdb3d228Smrg
1548fdb3d228SmrgUNAME_MACHINE = ${UNAME_MACHINE}
1549fdb3d228SmrgUNAME_RELEASE = ${UNAME_RELEASE}
1550fdb3d228SmrgUNAME_SYSTEM  = ${UNAME_SYSTEM}
1551fdb3d228SmrgUNAME_VERSION = ${UNAME_VERSION}
1552fdb3d228SmrgEOF
1553fdb3d228Smrg
1554fdb3d228Smrgexit 1
1555fdb3d228Smrg
1556fdb3d228Smrg# Local variables:
1557fdb3d228Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1558fdb3d228Smrg# time-stamp-start: "timestamp='"
1559fdb3d228Smrg# time-stamp-format: "%:y-%02m-%02d"
1560fdb3d228Smrg# time-stamp-end: "'"
1561fdb3d228Smrg# End:
1562