config.guess revision efb46889
1692f60a7Smrg#! /bin/sh
2692f60a7Smrg# Attempt to guess a canonical system name.
3efb46889Smrg#   Copyright 1992-2023 Free Software Foundation, Inc.
4692f60a7Smrg
5efb46889Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale
6efb46889Smrg
7efb46889Smrgtimestamp='2023-01-01'
8692f60a7Smrg
9692f60a7Smrg# This file is free software; you can redistribute it and/or modify it
10692f60a7Smrg# under the terms of the GNU General Public License as published by
11efb46889Smrg# the Free Software Foundation, either version 3 of the License, or
12692f60a7Smrg# (at your option) any later version.
13692f60a7Smrg#
14692f60a7Smrg# This program is distributed in the hope that it will be useful, but
15692f60a7Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16692f60a7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17692f60a7Smrg# General Public License for more details.
18692f60a7Smrg#
19692f60a7Smrg# You should have received a copy of the GNU General Public License
20efb46889Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
21692f60a7Smrg#
22692f60a7Smrg# As a special exception to the GNU General Public License, if you
23692f60a7Smrg# distribute this file as part of a program that contains a
24692f60a7Smrg# configuration script generated by Autoconf, you may include it under
25eaa3dbe0Smrg# the same distribution terms that you use for the rest of that
26eaa3dbe0Smrg# program.  This Exception is an additional permission under section 7
27eaa3dbe0Smrg# of the GNU General Public License, version 3 ("GPLv3").
28692f60a7Smrg#
292f60eb46Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
30692f60a7Smrg#
313f6d0e1dSmrg# You can get the latest version of this script from:
32efb46889Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33eaa3dbe0Smrg#
342f60eb46Smrg# Please send patches to <config-patches@gnu.org>.
35eaa3dbe0Smrg
36692f60a7Smrg
37efb46889Smrg# The "shellcheck disable" line above the timestamp inhibits complaints
38efb46889Smrg# about features and limitations of the classic Bourne shell that were
39efb46889Smrg# superseded or lifted in POSIX.  However, this script identifies a wide
40efb46889Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
41efb46889Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still
42efb46889Smrg# have a pre-POSIX /bin/sh.
43efb46889Smrg
44efb46889Smrg
45692f60a7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
46692f60a7Smrg
47692f60a7Smrgusage="\
48692f60a7SmrgUsage: $0 [OPTION]
49692f60a7Smrg
50692f60a7SmrgOutput the configuration name of the system \`$me' is run on.
51692f60a7Smrg
52efb46889SmrgOptions:
53692f60a7Smrg  -h, --help         print this help, then exit
54692f60a7Smrg  -t, --time-stamp   print date of last modification, then exit
55692f60a7Smrg  -v, --version      print version number, then exit
56692f60a7Smrg
57692f60a7SmrgReport bugs and patches to <config-patches@gnu.org>."
58692f60a7Smrg
59692f60a7Smrgversion="\
60692f60a7SmrgGNU config.guess ($timestamp)
61692f60a7Smrg
62692f60a7SmrgOriginally written by Per Bothner.
63efb46889SmrgCopyright 1992-2023 Free Software Foundation, Inc.
64692f60a7Smrg
65692f60a7SmrgThis is free software; see the source for copying conditions.  There is NO
66692f60a7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67692f60a7Smrg
68692f60a7Smrghelp="
69692f60a7SmrgTry \`$me --help' for more information."
70692f60a7Smrg
71692f60a7Smrg# Parse command line
72692f60a7Smrgwhile test $# -gt 0 ; do
73692f60a7Smrg  case $1 in
74692f60a7Smrg    --time-stamp | --time* | -t )
7554569438Smrg       echo "$timestamp" ; exit ;;
76692f60a7Smrg    --version | -v )
7754569438Smrg       echo "$version" ; exit ;;
78692f60a7Smrg    --help | --h* | -h )
7954569438Smrg       echo "$usage"; exit ;;
80692f60a7Smrg    -- )     # Stop option processing
81692f60a7Smrg       shift; break ;;
82692f60a7Smrg    - )	# Use stdin as input.
83692f60a7Smrg       break ;;
84692f60a7Smrg    -* )
85692f60a7Smrg       echo "$me: invalid option $1$help" >&2
86692f60a7Smrg       exit 1 ;;
87692f60a7Smrg    * )
88692f60a7Smrg       break ;;
89692f60a7Smrg  esac
90692f60a7Smrgdone
91692f60a7Smrg
92692f60a7Smrgif test $# != 0; then
93692f60a7Smrg  echo "$me: too many arguments$help" >&2
94692f60a7Smrg  exit 1
95692f60a7Smrgfi
96692f60a7Smrg
97efb46889Smrg# Just in case it came from the environment.
98efb46889SmrgGUESS=
99692f60a7Smrg
100692f60a7Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101692f60a7Smrg# compiler to aid in system detection is discouraged as it requires
102692f60a7Smrg# temporary files to be created and, as you can see below, it is a
103692f60a7Smrg# headache to deal with in a portable fashion.
104692f60a7Smrg
105692f60a7Smrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106692f60a7Smrg# use `HOST_CC' if defined, but it is deprecated.
107692f60a7Smrg
108692f60a7Smrg# Portable tmp directory creation inspired by the Autoconf team.
109692f60a7Smrg
110efb46889Smrgtmp=
111efb46889Smrg# shellcheck disable=SC2172
112efb46889Smrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113efb46889Smrg
114efb46889Smrgset_cc_for_build() {
115efb46889Smrg    # prevent multiple calls if $tmp is already set
116efb46889Smrg    test "$tmp" && return 0
117efb46889Smrg    : "${TMPDIR=/tmp}"
118efb46889Smrg    # shellcheck disable=SC2039,SC3028
119efb46889Smrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120efb46889Smrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121efb46889Smrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122efb46889Smrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123efb46889Smrg    dummy=$tmp/dummy
124efb46889Smrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125efb46889Smrg	,,)    echo "int x;" > "$dummy.c"
126efb46889Smrg	       for driver in cc gcc c89 c99 ; do
127efb46889Smrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128efb46889Smrg		       CC_FOR_BUILD=$driver
129efb46889Smrg		       break
130efb46889Smrg		   fi
131efb46889Smrg	       done
132efb46889Smrg	       if test x"$CC_FOR_BUILD" = x ; then
133efb46889Smrg		   CC_FOR_BUILD=no_compiler_found
134efb46889Smrg	       fi
135efb46889Smrg	       ;;
136efb46889Smrg	,,*)   CC_FOR_BUILD=$CC ;;
137efb46889Smrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138efb46889Smrg    esac
139efb46889Smrg}
140692f60a7Smrg
141692f60a7Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
142692f60a7Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
143efb46889Smrgif test -f /.attbin/uname ; then
144692f60a7Smrg	PATH=$PATH:/.attbin ; export PATH
145692f60a7Smrgfi
146692f60a7Smrg
147692f60a7SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
148692f60a7SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149efb46889SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
150692f60a7SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
151692f60a7Smrg
152efb46889Smrgcase $UNAME_SYSTEM in
15395903e71SmrgLinux|GNU|GNU/*)
154efb46889Smrg	LIBC=unknown
15595903e71Smrg
156efb46889Smrg	set_cc_for_build
157efb46889Smrg	cat <<-EOF > "$dummy.c"
158eaa3dbe0Smrg	#include <features.h>
15995903e71Smrg	#if defined(__UCLIBC__)
160eaa3dbe0Smrg	LIBC=uclibc
16195903e71Smrg	#elif defined(__dietlibc__)
162eaa3dbe0Smrg	LIBC=dietlibc
163efb46889Smrg	#elif defined(__GLIBC__)
164eaa3dbe0Smrg	LIBC=gnu
165efb46889Smrg	#else
166efb46889Smrg	#include <stdarg.h>
167efb46889Smrg	/* First heuristic to detect musl libc.  */
168efb46889Smrg	#ifdef __DEFINED_va_list
169efb46889Smrg	LIBC=musl
170efb46889Smrg	#endif
171eaa3dbe0Smrg	#endif
172eaa3dbe0Smrg	EOF
173efb46889Smrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174efb46889Smrg	eval "$cc_set_libc"
175efb46889Smrg
176efb46889Smrg	# Second heuristic to detect musl libc.
177efb46889Smrg	if [ "$LIBC" = unknown ] &&
178efb46889Smrg	   command -v ldd >/dev/null &&
179efb46889Smrg	   ldd --version 2>&1 | grep -q ^musl; then
180efb46889Smrg		LIBC=musl
181efb46889Smrg	fi
182efb46889Smrg
183efb46889Smrg	# If the system lacks a compiler, then just pick glibc.
184efb46889Smrg	# We could probably try harder.
185efb46889Smrg	if [ "$LIBC" = unknown ]; then
186efb46889Smrg		LIBC=gnu
187efb46889Smrg	fi
188eaa3dbe0Smrg	;;
189eaa3dbe0Smrgesac
190eaa3dbe0Smrg
191692f60a7Smrg# Note: order is significant - the case branches are not exclusive.
192692f60a7Smrg
193efb46889Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
194692f60a7Smrg    *:NetBSD:*:*)
195692f60a7Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
1963f6d0e1dSmrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
197692f60a7Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
198692f60a7Smrg	# switched to ELF, *-*-netbsd* would select the old
199692f60a7Smrg	# object file format.  This provides both forward
200692f60a7Smrg	# compatibility and a consistent mechanism for selecting the
201692f60a7Smrg	# object file format.
202692f60a7Smrg	#
203692f60a7Smrg	# Note: NetBSD doesn't particularly care about the vendor
204692f60a7Smrg	# portion of the name.  We always set it to "unknown".
2052f60eb46Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
206efb46889Smrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
207efb46889Smrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2082f60eb46Smrg	    echo unknown)`
209efb46889Smrg	case $UNAME_MACHINE_ARCH in
210efb46889Smrg	    aarch64eb) machine=aarch64_be-unknown ;;
211692f60a7Smrg	    armeb) machine=armeb-unknown ;;
212692f60a7Smrg	    arm*) machine=arm-unknown ;;
213692f60a7Smrg	    sh3el) machine=shl-unknown ;;
214692f60a7Smrg	    sh3eb) machine=sh-unknown ;;
21554569438Smrg	    sh5el) machine=sh5le-unknown ;;
2162f60eb46Smrg	    earmv*)
217efb46889Smrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
218efb46889Smrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
2192f60eb46Smrg		machine=${arch}${endian}-unknown
2202f60eb46Smrg		;;
221efb46889Smrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
222692f60a7Smrg	esac
223692f60a7Smrg	# The Operating System including object format, if it has switched
224efb46889Smrg	# to ELF recently (or will in the future) and ABI.
225efb46889Smrg	case $UNAME_MACHINE_ARCH in
226efb46889Smrg	    earm*)
227efb46889Smrg		os=netbsdelf
228efb46889Smrg		;;
229efb46889Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
230efb46889Smrg		set_cc_for_build
231692f60a7Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
2323f6d0e1dSmrg			| grep -q __ELF__
233692f60a7Smrg		then
234692f60a7Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
235692f60a7Smrg		    # Return netbsd for either.  FIX?
236692f60a7Smrg		    os=netbsd
237692f60a7Smrg		else
238692f60a7Smrg		    os=netbsdelf
239692f60a7Smrg		fi
240692f60a7Smrg		;;
241692f60a7Smrg	    *)
2423f6d0e1dSmrg		os=netbsd
243692f60a7Smrg		;;
244692f60a7Smrg	esac
2452f60eb46Smrg	# Determine ABI tags.
246efb46889Smrg	case $UNAME_MACHINE_ARCH in
2472f60eb46Smrg	    earm*)
2482f60eb46Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
249efb46889Smrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
2502f60eb46Smrg		;;
2512f60eb46Smrg	esac
252692f60a7Smrg	# The OS release
253692f60a7Smrg	# Debian GNU/NetBSD machines have a different userland, and
254692f60a7Smrg	# thus, need a distinct triplet. However, they do not need
255692f60a7Smrg	# kernel version information, so it can be replaced with a
256692f60a7Smrg	# suitable tag, in the style of linux-gnu.
257efb46889Smrg	case $UNAME_VERSION in
258692f60a7Smrg	    Debian*)
259692f60a7Smrg		release='-gnu'
260692f60a7Smrg		;;
261692f60a7Smrg	    *)
262efb46889Smrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
263692f60a7Smrg		;;
264692f60a7Smrg	esac
265692f60a7Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
266692f60a7Smrg	# contains redundant information, the shorter form:
267692f60a7Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
268efb46889Smrg	GUESS=$machine-${os}${release}${abi-}
269efb46889Smrg	;;
270eaa3dbe0Smrg    *:Bitrig:*:*)
271eaa3dbe0Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
272efb46889Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
273efb46889Smrg	;;
274692f60a7Smrg    *:OpenBSD:*:*)
27554569438Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
276efb46889Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
277efb46889Smrg	;;
278efb46889Smrg    *:SecBSD:*:*)
279efb46889Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
280efb46889Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
281efb46889Smrg	;;
282efb46889Smrg    *:LibertyBSD:*:*)
283efb46889Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
284efb46889Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
285efb46889Smrg	;;
286efb46889Smrg    *:MidnightBSD:*:*)
287efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
288efb46889Smrg	;;
28954569438Smrg    *:ekkoBSD:*:*)
290efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
291efb46889Smrg	;;
29254569438Smrg    *:SolidBSD:*:*)
293efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
294efb46889Smrg	;;
295efb46889Smrg    *:OS108:*:*)
296efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
297efb46889Smrg	;;
29854569438Smrg    macppc:MirBSD:*:*)
299efb46889Smrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
300efb46889Smrg	;;
30154569438Smrg    *:MirBSD:*:*)
302efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
303efb46889Smrg	;;
3042f60eb46Smrg    *:Sortix:*:*)
305efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-sortix
306efb46889Smrg	;;
307efb46889Smrg    *:Twizzler:*:*)
308efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-twizzler
309efb46889Smrg	;;
310efb46889Smrg    *:Redox:*:*)
311efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-redox
312efb46889Smrg	;;
313efb46889Smrg    mips:OSF1:*.*)
314efb46889Smrg	GUESS=mips-dec-osf1
315efb46889Smrg	;;
316692f60a7Smrg    alpha:OSF1:*:*)
317efb46889Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
318efb46889Smrg	trap '' 0
31954569438Smrg	case $UNAME_RELEASE in
32054569438Smrg	*4.0)
321692f60a7Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
32254569438Smrg		;;
32354569438Smrg	*5.*)
3243f6d0e1dSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
32554569438Smrg		;;
32654569438Smrg	esac
327692f60a7Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
328692f60a7Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
329692f60a7Smrg	# covers most systems running today.  This code pipes the CPU
330692f60a7Smrg	# types through head -n 1, so we only detect the type of CPU 0.
331692f60a7Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
332efb46889Smrg	case $ALPHA_CPU_TYPE in
333692f60a7Smrg	    "EV4 (21064)")
334efb46889Smrg		UNAME_MACHINE=alpha ;;
335692f60a7Smrg	    "EV4.5 (21064)")
336efb46889Smrg		UNAME_MACHINE=alpha ;;
337692f60a7Smrg	    "LCA4 (21066/21068)")
338efb46889Smrg		UNAME_MACHINE=alpha ;;
339692f60a7Smrg	    "EV5 (21164)")
340efb46889Smrg		UNAME_MACHINE=alphaev5 ;;
341692f60a7Smrg	    "EV5.6 (21164A)")
342efb46889Smrg		UNAME_MACHINE=alphaev56 ;;
343692f60a7Smrg	    "EV5.6 (21164PC)")
344efb46889Smrg		UNAME_MACHINE=alphapca56 ;;
345692f60a7Smrg	    "EV5.7 (21164PC)")
346efb46889Smrg		UNAME_MACHINE=alphapca57 ;;
347692f60a7Smrg	    "EV6 (21264)")
348efb46889Smrg		UNAME_MACHINE=alphaev6 ;;
349692f60a7Smrg	    "EV6.7 (21264A)")
350efb46889Smrg		UNAME_MACHINE=alphaev67 ;;
351692f60a7Smrg	    "EV6.8CB (21264C)")
352efb46889Smrg		UNAME_MACHINE=alphaev68 ;;
353692f60a7Smrg	    "EV6.8AL (21264B)")
354efb46889Smrg		UNAME_MACHINE=alphaev68 ;;
355692f60a7Smrg	    "EV6.8CX (21264D)")
356efb46889Smrg		UNAME_MACHINE=alphaev68 ;;
357692f60a7Smrg	    "EV6.9A (21264/EV69A)")
358efb46889Smrg		UNAME_MACHINE=alphaev69 ;;
359692f60a7Smrg	    "EV7 (21364)")
360efb46889Smrg		UNAME_MACHINE=alphaev7 ;;
361692f60a7Smrg	    "EV7.9 (21364A)")
362efb46889Smrg		UNAME_MACHINE=alphaev79 ;;
363692f60a7Smrg	esac
36454569438Smrg	# A Pn.n version is a patched version.
365692f60a7Smrg	# A Vn.n version is a released version.
366692f60a7Smrg	# A Tn.n version is a released field test version.
367692f60a7Smrg	# A Xn.n version is an unreleased experimental baselevel.
368692f60a7Smrg	# 1.2 uses "1.2" for uname -r.
369efb46889Smrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
370efb46889Smrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
371efb46889Smrg	;;
372692f60a7Smrg    Amiga*:UNIX_System_V:4.0:*)
373efb46889Smrg	GUESS=m68k-unknown-sysv4
374efb46889Smrg	;;
375692f60a7Smrg    *:[Aa]miga[Oo][Ss]:*:*)
376efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-amigaos
377efb46889Smrg	;;
378692f60a7Smrg    *:[Mm]orph[Oo][Ss]:*:*)
379efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-morphos
380efb46889Smrg	;;
381692f60a7Smrg    *:OS/390:*:*)
382efb46889Smrg	GUESS=i370-ibm-openedition
383efb46889Smrg	;;
38454569438Smrg    *:z/VM:*:*)
385efb46889Smrg	GUESS=s390-ibm-zvmoe
386efb46889Smrg	;;
38754569438Smrg    *:OS400:*:*)
388efb46889Smrg	GUESS=powerpc-ibm-os400
389efb46889Smrg	;;
390692f60a7Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
391efb46889Smrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
392efb46889Smrg	;;
393eaa3dbe0Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
394efb46889Smrg	GUESS=arm-unknown-riscos
395efb46889Smrg	;;
396692f60a7Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
397efb46889Smrg	GUESS=hppa1.1-hitachi-hiuxmpp
398efb46889Smrg	;;
399692f60a7Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
400692f60a7Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
401efb46889Smrg	case `(/bin/universe) 2>/dev/null` in
402efb46889Smrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
403efb46889Smrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
404efb46889Smrg	esac
405efb46889Smrg	;;
406692f60a7Smrg    NILE*:*:*:dcosx)
407efb46889Smrg	GUESS=pyramid-pyramid-svr4
408efb46889Smrg	;;
409692f60a7Smrg    DRS?6000:unix:4.0:6*)
410efb46889Smrg	GUESS=sparc-icl-nx6
411efb46889Smrg	;;
41254569438Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
413692f60a7Smrg	case `/usr/bin/uname -p` in
414efb46889Smrg	    sparc) GUESS=sparc-icl-nx7 ;;
415efb46889Smrg	esac
416efb46889Smrg	;;
4173f6d0e1dSmrg    s390x:SunOS:*:*)
418efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
419efb46889Smrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
420efb46889Smrg	;;
421692f60a7Smrg    sun4H:SunOS:5.*:*)
422efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
423efb46889Smrg	GUESS=sparc-hal-solaris2$SUN_REL
424efb46889Smrg	;;
425692f60a7Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
426efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
427efb46889Smrg	GUESS=sparc-sun-solaris2$SUN_REL
428efb46889Smrg	;;
4293f6d0e1dSmrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
430efb46889Smrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
431efb46889Smrg	;;
43254569438Smrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
433efb46889Smrg	set_cc_for_build
434efb46889Smrg	SUN_ARCH=i386
4353f6d0e1dSmrg	# If there is a compiler, see if it is configured for 64-bit objects.
4363f6d0e1dSmrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
4373f6d0e1dSmrg	# This test works for both compilers.
438efb46889Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
4393f6d0e1dSmrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
440efb46889Smrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
4413f6d0e1dSmrg		grep IS_64BIT_ARCH >/dev/null
4423f6d0e1dSmrg	    then
443efb46889Smrg		SUN_ARCH=x86_64
4443f6d0e1dSmrg	    fi
4453f6d0e1dSmrg	fi
446efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
447efb46889Smrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
448efb46889Smrg	;;
449692f60a7Smrg    sun4*:SunOS:6*:*)
450692f60a7Smrg	# According to config.sub, this is the proper way to canonicalize
451692f60a7Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
452692f60a7Smrg	# it's likely to be more like Solaris than SunOS4.
453efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
454efb46889Smrg	GUESS=sparc-sun-solaris3$SUN_REL
455efb46889Smrg	;;
456692f60a7Smrg    sun4*:SunOS:*:*)
457efb46889Smrg	case `/usr/bin/arch -k` in
458692f60a7Smrg	    Series*|S4*)
459692f60a7Smrg		UNAME_RELEASE=`uname -v`
460692f60a7Smrg		;;
461692f60a7Smrg	esac
462692f60a7Smrg	# Japanese Language versions have a version number like `4.1.3-JL'.
463efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
464efb46889Smrg	GUESS=sparc-sun-sunos$SUN_REL
465efb46889Smrg	;;
466692f60a7Smrg    sun3*:SunOS:*:*)
467efb46889Smrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
468efb46889Smrg	;;
469692f60a7Smrg    sun*:*:4.2BSD:*)
470692f60a7Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
471efb46889Smrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
472efb46889Smrg	case `/bin/arch` in
473692f60a7Smrg	    sun3)
474efb46889Smrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
475692f60a7Smrg		;;
476692f60a7Smrg	    sun4)
477efb46889Smrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
478692f60a7Smrg		;;
479692f60a7Smrg	esac
480efb46889Smrg	;;
481692f60a7Smrg    aushp:SunOS:*:*)
482efb46889Smrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
483efb46889Smrg	;;
484692f60a7Smrg    # The situation for MiNT is a little confusing.  The machine name
485692f60a7Smrg    # can be virtually everything (everything which is not
486692f60a7Smrg    # "atarist" or "atariste" at least should have a processor
487692f60a7Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
488692f60a7Smrg    # to the lowercase version "mint" (or "freemint").  Finally
489692f60a7Smrg    # the system name "TOS" denotes a system which is actually not
490692f60a7Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
491692f60a7Smrg    # be no problem.
492692f60a7Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
493efb46889Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
494efb46889Smrg	;;
495692f60a7Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
496efb46889Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
497efb46889Smrg	;;
498692f60a7Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
499efb46889Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
500efb46889Smrg	;;
501692f60a7Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
502efb46889Smrg	GUESS=m68k-milan-mint$UNAME_RELEASE
503efb46889Smrg	;;
504692f60a7Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
505efb46889Smrg	GUESS=m68k-hades-mint$UNAME_RELEASE
506efb46889Smrg	;;
507692f60a7Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
508efb46889Smrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
509efb46889Smrg	;;
51054569438Smrg    m68k:machten:*:*)
511efb46889Smrg	GUESS=m68k-apple-machten$UNAME_RELEASE
512efb46889Smrg	;;
513692f60a7Smrg    powerpc:machten:*:*)
514efb46889Smrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
515efb46889Smrg	;;
516692f60a7Smrg    RISC*:Mach:*:*)
517efb46889Smrg	GUESS=mips-dec-mach_bsd4.3
518efb46889Smrg	;;
519692f60a7Smrg    RISC*:ULTRIX:*:*)
520efb46889Smrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
521efb46889Smrg	;;
522692f60a7Smrg    VAX*:ULTRIX*:*:*)
523efb46889Smrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
524efb46889Smrg	;;
525692f60a7Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
526efb46889Smrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
527efb46889Smrg	;;
528692f60a7Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
529efb46889Smrg	set_cc_for_build
530efb46889Smrg	sed 's/^	//' << EOF > "$dummy.c"
531692f60a7Smrg#ifdef __cplusplus
532692f60a7Smrg#include <stdio.h>  /* for printf() prototype */
533692f60a7Smrg	int main (int argc, char *argv[]) {
534692f60a7Smrg#else
535692f60a7Smrg	int main (argc, argv) int argc; char *argv[]; {
536692f60a7Smrg#endif
537692f60a7Smrg	#if defined (host_mips) && defined (MIPSEB)
538692f60a7Smrg	#if defined (SYSTYPE_SYSV)
539efb46889Smrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
540692f60a7Smrg	#endif
541692f60a7Smrg	#if defined (SYSTYPE_SVR4)
542efb46889Smrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
543692f60a7Smrg	#endif
544692f60a7Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
545efb46889Smrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
546692f60a7Smrg	#endif
547692f60a7Smrg	#endif
548692f60a7Smrg	  exit (-1);
549692f60a7Smrg	}
550692f60a7SmrgEOF
551efb46889Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
552efb46889Smrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
553efb46889Smrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
55454569438Smrg	    { echo "$SYSTEM_NAME"; exit; }
555efb46889Smrg	GUESS=mips-mips-riscos$UNAME_RELEASE
556efb46889Smrg	;;
557692f60a7Smrg    Motorola:PowerMAX_OS:*:*)
558efb46889Smrg	GUESS=powerpc-motorola-powermax
559efb46889Smrg	;;
560692f60a7Smrg    Motorola:*:4.3:PL8-*)
561efb46889Smrg	GUESS=powerpc-harris-powermax
562efb46889Smrg	;;
563692f60a7Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
564efb46889Smrg	GUESS=powerpc-harris-powermax
565efb46889Smrg	;;
566692f60a7Smrg    Night_Hawk:Power_UNIX:*:*)
567efb46889Smrg	GUESS=powerpc-harris-powerunix
568efb46889Smrg	;;
569692f60a7Smrg    m88k:CX/UX:7*:*)
570efb46889Smrg	GUESS=m88k-harris-cxux7
571efb46889Smrg	;;
572692f60a7Smrg    m88k:*:4*:R4*)
573efb46889Smrg	GUESS=m88k-motorola-sysv4
574efb46889Smrg	;;
575692f60a7Smrg    m88k:*:3*:R3*)
576efb46889Smrg	GUESS=m88k-motorola-sysv3
577efb46889Smrg	;;
578692f60a7Smrg    AViiON:dgux:*:*)
5793f6d0e1dSmrg	# DG/UX returns AViiON for all architectures
5803f6d0e1dSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
581efb46889Smrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
582692f60a7Smrg	then
583efb46889Smrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
584efb46889Smrg	       test "$TARGET_BINARY_INTERFACE"x = x
585692f60a7Smrg	    then
586efb46889Smrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
587692f60a7Smrg	    else
588efb46889Smrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
589692f60a7Smrg	    fi
590692f60a7Smrg	else
591efb46889Smrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
592692f60a7Smrg	fi
593efb46889Smrg	;;
594692f60a7Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
595efb46889Smrg	GUESS=m88k-dolphin-sysv3
596efb46889Smrg	;;
597692f60a7Smrg    M88*:*:R3*:*)
598692f60a7Smrg	# Delta 88k system running SVR3
599efb46889Smrg	GUESS=m88k-motorola-sysv3
600efb46889Smrg	;;
601692f60a7Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
602efb46889Smrg	GUESS=m88k-tektronix-sysv3
603efb46889Smrg	;;
604692f60a7Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
605efb46889Smrg	GUESS=m68k-tektronix-bsd
606efb46889Smrg	;;
607692f60a7Smrg    *:IRIX*:*:*)
608efb46889Smrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
609efb46889Smrg	GUESS=mips-sgi-irix$IRIX_REL
610efb46889Smrg	;;
611692f60a7Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
612efb46889Smrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
613efb46889Smrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
614692f60a7Smrg    i*86:AIX:*:*)
615efb46889Smrg	GUESS=i386-ibm-aix
616efb46889Smrg	;;
617692f60a7Smrg    ia64:AIX:*:*)
618efb46889Smrg	if test -x /usr/bin/oslevel ; then
619692f60a7Smrg		IBM_REV=`/usr/bin/oslevel`
620692f60a7Smrg	else
621efb46889Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
622692f60a7Smrg	fi
623efb46889Smrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
624efb46889Smrg	;;
625692f60a7Smrg    *:AIX:2:3)
626692f60a7Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
627efb46889Smrg		set_cc_for_build
628efb46889Smrg		sed 's/^		//' << EOF > "$dummy.c"
629692f60a7Smrg		#include <sys/systemcfg.h>
630692f60a7Smrg
631692f60a7Smrg		main()
632692f60a7Smrg			{
633692f60a7Smrg			if (!__power_pc())
634692f60a7Smrg				exit(1);
635692f60a7Smrg			puts("powerpc-ibm-aix3.2.5");
636692f60a7Smrg			exit(0);
637692f60a7Smrg			}
638692f60a7SmrgEOF
639efb46889Smrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
64054569438Smrg		then
641efb46889Smrg			GUESS=$SYSTEM_NAME
64254569438Smrg		else
643efb46889Smrg			GUESS=rs6000-ibm-aix3.2.5
64454569438Smrg		fi
645692f60a7Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
646efb46889Smrg		GUESS=rs6000-ibm-aix3.2.4
647692f60a7Smrg	else
648efb46889Smrg		GUESS=rs6000-ibm-aix3.2
649692f60a7Smrg	fi
650efb46889Smrg	;;
6513f6d0e1dSmrg    *:AIX:*:[4567])
652692f60a7Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
653efb46889Smrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
654692f60a7Smrg		IBM_ARCH=rs6000
655692f60a7Smrg	else
656692f60a7Smrg		IBM_ARCH=powerpc
657692f60a7Smrg	fi
658efb46889Smrg	if test -x /usr/bin/lslpp ; then
659efb46889Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
6602f60eb46Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
661692f60a7Smrg	else
662efb46889Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
663692f60a7Smrg	fi
664efb46889Smrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
665efb46889Smrg	;;
666692f60a7Smrg    *:AIX:*:*)
667efb46889Smrg	GUESS=rs6000-ibm-aix
668efb46889Smrg	;;
669efb46889Smrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
670efb46889Smrg	GUESS=romp-ibm-bsd4.4
671efb46889Smrg	;;
672692f60a7Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
673efb46889Smrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
674efb46889Smrg	;;                                  # report: romp-ibm BSD 4.3
675692f60a7Smrg    *:BOSX:*:*)
676efb46889Smrg	GUESS=rs6000-bull-bosx
677efb46889Smrg	;;
678692f60a7Smrg    DPX/2?00:B.O.S.:*:*)
679efb46889Smrg	GUESS=m68k-bull-sysv3
680efb46889Smrg	;;
681692f60a7Smrg    9000/[34]??:4.3bsd:1.*:*)
682efb46889Smrg	GUESS=m68k-hp-bsd
683efb46889Smrg	;;
684692f60a7Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
685efb46889Smrg	GUESS=m68k-hp-bsd4.4
686efb46889Smrg	;;
687692f60a7Smrg    9000/[34678]??:HP-UX:*:*)
688efb46889Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
689efb46889Smrg	case $UNAME_MACHINE in
690efb46889Smrg	    9000/31?)            HP_ARCH=m68000 ;;
691efb46889Smrg	    9000/[34]??)         HP_ARCH=m68k ;;
692692f60a7Smrg	    9000/[678][0-9][0-9])
693efb46889Smrg		if test -x /usr/bin/getconf; then
694692f60a7Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
6953f6d0e1dSmrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
696efb46889Smrg		    case $sc_cpu_version in
697efb46889Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
698efb46889Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
6993f6d0e1dSmrg		      532)                      # CPU_PA_RISC2_0
700efb46889Smrg			case $sc_kernel_bits in
701efb46889Smrg			  32) HP_ARCH=hppa2.0n ;;
702efb46889Smrg			  64) HP_ARCH=hppa2.0w ;;
703efb46889Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
7043f6d0e1dSmrg			esac ;;
7053f6d0e1dSmrg		    esac
706692f60a7Smrg		fi
707efb46889Smrg		if test "$HP_ARCH" = ""; then
708efb46889Smrg		    set_cc_for_build
709efb46889Smrg		    sed 's/^		//' << EOF > "$dummy.c"
710692f60a7Smrg
7113f6d0e1dSmrg		#define _HPUX_SOURCE
7123f6d0e1dSmrg		#include <stdlib.h>
7133f6d0e1dSmrg		#include <unistd.h>
714692f60a7Smrg
7153f6d0e1dSmrg		int main ()
7163f6d0e1dSmrg		{
7173f6d0e1dSmrg		#if defined(_SC_KERNEL_BITS)
7183f6d0e1dSmrg		    long bits = sysconf(_SC_KERNEL_BITS);
7193f6d0e1dSmrg		#endif
7203f6d0e1dSmrg		    long cpu  = sysconf (_SC_CPU_VERSION);
721692f60a7Smrg
7223f6d0e1dSmrg		    switch (cpu)
7233f6d0e1dSmrg			{
7243f6d0e1dSmrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
7253f6d0e1dSmrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
7263f6d0e1dSmrg			case CPU_PA_RISC2_0:
7273f6d0e1dSmrg		#if defined(_SC_KERNEL_BITS)
7283f6d0e1dSmrg			    switch (bits)
7293f6d0e1dSmrg				{
7303f6d0e1dSmrg				case 64: puts ("hppa2.0w"); break;
7313f6d0e1dSmrg				case 32: puts ("hppa2.0n"); break;
7323f6d0e1dSmrg				default: puts ("hppa2.0"); break;
7333f6d0e1dSmrg				} break;
7343f6d0e1dSmrg		#else  /* !defined(_SC_KERNEL_BITS) */
7353f6d0e1dSmrg			    puts ("hppa2.0"); break;
7363f6d0e1dSmrg		#endif
7373f6d0e1dSmrg			default: puts ("hppa1.0"); break;
7383f6d0e1dSmrg			}
7393f6d0e1dSmrg		    exit (0);
7403f6d0e1dSmrg		}
741692f60a7SmrgEOF
742efb46889Smrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
743692f60a7Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
744692f60a7Smrg		fi ;;
745692f60a7Smrg	esac
746efb46889Smrg	if test "$HP_ARCH" = hppa2.0w
747692f60a7Smrg	then
748efb46889Smrg	    set_cc_for_build
74954569438Smrg
75054569438Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
75154569438Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
75254569438Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
75354569438Smrg	    #
75454569438Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
75554569438Smrg	    # => hppa2.0w-hp-hpux11.23
75654569438Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
75754569438Smrg	    # => hppa64-hp-hpux11.23
75854569438Smrg
759efb46889Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
7603f6d0e1dSmrg		grep -q __LP64__
761692f60a7Smrg	    then
762efb46889Smrg		HP_ARCH=hppa2.0w
763692f60a7Smrg	    else
764efb46889Smrg		HP_ARCH=hppa64
765692f60a7Smrg	    fi
766692f60a7Smrg	fi
767efb46889Smrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
768efb46889Smrg	;;
769692f60a7Smrg    ia64:HP-UX:*:*)
770efb46889Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
771efb46889Smrg	GUESS=ia64-hp-hpux$HPUX_REV
772efb46889Smrg	;;
773692f60a7Smrg    3050*:HI-UX:*:*)
774efb46889Smrg	set_cc_for_build
775efb46889Smrg	sed 's/^	//' << EOF > "$dummy.c"
776692f60a7Smrg	#include <unistd.h>
777692f60a7Smrg	int
778692f60a7Smrg	main ()
779692f60a7Smrg	{
780692f60a7Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
781692f60a7Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
782692f60a7Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
783692f60a7Smrg	     results, however.  */
784692f60a7Smrg	  if (CPU_IS_PA_RISC (cpu))
785692f60a7Smrg	    {
786692f60a7Smrg	      switch (cpu)
787692f60a7Smrg		{
788692f60a7Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
789692f60a7Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
790692f60a7Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
791692f60a7Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
792692f60a7Smrg		}
793692f60a7Smrg	    }
794692f60a7Smrg	  else if (CPU_IS_HP_MC68K (cpu))
795692f60a7Smrg	    puts ("m68k-hitachi-hiuxwe2");
796692f60a7Smrg	  else puts ("unknown-hitachi-hiuxwe2");
797692f60a7Smrg	  exit (0);
798692f60a7Smrg	}
799692f60a7SmrgEOF
800efb46889Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
80154569438Smrg		{ echo "$SYSTEM_NAME"; exit; }
802efb46889Smrg	GUESS=unknown-hitachi-hiuxwe2
803efb46889Smrg	;;
804efb46889Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
805efb46889Smrg	GUESS=hppa1.1-hp-bsd
806efb46889Smrg	;;
807692f60a7Smrg    9000/8??:4.3bsd:*:*)
808efb46889Smrg	GUESS=hppa1.0-hp-bsd
809efb46889Smrg	;;
810692f60a7Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
811efb46889Smrg	GUESS=hppa1.0-hp-mpeix
812efb46889Smrg	;;
813efb46889Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
814efb46889Smrg	GUESS=hppa1.1-hp-osf
815efb46889Smrg	;;
816692f60a7Smrg    hp8??:OSF1:*:*)
817efb46889Smrg	GUESS=hppa1.0-hp-osf
818efb46889Smrg	;;
819692f60a7Smrg    i*86:OSF1:*:*)
820efb46889Smrg	if test -x /usr/sbin/sysversion ; then
821efb46889Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
822692f60a7Smrg	else
823efb46889Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1
824692f60a7Smrg	fi
825efb46889Smrg	;;
826692f60a7Smrg    parisc*:Lites*:*:*)
827efb46889Smrg	GUESS=hppa1.1-hp-lites
828efb46889Smrg	;;
829692f60a7Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
830efb46889Smrg	GUESS=c1-convex-bsd
831efb46889Smrg	;;
832692f60a7Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
833692f60a7Smrg	if getsysinfo -f scalar_acc
834692f60a7Smrg	then echo c32-convex-bsd
835692f60a7Smrg	else echo c2-convex-bsd
836692f60a7Smrg	fi
8373f6d0e1dSmrg	exit ;;
838692f60a7Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
839efb46889Smrg	GUESS=c34-convex-bsd
840efb46889Smrg	;;
841692f60a7Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
842efb46889Smrg	GUESS=c38-convex-bsd
843efb46889Smrg	;;
844692f60a7Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
845efb46889Smrg	GUESS=c4-convex-bsd
846efb46889Smrg	;;
847692f60a7Smrg    CRAY*Y-MP:*:*:*)
848efb46889Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
849efb46889Smrg	GUESS=ymp-cray-unicos$CRAY_REL
850efb46889Smrg	;;
851692f60a7Smrg    CRAY*[A-Z]90:*:*:*)
852efb46889Smrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
853692f60a7Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
854692f60a7Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
855692f60a7Smrg	      -e 's/\.[^.]*$/.X/'
85654569438Smrg	exit ;;
857692f60a7Smrg    CRAY*TS:*:*:*)
858efb46889Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
859efb46889Smrg	GUESS=t90-cray-unicos$CRAY_REL
860efb46889Smrg	;;
861692f60a7Smrg    CRAY*T3E:*:*:*)
862efb46889Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
863efb46889Smrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
864efb46889Smrg	;;
865692f60a7Smrg    CRAY*SV1:*:*:*)
866efb46889Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867efb46889Smrg	GUESS=sv1-cray-unicos$CRAY_REL
868efb46889Smrg	;;
869692f60a7Smrg    *:UNICOS/mp:*:*)
870efb46889Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871efb46889Smrg	GUESS=craynv-cray-unicosmp$CRAY_REL
872efb46889Smrg	;;
873692f60a7Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
874efb46889Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
875efb46889Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
876efb46889Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
877efb46889Smrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
878efb46889Smrg	;;
87954569438Smrg    5000:UNIX_System_V:4.*:*)
880efb46889Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
881efb46889Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
882efb46889Smrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
883efb46889Smrg	;;
884692f60a7Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
885efb46889Smrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
886efb46889Smrg	;;
887692f60a7Smrg    sparc*:BSD/OS:*:*)
888efb46889Smrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
889efb46889Smrg	;;
890692f60a7Smrg    *:BSD/OS:*:*)
891efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
892efb46889Smrg	;;
893efb46889Smrg    arm:FreeBSD:*:*)
894efb46889Smrg	UNAME_PROCESSOR=`uname -p`
895efb46889Smrg	set_cc_for_build
896efb46889Smrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
897efb46889Smrg	    | grep -q __ARM_PCS_VFP
898efb46889Smrg	then
899efb46889Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
900efb46889Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
901efb46889Smrg	else
902efb46889Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
903efb46889Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
904efb46889Smrg	fi
905efb46889Smrg	;;
90654569438Smrg    *:FreeBSD:*:*)
9073f6d0e1dSmrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
908efb46889Smrg	case $UNAME_PROCESSOR in
90954569438Smrg	    amd64)
910efb46889Smrg		UNAME_PROCESSOR=x86_64 ;;
911efb46889Smrg	    i386)
912efb46889Smrg		UNAME_PROCESSOR=i586 ;;
91354569438Smrg	esac
914efb46889Smrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
915efb46889Smrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
916efb46889Smrg	;;
917692f60a7Smrg    i*:CYGWIN*:*)
918efb46889Smrg	GUESS=$UNAME_MACHINE-pc-cygwin
919efb46889Smrg	;;
920eaa3dbe0Smrg    *:MINGW64*:*)
921efb46889Smrg	GUESS=$UNAME_MACHINE-pc-mingw64
922efb46889Smrg	;;
92354569438Smrg    *:MINGW*:*)
924efb46889Smrg	GUESS=$UNAME_MACHINE-pc-mingw32
925efb46889Smrg	;;
92695903e71Smrg    *:MSYS*:*)
927efb46889Smrg	GUESS=$UNAME_MACHINE-pc-msys
928efb46889Smrg	;;
929692f60a7Smrg    i*:PW*:*)
930efb46889Smrg	GUESS=$UNAME_MACHINE-pc-pw32
931efb46889Smrg	;;
932efb46889Smrg    *:SerenityOS:*:*)
933efb46889Smrg        GUESS=$UNAME_MACHINE-pc-serenity
934efb46889Smrg        ;;
9353f6d0e1dSmrg    *:Interix*:*)
936efb46889Smrg	case $UNAME_MACHINE in
93754569438Smrg	    x86)
938efb46889Smrg		GUESS=i586-pc-interix$UNAME_RELEASE
939efb46889Smrg		;;
9403f6d0e1dSmrg	    authenticamd | genuineintel | EM64T)
941efb46889Smrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
942efb46889Smrg		;;
94354569438Smrg	    IA64)
944efb46889Smrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
945efb46889Smrg		;;
94654569438Smrg	esac ;;
947692f60a7Smrg    i*:UWIN*:*)
948efb46889Smrg	GUESS=$UNAME_MACHINE-pc-uwin
949efb46889Smrg	;;
95054569438Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
951efb46889Smrg	GUESS=x86_64-pc-cygwin
952efb46889Smrg	;;
953692f60a7Smrg    prep*:SunOS:5.*:*)
954efb46889Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
955efb46889Smrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
956efb46889Smrg	;;
957692f60a7Smrg    *:GNU:*:*)
95854569438Smrg	# the GNU system
959efb46889Smrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
960efb46889Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
961efb46889Smrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
962efb46889Smrg	;;
96354569438Smrg    *:GNU/*:*:*)
96454569438Smrg	# other systems with GNU libc and userland
965efb46889Smrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
966efb46889Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
967efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
968efb46889Smrg	;;
969efb46889Smrg    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
970efb46889Smrg	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
971efb46889Smrg	;;
972efb46889Smrg    *:[Mm]anagarm:*:*)
973efb46889Smrg	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
974efb46889Smrg	;;
975efb46889Smrg    *:Minix:*:*)
976efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-minix
977efb46889Smrg	;;
978eaa3dbe0Smrg    aarch64:Linux:*:*)
979efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
980efb46889Smrg	;;
981eaa3dbe0Smrg    aarch64_be:Linux:*:*)
982eaa3dbe0Smrg	UNAME_MACHINE=aarch64_be
983efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
984efb46889Smrg	;;
9853f6d0e1dSmrg    alpha:Linux:*:*)
986efb46889Smrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
9873f6d0e1dSmrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
9883f6d0e1dSmrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
9893f6d0e1dSmrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
9903f6d0e1dSmrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
9913f6d0e1dSmrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
9923f6d0e1dSmrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
9933f6d0e1dSmrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
9943f6d0e1dSmrg	esac
9953f6d0e1dSmrg	objdump --private-headers /bin/sh | grep -q ld.so.1
996efb46889Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
997efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
998efb46889Smrg	;;
999efb46889Smrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1000efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1001efb46889Smrg	;;
1002692f60a7Smrg    arm*:Linux:*:*)
1003efb46889Smrg	set_cc_for_build
100454569438Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
100554569438Smrg	    | grep -q __ARM_EABI__
100654569438Smrg	then
1007efb46889Smrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
100854569438Smrg	else
10093f6d0e1dSmrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
10103f6d0e1dSmrg		| grep -q __ARM_PCS_VFP
10113f6d0e1dSmrg	    then
1012efb46889Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
10133f6d0e1dSmrg	    else
1014efb46889Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
10153f6d0e1dSmrg	    fi
101654569438Smrg	fi
1017efb46889Smrg	;;
101854569438Smrg    avr32*:Linux:*:*)
1019efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1020efb46889Smrg	;;
1021692f60a7Smrg    cris:Linux:*:*)
1022efb46889Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1023efb46889Smrg	;;
102454569438Smrg    crisv32:Linux:*:*)
1025efb46889Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1026efb46889Smrg	;;
10272f60eb46Smrg    e2k:Linux:*:*)
1028efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029efb46889Smrg	;;
103054569438Smrg    frv:Linux:*:*)
1031efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1032efb46889Smrg	;;
10333f6d0e1dSmrg    hexagon:Linux:*:*)
1034efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1035efb46889Smrg	;;
10363f6d0e1dSmrg    i*86:Linux:*:*)
1037efb46889Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1038efb46889Smrg	;;
1039692f60a7Smrg    ia64:Linux:*:*)
1040efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1041efb46889Smrg	;;
1042efb46889Smrg    k1om:Linux:*:*)
1043efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1044efb46889Smrg	;;
1045efb46889Smrg    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1046efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1047efb46889Smrg	;;
104854569438Smrg    m32r*:Linux:*:*)
1049efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1050efb46889Smrg	;;
1051692f60a7Smrg    m68*:Linux:*:*)
1052efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1053efb46889Smrg	;;
10543f6d0e1dSmrg    mips:Linux:*:* | mips64:Linux:*:*)
1055efb46889Smrg	set_cc_for_build
1056efb46889Smrg	IS_GLIBC=0
1057efb46889Smrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
1058efb46889Smrg	sed 's/^	//' << EOF > "$dummy.c"
1059692f60a7Smrg	#undef CPU
1060efb46889Smrg	#undef mips
1061efb46889Smrg	#undef mipsel
1062efb46889Smrg	#undef mips64
1063efb46889Smrg	#undef mips64el
1064efb46889Smrg	#if ${IS_GLIBC} && defined(_ABI64)
1065efb46889Smrg	LIBCABI=gnuabi64
1066efb46889Smrg	#else
1067efb46889Smrg	#if ${IS_GLIBC} && defined(_ABIN32)
1068efb46889Smrg	LIBCABI=gnuabin32
1069efb46889Smrg	#else
1070efb46889Smrg	LIBCABI=${LIBC}
1071efb46889Smrg	#endif
1072efb46889Smrg	#endif
1073efb46889Smrg
1074efb46889Smrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1075efb46889Smrg	CPU=mipsisa64r6
1076efb46889Smrg	#else
1077efb46889Smrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1078efb46889Smrg	CPU=mipsisa32r6
1079efb46889Smrg	#else
1080efb46889Smrg	#if defined(__mips64)
1081efb46889Smrg	CPU=mips64
1082efb46889Smrg	#else
1083efb46889Smrg	CPU=mips
1084efb46889Smrg	#endif
1085efb46889Smrg	#endif
1086efb46889Smrg	#endif
1087efb46889Smrg
1088692f60a7Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1089efb46889Smrg	MIPS_ENDIAN=el
1090692f60a7Smrg	#else
1091692f60a7Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1092efb46889Smrg	MIPS_ENDIAN=
1093692f60a7Smrg	#else
1094efb46889Smrg	MIPS_ENDIAN=
1095692f60a7Smrg	#endif
1096692f60a7Smrg	#endif
1097692f60a7SmrgEOF
1098efb46889Smrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1099efb46889Smrg	eval "$cc_set_vars"
1100efb46889Smrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1101efb46889Smrg	;;
1102efb46889Smrg    mips64el:Linux:*:*)
1103efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1104692f60a7Smrg	;;
110595903e71Smrg    openrisc*:Linux:*:*)
1106efb46889Smrg	GUESS=or1k-unknown-linux-$LIBC
1107efb46889Smrg	;;
110895903e71Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
1109efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1110efb46889Smrg	;;
11113f6d0e1dSmrg    padre:Linux:*:*)
1112efb46889Smrg	GUESS=sparc-unknown-linux-$LIBC
1113efb46889Smrg	;;
11143f6d0e1dSmrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
1115efb46889Smrg	GUESS=hppa64-unknown-linux-$LIBC
1116efb46889Smrg	;;
1117692f60a7Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
1118692f60a7Smrg	# Look for CPU level
1119692f60a7Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1120efb46889Smrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1121efb46889Smrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1122efb46889Smrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
1123692f60a7Smrg	esac
1124efb46889Smrg	;;
11253f6d0e1dSmrg    ppc64:Linux:*:*)
1126efb46889Smrg	GUESS=powerpc64-unknown-linux-$LIBC
1127efb46889Smrg	;;
11283f6d0e1dSmrg    ppc:Linux:*:*)
1129efb46889Smrg	GUESS=powerpc-unknown-linux-$LIBC
1130efb46889Smrg	;;
113195903e71Smrg    ppc64le:Linux:*:*)
1132efb46889Smrg	GUESS=powerpc64le-unknown-linux-$LIBC
1133efb46889Smrg	;;
113495903e71Smrg    ppcle:Linux:*:*)
1135efb46889Smrg	GUESS=powerpcle-unknown-linux-$LIBC
1136efb46889Smrg	;;
1137efb46889Smrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1138efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139efb46889Smrg	;;
1140692f60a7Smrg    s390:Linux:*:* | s390x:Linux:*:*)
1141efb46889Smrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1142efb46889Smrg	;;
1143692f60a7Smrg    sh64*:Linux:*:*)
1144efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145efb46889Smrg	;;
1146692f60a7Smrg    sh*:Linux:*:*)
1147efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1148efb46889Smrg	;;
1149692f60a7Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
1150efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1151efb46889Smrg	;;
11523f6d0e1dSmrg    tile*:Linux:*:*)
1153efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1154efb46889Smrg	;;
115554569438Smrg    vax:Linux:*:*)
1156efb46889Smrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1157efb46889Smrg	;;
1158692f60a7Smrg    x86_64:Linux:*:*)
1159efb46889Smrg	set_cc_for_build
1160efb46889Smrg	CPU=$UNAME_MACHINE
1161efb46889Smrg	LIBCABI=$LIBC
1162efb46889Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1163efb46889Smrg	    ABI=64
1164efb46889Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
1165efb46889Smrg	    #ifdef __i386__
1166efb46889Smrg	    ABI=x86
1167efb46889Smrg	    #else
1168efb46889Smrg	    #ifdef __ILP32__
1169efb46889Smrg	    ABI=x32
1170efb46889Smrg	    #endif
1171efb46889Smrg	    #endif
1172efb46889SmrgEOF
1173efb46889Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1174efb46889Smrg	    eval "$cc_set_abi"
1175efb46889Smrg	    case $ABI in
1176efb46889Smrg		x86) CPU=i686 ;;
1177efb46889Smrg		x32) LIBCABI=${LIBC}x32 ;;
1178efb46889Smrg	    esac
1179efb46889Smrg	fi
1180efb46889Smrg	GUESS=$CPU-pc-linux-$LIBCABI
1181efb46889Smrg	;;
118254569438Smrg    xtensa*:Linux:*:*)
1183efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1184efb46889Smrg	;;
1185692f60a7Smrg    i*86:DYNIX/ptx:4*:*)
1186692f60a7Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1187692f60a7Smrg	# earlier versions are messed up and put the nodename in both
1188692f60a7Smrg	# sysname and nodename.
1189efb46889Smrg	GUESS=i386-sequent-sysv4
1190efb46889Smrg	;;
1191692f60a7Smrg    i*86:UNIX_SV:4.2MP:2.*)
11923f6d0e1dSmrg	# Unixware is an offshoot of SVR4, but it has its own version
11933f6d0e1dSmrg	# number series starting with 2...
11943f6d0e1dSmrg	# I am not positive that other SVR4 systems won't match this,
1195692f60a7Smrg	# I just have to hope.  -- rms.
11963f6d0e1dSmrg	# Use sysv4.2uw... so that sysv4* matches it.
1197efb46889Smrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1198efb46889Smrg	;;
1199692f60a7Smrg    i*86:OS/2:*:*)
1200692f60a7Smrg	# If we were able to find `uname', then EMX Unix compatibility
1201692f60a7Smrg	# is probably installed.
1202efb46889Smrg	GUESS=$UNAME_MACHINE-pc-os2-emx
1203efb46889Smrg	;;
1204692f60a7Smrg    i*86:XTS-300:*:STOP)
1205efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-stop
1206efb46889Smrg	;;
1207692f60a7Smrg    i*86:atheos:*:*)
1208efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-atheos
1209efb46889Smrg	;;
121054569438Smrg    i*86:syllable:*:*)
1211efb46889Smrg	GUESS=$UNAME_MACHINE-pc-syllable
1212efb46889Smrg	;;
12133f6d0e1dSmrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1214efb46889Smrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1215efb46889Smrg	;;
1216692f60a7Smrg    i*86:*DOS:*:*)
1217efb46889Smrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1218efb46889Smrg	;;
1219efb46889Smrg    i*86:*:4.*:*)
1220efb46889Smrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1221692f60a7Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1222efb46889Smrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1223692f60a7Smrg	else
1224efb46889Smrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1225692f60a7Smrg	fi
1226efb46889Smrg	;;
122754569438Smrg    i*86:*:5:[678]*)
12283f6d0e1dSmrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1229692f60a7Smrg	case `/bin/uname -X | grep "^Machine"` in
1230692f60a7Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1231692f60a7Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1232692f60a7Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1233692f60a7Smrg	esac
1234efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1235efb46889Smrg	;;
1236692f60a7Smrg    i*86:*:3.2:*)
1237692f60a7Smrg	if test -f /usr/options/cb.name; then
1238692f60a7Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1239efb46889Smrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1240692f60a7Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1241692f60a7Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1242692f60a7Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1243692f60a7Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1244692f60a7Smrg			&& UNAME_MACHINE=i586
1245692f60a7Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1246692f60a7Smrg			&& UNAME_MACHINE=i686
1247692f60a7Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1248692f60a7Smrg			&& UNAME_MACHINE=i686
1249efb46889Smrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1250692f60a7Smrg	else
1251efb46889Smrg		GUESS=$UNAME_MACHINE-pc-sysv32
1252692f60a7Smrg	fi
1253efb46889Smrg	;;
1254692f60a7Smrg    pc:*:*:*)
1255692f60a7Smrg	# Left here for compatibility:
12563f6d0e1dSmrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
12573f6d0e1dSmrg	# the processor, so we play safe by assuming i586.
12583f6d0e1dSmrg	# Note: whatever this is, it MUST be the same as what config.sub
1259efb46889Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
12603f6d0e1dSmrg	# this is a cross-build.
1261efb46889Smrg	GUESS=i586-pc-msdosdjgpp
1262efb46889Smrg	;;
1263692f60a7Smrg    Intel:Mach:3*:*)
1264efb46889Smrg	GUESS=i386-pc-mach3
1265efb46889Smrg	;;
1266692f60a7Smrg    paragon:*:*:*)
1267efb46889Smrg	GUESS=i860-intel-osf1
1268efb46889Smrg	;;
1269692f60a7Smrg    i860:*:4.*:*) # i860-SVR4
1270692f60a7Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1271efb46889Smrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
1272692f60a7Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1273efb46889Smrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
1274692f60a7Smrg	fi
1275efb46889Smrg	;;
1276692f60a7Smrg    mini*:CTIX:SYS*5:*)
1277692f60a7Smrg	# "miniframe"
1278efb46889Smrg	GUESS=m68010-convergent-sysv
1279efb46889Smrg	;;
1280692f60a7Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1281efb46889Smrg	GUESS=m68k-convergent-sysv
1282efb46889Smrg	;;
1283692f60a7Smrg    M680?0:D-NIX:5.3:*)
1284efb46889Smrg	GUESS=m68k-diab-dnix
1285efb46889Smrg	;;
128654569438Smrg    M68*:*:R3V[5678]*:*)
128754569438Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
128854569438Smrg    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)
1289692f60a7Smrg	OS_REL=''
1290692f60a7Smrg	test -r /etc/.relid \
1291692f60a7Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1292692f60a7Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1293efb46889Smrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1294692f60a7Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1295efb46889Smrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1296692f60a7Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
12973f6d0e1dSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
12983f6d0e1dSmrg	  && { echo i486-ncr-sysv4; exit; } ;;
12993f6d0e1dSmrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
13003f6d0e1dSmrg	OS_REL='.3'
13013f6d0e1dSmrg	test -r /etc/.relid \
13023f6d0e1dSmrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
13033f6d0e1dSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1304efb46889Smrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
13053f6d0e1dSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1306efb46889Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
13073f6d0e1dSmrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1308efb46889Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1309692f60a7Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1310efb46889Smrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1311efb46889Smrg	;;
1312692f60a7Smrg    mc68030:UNIX_System_V:4.*:*)
1313efb46889Smrg	GUESS=m68k-atari-sysv4
1314efb46889Smrg	;;
1315692f60a7Smrg    TSUNAMI:LynxOS:2.*:*)
1316efb46889Smrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1317efb46889Smrg	;;
1318692f60a7Smrg    rs6000:LynxOS:2.*:*)
1319efb46889Smrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1320efb46889Smrg	;;
13213f6d0e1dSmrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1322efb46889Smrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1323efb46889Smrg	;;
1324692f60a7Smrg    SM[BE]S:UNIX_SV:*:*)
1325efb46889Smrg	GUESS=mips-dde-sysv$UNAME_RELEASE
1326efb46889Smrg	;;
1327692f60a7Smrg    RM*:ReliantUNIX-*:*:*)
1328efb46889Smrg	GUESS=mips-sni-sysv4
1329efb46889Smrg	;;
1330692f60a7Smrg    RM*:SINIX-*:*:*)
1331efb46889Smrg	GUESS=mips-sni-sysv4
1332efb46889Smrg	;;
1333692f60a7Smrg    *:SINIX-*:*:*)
1334692f60a7Smrg	if uname -p 2>/dev/null >/dev/null ; then
1335692f60a7Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1336efb46889Smrg		GUESS=$UNAME_MACHINE-sni-sysv4
1337692f60a7Smrg	else
1338efb46889Smrg		GUESS=ns32k-sni-sysv
1339692f60a7Smrg	fi
1340efb46889Smrg	;;
13413f6d0e1dSmrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
13423f6d0e1dSmrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1343efb46889Smrg	GUESS=i586-unisys-sysv4
1344efb46889Smrg	;;
1345692f60a7Smrg    *:UNIX_System_V:4*:FTX*)
1346692f60a7Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1347692f60a7Smrg	# How about differentiating between stratus architectures? -djm
1348efb46889Smrg	GUESS=hppa1.1-stratus-sysv4
1349efb46889Smrg	;;
1350692f60a7Smrg    *:*:*:FTX*)
1351692f60a7Smrg	# From seanf@swdc.stratus.com.
1352efb46889Smrg	GUESS=i860-stratus-sysv4
1353efb46889Smrg	;;
135454569438Smrg    i*86:VOS:*:*)
135554569438Smrg	# From Paul.Green@stratus.com.
1356efb46889Smrg	GUESS=$UNAME_MACHINE-stratus-vos
1357efb46889Smrg	;;
1358692f60a7Smrg    *:VOS:*:*)
1359692f60a7Smrg	# From Paul.Green@stratus.com.
1360efb46889Smrg	GUESS=hppa1.1-stratus-vos
1361efb46889Smrg	;;
1362692f60a7Smrg    mc68*:A/UX:*:*)
1363efb46889Smrg	GUESS=m68k-apple-aux$UNAME_RELEASE
1364efb46889Smrg	;;
1365692f60a7Smrg    news*:NEWS-OS:6*:*)
1366efb46889Smrg	GUESS=mips-sony-newsos6
1367efb46889Smrg	;;
1368692f60a7Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1369efb46889Smrg	if test -d /usr/nec; then
1370efb46889Smrg		GUESS=mips-nec-sysv$UNAME_RELEASE
1371692f60a7Smrg	else
1372efb46889Smrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
1373692f60a7Smrg	fi
1374efb46889Smrg	;;
1375692f60a7Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1376efb46889Smrg	GUESS=powerpc-be-beos
1377efb46889Smrg	;;
1378692f60a7Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1379efb46889Smrg	GUESS=powerpc-apple-beos
1380efb46889Smrg	;;
1381692f60a7Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1382efb46889Smrg	GUESS=i586-pc-beos
1383efb46889Smrg	;;
13843f6d0e1dSmrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1385efb46889Smrg	GUESS=i586-pc-haiku
1386efb46889Smrg	;;
1387efb46889Smrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
1388efb46889Smrg	GUESS=powerpc-apple-haiku
1389efb46889Smrg	;;
1390efb46889Smrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
1391efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-haiku
1392efb46889Smrg	;;
1393692f60a7Smrg    SX-4:SUPER-UX:*:*)
1394efb46889Smrg	GUESS=sx4-nec-superux$UNAME_RELEASE
1395efb46889Smrg	;;
1396692f60a7Smrg    SX-5:SUPER-UX:*:*)
1397efb46889Smrg	GUESS=sx5-nec-superux$UNAME_RELEASE
1398efb46889Smrg	;;
1399692f60a7Smrg    SX-6:SUPER-UX:*:*)
1400efb46889Smrg	GUESS=sx6-nec-superux$UNAME_RELEASE
1401efb46889Smrg	;;
140254569438Smrg    SX-7:SUPER-UX:*:*)
1403efb46889Smrg	GUESS=sx7-nec-superux$UNAME_RELEASE
1404efb46889Smrg	;;
140554569438Smrg    SX-8:SUPER-UX:*:*)
1406efb46889Smrg	GUESS=sx8-nec-superux$UNAME_RELEASE
1407efb46889Smrg	;;
140854569438Smrg    SX-8R:SUPER-UX:*:*)
1409efb46889Smrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
1410efb46889Smrg	;;
1411efb46889Smrg    SX-ACE:SUPER-UX:*:*)
1412efb46889Smrg	GUESS=sxace-nec-superux$UNAME_RELEASE
1413efb46889Smrg	;;
1414692f60a7Smrg    Power*:Rhapsody:*:*)
1415efb46889Smrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1416efb46889Smrg	;;
1417692f60a7Smrg    *:Rhapsody:*:*)
1418efb46889Smrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1419efb46889Smrg	;;
1420efb46889Smrg    arm64:Darwin:*:*)
1421efb46889Smrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1422efb46889Smrg	;;
1423692f60a7Smrg    *:Darwin:*:*)
1424efb46889Smrg	UNAME_PROCESSOR=`uname -p`
1425efb46889Smrg	case $UNAME_PROCESSOR in
1426efb46889Smrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1427efb46889Smrg	esac
1428efb46889Smrg	if command -v xcode-select > /dev/null 2> /dev/null && \
1429efb46889Smrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1430efb46889Smrg	    # Avoid executing cc if there is no toolchain installed as
1431efb46889Smrg	    # cc will be a stub that puts up a graphical alert
1432efb46889Smrg	    # prompting the user to install developer tools.
1433efb46889Smrg	    CC_FOR_BUILD=no_compiler_found
1434efb46889Smrg	else
1435efb46889Smrg	    set_cc_for_build
143695903e71Smrg	fi
1437efb46889Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1438efb46889Smrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1439efb46889Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1440efb46889Smrg		   grep IS_64BIT_ARCH >/dev/null
1441efb46889Smrg	    then
1442efb46889Smrg		case $UNAME_PROCESSOR in
1443efb46889Smrg		    i386) UNAME_PROCESSOR=x86_64 ;;
1444efb46889Smrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1445efb46889Smrg		esac
1446efb46889Smrg	    fi
1447efb46889Smrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1448efb46889Smrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1449efb46889Smrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1450efb46889Smrg		   grep IS_PPC >/dev/null
1451efb46889Smrg	    then
1452efb46889Smrg		UNAME_PROCESSOR=powerpc
145395903e71Smrg	    fi
145495903e71Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1455efb46889Smrg	    # uname -m returns i386 or x86_64
1456efb46889Smrg	    UNAME_PROCESSOR=$UNAME_MACHINE
145795903e71Smrg	fi
1458efb46889Smrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1459efb46889Smrg	;;
1460692f60a7Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1461692f60a7Smrg	UNAME_PROCESSOR=`uname -p`
1462efb46889Smrg	if test "$UNAME_PROCESSOR" = x86; then
1463692f60a7Smrg		UNAME_PROCESSOR=i386
1464692f60a7Smrg		UNAME_MACHINE=pc
1465692f60a7Smrg	fi
1466efb46889Smrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1467efb46889Smrg	;;
1468692f60a7Smrg    *:QNX:*:4*)
1469efb46889Smrg	GUESS=i386-pc-qnx
1470efb46889Smrg	;;
1471efb46889Smrg    NEO-*:NONSTOP_KERNEL:*:*)
1472efb46889Smrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
1473efb46889Smrg	;;
1474eaa3dbe0Smrg    NSE-*:NONSTOP_KERNEL:*:*)
1475efb46889Smrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
1476efb46889Smrg	;;
1477efb46889Smrg    NSR-*:NONSTOP_KERNEL:*:*)
1478efb46889Smrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1479efb46889Smrg	;;
1480efb46889Smrg    NSV-*:NONSTOP_KERNEL:*:*)
1481efb46889Smrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1482efb46889Smrg	;;
1483efb46889Smrg    NSX-*:NONSTOP_KERNEL:*:*)
1484efb46889Smrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1485efb46889Smrg	;;
1486692f60a7Smrg    *:NonStop-UX:*:*)
1487efb46889Smrg	GUESS=mips-compaq-nonstopux
1488efb46889Smrg	;;
1489692f60a7Smrg    BS2000:POSIX*:*:*)
1490efb46889Smrg	GUESS=bs2000-siemens-sysv
1491efb46889Smrg	;;
1492692f60a7Smrg    DS/*:UNIX_System_V:*:*)
1493efb46889Smrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1494efb46889Smrg	;;
1495692f60a7Smrg    *:Plan9:*:*)
1496692f60a7Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1497692f60a7Smrg	# is converted to i386 for consistency with other x86
1498692f60a7Smrg	# operating systems.
1499efb46889Smrg	if test "${cputype-}" = 386; then
1500692f60a7Smrg	    UNAME_MACHINE=i386
1501efb46889Smrg	elif test "x${cputype-}" != x; then
1502efb46889Smrg	    UNAME_MACHINE=$cputype
1503692f60a7Smrg	fi
1504efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-plan9
1505efb46889Smrg	;;
1506692f60a7Smrg    *:TOPS-10:*:*)
1507efb46889Smrg	GUESS=pdp10-unknown-tops10
1508efb46889Smrg	;;
1509692f60a7Smrg    *:TENEX:*:*)
1510efb46889Smrg	GUESS=pdp10-unknown-tenex
1511efb46889Smrg	;;
1512692f60a7Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1513efb46889Smrg	GUESS=pdp10-dec-tops20
1514efb46889Smrg	;;
1515692f60a7Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1516efb46889Smrg	GUESS=pdp10-xkl-tops20
1517efb46889Smrg	;;
1518692f60a7Smrg    *:TOPS-20:*:*)
1519efb46889Smrg	GUESS=pdp10-unknown-tops20
1520efb46889Smrg	;;
1521692f60a7Smrg    *:ITS:*:*)
1522efb46889Smrg	GUESS=pdp10-unknown-its
1523efb46889Smrg	;;
1524692f60a7Smrg    SEI:*:*:SEIUX)
1525efb46889Smrg	GUESS=mips-sei-seiux$UNAME_RELEASE
1526efb46889Smrg	;;
152754569438Smrg    *:DragonFly:*:*)
1528efb46889Smrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1529efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1530efb46889Smrg	;;
153154569438Smrg    *:*VMS:*:*)
15323f6d0e1dSmrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1533efb46889Smrg	case $UNAME_MACHINE in
1534efb46889Smrg	    A*) GUESS=alpha-dec-vms ;;
1535efb46889Smrg	    I*) GUESS=ia64-dec-vms ;;
1536efb46889Smrg	    V*) GUESS=vax-dec-vms ;;
153754569438Smrg	esac ;;
153854569438Smrg    *:XENIX:*:SysV)
1539efb46889Smrg	GUESS=i386-pc-xenix
1540efb46889Smrg	;;
154154569438Smrg    i*86:skyos:*:*)
1542efb46889Smrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1543efb46889Smrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1544efb46889Smrg	;;
154554569438Smrg    i*86:rdos:*:*)
1546efb46889Smrg	GUESS=$UNAME_MACHINE-pc-rdos
1547efb46889Smrg	;;
1548efb46889Smrg    i*86:Fiwix:*:*)
1549efb46889Smrg	GUESS=$UNAME_MACHINE-pc-fiwix
1550efb46889Smrg	;;
1551efb46889Smrg    *:AROS:*:*)
1552efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-aros
1553efb46889Smrg	;;
1554eaa3dbe0Smrg    x86_64:VMkernel:*:*)
1555efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-esx
1556efb46889Smrg	;;
1557efb46889Smrg    amd64:Isilon\ OneFS:*:*)
1558efb46889Smrg	GUESS=x86_64-unknown-onefs
1559efb46889Smrg	;;
1560efb46889Smrg    *:Unleashed:*:*)
1561efb46889Smrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1562efb46889Smrg	;;
1563efb46889Smrgesac
1564efb46889Smrg
1565efb46889Smrg# Do we have a guess based on uname results?
1566efb46889Smrgif test "x$GUESS" != x; then
1567efb46889Smrg    echo "$GUESS"
1568efb46889Smrg    exit
1569efb46889Smrgfi
1570efb46889Smrg
1571efb46889Smrg# No uname command or uname output not recognized.
1572efb46889Smrgset_cc_for_build
1573efb46889Smrgcat > "$dummy.c" <<EOF
1574efb46889Smrg#ifdef _SEQUENT_
1575efb46889Smrg#include <sys/types.h>
1576efb46889Smrg#include <sys/utsname.h>
1577efb46889Smrg#endif
1578efb46889Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1579efb46889Smrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1580efb46889Smrg#include <signal.h>
1581efb46889Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1582efb46889Smrg#include <sys/utsname.h>
1583efb46889Smrg#endif
1584efb46889Smrg#endif
1585efb46889Smrg#endif
1586efb46889Smrgmain ()
1587efb46889Smrg{
1588efb46889Smrg#if defined (sony)
1589efb46889Smrg#if defined (MIPSEB)
1590efb46889Smrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1591efb46889Smrg     I don't know....  */
1592efb46889Smrg  printf ("mips-sony-bsd\n"); exit (0);
1593efb46889Smrg#else
1594efb46889Smrg#include <sys/param.h>
1595efb46889Smrg  printf ("m68k-sony-newsos%s\n",
1596efb46889Smrg#ifdef NEWSOS4
1597efb46889Smrg  "4"
1598efb46889Smrg#else
1599efb46889Smrg  ""
1600efb46889Smrg#endif
1601efb46889Smrg  ); exit (0);
1602efb46889Smrg#endif
1603efb46889Smrg#endif
1604efb46889Smrg
1605efb46889Smrg#if defined (NeXT)
1606efb46889Smrg#if !defined (__ARCHITECTURE__)
1607efb46889Smrg#define __ARCHITECTURE__ "m68k"
1608efb46889Smrg#endif
1609efb46889Smrg  int version;
1610efb46889Smrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1611efb46889Smrg  if (version < 4)
1612efb46889Smrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1613efb46889Smrg  else
1614efb46889Smrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1615efb46889Smrg  exit (0);
1616efb46889Smrg#endif
1617efb46889Smrg
1618efb46889Smrg#if defined (MULTIMAX) || defined (n16)
1619efb46889Smrg#if defined (UMAXV)
1620efb46889Smrg  printf ("ns32k-encore-sysv\n"); exit (0);
1621efb46889Smrg#else
1622efb46889Smrg#if defined (CMU)
1623efb46889Smrg  printf ("ns32k-encore-mach\n"); exit (0);
1624efb46889Smrg#else
1625efb46889Smrg  printf ("ns32k-encore-bsd\n"); exit (0);
1626efb46889Smrg#endif
1627efb46889Smrg#endif
1628efb46889Smrg#endif
1629efb46889Smrg
1630efb46889Smrg#if defined (__386BSD__)
1631efb46889Smrg  printf ("i386-pc-bsd\n"); exit (0);
1632efb46889Smrg#endif
1633efb46889Smrg
1634efb46889Smrg#if defined (sequent)
1635efb46889Smrg#if defined (i386)
1636efb46889Smrg  printf ("i386-sequent-dynix\n"); exit (0);
1637efb46889Smrg#endif
1638efb46889Smrg#if defined (ns32000)
1639efb46889Smrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1640efb46889Smrg#endif
1641efb46889Smrg#endif
1642efb46889Smrg
1643efb46889Smrg#if defined (_SEQUENT_)
1644efb46889Smrg  struct utsname un;
1645efb46889Smrg
1646efb46889Smrg  uname(&un);
1647efb46889Smrg  if (strncmp(un.version, "V2", 2) == 0) {
1648efb46889Smrg    printf ("i386-sequent-ptx2\n"); exit (0);
1649efb46889Smrg  }
1650efb46889Smrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1651efb46889Smrg    printf ("i386-sequent-ptx1\n"); exit (0);
1652efb46889Smrg  }
1653efb46889Smrg  printf ("i386-sequent-ptx\n"); exit (0);
1654efb46889Smrg#endif
1655efb46889Smrg
1656efb46889Smrg#if defined (vax)
1657efb46889Smrg#if !defined (ultrix)
1658efb46889Smrg#include <sys/param.h>
1659efb46889Smrg#if defined (BSD)
1660efb46889Smrg#if BSD == 43
1661efb46889Smrg  printf ("vax-dec-bsd4.3\n"); exit (0);
1662efb46889Smrg#else
1663efb46889Smrg#if BSD == 199006
1664efb46889Smrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
1665efb46889Smrg#else
1666efb46889Smrg  printf ("vax-dec-bsd\n"); exit (0);
1667efb46889Smrg#endif
1668efb46889Smrg#endif
1669efb46889Smrg#else
1670efb46889Smrg  printf ("vax-dec-bsd\n"); exit (0);
1671efb46889Smrg#endif
1672efb46889Smrg#else
1673efb46889Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1674efb46889Smrg  struct utsname un;
1675efb46889Smrg  uname (&un);
1676efb46889Smrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1677efb46889Smrg#else
1678efb46889Smrg  printf ("vax-dec-ultrix\n"); exit (0);
1679efb46889Smrg#endif
1680efb46889Smrg#endif
1681efb46889Smrg#endif
1682efb46889Smrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1683efb46889Smrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1684efb46889Smrg#if defined(_SIZE_T_) || defined(SIGLOST)
1685efb46889Smrg  struct utsname *un;
1686efb46889Smrg  uname (&un);
1687efb46889Smrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1688efb46889Smrg#else
1689efb46889Smrg  printf ("mips-dec-ultrix\n"); exit (0);
1690efb46889Smrg#endif
1691efb46889Smrg#endif
1692efb46889Smrg#endif
1693efb46889Smrg
1694efb46889Smrg#if defined (alliant) && defined (i860)
1695efb46889Smrg  printf ("i860-alliant-bsd\n"); exit (0);
1696efb46889Smrg#endif
1697efb46889Smrg
1698efb46889Smrg  exit (1);
1699efb46889Smrg}
1700efb46889SmrgEOF
1701efb46889Smrg
1702efb46889Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1703efb46889Smrg	{ echo "$SYSTEM_NAME"; exit; }
1704efb46889Smrg
1705efb46889Smrg# Apollos put the system type in the environment.
1706efb46889Smrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1707efb46889Smrg
1708efb46889Smrgecho "$0: unable to guess system type" >&2
1709efb46889Smrg
1710efb46889Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
1711efb46889Smrg    mips:Linux | mips64:Linux)
1712efb46889Smrg	# If we got here on MIPS GNU/Linux, output extra information.
1713efb46889Smrg	cat >&2 <<EOF
1714efb46889Smrg
1715efb46889SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1716efb46889Smrgthe system type. Please install a C compiler and try again.
1717efb46889SmrgEOF
1718efb46889Smrg	;;
1719692f60a7Smrgesac
1720692f60a7Smrg
1721692f60a7Smrgcat >&2 <<EOF
1722692f60a7Smrg
1723efb46889SmrgThis script (version $timestamp), has failed to recognize the
1724efb46889Smrgoperating system you are using. If your script is old, overwrite *all*
1725efb46889Smrgcopies of config.guess and config.sub with the latest versions from:
1726692f60a7Smrg
1727efb46889Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
172854569438Smrgand
1729efb46889Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1730efb46889SmrgEOF
1731692f60a7Smrg
1732efb46889Smrgour_year=`echo $timestamp | sed 's,-.*,,'`
1733efb46889Smrgthisyear=`date +%Y`
1734efb46889Smrg# shellcheck disable=SC2003
1735efb46889Smrgscript_age=`expr "$thisyear" - "$our_year"`
1736efb46889Smrgif test "$script_age" -lt 3 ; then
1737efb46889Smrg   cat >&2 <<EOF
1738efb46889Smrg
1739efb46889SmrgIf $0 has already been updated, send the following data and any
1740efb46889Smrginformation you think might be pertinent to config-patches@gnu.org to
1741efb46889Smrgprovide the necessary information to handle your system.
1742692f60a7Smrg
1743692f60a7Smrgconfig.guess timestamp = $timestamp
1744692f60a7Smrg
1745692f60a7Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1746692f60a7Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1747692f60a7Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1748692f60a7Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1749692f60a7Smrg
1750692f60a7Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1751692f60a7Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1752692f60a7Smrg
1753692f60a7Smrghostinfo               = `(hostinfo) 2>/dev/null`
1754692f60a7Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1755692f60a7Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1756692f60a7Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1757692f60a7Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1758692f60a7Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1759692f60a7Smrg
1760efb46889SmrgUNAME_MACHINE = "$UNAME_MACHINE"
1761efb46889SmrgUNAME_RELEASE = "$UNAME_RELEASE"
1762efb46889SmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
1763efb46889SmrgUNAME_VERSION = "$UNAME_VERSION"
1764692f60a7SmrgEOF
1765efb46889Smrgfi
1766692f60a7Smrg
1767692f60a7Smrgexit 1
1768692f60a7Smrg
1769692f60a7Smrg# Local variables:
1770efb46889Smrg# eval: (add-hook 'before-save-hook 'time-stamp)
1771692f60a7Smrg# time-stamp-start: "timestamp='"
1772692f60a7Smrg# time-stamp-format: "%:y-%02m-%02d"
1773692f60a7Smrg# time-stamp-end: "'"
1774692f60a7Smrg# End:
1775