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