config.guess revision 6ad5a0e2
1bd1da9d7Smrg#! /bin/sh
2bd1da9d7Smrg# Attempt to guess a canonical system name.
36ad5a0e2Smrg#   Copyright 1992-2018 Free Software Foundation, Inc.
4bd1da9d7Smrg
56ad5a0e2Smrgtimestamp='2018-02-24'
6bd1da9d7Smrg
7bd1da9d7Smrg# This file is free software; you can redistribute it and/or modify it
8bd1da9d7Smrg# under the terms of the GNU General Public License as published by
9899129b3Smrg# the Free Software Foundation; either version 3 of the License, or
10bd1da9d7Smrg# (at your option) any later version.
11bd1da9d7Smrg#
12bd1da9d7Smrg# This program is distributed in the hope that it will be useful, but
13bd1da9d7Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14bd1da9d7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15bd1da9d7Smrg# General Public License for more details.
16bd1da9d7Smrg#
17bd1da9d7Smrg# You should have received a copy of the GNU General Public License
186ad5a0e2Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
19bd1da9d7Smrg#
20bd1da9d7Smrg# As a special exception to the GNU General Public License, if you
21bd1da9d7Smrg# distribute this file as part of a program that contains a
22bd1da9d7Smrg# configuration script generated by Autoconf, you may include it under
23899129b3Smrg# the same distribution terms that you use for the rest of that
24899129b3Smrg# program.  This Exception is an additional permission under section 7
25899129b3Smrg# of the GNU General Public License, version 3 ("GPLv3").
26bd1da9d7Smrg#
27e6d2e958Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28bd1da9d7Smrg#
2947e89262Smrg# You can get the latest version of this script from:
306ad5a0e2Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
31899129b3Smrg#
32e6d2e958Smrg# Please send patches to <config-patches@gnu.org>.
33899129b3Smrg
34bd1da9d7Smrg
35bd1da9d7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
36bd1da9d7Smrg
37bd1da9d7Smrgusage="\
38bd1da9d7SmrgUsage: $0 [OPTION]
39bd1da9d7Smrg
40bd1da9d7SmrgOutput the configuration name of the system \`$me' is run on.
41bd1da9d7Smrg
426ad5a0e2SmrgOptions:
43bd1da9d7Smrg  -h, --help         print this help, then exit
44bd1da9d7Smrg  -t, --time-stamp   print date of last modification, then exit
45bd1da9d7Smrg  -v, --version      print version number, then exit
46bd1da9d7Smrg
47bd1da9d7SmrgReport bugs and patches to <config-patches@gnu.org>."
48bd1da9d7Smrg
49bd1da9d7Smrgversion="\
50bd1da9d7SmrgGNU config.guess ($timestamp)
51bd1da9d7Smrg
52bd1da9d7SmrgOriginally written by Per Bothner.
536ad5a0e2SmrgCopyright 1992-2018 Free Software Foundation, Inc.
54bd1da9d7Smrg
55bd1da9d7SmrgThis is free software; see the source for copying conditions.  There is NO
56bd1da9d7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57bd1da9d7Smrg
58bd1da9d7Smrghelp="
59bd1da9d7SmrgTry \`$me --help' for more information."
60bd1da9d7Smrg
61bd1da9d7Smrg# Parse command line
62bd1da9d7Smrgwhile test $# -gt 0 ; do
63bd1da9d7Smrg  case $1 in
64bd1da9d7Smrg    --time-stamp | --time* | -t )
65bd1da9d7Smrg       echo "$timestamp" ; exit ;;
66bd1da9d7Smrg    --version | -v )
67bd1da9d7Smrg       echo "$version" ; exit ;;
68bd1da9d7Smrg    --help | --h* | -h )
69bd1da9d7Smrg       echo "$usage"; exit ;;
70bd1da9d7Smrg    -- )     # Stop option processing
71bd1da9d7Smrg       shift; break ;;
72bd1da9d7Smrg    - )	# Use stdin as input.
73bd1da9d7Smrg       break ;;
74bd1da9d7Smrg    -* )
75bd1da9d7Smrg       echo "$me: invalid option $1$help" >&2
76bd1da9d7Smrg       exit 1 ;;
77bd1da9d7Smrg    * )
78bd1da9d7Smrg       break ;;
79bd1da9d7Smrg  esac
80bd1da9d7Smrgdone
81bd1da9d7Smrg
82bd1da9d7Smrgif test $# != 0; then
83bd1da9d7Smrg  echo "$me: too many arguments$help" >&2
84bd1da9d7Smrg  exit 1
85bd1da9d7Smrgfi
86bd1da9d7Smrg
87899129b3Smrgtrap 'exit 1' 1 2 15
88bd1da9d7Smrg
89bd1da9d7Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90bd1da9d7Smrg# compiler to aid in system detection is discouraged as it requires
91bd1da9d7Smrg# temporary files to be created and, as you can see below, it is a
92bd1da9d7Smrg# headache to deal with in a portable fashion.
93bd1da9d7Smrg
94bd1da9d7Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95bd1da9d7Smrg# use `HOST_CC' if defined, but it is deprecated.
96bd1da9d7Smrg
97bd1da9d7Smrg# Portable tmp directory creation inspired by the Autoconf team.
98bd1da9d7Smrg
99bd1da9d7Smrgset_cc_for_build='
100bd1da9d7Smrgtrap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101899129b3Smrgtrap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102bd1da9d7Smrg: ${TMPDIR=/tmp} ;
103bd1da9d7Smrg { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104bd1da9d7Smrg { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105bd1da9d7Smrg { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106bd1da9d7Smrg { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107bd1da9d7Smrgdummy=$tmp/dummy ;
108bd1da9d7Smrgtmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109bd1da9d7Smrgcase $CC_FOR_BUILD,$HOST_CC,$CC in
1106ad5a0e2Smrg ,,)    echo "int x;" > "$dummy.c" ;
111bd1da9d7Smrg	for c in cc gcc c89 c99 ; do
1126ad5a0e2Smrg	  if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
113bd1da9d7Smrg	     CC_FOR_BUILD="$c"; break ;
114bd1da9d7Smrg	  fi ;
115bd1da9d7Smrg	done ;
116bd1da9d7Smrg	if test x"$CC_FOR_BUILD" = x ; then
117bd1da9d7Smrg	  CC_FOR_BUILD=no_compiler_found ;
118bd1da9d7Smrg	fi
119bd1da9d7Smrg	;;
120bd1da9d7Smrg ,,*)   CC_FOR_BUILD=$CC ;;
121bd1da9d7Smrg ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
122bd1da9d7Smrgesac ; set_cc_for_build= ;'
123bd1da9d7Smrg
124bd1da9d7Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125bd1da9d7Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
126bd1da9d7Smrgif (test -f /.attbin/uname) >/dev/null 2>&1 ; then
127bd1da9d7Smrg	PATH=$PATH:/.attbin ; export PATH
128bd1da9d7Smrgfi
129bd1da9d7Smrg
130bd1da9d7SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131bd1da9d7SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132bd1da9d7SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
133bd1da9d7SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134bd1da9d7Smrg
1356ad5a0e2Smrgcase "$UNAME_SYSTEM" in
136e6d2e958SmrgLinux|GNU|GNU/*)
137e6d2e958Smrg	# If the system lacks a compiler, then just pick glibc.
138e6d2e958Smrg	# We could probably try harder.
139e6d2e958Smrg	LIBC=gnu
140e6d2e958Smrg
1416ad5a0e2Smrg	eval "$set_cc_for_build"
1426ad5a0e2Smrg	cat <<-EOF > "$dummy.c"
143e6d2e958Smrg	#include <features.h>
144e6d2e958Smrg	#if defined(__UCLIBC__)
145e6d2e958Smrg	LIBC=uclibc
146e6d2e958Smrg	#elif defined(__dietlibc__)
147e6d2e958Smrg	LIBC=dietlibc
148e6d2e958Smrg	#else
149e6d2e958Smrg	LIBC=gnu
150e6d2e958Smrg	#endif
151e6d2e958Smrg	EOF
1526ad5a0e2Smrg	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
1536ad5a0e2Smrg
1546ad5a0e2Smrg	# If ldd exists, use it to detect musl libc.
1556ad5a0e2Smrg	if command -v ldd >/dev/null && \
1566ad5a0e2Smrg		ldd --version 2>&1 | grep -q ^musl
1576ad5a0e2Smrg	then
1586ad5a0e2Smrg	    LIBC=musl
1596ad5a0e2Smrg	fi
160e6d2e958Smrg	;;
161e6d2e958Smrgesac
162e6d2e958Smrg
163bd1da9d7Smrg# Note: order is significant - the case branches are not exclusive.
164bd1da9d7Smrg
1656ad5a0e2Smrgcase "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
166bd1da9d7Smrg    *:NetBSD:*:*)
167bd1da9d7Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
168899129b3Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
169bd1da9d7Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
170bd1da9d7Smrg	# switched to ELF, *-*-netbsd* would select the old
171bd1da9d7Smrg	# object file format.  This provides both forward
172bd1da9d7Smrg	# compatibility and a consistent mechanism for selecting the
173bd1da9d7Smrg	# object file format.
174bd1da9d7Smrg	#
175bd1da9d7Smrg	# Note: NetBSD doesn't particularly care about the vendor
176bd1da9d7Smrg	# portion of the name.  We always set it to "unknown".
177bd1da9d7Smrg	sysctl="sysctl -n hw.machine_arch"
178e6d2e958Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
1796ad5a0e2Smrg	    "/sbin/$sysctl" 2>/dev/null || \
1806ad5a0e2Smrg	    "/usr/sbin/$sysctl" 2>/dev/null || \
181e6d2e958Smrg	    echo unknown)`
1826ad5a0e2Smrg	case "$UNAME_MACHINE_ARCH" in
183bd1da9d7Smrg	    armeb) machine=armeb-unknown ;;
184bd1da9d7Smrg	    arm*) machine=arm-unknown ;;
185bd1da9d7Smrg	    sh3el) machine=shl-unknown ;;
186bd1da9d7Smrg	    sh3eb) machine=sh-unknown ;;
1875bcb6992Smrg	    sh5el) machine=sh5le-unknown ;;
188e6d2e958Smrg	    earmv*)
1896ad5a0e2Smrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
1906ad5a0e2Smrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
1916ad5a0e2Smrg		machine="${arch}${endian}"-unknown
192e6d2e958Smrg		;;
1936ad5a0e2Smrg	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
194bd1da9d7Smrg	esac
195bd1da9d7Smrg	# The Operating System including object format, if it has switched
196e6d2e958Smrg	# to ELF recently (or will in the future) and ABI.
1976ad5a0e2Smrg	case "$UNAME_MACHINE_ARCH" in
198e6d2e958Smrg	    earm*)
199e6d2e958Smrg		os=netbsdelf
200e6d2e958Smrg		;;
201bd1da9d7Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
2026ad5a0e2Smrg		eval "$set_cc_for_build"
203bd1da9d7Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
20447e89262Smrg			| grep -q __ELF__
205bd1da9d7Smrg		then
206bd1da9d7Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
207bd1da9d7Smrg		    # Return netbsd for either.  FIX?
208bd1da9d7Smrg		    os=netbsd
209bd1da9d7Smrg		else
210bd1da9d7Smrg		    os=netbsdelf
211bd1da9d7Smrg		fi
212bd1da9d7Smrg		;;
213bd1da9d7Smrg	    *)
214899129b3Smrg		os=netbsd
215bd1da9d7Smrg		;;
216bd1da9d7Smrg	esac
217e6d2e958Smrg	# Determine ABI tags.
2186ad5a0e2Smrg	case "$UNAME_MACHINE_ARCH" in
219e6d2e958Smrg	    earm*)
220e6d2e958Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
2216ad5a0e2Smrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
222e6d2e958Smrg		;;
223e6d2e958Smrg	esac
224bd1da9d7Smrg	# The OS release
225bd1da9d7Smrg	# Debian GNU/NetBSD machines have a different userland, and
226bd1da9d7Smrg	# thus, need a distinct triplet. However, they do not need
227bd1da9d7Smrg	# kernel version information, so it can be replaced with a
228bd1da9d7Smrg	# suitable tag, in the style of linux-gnu.
2296ad5a0e2Smrg	case "$UNAME_VERSION" in
230bd1da9d7Smrg	    Debian*)
231bd1da9d7Smrg		release='-gnu'
232bd1da9d7Smrg		;;
233bd1da9d7Smrg	    *)
2346ad5a0e2Smrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
235bd1da9d7Smrg		;;
236bd1da9d7Smrg	esac
237bd1da9d7Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
238bd1da9d7Smrg	# contains redundant information, the shorter form:
239bd1da9d7Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
2406ad5a0e2Smrg	echo "$machine-${os}${release}${abi}"
241bd1da9d7Smrg	exit ;;
242899129b3Smrg    *:Bitrig:*:*)
243899129b3Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
2446ad5a0e2Smrg	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
245899129b3Smrg	exit ;;
246bd1da9d7Smrg    *:OpenBSD:*:*)
247bd1da9d7Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
2486ad5a0e2Smrg	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
249bd1da9d7Smrg	exit ;;
250e6d2e958Smrg    *:LibertyBSD:*:*)
251e6d2e958Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
2526ad5a0e2Smrg	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
2536ad5a0e2Smrg	exit ;;
2546ad5a0e2Smrg    *:MidnightBSD:*:*)
2556ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
256e6d2e958Smrg	exit ;;
257bd1da9d7Smrg    *:ekkoBSD:*:*)
2586ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
259bd1da9d7Smrg	exit ;;
260bd1da9d7Smrg    *:SolidBSD:*:*)
2616ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
262bd1da9d7Smrg	exit ;;
263bd1da9d7Smrg    macppc:MirBSD:*:*)
2646ad5a0e2Smrg	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
265bd1da9d7Smrg	exit ;;
266bd1da9d7Smrg    *:MirBSD:*:*)
2676ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
268bd1da9d7Smrg	exit ;;
269e6d2e958Smrg    *:Sortix:*:*)
2706ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-sortix
271e6d2e958Smrg	exit ;;
2726ad5a0e2Smrg    *:Redox:*:*)
2736ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-redox
2746ad5a0e2Smrg	exit ;;
2756ad5a0e2Smrg    mips:OSF1:*.*)
2766ad5a0e2Smrg        echo mips-dec-osf1
2776ad5a0e2Smrg        exit ;;
278bd1da9d7Smrg    alpha:OSF1:*:*)
279bd1da9d7Smrg	case $UNAME_RELEASE in
280bd1da9d7Smrg	*4.0)
281bd1da9d7Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
282bd1da9d7Smrg		;;
283bd1da9d7Smrg	*5.*)
284899129b3Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
285bd1da9d7Smrg		;;
286bd1da9d7Smrg	esac
287bd1da9d7Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
288bd1da9d7Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
289bd1da9d7Smrg	# covers most systems running today.  This code pipes the CPU
290bd1da9d7Smrg	# types through head -n 1, so we only detect the type of CPU 0.
291bd1da9d7Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
292bd1da9d7Smrg	case "$ALPHA_CPU_TYPE" in
293bd1da9d7Smrg	    "EV4 (21064)")
294e6d2e958Smrg		UNAME_MACHINE=alpha ;;
295bd1da9d7Smrg	    "EV4.5 (21064)")
296e6d2e958Smrg		UNAME_MACHINE=alpha ;;
297bd1da9d7Smrg	    "LCA4 (21066/21068)")
298e6d2e958Smrg		UNAME_MACHINE=alpha ;;
299bd1da9d7Smrg	    "EV5 (21164)")
300e6d2e958Smrg		UNAME_MACHINE=alphaev5 ;;
301bd1da9d7Smrg	    "EV5.6 (21164A)")
302e6d2e958Smrg		UNAME_MACHINE=alphaev56 ;;
303bd1da9d7Smrg	    "EV5.6 (21164PC)")
304e6d2e958Smrg		UNAME_MACHINE=alphapca56 ;;
305bd1da9d7Smrg	    "EV5.7 (21164PC)")
306e6d2e958Smrg		UNAME_MACHINE=alphapca57 ;;
307bd1da9d7Smrg	    "EV6 (21264)")
308e6d2e958Smrg		UNAME_MACHINE=alphaev6 ;;
309bd1da9d7Smrg	    "EV6.7 (21264A)")
310e6d2e958Smrg		UNAME_MACHINE=alphaev67 ;;
311bd1da9d7Smrg	    "EV6.8CB (21264C)")
312e6d2e958Smrg		UNAME_MACHINE=alphaev68 ;;
313bd1da9d7Smrg	    "EV6.8AL (21264B)")
314e6d2e958Smrg		UNAME_MACHINE=alphaev68 ;;
315bd1da9d7Smrg	    "EV6.8CX (21264D)")
316e6d2e958Smrg		UNAME_MACHINE=alphaev68 ;;
317bd1da9d7Smrg	    "EV6.9A (21264/EV69A)")
318e6d2e958Smrg		UNAME_MACHINE=alphaev69 ;;
319bd1da9d7Smrg	    "EV7 (21364)")
320e6d2e958Smrg		UNAME_MACHINE=alphaev7 ;;
321bd1da9d7Smrg	    "EV7.9 (21364A)")
322e6d2e958Smrg		UNAME_MACHINE=alphaev79 ;;
323bd1da9d7Smrg	esac
324bd1da9d7Smrg	# A Pn.n version is a patched version.
325bd1da9d7Smrg	# A Vn.n version is a released version.
326bd1da9d7Smrg	# A Tn.n version is a released field test version.
327bd1da9d7Smrg	# A Xn.n version is an unreleased experimental baselevel.
328bd1da9d7Smrg	# 1.2 uses "1.2" for uname -r.
3296ad5a0e2Smrg	echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
330899129b3Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
331899129b3Smrg	exitcode=$?
332899129b3Smrg	trap '' 0
333899129b3Smrg	exit $exitcode ;;
334bd1da9d7Smrg    Amiga*:UNIX_System_V:4.0:*)
335bd1da9d7Smrg	echo m68k-unknown-sysv4
336bd1da9d7Smrg	exit ;;
337bd1da9d7Smrg    *:[Aa]miga[Oo][Ss]:*:*)
3386ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-amigaos
339bd1da9d7Smrg	exit ;;
340bd1da9d7Smrg    *:[Mm]orph[Oo][Ss]:*:*)
3416ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-morphos
342bd1da9d7Smrg	exit ;;
343bd1da9d7Smrg    *:OS/390:*:*)
344bd1da9d7Smrg	echo i370-ibm-openedition
345bd1da9d7Smrg	exit ;;
346bd1da9d7Smrg    *:z/VM:*:*)
347bd1da9d7Smrg	echo s390-ibm-zvmoe
348bd1da9d7Smrg	exit ;;
349bd1da9d7Smrg    *:OS400:*:*)
350899129b3Smrg	echo powerpc-ibm-os400
351bd1da9d7Smrg	exit ;;
352bd1da9d7Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
3536ad5a0e2Smrg	echo arm-acorn-riscix"$UNAME_RELEASE"
354bd1da9d7Smrg	exit ;;
355899129b3Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
356bd1da9d7Smrg	echo arm-unknown-riscos
357bd1da9d7Smrg	exit ;;
358bd1da9d7Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
359bd1da9d7Smrg	echo hppa1.1-hitachi-hiuxmpp
360bd1da9d7Smrg	exit ;;
361bd1da9d7Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
362bd1da9d7Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
363bd1da9d7Smrg	if test "`(/bin/universe) 2>/dev/null`" = att ; then
364bd1da9d7Smrg		echo pyramid-pyramid-sysv3
365bd1da9d7Smrg	else
366bd1da9d7Smrg		echo pyramid-pyramid-bsd
367bd1da9d7Smrg	fi
368bd1da9d7Smrg	exit ;;
369bd1da9d7Smrg    NILE*:*:*:dcosx)
370bd1da9d7Smrg	echo pyramid-pyramid-svr4
371bd1da9d7Smrg	exit ;;
372bd1da9d7Smrg    DRS?6000:unix:4.0:6*)
373bd1da9d7Smrg	echo sparc-icl-nx6
374bd1da9d7Smrg	exit ;;
375bd1da9d7Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
376bd1da9d7Smrg	case `/usr/bin/uname -p` in
377bd1da9d7Smrg	    sparc) echo sparc-icl-nx7; exit ;;
378bd1da9d7Smrg	esac ;;
37947e89262Smrg    s390x:SunOS:*:*)
3806ad5a0e2Smrg	echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
38147e89262Smrg	exit ;;
382bd1da9d7Smrg    sun4H:SunOS:5.*:*)
3836ad5a0e2Smrg	echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
384bd1da9d7Smrg	exit ;;
385bd1da9d7Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
3866ad5a0e2Smrg	echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
387bd1da9d7Smrg	exit ;;
38847e89262Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
3896ad5a0e2Smrg	echo i386-pc-auroraux"$UNAME_RELEASE"
39047e89262Smrg	exit ;;
3915bcb6992Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
3926ad5a0e2Smrg	eval "$set_cc_for_build"
393e6d2e958Smrg	SUN_ARCH=i386
39447e89262Smrg	# If there is a compiler, see if it is configured for 64-bit objects.
39547e89262Smrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
39647e89262Smrg	# This test works for both compilers.
397e6d2e958Smrg	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
39847e89262Smrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
399e6d2e958Smrg		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
40047e89262Smrg		grep IS_64BIT_ARCH >/dev/null
40147e89262Smrg	    then
402e6d2e958Smrg		SUN_ARCH=x86_64
40347e89262Smrg	    fi
40447e89262Smrg	fi
4056ad5a0e2Smrg	echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
406bd1da9d7Smrg	exit ;;
407bd1da9d7Smrg    sun4*:SunOS:6*:*)
408bd1da9d7Smrg	# According to config.sub, this is the proper way to canonicalize
409bd1da9d7Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
410bd1da9d7Smrg	# it's likely to be more like Solaris than SunOS4.
4116ad5a0e2Smrg	echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
412bd1da9d7Smrg	exit ;;
413bd1da9d7Smrg    sun4*:SunOS:*:*)
414bd1da9d7Smrg	case "`/usr/bin/arch -k`" in
415bd1da9d7Smrg	    Series*|S4*)
416bd1da9d7Smrg		UNAME_RELEASE=`uname -v`
417bd1da9d7Smrg		;;
418bd1da9d7Smrg	esac
419bd1da9d7Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
4206ad5a0e2Smrg	echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
421bd1da9d7Smrg	exit ;;
422bd1da9d7Smrg    sun3*:SunOS:*:*)
4236ad5a0e2Smrg	echo m68k-sun-sunos"$UNAME_RELEASE"
424bd1da9d7Smrg	exit ;;
425bd1da9d7Smrg    sun*:*:4.2BSD:*)
426bd1da9d7Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
4276ad5a0e2Smrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
428bd1da9d7Smrg	case "`/bin/arch`" in
429bd1da9d7Smrg	    sun3)
4306ad5a0e2Smrg		echo m68k-sun-sunos"$UNAME_RELEASE"
431bd1da9d7Smrg		;;
432bd1da9d7Smrg	    sun4)
4336ad5a0e2Smrg		echo sparc-sun-sunos"$UNAME_RELEASE"
434bd1da9d7Smrg		;;
435bd1da9d7Smrg	esac
436bd1da9d7Smrg	exit ;;
437bd1da9d7Smrg    aushp:SunOS:*:*)
4386ad5a0e2Smrg	echo sparc-auspex-sunos"$UNAME_RELEASE"
439bd1da9d7Smrg	exit ;;
440bd1da9d7Smrg    # The situation for MiNT is a little confusing.  The machine name
441bd1da9d7Smrg    # can be virtually everything (everything which is not
442bd1da9d7Smrg    # "atarist" or "atariste" at least should have a processor
443bd1da9d7Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
444bd1da9d7Smrg    # to the lowercase version "mint" (or "freemint").  Finally
445bd1da9d7Smrg    # the system name "TOS" denotes a system which is actually not
446bd1da9d7Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
447bd1da9d7Smrg    # be no problem.
448bd1da9d7Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
4496ad5a0e2Smrg	echo m68k-atari-mint"$UNAME_RELEASE"
450bd1da9d7Smrg	exit ;;
451bd1da9d7Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
4526ad5a0e2Smrg	echo m68k-atari-mint"$UNAME_RELEASE"
453899129b3Smrg	exit ;;
454bd1da9d7Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
4556ad5a0e2Smrg	echo m68k-atari-mint"$UNAME_RELEASE"
456bd1da9d7Smrg	exit ;;
457bd1da9d7Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
4586ad5a0e2Smrg	echo m68k-milan-mint"$UNAME_RELEASE"
459899129b3Smrg	exit ;;
460bd1da9d7Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
4616ad5a0e2Smrg	echo m68k-hades-mint"$UNAME_RELEASE"
462899129b3Smrg	exit ;;
463bd1da9d7Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
4646ad5a0e2Smrg	echo m68k-unknown-mint"$UNAME_RELEASE"
465899129b3Smrg	exit ;;
466bd1da9d7Smrg    m68k:machten:*:*)
4676ad5a0e2Smrg	echo m68k-apple-machten"$UNAME_RELEASE"
468bd1da9d7Smrg	exit ;;
469bd1da9d7Smrg    powerpc:machten:*:*)
4706ad5a0e2Smrg	echo powerpc-apple-machten"$UNAME_RELEASE"
471bd1da9d7Smrg	exit ;;
472bd1da9d7Smrg    RISC*:Mach:*:*)
473bd1da9d7Smrg	echo mips-dec-mach_bsd4.3
474bd1da9d7Smrg	exit ;;
475bd1da9d7Smrg    RISC*:ULTRIX:*:*)
4766ad5a0e2Smrg	echo mips-dec-ultrix"$UNAME_RELEASE"
477bd1da9d7Smrg	exit ;;
478bd1da9d7Smrg    VAX*:ULTRIX*:*:*)
4796ad5a0e2Smrg	echo vax-dec-ultrix"$UNAME_RELEASE"
480bd1da9d7Smrg	exit ;;
481bd1da9d7Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
4826ad5a0e2Smrg	echo clipper-intergraph-clix"$UNAME_RELEASE"
483bd1da9d7Smrg	exit ;;
484bd1da9d7Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
4856ad5a0e2Smrg	eval "$set_cc_for_build"
4866ad5a0e2Smrg	sed 's/^	//' << EOF > "$dummy.c"
487bd1da9d7Smrg#ifdef __cplusplus
488bd1da9d7Smrg#include <stdio.h>  /* for printf() prototype */
489bd1da9d7Smrg	int main (int argc, char *argv[]) {
490bd1da9d7Smrg#else
491bd1da9d7Smrg	int main (argc, argv) int argc; char *argv[]; {
492bd1da9d7Smrg#endif
493bd1da9d7Smrg	#if defined (host_mips) && defined (MIPSEB)
494bd1da9d7Smrg	#if defined (SYSTYPE_SYSV)
4956ad5a0e2Smrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
496bd1da9d7Smrg	#endif
497bd1da9d7Smrg	#if defined (SYSTYPE_SVR4)
4986ad5a0e2Smrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
499bd1da9d7Smrg	#endif
500bd1da9d7Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
5016ad5a0e2Smrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
502bd1da9d7Smrg	#endif
503bd1da9d7Smrg	#endif
504bd1da9d7Smrg	  exit (-1);
505bd1da9d7Smrg	}
506bd1da9d7SmrgEOF
5076ad5a0e2Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
5086ad5a0e2Smrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
5096ad5a0e2Smrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
510bd1da9d7Smrg	    { echo "$SYSTEM_NAME"; exit; }
5116ad5a0e2Smrg	echo mips-mips-riscos"$UNAME_RELEASE"
512bd1da9d7Smrg	exit ;;
513bd1da9d7Smrg    Motorola:PowerMAX_OS:*:*)
514bd1da9d7Smrg	echo powerpc-motorola-powermax
515bd1da9d7Smrg	exit ;;
516bd1da9d7Smrg    Motorola:*:4.3:PL8-*)
517bd1da9d7Smrg	echo powerpc-harris-powermax
518bd1da9d7Smrg	exit ;;
519bd1da9d7Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
520bd1da9d7Smrg	echo powerpc-harris-powermax
521bd1da9d7Smrg	exit ;;
522bd1da9d7Smrg    Night_Hawk:Power_UNIX:*:*)
523bd1da9d7Smrg	echo powerpc-harris-powerunix
524bd1da9d7Smrg	exit ;;
525bd1da9d7Smrg    m88k:CX/UX:7*:*)
526bd1da9d7Smrg	echo m88k-harris-cxux7
527bd1da9d7Smrg	exit ;;
528bd1da9d7Smrg    m88k:*:4*:R4*)
529bd1da9d7Smrg	echo m88k-motorola-sysv4
530bd1da9d7Smrg	exit ;;
531bd1da9d7Smrg    m88k:*:3*:R3*)
532bd1da9d7Smrg	echo m88k-motorola-sysv3
533bd1da9d7Smrg	exit ;;
534bd1da9d7Smrg    AViiON:dgux:*:*)
535899129b3Smrg	# DG/UX returns AViiON for all architectures
536899129b3Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
5376ad5a0e2Smrg	if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
538bd1da9d7Smrg	then
5396ad5a0e2Smrg	    if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
5406ad5a0e2Smrg	       [ "$TARGET_BINARY_INTERFACE"x = x ]
541bd1da9d7Smrg	    then
5426ad5a0e2Smrg		echo m88k-dg-dgux"$UNAME_RELEASE"
543bd1da9d7Smrg	    else
5446ad5a0e2Smrg		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
545bd1da9d7Smrg	    fi
546bd1da9d7Smrg	else
5476ad5a0e2Smrg	    echo i586-dg-dgux"$UNAME_RELEASE"
548bd1da9d7Smrg	fi
549899129b3Smrg	exit ;;
550bd1da9d7Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
551bd1da9d7Smrg	echo m88k-dolphin-sysv3
552bd1da9d7Smrg	exit ;;
553bd1da9d7Smrg    M88*:*:R3*:*)
554bd1da9d7Smrg	# Delta 88k system running SVR3
555bd1da9d7Smrg	echo m88k-motorola-sysv3
556bd1da9d7Smrg	exit ;;
557bd1da9d7Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
558bd1da9d7Smrg	echo m88k-tektronix-sysv3
559bd1da9d7Smrg	exit ;;
560bd1da9d7Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
561bd1da9d7Smrg	echo m68k-tektronix-bsd
562bd1da9d7Smrg	exit ;;
563bd1da9d7Smrg    *:IRIX*:*:*)
5646ad5a0e2Smrg	echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
565bd1da9d7Smrg	exit ;;
566bd1da9d7Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
567bd1da9d7Smrg	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
568bd1da9d7Smrg	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
569bd1da9d7Smrg    i*86:AIX:*:*)
570bd1da9d7Smrg	echo i386-ibm-aix
571bd1da9d7Smrg	exit ;;
572bd1da9d7Smrg    ia64:AIX:*:*)
573bd1da9d7Smrg	if [ -x /usr/bin/oslevel ] ; then
574bd1da9d7Smrg		IBM_REV=`/usr/bin/oslevel`
575bd1da9d7Smrg	else
5766ad5a0e2Smrg		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
577bd1da9d7Smrg	fi
5786ad5a0e2Smrg	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
579bd1da9d7Smrg	exit ;;
580bd1da9d7Smrg    *:AIX:2:3)
581bd1da9d7Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
5826ad5a0e2Smrg		eval "$set_cc_for_build"
5836ad5a0e2Smrg		sed 's/^		//' << EOF > "$dummy.c"
584bd1da9d7Smrg		#include <sys/systemcfg.h>
585bd1da9d7Smrg
586bd1da9d7Smrg		main()
587bd1da9d7Smrg			{
588bd1da9d7Smrg			if (!__power_pc())
589bd1da9d7Smrg				exit(1);
590bd1da9d7Smrg			puts("powerpc-ibm-aix3.2.5");
591bd1da9d7Smrg			exit(0);
592bd1da9d7Smrg			}
593bd1da9d7SmrgEOF
5946ad5a0e2Smrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
595bd1da9d7Smrg		then
596bd1da9d7Smrg			echo "$SYSTEM_NAME"
597bd1da9d7Smrg		else
598bd1da9d7Smrg			echo rs6000-ibm-aix3.2.5
599bd1da9d7Smrg		fi
600bd1da9d7Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
601bd1da9d7Smrg		echo rs6000-ibm-aix3.2.4
602bd1da9d7Smrg	else
603bd1da9d7Smrg		echo rs6000-ibm-aix3.2
604bd1da9d7Smrg	fi
605bd1da9d7Smrg	exit ;;
60647e89262Smrg    *:AIX:*:[4567])
607bd1da9d7Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
6086ad5a0e2Smrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
609bd1da9d7Smrg		IBM_ARCH=rs6000
610bd1da9d7Smrg	else
611bd1da9d7Smrg		IBM_ARCH=powerpc
612bd1da9d7Smrg	fi
613e6d2e958Smrg	if [ -x /usr/bin/lslpp ] ; then
614e6d2e958Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
615e6d2e958Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
616bd1da9d7Smrg	else
6176ad5a0e2Smrg		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
618bd1da9d7Smrg	fi
6196ad5a0e2Smrg	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
620bd1da9d7Smrg	exit ;;
621bd1da9d7Smrg    *:AIX:*:*)
622bd1da9d7Smrg	echo rs6000-ibm-aix
623bd1da9d7Smrg	exit ;;
6246ad5a0e2Smrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
625bd1da9d7Smrg	echo romp-ibm-bsd4.4
626bd1da9d7Smrg	exit ;;
627bd1da9d7Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
6286ad5a0e2Smrg	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
629bd1da9d7Smrg	exit ;;                             # report: romp-ibm BSD 4.3
630bd1da9d7Smrg    *:BOSX:*:*)
631bd1da9d7Smrg	echo rs6000-bull-bosx
632bd1da9d7Smrg	exit ;;
633bd1da9d7Smrg    DPX/2?00:B.O.S.:*:*)
634bd1da9d7Smrg	echo m68k-bull-sysv3
635bd1da9d7Smrg	exit ;;
636bd1da9d7Smrg    9000/[34]??:4.3bsd:1.*:*)
637bd1da9d7Smrg	echo m68k-hp-bsd
638bd1da9d7Smrg	exit ;;
639bd1da9d7Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
640bd1da9d7Smrg	echo m68k-hp-bsd4.4
641bd1da9d7Smrg	exit ;;
642bd1da9d7Smrg    9000/[34678]??:HP-UX:*:*)
6436ad5a0e2Smrg	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
6446ad5a0e2Smrg	case "$UNAME_MACHINE" in
6456ad5a0e2Smrg	    9000/31?)            HP_ARCH=m68000 ;;
6466ad5a0e2Smrg	    9000/[34]??)         HP_ARCH=m68k ;;
647bd1da9d7Smrg	    9000/[678][0-9][0-9])
648bd1da9d7Smrg		if [ -x /usr/bin/getconf ]; then
649bd1da9d7Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
650899129b3Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
6516ad5a0e2Smrg		    case "$sc_cpu_version" in
652e6d2e958Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
653e6d2e958Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
654899129b3Smrg		      532)                      # CPU_PA_RISC2_0
6556ad5a0e2Smrg			case "$sc_kernel_bits" in
656e6d2e958Smrg			  32) HP_ARCH=hppa2.0n ;;
657e6d2e958Smrg			  64) HP_ARCH=hppa2.0w ;;
658e6d2e958Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
659899129b3Smrg			esac ;;
660899129b3Smrg		    esac
661bd1da9d7Smrg		fi
6626ad5a0e2Smrg		if [ "$HP_ARCH" = "" ]; then
6636ad5a0e2Smrg		    eval "$set_cc_for_build"
6646ad5a0e2Smrg		    sed 's/^		//' << EOF > "$dummy.c"
665bd1da9d7Smrg
666899129b3Smrg		#define _HPUX_SOURCE
667899129b3Smrg		#include <stdlib.h>
668899129b3Smrg		#include <unistd.h>
669bd1da9d7Smrg
670899129b3Smrg		int main ()
671899129b3Smrg		{
672899129b3Smrg		#if defined(_SC_KERNEL_BITS)
673899129b3Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
674899129b3Smrg		#endif
675899129b3Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
676bd1da9d7Smrg
677899129b3Smrg		    switch (cpu)
678899129b3Smrg			{
679899129b3Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
680899129b3Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
681899129b3Smrg			case CPU_PA_RISC2_0:
682899129b3Smrg		#if defined(_SC_KERNEL_BITS)
683899129b3Smrg			    switch (bits)
684899129b3Smrg				{
685899129b3Smrg				case 64: puts ("hppa2.0w"); break;
686899129b3Smrg				case 32: puts ("hppa2.0n"); break;
687899129b3Smrg				default: puts ("hppa2.0"); break;
688899129b3Smrg				} break;
689899129b3Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
690899129b3Smrg			    puts ("hppa2.0"); break;
691899129b3Smrg		#endif
692899129b3Smrg			default: puts ("hppa1.0"); break;
693899129b3Smrg			}
694899129b3Smrg		    exit (0);
695899129b3Smrg		}
696bd1da9d7SmrgEOF
6976ad5a0e2Smrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
698bd1da9d7Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
699bd1da9d7Smrg		fi ;;
700bd1da9d7Smrg	esac
7016ad5a0e2Smrg	if [ "$HP_ARCH" = hppa2.0w ]
702bd1da9d7Smrg	then
7036ad5a0e2Smrg	    eval "$set_cc_for_build"
704bd1da9d7Smrg
705bd1da9d7Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
706bd1da9d7Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
707bd1da9d7Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
708bd1da9d7Smrg	    #
709bd1da9d7Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
710bd1da9d7Smrg	    # => hppa2.0w-hp-hpux11.23
711bd1da9d7Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
712bd1da9d7Smrg	    # => hppa64-hp-hpux11.23
713bd1da9d7Smrg
714e6d2e958Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
71547e89262Smrg		grep -q __LP64__
716bd1da9d7Smrg	    then
717e6d2e958Smrg		HP_ARCH=hppa2.0w
718bd1da9d7Smrg	    else
719e6d2e958Smrg		HP_ARCH=hppa64
720bd1da9d7Smrg	    fi
721bd1da9d7Smrg	fi
7226ad5a0e2Smrg	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
723bd1da9d7Smrg	exit ;;
724bd1da9d7Smrg    ia64:HP-UX:*:*)
7256ad5a0e2Smrg	HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
7266ad5a0e2Smrg	echo ia64-hp-hpux"$HPUX_REV"
727bd1da9d7Smrg	exit ;;
728bd1da9d7Smrg    3050*:HI-UX:*:*)
7296ad5a0e2Smrg	eval "$set_cc_for_build"
7306ad5a0e2Smrg	sed 's/^	//' << EOF > "$dummy.c"
731bd1da9d7Smrg	#include <unistd.h>
732bd1da9d7Smrg	int
733bd1da9d7Smrg	main ()
734bd1da9d7Smrg	{
735bd1da9d7Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
736bd1da9d7Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
737bd1da9d7Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
738bd1da9d7Smrg	     results, however.  */
739bd1da9d7Smrg	  if (CPU_IS_PA_RISC (cpu))
740bd1da9d7Smrg	    {
741bd1da9d7Smrg	      switch (cpu)
742bd1da9d7Smrg		{
743bd1da9d7Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
744bd1da9d7Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
745bd1da9d7Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
746bd1da9d7Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
747bd1da9d7Smrg		}
748bd1da9d7Smrg	    }
749bd1da9d7Smrg	  else if (CPU_IS_HP_MC68K (cpu))
750bd1da9d7Smrg	    puts ("m68k-hitachi-hiuxwe2");
751bd1da9d7Smrg	  else puts ("unknown-hitachi-hiuxwe2");
752bd1da9d7Smrg	  exit (0);
753bd1da9d7Smrg	}
754bd1da9d7SmrgEOF
7556ad5a0e2Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
756bd1da9d7Smrg		{ echo "$SYSTEM_NAME"; exit; }
757bd1da9d7Smrg	echo unknown-hitachi-hiuxwe2
758bd1da9d7Smrg	exit ;;
7596ad5a0e2Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
760bd1da9d7Smrg	echo hppa1.1-hp-bsd
761bd1da9d7Smrg	exit ;;
762bd1da9d7Smrg    9000/8??:4.3bsd:*:*)
763bd1da9d7Smrg	echo hppa1.0-hp-bsd
764bd1da9d7Smrg	exit ;;
765bd1da9d7Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
766bd1da9d7Smrg	echo hppa1.0-hp-mpeix
767bd1da9d7Smrg	exit ;;
7686ad5a0e2Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
769bd1da9d7Smrg	echo hppa1.1-hp-osf
770bd1da9d7Smrg	exit ;;
771bd1da9d7Smrg    hp8??:OSF1:*:*)
772bd1da9d7Smrg	echo hppa1.0-hp-osf
773bd1da9d7Smrg	exit ;;
774bd1da9d7Smrg    i*86:OSF1:*:*)
775bd1da9d7Smrg	if [ -x /usr/sbin/sysversion ] ; then
7766ad5a0e2Smrg	    echo "$UNAME_MACHINE"-unknown-osf1mk
777bd1da9d7Smrg	else
7786ad5a0e2Smrg	    echo "$UNAME_MACHINE"-unknown-osf1
779bd1da9d7Smrg	fi
780bd1da9d7Smrg	exit ;;
781bd1da9d7Smrg    parisc*:Lites*:*:*)
782bd1da9d7Smrg	echo hppa1.1-hp-lites
783bd1da9d7Smrg	exit ;;
784bd1da9d7Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
785bd1da9d7Smrg	echo c1-convex-bsd
786899129b3Smrg	exit ;;
787bd1da9d7Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
788bd1da9d7Smrg	if getsysinfo -f scalar_acc
789bd1da9d7Smrg	then echo c32-convex-bsd
790bd1da9d7Smrg	else echo c2-convex-bsd
791bd1da9d7Smrg	fi
792899129b3Smrg	exit ;;
793bd1da9d7Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
794bd1da9d7Smrg	echo c34-convex-bsd
795899129b3Smrg	exit ;;
796bd1da9d7Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
797bd1da9d7Smrg	echo c38-convex-bsd
798899129b3Smrg	exit ;;
799bd1da9d7Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
800bd1da9d7Smrg	echo c4-convex-bsd
801899129b3Smrg	exit ;;
802bd1da9d7Smrg    CRAY*Y-MP:*:*:*)
8036ad5a0e2Smrg	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
804bd1da9d7Smrg	exit ;;
805bd1da9d7Smrg    CRAY*[A-Z]90:*:*:*)
8066ad5a0e2Smrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
807bd1da9d7Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
808bd1da9d7Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
809bd1da9d7Smrg	      -e 's/\.[^.]*$/.X/'
810bd1da9d7Smrg	exit ;;
811bd1da9d7Smrg    CRAY*TS:*:*:*)
8126ad5a0e2Smrg	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
813bd1da9d7Smrg	exit ;;
814bd1da9d7Smrg    CRAY*T3E:*:*:*)
8156ad5a0e2Smrg	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
816bd1da9d7Smrg	exit ;;
817bd1da9d7Smrg    CRAY*SV1:*:*:*)
8186ad5a0e2Smrg	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
819bd1da9d7Smrg	exit ;;
820bd1da9d7Smrg    *:UNICOS/mp:*:*)
8216ad5a0e2Smrg	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
822bd1da9d7Smrg	exit ;;
823bd1da9d7Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
824e6d2e958Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
825e6d2e958Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8266ad5a0e2Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
827899129b3Smrg	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
828899129b3Smrg	exit ;;
829bd1da9d7Smrg    5000:UNIX_System_V:4.*:*)
830e6d2e958Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
8316ad5a0e2Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
832899129b3Smrg	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
833bd1da9d7Smrg	exit ;;
834bd1da9d7Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
8356ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
836bd1da9d7Smrg	exit ;;
837bd1da9d7Smrg    sparc*:BSD/OS:*:*)
8386ad5a0e2Smrg	echo sparc-unknown-bsdi"$UNAME_RELEASE"
839bd1da9d7Smrg	exit ;;
840bd1da9d7Smrg    *:BSD/OS:*:*)
8416ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
842bd1da9d7Smrg	exit ;;
843bd1da9d7Smrg    *:FreeBSD:*:*)
844899129b3Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
8456ad5a0e2Smrg	case "$UNAME_PROCESSOR" in
8465bcb6992Smrg	    amd64)
8476ad5a0e2Smrg		UNAME_PROCESSOR=x86_64 ;;
8486ad5a0e2Smrg	    i386)
8496ad5a0e2Smrg		UNAME_PROCESSOR=i586 ;;
850bd1da9d7Smrg	esac
8516ad5a0e2Smrg	echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
852bd1da9d7Smrg	exit ;;
853bd1da9d7Smrg    i*:CYGWIN*:*)
8546ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-cygwin
855bd1da9d7Smrg	exit ;;
856899129b3Smrg    *:MINGW64*:*)
8576ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-mingw64
858899129b3Smrg	exit ;;
8595bcb6992Smrg    *:MINGW*:*)
8606ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-mingw32
861bd1da9d7Smrg	exit ;;
862e6d2e958Smrg    *:MSYS*:*)
8636ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-msys
864bd1da9d7Smrg	exit ;;
865bd1da9d7Smrg    i*:PW*:*)
8666ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-pw32
867bd1da9d7Smrg	exit ;;
86847e89262Smrg    *:Interix*:*)
8696ad5a0e2Smrg	case "$UNAME_MACHINE" in
8705bcb6992Smrg	    x86)
8716ad5a0e2Smrg		echo i586-pc-interix"$UNAME_RELEASE"
8725bcb6992Smrg		exit ;;
87347e89262Smrg	    authenticamd | genuineintel | EM64T)
8746ad5a0e2Smrg		echo x86_64-unknown-interix"$UNAME_RELEASE"
8755bcb6992Smrg		exit ;;
8765bcb6992Smrg	    IA64)
8776ad5a0e2Smrg		echo ia64-unknown-interix"$UNAME_RELEASE"
8785bcb6992Smrg		exit ;;
8795bcb6992Smrg	esac ;;
880bd1da9d7Smrg    i*:UWIN*:*)
8816ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-uwin
882bd1da9d7Smrg	exit ;;
883bd1da9d7Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
884bd1da9d7Smrg	echo x86_64-unknown-cygwin
885bd1da9d7Smrg	exit ;;
886bd1da9d7Smrg    prep*:SunOS:5.*:*)
8876ad5a0e2Smrg	echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
888bd1da9d7Smrg	exit ;;
889bd1da9d7Smrg    *:GNU:*:*)
890bd1da9d7Smrg	# the GNU system
8916ad5a0e2Smrg	echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
892bd1da9d7Smrg	exit ;;
893bd1da9d7Smrg    *:GNU/*:*:*)
894bd1da9d7Smrg	# other systems with GNU libc and userland
8956ad5a0e2Smrg	echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
896bd1da9d7Smrg	exit ;;
897bd1da9d7Smrg    i*86:Minix:*:*)
8986ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-minix
899bd1da9d7Smrg	exit ;;
900899129b3Smrg    aarch64:Linux:*:*)
9016ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
902899129b3Smrg	exit ;;
903899129b3Smrg    aarch64_be:Linux:*:*)
904899129b3Smrg	UNAME_MACHINE=aarch64_be
9056ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
906899129b3Smrg	exit ;;
90747e89262Smrg    alpha:Linux:*:*)
90847e89262Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
90947e89262Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
91047e89262Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
91147e89262Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
91247e89262Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
91347e89262Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
91447e89262Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
91547e89262Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
916899129b3Smrg	esac
91747e89262Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
918e6d2e958Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
9196ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
92047e89262Smrg	exit ;;
921899129b3Smrg    arc:Linux:*:* | arceb:Linux:*:*)
9226ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
923899129b3Smrg	exit ;;
924bd1da9d7Smrg    arm*:Linux:*:*)
9256ad5a0e2Smrg	eval "$set_cc_for_build"
9265bcb6992Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
9275bcb6992Smrg	    | grep -q __ARM_EABI__
9285bcb6992Smrg	then
9296ad5a0e2Smrg	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
9305bcb6992Smrg	else
931899129b3Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
932899129b3Smrg		| grep -q __ARM_PCS_VFP
933899129b3Smrg	    then
9346ad5a0e2Smrg		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
935899129b3Smrg	    else
9366ad5a0e2Smrg		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
937899129b3Smrg	    fi
9385bcb6992Smrg	fi
9395bcb6992Smrg	exit ;;
9405bcb6992Smrg    avr32*:Linux:*:*)
9416ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
942bd1da9d7Smrg	exit ;;
943bd1da9d7Smrg    cris:Linux:*:*)
9446ad5a0e2Smrg	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
945bd1da9d7Smrg	exit ;;
946bd1da9d7Smrg    crisv32:Linux:*:*)
9476ad5a0e2Smrg	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
948e6d2e958Smrg	exit ;;
949e6d2e958Smrg    e2k:Linux:*:*)
9506ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
951bd1da9d7Smrg	exit ;;
952bd1da9d7Smrg    frv:Linux:*:*)
9536ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
954899129b3Smrg	exit ;;
955899129b3Smrg    hexagon:Linux:*:*)
9566ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
957bd1da9d7Smrg	exit ;;
95847e89262Smrg    i*86:Linux:*:*)
9596ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
96047e89262Smrg	exit ;;
961bd1da9d7Smrg    ia64:Linux:*:*)
9626ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
963e6d2e958Smrg	exit ;;
964e6d2e958Smrg    k1om:Linux:*:*)
9656ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
966bd1da9d7Smrg	exit ;;
967bd1da9d7Smrg    m32r*:Linux:*:*)
9686ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
969bd1da9d7Smrg	exit ;;
970bd1da9d7Smrg    m68*:Linux:*:*)
9716ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
972bd1da9d7Smrg	exit ;;
97347e89262Smrg    mips:Linux:*:* | mips64:Linux:*:*)
9746ad5a0e2Smrg	eval "$set_cc_for_build"
9756ad5a0e2Smrg	sed 's/^	//' << EOF > "$dummy.c"
976bd1da9d7Smrg	#undef CPU
97747e89262Smrg	#undef ${UNAME_MACHINE}
97847e89262Smrg	#undef ${UNAME_MACHINE}el
979bd1da9d7Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
98047e89262Smrg	CPU=${UNAME_MACHINE}el
981bd1da9d7Smrg	#else
982bd1da9d7Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
98347e89262Smrg	CPU=${UNAME_MACHINE}
984bd1da9d7Smrg	#else
985bd1da9d7Smrg	CPU=
986bd1da9d7Smrg	#endif
987bd1da9d7Smrg	#endif
988bd1da9d7SmrgEOF
9896ad5a0e2Smrg	eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
9906ad5a0e2Smrg	test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
991bd1da9d7Smrg	;;
992e6d2e958Smrg    mips64el:Linux:*:*)
9936ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
994899129b3Smrg	exit ;;
995e6d2e958Smrg    openrisc*:Linux:*:*)
9966ad5a0e2Smrg	echo or1k-unknown-linux-"$LIBC"
997e6d2e958Smrg	exit ;;
998e6d2e958Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
9996ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1000bd1da9d7Smrg	exit ;;
100147e89262Smrg    padre:Linux:*:*)
10026ad5a0e2Smrg	echo sparc-unknown-linux-"$LIBC"
1003bd1da9d7Smrg	exit ;;
100447e89262Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
10056ad5a0e2Smrg	echo hppa64-unknown-linux-"$LIBC"
1006bd1da9d7Smrg	exit ;;
1007bd1da9d7Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
1008bd1da9d7Smrg	# Look for CPU level
1009bd1da9d7Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
10106ad5a0e2Smrg	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
10116ad5a0e2Smrg	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
10126ad5a0e2Smrg	  *)    echo hppa-unknown-linux-"$LIBC" ;;
1013bd1da9d7Smrg	esac
1014bd1da9d7Smrg	exit ;;
101547e89262Smrg    ppc64:Linux:*:*)
10166ad5a0e2Smrg	echo powerpc64-unknown-linux-"$LIBC"
101747e89262Smrg	exit ;;
101847e89262Smrg    ppc:Linux:*:*)
10196ad5a0e2Smrg	echo powerpc-unknown-linux-"$LIBC"
1020e6d2e958Smrg	exit ;;
1021e6d2e958Smrg    ppc64le:Linux:*:*)
10226ad5a0e2Smrg	echo powerpc64le-unknown-linux-"$LIBC"
1023e6d2e958Smrg	exit ;;
1024e6d2e958Smrg    ppcle:Linux:*:*)
10256ad5a0e2Smrg	echo powerpcle-unknown-linux-"$LIBC"
1026e6d2e958Smrg	exit ;;
1027e6d2e958Smrg    riscv32:Linux:*:* | riscv64:Linux:*:*)
10286ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1029bd1da9d7Smrg	exit ;;
1030bd1da9d7Smrg    s390:Linux:*:* | s390x:Linux:*:*)
10316ad5a0e2Smrg	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
1032bd1da9d7Smrg	exit ;;
1033bd1da9d7Smrg    sh64*:Linux:*:*)
10346ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1035bd1da9d7Smrg	exit ;;
1036bd1da9d7Smrg    sh*:Linux:*:*)
10376ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1038bd1da9d7Smrg	exit ;;
1039bd1da9d7Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
10406ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
1041bd1da9d7Smrg	exit ;;
104247e89262Smrg    tile*:Linux:*:*)
10436ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
104447e89262Smrg	exit ;;
1045bd1da9d7Smrg    vax:Linux:*:*)
10466ad5a0e2Smrg	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
1047bd1da9d7Smrg	exit ;;
1048bd1da9d7Smrg    x86_64:Linux:*:*)
10496ad5a0e2Smrg	if objdump -f /bin/sh | grep -q elf32-x86-64; then
10506ad5a0e2Smrg	    echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
10516ad5a0e2Smrg	else
10526ad5a0e2Smrg	    echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
10536ad5a0e2Smrg	fi
1054bd1da9d7Smrg	exit ;;
10555bcb6992Smrg    xtensa*:Linux:*:*)
10566ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
10575bcb6992Smrg	exit ;;
1058bd1da9d7Smrg    i*86:DYNIX/ptx:4*:*)
1059bd1da9d7Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1060bd1da9d7Smrg	# earlier versions are messed up and put the nodename in both
1061bd1da9d7Smrg	# sysname and nodename.
1062bd1da9d7Smrg	echo i386-sequent-sysv4
1063bd1da9d7Smrg	exit ;;
1064bd1da9d7Smrg    i*86:UNIX_SV:4.2MP:2.*)
1065899129b3Smrg	# Unixware is an offshoot of SVR4, but it has its own version
1066899129b3Smrg	# number series starting with 2...
1067899129b3Smrg	# I am not positive that other SVR4 systems won't match this,
1068bd1da9d7Smrg	# I just have to hope.  -- rms.
1069899129b3Smrg	# Use sysv4.2uw... so that sysv4* matches it.
10706ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
1071bd1da9d7Smrg	exit ;;
1072bd1da9d7Smrg    i*86:OS/2:*:*)
1073bd1da9d7Smrg	# If we were able to find `uname', then EMX Unix compatibility
1074bd1da9d7Smrg	# is probably installed.
10756ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-os2-emx
1076bd1da9d7Smrg	exit ;;
1077bd1da9d7Smrg    i*86:XTS-300:*:STOP)
10786ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-stop
1079bd1da9d7Smrg	exit ;;
1080bd1da9d7Smrg    i*86:atheos:*:*)
10816ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-atheos
1082bd1da9d7Smrg	exit ;;
1083bd1da9d7Smrg    i*86:syllable:*:*)
10846ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-syllable
1085bd1da9d7Smrg	exit ;;
108647e89262Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10876ad5a0e2Smrg	echo i386-unknown-lynxos"$UNAME_RELEASE"
1088bd1da9d7Smrg	exit ;;
1089bd1da9d7Smrg    i*86:*DOS:*:*)
10906ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-msdosdjgpp
1091bd1da9d7Smrg	exit ;;
10926ad5a0e2Smrg    i*86:*:4.*:*)
10936ad5a0e2Smrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1094bd1da9d7Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
10956ad5a0e2Smrg		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
1096bd1da9d7Smrg	else
10976ad5a0e2Smrg		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
1098bd1da9d7Smrg	fi
1099bd1da9d7Smrg	exit ;;
1100bd1da9d7Smrg    i*86:*:5:[678]*)
1101899129b3Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1102bd1da9d7Smrg	case `/bin/uname -X | grep "^Machine"` in
1103bd1da9d7Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1104bd1da9d7Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1105bd1da9d7Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1106bd1da9d7Smrg	esac
11076ad5a0e2Smrg	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
1108bd1da9d7Smrg	exit ;;
1109bd1da9d7Smrg    i*86:*:3.2:*)
1110bd1da9d7Smrg	if test -f /usr/options/cb.name; then
1111bd1da9d7Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
11126ad5a0e2Smrg		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
1113bd1da9d7Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1114bd1da9d7Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1115bd1da9d7Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1116bd1da9d7Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1117bd1da9d7Smrg			&& UNAME_MACHINE=i586
1118bd1da9d7Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1119bd1da9d7Smrg			&& UNAME_MACHINE=i686
1120bd1da9d7Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1121bd1da9d7Smrg			&& UNAME_MACHINE=i686
11226ad5a0e2Smrg		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
1123bd1da9d7Smrg	else
11246ad5a0e2Smrg		echo "$UNAME_MACHINE"-pc-sysv32
1125bd1da9d7Smrg	fi
1126bd1da9d7Smrg	exit ;;
1127bd1da9d7Smrg    pc:*:*:*)
1128bd1da9d7Smrg	# Left here for compatibility:
1129899129b3Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1130899129b3Smrg	# the processor, so we play safe by assuming i586.
113147e89262Smrg	# Note: whatever this is, it MUST be the same as what config.sub
1132e6d2e958Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
113347e89262Smrg	# this is a cross-build.
113447e89262Smrg	echo i586-pc-msdosdjgpp
1135899129b3Smrg	exit ;;
1136bd1da9d7Smrg    Intel:Mach:3*:*)
1137bd1da9d7Smrg	echo i386-pc-mach3
1138bd1da9d7Smrg	exit ;;
1139bd1da9d7Smrg    paragon:*:*:*)
1140bd1da9d7Smrg	echo i860-intel-osf1
1141bd1da9d7Smrg	exit ;;
1142bd1da9d7Smrg    i860:*:4.*:*) # i860-SVR4
1143bd1da9d7Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
11446ad5a0e2Smrg	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
1145bd1da9d7Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
11466ad5a0e2Smrg	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
1147bd1da9d7Smrg	fi
1148bd1da9d7Smrg	exit ;;
1149bd1da9d7Smrg    mini*:CTIX:SYS*5:*)
1150bd1da9d7Smrg	# "miniframe"
1151bd1da9d7Smrg	echo m68010-convergent-sysv
1152bd1da9d7Smrg	exit ;;
1153bd1da9d7Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1154bd1da9d7Smrg	echo m68k-convergent-sysv
1155bd1da9d7Smrg	exit ;;
1156bd1da9d7Smrg    M680?0:D-NIX:5.3:*)
1157bd1da9d7Smrg	echo m68k-diab-dnix
1158bd1da9d7Smrg	exit ;;
1159bd1da9d7Smrg    M68*:*:R3V[5678]*:*)
1160bd1da9d7Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1161bd1da9d7Smrg    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)
1162bd1da9d7Smrg	OS_REL=''
1163bd1da9d7Smrg	test -r /etc/.relid \
1164bd1da9d7Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1165bd1da9d7Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11666ad5a0e2Smrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1167bd1da9d7Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11686ad5a0e2Smrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1169bd1da9d7Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1170899129b3Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1171899129b3Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
117247e89262Smrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
117347e89262Smrg	OS_REL='.3'
117447e89262Smrg	test -r /etc/.relid \
117547e89262Smrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
117647e89262Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11776ad5a0e2Smrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
117847e89262Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
11796ad5a0e2Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
118047e89262Smrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
11816ad5a0e2Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1182bd1da9d7Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11836ad5a0e2Smrg	echo m68k-unknown-lynxos"$UNAME_RELEASE"
1184bd1da9d7Smrg	exit ;;
1185bd1da9d7Smrg    mc68030:UNIX_System_V:4.*:*)
1186bd1da9d7Smrg	echo m68k-atari-sysv4
1187bd1da9d7Smrg	exit ;;
1188bd1da9d7Smrg    TSUNAMI:LynxOS:2.*:*)
11896ad5a0e2Smrg	echo sparc-unknown-lynxos"$UNAME_RELEASE"
1190bd1da9d7Smrg	exit ;;
1191bd1da9d7Smrg    rs6000:LynxOS:2.*:*)
11926ad5a0e2Smrg	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
1193bd1da9d7Smrg	exit ;;
119447e89262Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
11956ad5a0e2Smrg	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
1196bd1da9d7Smrg	exit ;;
1197bd1da9d7Smrg    SM[BE]S:UNIX_SV:*:*)
11986ad5a0e2Smrg	echo mips-dde-sysv"$UNAME_RELEASE"
1199bd1da9d7Smrg	exit ;;
1200bd1da9d7Smrg    RM*:ReliantUNIX-*:*:*)
1201bd1da9d7Smrg	echo mips-sni-sysv4
1202bd1da9d7Smrg	exit ;;
1203bd1da9d7Smrg    RM*:SINIX-*:*:*)
1204bd1da9d7Smrg	echo mips-sni-sysv4
1205bd1da9d7Smrg	exit ;;
1206bd1da9d7Smrg    *:SINIX-*:*:*)
1207bd1da9d7Smrg	if uname -p 2>/dev/null >/dev/null ; then
1208bd1da9d7Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
12096ad5a0e2Smrg		echo "$UNAME_MACHINE"-sni-sysv4
1210bd1da9d7Smrg	else
1211bd1da9d7Smrg		echo ns32k-sni-sysv
1212bd1da9d7Smrg	fi
1213bd1da9d7Smrg	exit ;;
1214899129b3Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1215899129b3Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1216899129b3Smrg	echo i586-unisys-sysv4
1217899129b3Smrg	exit ;;
1218bd1da9d7Smrg    *:UNIX_System_V:4*:FTX*)
1219bd1da9d7Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1220bd1da9d7Smrg	# How about differentiating between stratus architectures? -djm
1221bd1da9d7Smrg	echo hppa1.1-stratus-sysv4
1222bd1da9d7Smrg	exit ;;
1223bd1da9d7Smrg    *:*:*:FTX*)
1224bd1da9d7Smrg	# From seanf@swdc.stratus.com.
1225bd1da9d7Smrg	echo i860-stratus-sysv4
1226bd1da9d7Smrg	exit ;;
1227bd1da9d7Smrg    i*86:VOS:*:*)
1228bd1da9d7Smrg	# From Paul.Green@stratus.com.
12296ad5a0e2Smrg	echo "$UNAME_MACHINE"-stratus-vos
1230bd1da9d7Smrg	exit ;;
1231bd1da9d7Smrg    *:VOS:*:*)
1232bd1da9d7Smrg	# From Paul.Green@stratus.com.
1233bd1da9d7Smrg	echo hppa1.1-stratus-vos
1234bd1da9d7Smrg	exit ;;
1235bd1da9d7Smrg    mc68*:A/UX:*:*)
12366ad5a0e2Smrg	echo m68k-apple-aux"$UNAME_RELEASE"
1237bd1da9d7Smrg	exit ;;
1238bd1da9d7Smrg    news*:NEWS-OS:6*:*)
1239bd1da9d7Smrg	echo mips-sony-newsos6
1240bd1da9d7Smrg	exit ;;
1241bd1da9d7Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1242bd1da9d7Smrg	if [ -d /usr/nec ]; then
12436ad5a0e2Smrg		echo mips-nec-sysv"$UNAME_RELEASE"
1244bd1da9d7Smrg	else
12456ad5a0e2Smrg		echo mips-unknown-sysv"$UNAME_RELEASE"
1246bd1da9d7Smrg	fi
1247899129b3Smrg	exit ;;
1248bd1da9d7Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1249bd1da9d7Smrg	echo powerpc-be-beos
1250bd1da9d7Smrg	exit ;;
1251bd1da9d7Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1252bd1da9d7Smrg	echo powerpc-apple-beos
1253bd1da9d7Smrg	exit ;;
1254bd1da9d7Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1255bd1da9d7Smrg	echo i586-pc-beos
1256bd1da9d7Smrg	exit ;;
125747e89262Smrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
125847e89262Smrg	echo i586-pc-haiku
125947e89262Smrg	exit ;;
1260899129b3Smrg    x86_64:Haiku:*:*)
1261899129b3Smrg	echo x86_64-unknown-haiku
1262899129b3Smrg	exit ;;
1263bd1da9d7Smrg    SX-4:SUPER-UX:*:*)
12646ad5a0e2Smrg	echo sx4-nec-superux"$UNAME_RELEASE"
1265bd1da9d7Smrg	exit ;;
1266bd1da9d7Smrg    SX-5:SUPER-UX:*:*)
12676ad5a0e2Smrg	echo sx5-nec-superux"$UNAME_RELEASE"
1268bd1da9d7Smrg	exit ;;
1269bd1da9d7Smrg    SX-6:SUPER-UX:*:*)
12706ad5a0e2Smrg	echo sx6-nec-superux"$UNAME_RELEASE"
1271bd1da9d7Smrg	exit ;;
12725bcb6992Smrg    SX-7:SUPER-UX:*:*)
12736ad5a0e2Smrg	echo sx7-nec-superux"$UNAME_RELEASE"
12745bcb6992Smrg	exit ;;
12755bcb6992Smrg    SX-8:SUPER-UX:*:*)
12766ad5a0e2Smrg	echo sx8-nec-superux"$UNAME_RELEASE"
12775bcb6992Smrg	exit ;;
12785bcb6992Smrg    SX-8R:SUPER-UX:*:*)
12796ad5a0e2Smrg	echo sx8r-nec-superux"$UNAME_RELEASE"
12805bcb6992Smrg	exit ;;
1281e6d2e958Smrg    SX-ACE:SUPER-UX:*:*)
12826ad5a0e2Smrg	echo sxace-nec-superux"$UNAME_RELEASE"
1283e6d2e958Smrg	exit ;;
1284bd1da9d7Smrg    Power*:Rhapsody:*:*)
12856ad5a0e2Smrg	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
1286bd1da9d7Smrg	exit ;;
1287bd1da9d7Smrg    *:Rhapsody:*:*)
12886ad5a0e2Smrg	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
1289bd1da9d7Smrg	exit ;;
1290bd1da9d7Smrg    *:Darwin:*:*)
1291bd1da9d7Smrg	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12926ad5a0e2Smrg	eval "$set_cc_for_build"
1293e6d2e958Smrg	if test "$UNAME_PROCESSOR" = unknown ; then
1294e6d2e958Smrg	    UNAME_PROCESSOR=powerpc
1295e6d2e958Smrg	fi
12966ad5a0e2Smrg	if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
1297e6d2e958Smrg	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
1298e6d2e958Smrg		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
12996ad5a0e2Smrg		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
13006ad5a0e2Smrg		       grep IS_64BIT_ARCH >/dev/null
1301e6d2e958Smrg		then
1302e6d2e958Smrg		    case $UNAME_PROCESSOR in
1303e6d2e958Smrg			i386) UNAME_PROCESSOR=x86_64 ;;
1304e6d2e958Smrg			powerpc) UNAME_PROCESSOR=powerpc64 ;;
1305e6d2e958Smrg		    esac
1306e6d2e958Smrg		fi
13076ad5a0e2Smrg		# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
13086ad5a0e2Smrg		if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
13096ad5a0e2Smrg		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
13106ad5a0e2Smrg		       grep IS_PPC >/dev/null
13116ad5a0e2Smrg		then
13126ad5a0e2Smrg		    UNAME_PROCESSOR=powerpc
13136ad5a0e2Smrg		fi
1314e6d2e958Smrg	    fi
1315e6d2e958Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1316e6d2e958Smrg	    # Avoid executing cc on OS X 10.9, as it ships with a stub
1317e6d2e958Smrg	    # that puts up a graphical alert prompting to install
1318e6d2e958Smrg	    # developer tools.  Any system running Mac OS X 10.7 or
1319e6d2e958Smrg	    # later (Darwin 11 and later) is required to have a 64-bit
1320e6d2e958Smrg	    # processor. This is not true of the ARM version of Darwin
1321e6d2e958Smrg	    # that Apple uses in portable devices.
1322e6d2e958Smrg	    UNAME_PROCESSOR=x86_64
1323e6d2e958Smrg	fi
13246ad5a0e2Smrg	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
1325bd1da9d7Smrg	exit ;;
1326bd1da9d7Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1327bd1da9d7Smrg	UNAME_PROCESSOR=`uname -p`
1328e6d2e958Smrg	if test "$UNAME_PROCESSOR" = x86; then
1329bd1da9d7Smrg		UNAME_PROCESSOR=i386
1330bd1da9d7Smrg		UNAME_MACHINE=pc
1331bd1da9d7Smrg	fi
13326ad5a0e2Smrg	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
1333bd1da9d7Smrg	exit ;;
1334bd1da9d7Smrg    *:QNX:*:4*)
1335bd1da9d7Smrg	echo i386-pc-qnx
1336bd1da9d7Smrg	exit ;;
13376ad5a0e2Smrg    NEO-*:NONSTOP_KERNEL:*:*)
13386ad5a0e2Smrg	echo neo-tandem-nsk"$UNAME_RELEASE"
1339899129b3Smrg	exit ;;
1340899129b3Smrg    NSE-*:NONSTOP_KERNEL:*:*)
13416ad5a0e2Smrg	echo nse-tandem-nsk"$UNAME_RELEASE"
13426ad5a0e2Smrg	exit ;;
13436ad5a0e2Smrg    NSR-*:NONSTOP_KERNEL:*:*)
13446ad5a0e2Smrg	echo nsr-tandem-nsk"$UNAME_RELEASE"
13456ad5a0e2Smrg	exit ;;
13466ad5a0e2Smrg    NSV-*:NONSTOP_KERNEL:*:*)
13476ad5a0e2Smrg	echo nsv-tandem-nsk"$UNAME_RELEASE"
1348bd1da9d7Smrg	exit ;;
13496ad5a0e2Smrg    NSX-*:NONSTOP_KERNEL:*:*)
13506ad5a0e2Smrg	echo nsx-tandem-nsk"$UNAME_RELEASE"
1351bd1da9d7Smrg	exit ;;
1352bd1da9d7Smrg    *:NonStop-UX:*:*)
1353bd1da9d7Smrg	echo mips-compaq-nonstopux
1354bd1da9d7Smrg	exit ;;
1355bd1da9d7Smrg    BS2000:POSIX*:*:*)
1356bd1da9d7Smrg	echo bs2000-siemens-sysv
1357bd1da9d7Smrg	exit ;;
1358bd1da9d7Smrg    DS/*:UNIX_System_V:*:*)
13596ad5a0e2Smrg	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
1360bd1da9d7Smrg	exit ;;
1361bd1da9d7Smrg    *:Plan9:*:*)
1362bd1da9d7Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1363bd1da9d7Smrg	# is converted to i386 for consistency with other x86
1364bd1da9d7Smrg	# operating systems.
1365e6d2e958Smrg	if test "$cputype" = 386; then
1366bd1da9d7Smrg	    UNAME_MACHINE=i386
1367bd1da9d7Smrg	else
1368bd1da9d7Smrg	    UNAME_MACHINE="$cputype"
1369bd1da9d7Smrg	fi
13706ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-plan9
1371bd1da9d7Smrg	exit ;;
1372bd1da9d7Smrg    *:TOPS-10:*:*)
1373bd1da9d7Smrg	echo pdp10-unknown-tops10
1374bd1da9d7Smrg	exit ;;
1375bd1da9d7Smrg    *:TENEX:*:*)
1376bd1da9d7Smrg	echo pdp10-unknown-tenex
1377bd1da9d7Smrg	exit ;;
1378bd1da9d7Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1379bd1da9d7Smrg	echo pdp10-dec-tops20
1380bd1da9d7Smrg	exit ;;
1381bd1da9d7Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1382bd1da9d7Smrg	echo pdp10-xkl-tops20
1383bd1da9d7Smrg	exit ;;
1384bd1da9d7Smrg    *:TOPS-20:*:*)
1385bd1da9d7Smrg	echo pdp10-unknown-tops20
1386bd1da9d7Smrg	exit ;;
1387bd1da9d7Smrg    *:ITS:*:*)
1388bd1da9d7Smrg	echo pdp10-unknown-its
1389bd1da9d7Smrg	exit ;;
1390bd1da9d7Smrg    SEI:*:*:SEIUX)
13916ad5a0e2Smrg	echo mips-sei-seiux"$UNAME_RELEASE"
1392bd1da9d7Smrg	exit ;;
1393bd1da9d7Smrg    *:DragonFly:*:*)
13946ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
1395bd1da9d7Smrg	exit ;;
1396bd1da9d7Smrg    *:*VMS:*:*)
1397899129b3Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
13986ad5a0e2Smrg	case "$UNAME_MACHINE" in
1399bd1da9d7Smrg	    A*) echo alpha-dec-vms ; exit ;;
1400bd1da9d7Smrg	    I*) echo ia64-dec-vms ; exit ;;
1401bd1da9d7Smrg	    V*) echo vax-dec-vms ; exit ;;
1402bd1da9d7Smrg	esac ;;
1403bd1da9d7Smrg    *:XENIX:*:SysV)
1404bd1da9d7Smrg	echo i386-pc-xenix
1405bd1da9d7Smrg	exit ;;
1406bd1da9d7Smrg    i*86:skyos:*:*)
14076ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
1408bd1da9d7Smrg	exit ;;
1409bd1da9d7Smrg    i*86:rdos:*:*)
14106ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-rdos
1411bd1da9d7Smrg	exit ;;
141247e89262Smrg    i*86:AROS:*:*)
14136ad5a0e2Smrg	echo "$UNAME_MACHINE"-pc-aros
141447e89262Smrg	exit ;;
1415899129b3Smrg    x86_64:VMkernel:*:*)
14166ad5a0e2Smrg	echo "$UNAME_MACHINE"-unknown-esx
1417899129b3Smrg	exit ;;
1418e6d2e958Smrg    amd64:Isilon\ OneFS:*:*)
1419e6d2e958Smrg	echo x86_64-unknown-onefs
1420bd1da9d7Smrg	exit ;;
1421e6d2e958Smrgesac
1422bd1da9d7Smrg
14236ad5a0e2Smrgecho "$0: unable to guess system type" >&2
14246ad5a0e2Smrg
14256ad5a0e2Smrgcase "$UNAME_MACHINE:$UNAME_SYSTEM" in
14266ad5a0e2Smrg    mips:Linux | mips64:Linux)
14276ad5a0e2Smrg	# If we got here on MIPS GNU/Linux, output extra information.
14286ad5a0e2Smrg	cat >&2 <<EOF
14296ad5a0e2Smrg
14306ad5a0e2SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
14316ad5a0e2Smrgthe system type. Please install a C compiler and try again.
14326ad5a0e2SmrgEOF
14336ad5a0e2Smrg	;;
14346ad5a0e2Smrgesac
14356ad5a0e2Smrg
1436bd1da9d7Smrgcat >&2 <<EOF
1437bd1da9d7Smrg
1438e6d2e958SmrgThis script (version $timestamp), has failed to recognize the
14396ad5a0e2Smrgoperating system you are using. If your script is old, overwrite *all*
14406ad5a0e2Smrgcopies of config.guess and config.sub with the latest versions from:
1441bd1da9d7Smrg
14426ad5a0e2Smrg  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
1443bd1da9d7Smrgand
14446ad5a0e2Smrg  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1445bd1da9d7Smrg
1446e6d2e958SmrgIf $0 has already been updated, send the following data and any
1447e6d2e958Smrginformation you think might be pertinent to config-patches@gnu.org to
1448e6d2e958Smrgprovide the necessary information to handle your system.
1449bd1da9d7Smrg
1450bd1da9d7Smrgconfig.guess timestamp = $timestamp
1451bd1da9d7Smrg
1452bd1da9d7Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1453bd1da9d7Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1454bd1da9d7Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1455bd1da9d7Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1456bd1da9d7Smrg
1457bd1da9d7Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1458bd1da9d7Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1459bd1da9d7Smrg
1460bd1da9d7Smrghostinfo               = `(hostinfo) 2>/dev/null`
1461bd1da9d7Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1462bd1da9d7Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1463bd1da9d7Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1464bd1da9d7Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1465bd1da9d7Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1466bd1da9d7Smrg
14676ad5a0e2SmrgUNAME_MACHINE = "$UNAME_MACHINE"
14686ad5a0e2SmrgUNAME_RELEASE = "$UNAME_RELEASE"
14696ad5a0e2SmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
14706ad5a0e2SmrgUNAME_VERSION = "$UNAME_VERSION"
1471bd1da9d7SmrgEOF
1472bd1da9d7Smrg
1473bd1da9d7Smrgexit 1
1474bd1da9d7Smrg
1475bd1da9d7Smrg# Local variables:
14766ad5a0e2Smrg# eval: (add-hook 'write-file-functions 'time-stamp)
1477bd1da9d7Smrg# time-stamp-start: "timestamp='"
1478bd1da9d7Smrg# time-stamp-format: "%:y-%02m-%02d"
1479bd1da9d7Smrg# time-stamp-end: "'"
1480bd1da9d7Smrg# End:
1481