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