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