1d522f475Smrg#! /bin/sh
2d522f475Smrg# Attempt to guess a canonical system name.
35104ee6eSmrg#   Copyright 1992-2024 Free Software Foundation, Inc.
4d522f475Smrg
5a5ae21e4Smrg# shellcheck disable=SC2006,SC2268 # see below for rationale
6a5ae21e4Smrg
75104ee6eSmrgtimestamp='2024-07-27'
8d522f475Smrg
9d522f475Smrg# This file is free software; you can redistribute it and/or modify it
10d522f475Smrg# under the terms of the GNU General Public License as published by
115307cd1aSmrg# the Free Software Foundation, either version 3 of the License, or
12d522f475Smrg# (at your option) any later version.
13d522f475Smrg#
14d522f475Smrg# This program is distributed in the hope that it will be useful, but
15d522f475Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16d522f475Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17d522f475Smrg# General Public License for more details.
18d522f475Smrg#
19d522f475Smrg# You should have received a copy of the GNU General Public License
20f2e35a3aSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
21d522f475Smrg#
22d522f475Smrg# As a special exception to the GNU General Public License, if you
23d522f475Smrg# distribute this file as part of a program that contains a
24d522f475Smrg# configuration script generated by Autoconf, you may include it under
25e0a2b6dfSmrg# the same distribution terms that you use for the rest of that
26e0a2b6dfSmrg# program.  This Exception is an additional permission under section 7
27e0a2b6dfSmrg# of the GNU General Public License, version 3 ("GPLv3").
28d522f475Smrg#
292e4f8982Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
30d522f475Smrg#
3120d2c4d2Smrg# You can get the latest version of this script from:
32ae137402Smrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33e0a2b6dfSmrg#
342e4f8982Smrg# Please send patches to <config-patches@gnu.org>.
35e0a2b6dfSmrg
36d522f475Smrg
37a5ae21e4Smrg# The "shellcheck disable" line above the timestamp inhibits complaints
38a5ae21e4Smrg# about features and limitations of the classic Bourne shell that were
39a5ae21e4Smrg# superseded or lifted in POSIX.  However, this script identifies a wide
40a5ae21e4Smrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
41a5ae21e4Smrg# even some reasonably current systems (Solaris 10 as case-in-point) still
42a5ae21e4Smrg# have a pre-POSIX /bin/sh.
43a5ae21e4Smrg
44a5ae21e4Smrg
45d522f475Smrgme=`echo "$0" | sed -e 's,.*/,,'`
46d522f475Smrg
47d522f475Smrgusage="\
48d522f475SmrgUsage: $0 [OPTION]
49d522f475Smrg
5004b94745SmrgOutput the configuration name of the system '$me' is run on.
51d522f475Smrg
52f2e35a3aSmrgOptions:
53d522f475Smrg  -h, --help         print this help, then exit
54d522f475Smrg  -t, --time-stamp   print date of last modification, then exit
55d522f475Smrg  -v, --version      print version number, then exit
56d522f475Smrg
57d522f475SmrgReport bugs and patches to <config-patches@gnu.org>."
58d522f475Smrg
59d522f475Smrgversion="\
60d522f475SmrgGNU config.guess ($timestamp)
61d522f475Smrg
62d522f475SmrgOriginally written by Per Bothner.
635104ee6eSmrgCopyright 1992-2024 Free Software Foundation, Inc.
64d522f475Smrg
65d522f475SmrgThis is free software; see the source for copying conditions.  There is NO
66d522f475Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67d522f475Smrg
68d522f475Smrghelp="
6904b94745SmrgTry '$me --help' for more information."
70d522f475Smrg
71d522f475Smrg# Parse command line
72d522f475Smrgwhile test $# -gt 0 ; do
73d522f475Smrg  case $1 in
74d522f475Smrg    --time-stamp | --time* | -t )
75d522f475Smrg       echo "$timestamp" ; exit ;;
76d522f475Smrg    --version | -v )
77d522f475Smrg       echo "$version" ; exit ;;
78d522f475Smrg    --help | --h* | -h )
79d522f475Smrg       echo "$usage"; exit ;;
80d522f475Smrg    -- )     # Stop option processing
81d522f475Smrg       shift; break ;;
82d522f475Smrg    - )	# Use stdin as input.
83d522f475Smrg       break ;;
84d522f475Smrg    -* )
85d522f475Smrg       echo "$me: invalid option $1$help" >&2
86d522f475Smrg       exit 1 ;;
87d522f475Smrg    * )
88d522f475Smrg       break ;;
89d522f475Smrg  esac
90d522f475Smrgdone
91d522f475Smrg
92d522f475Smrgif test $# != 0; then
93d522f475Smrg  echo "$me: too many arguments$help" >&2
94d522f475Smrg  exit 1
95d522f475Smrgfi
96d522f475Smrg
97a5ae21e4Smrg# Just in case it came from the environment.
98a5ae21e4SmrgGUESS=
99a5ae21e4Smrg
100d522f475Smrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101d522f475Smrg# compiler to aid in system detection is discouraged as it requires
102d522f475Smrg# temporary files to be created and, as you can see below, it is a
103d522f475Smrg# headache to deal with in a portable fashion.
104d522f475Smrg
10504b94745Smrg# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
10604b94745Smrg# use 'HOST_CC' if defined, but it is deprecated.
107d522f475Smrg
108d522f475Smrg# Portable tmp directory creation inspired by the Autoconf team.
109d522f475Smrg
110f2e35a3aSmrgtmp=
111f2e35a3aSmrg# shellcheck disable=SC2172
112f2e35a3aSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113f2e35a3aSmrg
114f2e35a3aSmrgset_cc_for_build() {
115f2e35a3aSmrg    # prevent multiple calls if $tmp is already set
116f2e35a3aSmrg    test "$tmp" && return 0
117f2e35a3aSmrg    : "${TMPDIR=/tmp}"
118a5ae21e4Smrg    # shellcheck disable=SC2039,SC3028
119f2e35a3aSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120f2e35a3aSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121f2e35a3aSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122f2e35a3aSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123f2e35a3aSmrg    dummy=$tmp/dummy
124f2e35a3aSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125f2e35a3aSmrg	,,)    echo "int x;" > "$dummy.c"
1265104ee6eSmrg	       for driver in cc gcc c17 c99 c89 ; do
127f2e35a3aSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128a5ae21e4Smrg		       CC_FOR_BUILD=$driver
129f2e35a3aSmrg		       break
130f2e35a3aSmrg		   fi
131f2e35a3aSmrg	       done
132f2e35a3aSmrg	       if test x"$CC_FOR_BUILD" = x ; then
133f2e35a3aSmrg		   CC_FOR_BUILD=no_compiler_found
134f2e35a3aSmrg	       fi
135f2e35a3aSmrg	       ;;
136f2e35a3aSmrg	,,*)   CC_FOR_BUILD=$CC ;;
137f2e35a3aSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138f2e35a3aSmrg    esac
139f2e35a3aSmrg}
140d522f475Smrg
141d522f475Smrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
142d522f475Smrg# (ghazi@noc.rutgers.edu 1994-08-24)
143f2e35a3aSmrgif test -f /.attbin/uname ; then
144d522f475Smrg	PATH=$PATH:/.attbin ; export PATH
145d522f475Smrgfi
146d522f475Smrg
147d522f475SmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
148d522f475SmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149ae137402SmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
150d522f475SmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
151d522f475Smrg
152a5ae21e4Smrgcase $UNAME_SYSTEM in
153e0a2b6dfSmrgLinux|GNU|GNU/*)
154ae137402Smrg	LIBC=unknown
155e0a2b6dfSmrg
156f2e35a3aSmrg	set_cc_for_build
157f2e35a3aSmrg	cat <<-EOF > "$dummy.c"
15804b94745Smrg	#if defined(__ANDROID__)
15904b94745Smrg	LIBC=android
16004b94745Smrg	#else
161e0a2b6dfSmrg	#include <features.h>
162e0a2b6dfSmrg	#if defined(__UCLIBC__)
163e0a2b6dfSmrg	LIBC=uclibc
164e0a2b6dfSmrg	#elif defined(__dietlibc__)
165e0a2b6dfSmrg	LIBC=dietlibc
166ae137402Smrg	#elif defined(__GLIBC__)
167e0a2b6dfSmrg	LIBC=gnu
16804b94745Smrg	#elif defined(__LLVM_LIBC__)
16904b94745Smrg	LIBC=llvm
170ae137402Smrg	#else
171ae137402Smrg	#include <stdarg.h>
172ae137402Smrg	/* First heuristic to detect musl libc.  */
173ae137402Smrg	#ifdef __DEFINED_va_list
174ae137402Smrg	LIBC=musl
175ae137402Smrg	#endif
176e0a2b6dfSmrg	#endif
17704b94745Smrg	#endif
178e0a2b6dfSmrg	EOF
179a5ae21e4Smrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
180a5ae21e4Smrg	eval "$cc_set_libc"
181f2e35a3aSmrg
182ae137402Smrg	# Second heuristic to detect musl libc.
183ae137402Smrg	if [ "$LIBC" = unknown ] &&
184ae137402Smrg	   command -v ldd >/dev/null &&
185ae137402Smrg	   ldd --version 2>&1 | grep -q ^musl; then
186ae137402Smrg		LIBC=musl
187ae137402Smrg	fi
188ae137402Smrg
189ae137402Smrg	# If the system lacks a compiler, then just pick glibc.
190ae137402Smrg	# We could probably try harder.
191ae137402Smrg	if [ "$LIBC" = unknown ]; then
192ae137402Smrg		LIBC=gnu
193f2e35a3aSmrg	fi
194e0a2b6dfSmrg	;;
195e0a2b6dfSmrgesac
196e0a2b6dfSmrg
197d522f475Smrg# Note: order is significant - the case branches are not exclusive.
198d522f475Smrg
199a5ae21e4Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
200d522f475Smrg    *:NetBSD:*:*)
201d522f475Smrg	# NetBSD (nbsd) targets should (where applicable) match one or
2020bd37d32Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
203d522f475Smrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
204d522f475Smrg	# switched to ELF, *-*-netbsd* would select the old
205d522f475Smrg	# object file format.  This provides both forward
206d522f475Smrg	# compatibility and a consistent mechanism for selecting the
207d522f475Smrg	# object file format.
208d522f475Smrg	#
209d522f475Smrg	# Note: NetBSD doesn't particularly care about the vendor
210d522f475Smrg	# portion of the name.  We always set it to "unknown".
2112e4f8982Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
212ae137402Smrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
213ae137402Smrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
2142e4f8982Smrg	    echo unknown)`
215a5ae21e4Smrg	case $UNAME_MACHINE_ARCH in
216ae137402Smrg	    aarch64eb) machine=aarch64_be-unknown ;;
217d522f475Smrg	    armeb) machine=armeb-unknown ;;
218d522f475Smrg	    arm*) machine=arm-unknown ;;
219d522f475Smrg	    sh3el) machine=shl-unknown ;;
220d522f475Smrg	    sh3eb) machine=sh-unknown ;;
221d522f475Smrg	    sh5el) machine=sh5le-unknown ;;
2222e4f8982Smrg	    earmv*)
223f2e35a3aSmrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
224f2e35a3aSmrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
225a5ae21e4Smrg		machine=${arch}${endian}-unknown
2262e4f8982Smrg		;;
227a5ae21e4Smrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
228d522f475Smrg	esac
229d522f475Smrg	# The Operating System including object format, if it has switched
230913cc679Smrg	# to ELF recently (or will in the future) and ABI.
231a5ae21e4Smrg	case $UNAME_MACHINE_ARCH in
232913cc679Smrg	    earm*)
233913cc679Smrg		os=netbsdelf
234913cc679Smrg		;;
235913cc679Smrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
236f2e35a3aSmrg		set_cc_for_build
237d522f475Smrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
23820d2c4d2Smrg			| grep -q __ELF__
239d522f475Smrg		then
240d522f475Smrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
241d522f475Smrg		    # Return netbsd for either.  FIX?
242d522f475Smrg		    os=netbsd
243d522f475Smrg		else
244d522f475Smrg		    os=netbsdelf
245d522f475Smrg		fi
246d522f475Smrg		;;
247d522f475Smrg	    *)
248a1f3da82Smrg		os=netbsd
249d522f475Smrg		;;
250d522f475Smrg	esac
2512e4f8982Smrg	# Determine ABI tags.
252a5ae21e4Smrg	case $UNAME_MACHINE_ARCH in
2532e4f8982Smrg	    earm*)
2542e4f8982Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
255f2e35a3aSmrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
2562e4f8982Smrg		;;
2572e4f8982Smrg	esac
258d522f475Smrg	# The OS release
259d522f475Smrg	# Debian GNU/NetBSD machines have a different userland, and
260d522f475Smrg	# thus, need a distinct triplet. However, they do not need
261d522f475Smrg	# kernel version information, so it can be replaced with a
262d522f475Smrg	# suitable tag, in the style of linux-gnu.
263a5ae21e4Smrg	case $UNAME_VERSION in
264d522f475Smrg	    Debian*)
265d522f475Smrg		release='-gnu'
266d522f475Smrg		;;
267d522f475Smrg	    *)
268f2e35a3aSmrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
269d522f475Smrg		;;
270d522f475Smrg	esac
271d522f475Smrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
272d522f475Smrg	# contains redundant information, the shorter form:
273d522f475Smrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
274a5ae21e4Smrg	GUESS=$machine-${os}${release}${abi-}
275a5ae21e4Smrg	;;
2760bd37d32Smrg    *:Bitrig:*:*)
2770bd37d32Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
278a5ae21e4Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
279a5ae21e4Smrg	;;
280d522f475Smrg    *:OpenBSD:*:*)
281d522f475Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
282a5ae21e4Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
283a5ae21e4Smrg	;;
284a5ae21e4Smrg    *:SecBSD:*:*)
285a5ae21e4Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
286a5ae21e4Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
287a5ae21e4Smrg	;;
288913cc679Smrg    *:LibertyBSD:*:*)
289913cc679Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
290a5ae21e4Smrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
291a5ae21e4Smrg	;;
292f2e35a3aSmrg    *:MidnightBSD:*:*)
293a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
294a5ae21e4Smrg	;;
295d522f475Smrg    *:ekkoBSD:*:*)
296a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
297a5ae21e4Smrg	;;
298d522f475Smrg    *:SolidBSD:*:*)
299a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
300a5ae21e4Smrg	;;
301f2e35a3aSmrg    *:OS108:*:*)
302a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
303a5ae21e4Smrg	;;
304d522f475Smrg    macppc:MirBSD:*:*)
305a5ae21e4Smrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
306a5ae21e4Smrg	;;
307d522f475Smrg    *:MirBSD:*:*)
308a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
309a5ae21e4Smrg	;;
3102e4f8982Smrg    *:Sortix:*:*)
311a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-sortix
312a5ae21e4Smrg	;;
313f2e35a3aSmrg    *:Twizzler:*:*)
314a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-twizzler
315a5ae21e4Smrg	;;
316f2e35a3aSmrg    *:Redox:*:*)
317a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-redox
318a5ae21e4Smrg	;;
319f2e35a3aSmrg    mips:OSF1:*.*)
320a5ae21e4Smrg	GUESS=mips-dec-osf1
321a5ae21e4Smrg	;;
322d522f475Smrg    alpha:OSF1:*:*)
323a5ae21e4Smrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
324a5ae21e4Smrg	trap '' 0
325d522f475Smrg	case $UNAME_RELEASE in
3260bd37d32Smrg	*4.0)
327d522f475Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
328d522f475Smrg		;;
3290bd37d32Smrg	*5.*)
330a1f3da82Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
331d522f475Smrg		;;
332d522f475Smrg	esac
333d522f475Smrg	# According to Compaq, /usr/sbin/psrinfo has been available on
334d522f475Smrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
335d522f475Smrg	# covers most systems running today.  This code pipes the CPU
336d522f475Smrg	# types through head -n 1, so we only detect the type of CPU 0.
337d522f475Smrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
338a5ae21e4Smrg	case $ALPHA_CPU_TYPE in
339d522f475Smrg	    "EV4 (21064)")
340913cc679Smrg		UNAME_MACHINE=alpha ;;
341d522f475Smrg	    "EV4.5 (21064)")
342913cc679Smrg		UNAME_MACHINE=alpha ;;
343d522f475Smrg	    "LCA4 (21066/21068)")
344913cc679Smrg		UNAME_MACHINE=alpha ;;
345d522f475Smrg	    "EV5 (21164)")
346913cc679Smrg		UNAME_MACHINE=alphaev5 ;;
347d522f475Smrg	    "EV5.6 (21164A)")
348913cc679Smrg		UNAME_MACHINE=alphaev56 ;;
349d522f475Smrg	    "EV5.6 (21164PC)")
350913cc679Smrg		UNAME_MACHINE=alphapca56 ;;
351d522f475Smrg	    "EV5.7 (21164PC)")
352913cc679Smrg		UNAME_MACHINE=alphapca57 ;;
353d522f475Smrg	    "EV6 (21264)")
354913cc679Smrg		UNAME_MACHINE=alphaev6 ;;
355d522f475Smrg	    "EV6.7 (21264A)")
356913cc679Smrg		UNAME_MACHINE=alphaev67 ;;
357d522f475Smrg	    "EV6.8CB (21264C)")
358913cc679Smrg		UNAME_MACHINE=alphaev68 ;;
359d522f475Smrg	    "EV6.8AL (21264B)")
360913cc679Smrg		UNAME_MACHINE=alphaev68 ;;
361d522f475Smrg	    "EV6.8CX (21264D)")
362913cc679Smrg		UNAME_MACHINE=alphaev68 ;;
363d522f475Smrg	    "EV6.9A (21264/EV69A)")
364913cc679Smrg		UNAME_MACHINE=alphaev69 ;;
365d522f475Smrg	    "EV7 (21364)")
366913cc679Smrg		UNAME_MACHINE=alphaev7 ;;
367d522f475Smrg	    "EV7.9 (21364A)")
368913cc679Smrg		UNAME_MACHINE=alphaev79 ;;
369d522f475Smrg	esac
370d522f475Smrg	# A Pn.n version is a patched version.
371d522f475Smrg	# A Vn.n version is a released version.
372d522f475Smrg	# A Tn.n version is a released field test version.
373d522f475Smrg	# A Xn.n version is an unreleased experimental baselevel.
374d522f475Smrg	# 1.2 uses "1.2" for uname -r.
375a5ae21e4Smrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
376a5ae21e4Smrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
377a5ae21e4Smrg	;;
378d522f475Smrg    Amiga*:UNIX_System_V:4.0:*)
379a5ae21e4Smrg	GUESS=m68k-unknown-sysv4
380a5ae21e4Smrg	;;
381d522f475Smrg    *:[Aa]miga[Oo][Ss]:*:*)
382a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-amigaos
383a5ae21e4Smrg	;;
384d522f475Smrg    *:[Mm]orph[Oo][Ss]:*:*)
385a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-morphos
386a5ae21e4Smrg	;;
387d522f475Smrg    *:OS/390:*:*)
388a5ae21e4Smrg	GUESS=i370-ibm-openedition
389a5ae21e4Smrg	;;
390d522f475Smrg    *:z/VM:*:*)
391a5ae21e4Smrg	GUESS=s390-ibm-zvmoe
392a5ae21e4Smrg	;;
393d522f475Smrg    *:OS400:*:*)
394a5ae21e4Smrg	GUESS=powerpc-ibm-os400
395a5ae21e4Smrg	;;
396d522f475Smrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
397a5ae21e4Smrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
398a5ae21e4Smrg	;;
3990bd37d32Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
400a5ae21e4Smrg	GUESS=arm-unknown-riscos
401a5ae21e4Smrg	;;
402d522f475Smrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
403a5ae21e4Smrg	GUESS=hppa1.1-hitachi-hiuxmpp
404a5ae21e4Smrg	;;
405d522f475Smrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
406d522f475Smrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
407a5ae21e4Smrg	case `(/bin/universe) 2>/dev/null` in
408a5ae21e4Smrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
409a5ae21e4Smrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
410a5ae21e4Smrg	esac
411a5ae21e4Smrg	;;
412d522f475Smrg    NILE*:*:*:dcosx)
413a5ae21e4Smrg	GUESS=pyramid-pyramid-svr4
414a5ae21e4Smrg	;;
415d522f475Smrg    DRS?6000:unix:4.0:6*)
416a5ae21e4Smrg	GUESS=sparc-icl-nx6
417a5ae21e4Smrg	;;
418d522f475Smrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
419d522f475Smrg	case `/usr/bin/uname -p` in
420a5ae21e4Smrg	    sparc) GUESS=sparc-icl-nx7 ;;
421a5ae21e4Smrg	esac
422a5ae21e4Smrg	;;
42320d2c4d2Smrg    s390x:SunOS:*:*)
424a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
425a5ae21e4Smrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
426a5ae21e4Smrg	;;
427d522f475Smrg    sun4H:SunOS:5.*:*)
428a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
429a5ae21e4Smrg	GUESS=sparc-hal-solaris2$SUN_REL
430a5ae21e4Smrg	;;
431d522f475Smrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
432a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
433a5ae21e4Smrg	GUESS=sparc-sun-solaris2$SUN_REL
434a5ae21e4Smrg	;;
43520d2c4d2Smrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
436a5ae21e4Smrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
437a5ae21e4Smrg	;;
4382eaa94a1Schristos    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
439f2e35a3aSmrg	set_cc_for_build
440913cc679Smrg	SUN_ARCH=i386
441956cc18dSsnj	# If there is a compiler, see if it is configured for 64-bit objects.
442956cc18dSsnj	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
443956cc18dSsnj	# This test works for both compilers.
444f2e35a3aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
445956cc18dSsnj	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
4465307cd1aSmrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
447956cc18dSsnj		grep IS_64BIT_ARCH >/dev/null
448956cc18dSsnj	    then
449913cc679Smrg		SUN_ARCH=x86_64
450956cc18dSsnj	    fi
451956cc18dSsnj	fi
452a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
453a5ae21e4Smrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
454a5ae21e4Smrg	;;
455d522f475Smrg    sun4*:SunOS:6*:*)
456d522f475Smrg	# According to config.sub, this is the proper way to canonicalize
457d522f475Smrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
458d522f475Smrg	# it's likely to be more like Solaris than SunOS4.
459a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
460a5ae21e4Smrg	GUESS=sparc-sun-solaris3$SUN_REL
461a5ae21e4Smrg	;;
462d522f475Smrg    sun4*:SunOS:*:*)
463a5ae21e4Smrg	case `/usr/bin/arch -k` in
464d522f475Smrg	    Series*|S4*)
465d522f475Smrg		UNAME_RELEASE=`uname -v`
466d522f475Smrg		;;
467d522f475Smrg	esac
46804b94745Smrg	# Japanese Language versions have a version number like '4.1.3-JL'.
469a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
470a5ae21e4Smrg	GUESS=sparc-sun-sunos$SUN_REL
471a5ae21e4Smrg	;;
472d522f475Smrg    sun3*:SunOS:*:*)
473a5ae21e4Smrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
474a5ae21e4Smrg	;;
475d522f475Smrg    sun*:*:4.2BSD:*)
476d522f475Smrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
477f2e35a3aSmrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
478a5ae21e4Smrg	case `/bin/arch` in
479d522f475Smrg	    sun3)
480a5ae21e4Smrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
481d522f475Smrg		;;
482d522f475Smrg	    sun4)
483a5ae21e4Smrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
484d522f475Smrg		;;
485d522f475Smrg	esac
486a5ae21e4Smrg	;;
487d522f475Smrg    aushp:SunOS:*:*)
488a5ae21e4Smrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
489a5ae21e4Smrg	;;
490d522f475Smrg    # The situation for MiNT is a little confusing.  The machine name
491d522f475Smrg    # can be virtually everything (everything which is not
492d522f475Smrg    # "atarist" or "atariste" at least should have a processor
493d522f475Smrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
494d522f475Smrg    # to the lowercase version "mint" (or "freemint").  Finally
495d522f475Smrg    # the system name "TOS" denotes a system which is actually not
496d522f475Smrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
497d522f475Smrg    # be no problem.
498d522f475Smrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
499a5ae21e4Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
500a5ae21e4Smrg	;;
501d522f475Smrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
502a5ae21e4Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
503a5ae21e4Smrg	;;
504d522f475Smrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
505a5ae21e4Smrg	GUESS=m68k-atari-mint$UNAME_RELEASE
506a5ae21e4Smrg	;;
507d522f475Smrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
508a5ae21e4Smrg	GUESS=m68k-milan-mint$UNAME_RELEASE
509a5ae21e4Smrg	;;
510d522f475Smrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
511a5ae21e4Smrg	GUESS=m68k-hades-mint$UNAME_RELEASE
512a5ae21e4Smrg	;;
513d522f475Smrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
514a5ae21e4Smrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
515a5ae21e4Smrg	;;
516d522f475Smrg    m68k:machten:*:*)
517a5ae21e4Smrg	GUESS=m68k-apple-machten$UNAME_RELEASE
518a5ae21e4Smrg	;;
519d522f475Smrg    powerpc:machten:*:*)
520a5ae21e4Smrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
521a5ae21e4Smrg	;;
522d522f475Smrg    RISC*:Mach:*:*)
523a5ae21e4Smrg	GUESS=mips-dec-mach_bsd4.3
524a5ae21e4Smrg	;;
525d522f475Smrg    RISC*:ULTRIX:*:*)
526a5ae21e4Smrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
527a5ae21e4Smrg	;;
528d522f475Smrg    VAX*:ULTRIX*:*:*)
529a5ae21e4Smrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
530a5ae21e4Smrg	;;
531d522f475Smrg    2020:CLIX:*:* | 2430:CLIX:*:*)
532a5ae21e4Smrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
533a5ae21e4Smrg	;;
534d522f475Smrg    mips:*:*:UMIPS | mips:*:*:RISCos)
535f2e35a3aSmrg	set_cc_for_build
536f2e35a3aSmrg	sed 's/^	//' << EOF > "$dummy.c"
537d522f475Smrg#ifdef __cplusplus
538d522f475Smrg#include <stdio.h>  /* for printf() prototype */
539d522f475Smrg	int main (int argc, char *argv[]) {
540d522f475Smrg#else
541d522f475Smrg	int main (argc, argv) int argc; char *argv[]; {
542d522f475Smrg#endif
543d522f475Smrg	#if defined (host_mips) && defined (MIPSEB)
544d522f475Smrg	#if defined (SYSTYPE_SYSV)
545f2e35a3aSmrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
546d522f475Smrg	#endif
547d522f475Smrg	#if defined (SYSTYPE_SVR4)
548f2e35a3aSmrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
549d522f475Smrg	#endif
550d522f475Smrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
551f2e35a3aSmrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
552d522f475Smrg	#endif
553d522f475Smrg	#endif
554d522f475Smrg	  exit (-1);
555d522f475Smrg	}
556d522f475SmrgEOF
557f2e35a3aSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
558f2e35a3aSmrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
559f2e35a3aSmrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
560d522f475Smrg	    { echo "$SYSTEM_NAME"; exit; }
561a5ae21e4Smrg	GUESS=mips-mips-riscos$UNAME_RELEASE
562a5ae21e4Smrg	;;
563d522f475Smrg    Motorola:PowerMAX_OS:*:*)
564a5ae21e4Smrg	GUESS=powerpc-motorola-powermax
565a5ae21e4Smrg	;;
566d522f475Smrg    Motorola:*:4.3:PL8-*)
567a5ae21e4Smrg	GUESS=powerpc-harris-powermax
568a5ae21e4Smrg	;;
569d522f475Smrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
570a5ae21e4Smrg	GUESS=powerpc-harris-powermax
571a5ae21e4Smrg	;;
572d522f475Smrg    Night_Hawk:Power_UNIX:*:*)
573a5ae21e4Smrg	GUESS=powerpc-harris-powerunix
574a5ae21e4Smrg	;;
575d522f475Smrg    m88k:CX/UX:7*:*)
576a5ae21e4Smrg	GUESS=m88k-harris-cxux7
577a5ae21e4Smrg	;;
578d522f475Smrg    m88k:*:4*:R4*)
579a5ae21e4Smrg	GUESS=m88k-motorola-sysv4
580a5ae21e4Smrg	;;
581d522f475Smrg    m88k:*:3*:R3*)
582a5ae21e4Smrg	GUESS=m88k-motorola-sysv3
583a5ae21e4Smrg	;;
584d522f475Smrg    AViiON:dgux:*:*)
585a1f3da82Smrg	# DG/UX returns AViiON for all architectures
586a1f3da82Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
587f2e35a3aSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
588d522f475Smrg	then
589f2e35a3aSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
590f2e35a3aSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
591d522f475Smrg	    then
592a5ae21e4Smrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
593d522f475Smrg	    else
594a5ae21e4Smrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
595d522f475Smrg	    fi
596d522f475Smrg	else
597a5ae21e4Smrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
598d522f475Smrg	fi
599a5ae21e4Smrg	;;
600d522f475Smrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
601a5ae21e4Smrg	GUESS=m88k-dolphin-sysv3
602a5ae21e4Smrg	;;
603d522f475Smrg    M88*:*:R3*:*)
604d522f475Smrg	# Delta 88k system running SVR3
605a5ae21e4Smrg	GUESS=m88k-motorola-sysv3
606a5ae21e4Smrg	;;
607d522f475Smrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
608a5ae21e4Smrg	GUESS=m88k-tektronix-sysv3
609a5ae21e4Smrg	;;
610d522f475Smrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
611a5ae21e4Smrg	GUESS=m68k-tektronix-bsd
612a5ae21e4Smrg	;;
613d522f475Smrg    *:IRIX*:*:*)
614a5ae21e4Smrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
615a5ae21e4Smrg	GUESS=mips-sgi-irix$IRIX_REL
616a5ae21e4Smrg	;;
617d522f475Smrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
618a5ae21e4Smrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
619a5ae21e4Smrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
620d522f475Smrg    i*86:AIX:*:*)
621a5ae21e4Smrg	GUESS=i386-ibm-aix
622a5ae21e4Smrg	;;
623d522f475Smrg    ia64:AIX:*:*)
624f2e35a3aSmrg	if test -x /usr/bin/oslevel ; then
625d522f475Smrg		IBM_REV=`/usr/bin/oslevel`
626d522f475Smrg	else
627a5ae21e4Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
628d522f475Smrg	fi
629a5ae21e4Smrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
630a5ae21e4Smrg	;;
631d522f475Smrg    *:AIX:2:3)
632d522f475Smrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
633f2e35a3aSmrg		set_cc_for_build
634f2e35a3aSmrg		sed 's/^		//' << EOF > "$dummy.c"
635d522f475Smrg		#include <sys/systemcfg.h>
636d522f475Smrg
6375104ee6eSmrg		int
6385104ee6eSmrg		main ()
639d522f475Smrg			{
640d522f475Smrg			if (!__power_pc())
641d522f475Smrg				exit(1);
642d522f475Smrg			puts("powerpc-ibm-aix3.2.5");
643d522f475Smrg			exit(0);
644d522f475Smrg			}
645d522f475SmrgEOF
646f2e35a3aSmrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
647d522f475Smrg		then
648a5ae21e4Smrg			GUESS=$SYSTEM_NAME
649d522f475Smrg		else
650a5ae21e4Smrg			GUESS=rs6000-ibm-aix3.2.5
651d522f475Smrg		fi
652d522f475Smrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
653a5ae21e4Smrg		GUESS=rs6000-ibm-aix3.2.4
654d522f475Smrg	else
655a5ae21e4Smrg		GUESS=rs6000-ibm-aix3.2
656d522f475Smrg	fi
657a5ae21e4Smrg	;;
658a1f3da82Smrg    *:AIX:*:[4567])
659d522f475Smrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
660f2e35a3aSmrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
661d522f475Smrg		IBM_ARCH=rs6000
662d522f475Smrg	else
663d522f475Smrg		IBM_ARCH=powerpc
664d522f475Smrg	fi
665f2e35a3aSmrg	if test -x /usr/bin/lslpp ; then
666a5ae21e4Smrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
6672e4f8982Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
668d522f475Smrg	else
669a5ae21e4Smrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
670d522f475Smrg	fi
671a5ae21e4Smrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
672a5ae21e4Smrg	;;
673d522f475Smrg    *:AIX:*:*)
674a5ae21e4Smrg	GUESS=rs6000-ibm-aix
675a5ae21e4Smrg	;;
676f2e35a3aSmrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
677a5ae21e4Smrg	GUESS=romp-ibm-bsd4.4
678a5ae21e4Smrg	;;
679d522f475Smrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
680a5ae21e4Smrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
681a5ae21e4Smrg	;;                                  # report: romp-ibm BSD 4.3
682d522f475Smrg    *:BOSX:*:*)
683a5ae21e4Smrg	GUESS=rs6000-bull-bosx
684a5ae21e4Smrg	;;
685d522f475Smrg    DPX/2?00:B.O.S.:*:*)
686a5ae21e4Smrg	GUESS=m68k-bull-sysv3
687a5ae21e4Smrg	;;
688d522f475Smrg    9000/[34]??:4.3bsd:1.*:*)
689a5ae21e4Smrg	GUESS=m68k-hp-bsd
690a5ae21e4Smrg	;;
691d522f475Smrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
692a5ae21e4Smrg	GUESS=m68k-hp-bsd4.4
693a5ae21e4Smrg	;;
694d522f475Smrg    9000/[34678]??:HP-UX:*:*)
695a5ae21e4Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
696a5ae21e4Smrg	case $UNAME_MACHINE in
697f2e35a3aSmrg	    9000/31?)            HP_ARCH=m68000 ;;
698f2e35a3aSmrg	    9000/[34]??)         HP_ARCH=m68k ;;
699d522f475Smrg	    9000/[678][0-9][0-9])
700f2e35a3aSmrg		if test -x /usr/bin/getconf; then
701d522f475Smrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
702a1f3da82Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
703a5ae21e4Smrg		    case $sc_cpu_version in
704913cc679Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
705913cc679Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
7060bd37d32Smrg		      532)                      # CPU_PA_RISC2_0
707a5ae21e4Smrg			case $sc_kernel_bits in
708913cc679Smrg			  32) HP_ARCH=hppa2.0n ;;
709913cc679Smrg			  64) HP_ARCH=hppa2.0w ;;
710913cc679Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
7110bd37d32Smrg			esac ;;
7120bd37d32Smrg		    esac
713d522f475Smrg		fi
714f2e35a3aSmrg		if test "$HP_ARCH" = ""; then
715f2e35a3aSmrg		    set_cc_for_build
716f2e35a3aSmrg		    sed 's/^		//' << EOF > "$dummy.c"
717d522f475Smrg
7180bd37d32Smrg		#define _HPUX_SOURCE
7190bd37d32Smrg		#include <stdlib.h>
7200bd37d32Smrg		#include <unistd.h>
721d522f475Smrg
7225104ee6eSmrg		int
7235104ee6eSmrg		main ()
7240bd37d32Smrg		{
7250bd37d32Smrg		#if defined(_SC_KERNEL_BITS)
7260bd37d32Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
7270bd37d32Smrg		#endif
7280bd37d32Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
729d522f475Smrg
7300bd37d32Smrg		    switch (cpu)
7310bd37d32Smrg			{
7320bd37d32Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
7330bd37d32Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
7340bd37d32Smrg			case CPU_PA_RISC2_0:
7350bd37d32Smrg		#if defined(_SC_KERNEL_BITS)
7360bd37d32Smrg			    switch (bits)
7370bd37d32Smrg				{
7380bd37d32Smrg				case 64: puts ("hppa2.0w"); break;
7390bd37d32Smrg				case 32: puts ("hppa2.0n"); break;
7400bd37d32Smrg				default: puts ("hppa2.0"); break;
7410bd37d32Smrg				} break;
7420bd37d32Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
7430bd37d32Smrg			    puts ("hppa2.0"); break;
7440bd37d32Smrg		#endif
7450bd37d32Smrg			default: puts ("hppa1.0"); break;
7460bd37d32Smrg			}
7470bd37d32Smrg		    exit (0);
7480bd37d32Smrg		}
749d522f475SmrgEOF
750f2e35a3aSmrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
751d522f475Smrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
752d522f475Smrg		fi ;;
753d522f475Smrg	esac
754f2e35a3aSmrg	if test "$HP_ARCH" = hppa2.0w
755d522f475Smrg	then
756f2e35a3aSmrg	    set_cc_for_build
757d522f475Smrg
758d522f475Smrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
759d522f475Smrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
760d522f475Smrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
761d522f475Smrg	    #
762d522f475Smrg	    # $ CC_FOR_BUILD=cc ./config.guess
763d522f475Smrg	    # => hppa2.0w-hp-hpux11.23
764d522f475Smrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
765d522f475Smrg	    # => hppa64-hp-hpux11.23
766d522f475Smrg
767913cc679Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
76820d2c4d2Smrg		grep -q __LP64__
769d522f475Smrg	    then
770913cc679Smrg		HP_ARCH=hppa2.0w
771d522f475Smrg	    else
772913cc679Smrg		HP_ARCH=hppa64
773d522f475Smrg	    fi
774d522f475Smrg	fi
775a5ae21e4Smrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
776a5ae21e4Smrg	;;
777d522f475Smrg    ia64:HP-UX:*:*)
778a5ae21e4Smrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
779a5ae21e4Smrg	GUESS=ia64-hp-hpux$HPUX_REV
780a5ae21e4Smrg	;;
781d522f475Smrg    3050*:HI-UX:*:*)
782f2e35a3aSmrg	set_cc_for_build
783f2e35a3aSmrg	sed 's/^	//' << EOF > "$dummy.c"
784d522f475Smrg	#include <unistd.h>
785d522f475Smrg	int
786d522f475Smrg	main ()
787d522f475Smrg	{
788d522f475Smrg	  long cpu = sysconf (_SC_CPU_VERSION);
789d522f475Smrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
790d522f475Smrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
791d522f475Smrg	     results, however.  */
792d522f475Smrg	  if (CPU_IS_PA_RISC (cpu))
793d522f475Smrg	    {
794d522f475Smrg	      switch (cpu)
795d522f475Smrg		{
796d522f475Smrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
797d522f475Smrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
798d522f475Smrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
799d522f475Smrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
800d522f475Smrg		}
801d522f475Smrg	    }
802d522f475Smrg	  else if (CPU_IS_HP_MC68K (cpu))
803d522f475Smrg	    puts ("m68k-hitachi-hiuxwe2");
804d522f475Smrg	  else puts ("unknown-hitachi-hiuxwe2");
805d522f475Smrg	  exit (0);
806d522f475Smrg	}
807d522f475SmrgEOF
808f2e35a3aSmrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
809d522f475Smrg		{ echo "$SYSTEM_NAME"; exit; }
810a5ae21e4Smrg	GUESS=unknown-hitachi-hiuxwe2
811a5ae21e4Smrg	;;
812f2e35a3aSmrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
813a5ae21e4Smrg	GUESS=hppa1.1-hp-bsd
814a5ae21e4Smrg	;;
815d522f475Smrg    9000/8??:4.3bsd:*:*)
816a5ae21e4Smrg	GUESS=hppa1.0-hp-bsd
817a5ae21e4Smrg	;;
818d522f475Smrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
819a5ae21e4Smrg	GUESS=hppa1.0-hp-mpeix
820a5ae21e4Smrg	;;
821f2e35a3aSmrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
822a5ae21e4Smrg	GUESS=hppa1.1-hp-osf
823a5ae21e4Smrg	;;
824d522f475Smrg    hp8??:OSF1:*:*)
825a5ae21e4Smrg	GUESS=hppa1.0-hp-osf
826a5ae21e4Smrg	;;
827d522f475Smrg    i*86:OSF1:*:*)
828f2e35a3aSmrg	if test -x /usr/sbin/sysversion ; then
829a5ae21e4Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
830d522f475Smrg	else
831a5ae21e4Smrg	    GUESS=$UNAME_MACHINE-unknown-osf1
832d522f475Smrg	fi
833a5ae21e4Smrg	;;
834d522f475Smrg    parisc*:Lites*:*:*)
835a5ae21e4Smrg	GUESS=hppa1.1-hp-lites
836a5ae21e4Smrg	;;
837d522f475Smrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
838a5ae21e4Smrg	GUESS=c1-convex-bsd
839a5ae21e4Smrg	;;
840d522f475Smrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
841d522f475Smrg	if getsysinfo -f scalar_acc
842d522f475Smrg	then echo c32-convex-bsd
843d522f475Smrg	else echo c2-convex-bsd
844d522f475Smrg	fi
845a1f3da82Smrg	exit ;;
846d522f475Smrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
847a5ae21e4Smrg	GUESS=c34-convex-bsd
848a5ae21e4Smrg	;;
849d522f475Smrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
850a5ae21e4Smrg	GUESS=c38-convex-bsd
851a5ae21e4Smrg	;;
852d522f475Smrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
853a5ae21e4Smrg	GUESS=c4-convex-bsd
854a5ae21e4Smrg	;;
855d522f475Smrg    CRAY*Y-MP:*:*:*)
856a5ae21e4Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
857a5ae21e4Smrg	GUESS=ymp-cray-unicos$CRAY_REL
858a5ae21e4Smrg	;;
859d522f475Smrg    CRAY*[A-Z]90:*:*:*)
860f2e35a3aSmrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
861d522f475Smrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
862d522f475Smrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
863d522f475Smrg	      -e 's/\.[^.]*$/.X/'
864d522f475Smrg	exit ;;
865d522f475Smrg    CRAY*TS:*:*:*)
866a5ae21e4Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867a5ae21e4Smrg	GUESS=t90-cray-unicos$CRAY_REL
868a5ae21e4Smrg	;;
869d522f475Smrg    CRAY*T3E:*:*:*)
870a5ae21e4Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871a5ae21e4Smrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
872a5ae21e4Smrg	;;
873d522f475Smrg    CRAY*SV1:*:*:*)
874a5ae21e4Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
875a5ae21e4Smrg	GUESS=sv1-cray-unicos$CRAY_REL
876a5ae21e4Smrg	;;
877d522f475Smrg    *:UNICOS/mp:*:*)
878a5ae21e4Smrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
879a5ae21e4Smrg	GUESS=craynv-cray-unicosmp$CRAY_REL
880a5ae21e4Smrg	;;
881d522f475Smrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
882913cc679Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
883913cc679Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
884f2e35a3aSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
885a5ae21e4Smrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
886a5ae21e4Smrg	;;
887d522f475Smrg    5000:UNIX_System_V:4.*:*)
888913cc679Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
889f2e35a3aSmrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
890a5ae21e4Smrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
891a5ae21e4Smrg	;;
892d522f475Smrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
893a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
894a5ae21e4Smrg	;;
895d522f475Smrg    sparc*:BSD/OS:*:*)
896a5ae21e4Smrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
897a5ae21e4Smrg	;;
898d522f475Smrg    *:BSD/OS:*:*)
899a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
900a5ae21e4Smrg	;;
901f2e35a3aSmrg    arm:FreeBSD:*:*)
902f2e35a3aSmrg	UNAME_PROCESSOR=`uname -p`
903f2e35a3aSmrg	set_cc_for_build
904f2e35a3aSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
905f2e35a3aSmrg	    | grep -q __ARM_PCS_VFP
906f2e35a3aSmrg	then
907a5ae21e4Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
908a5ae21e4Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
909f2e35a3aSmrg	else
910a5ae21e4Smrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
911a5ae21e4Smrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
912f2e35a3aSmrg	fi
913a5ae21e4Smrg	;;
914d522f475Smrg    *:FreeBSD:*:*)
91504b94745Smrg	UNAME_PROCESSOR=`uname -p`
916a5ae21e4Smrg	case $UNAME_PROCESSOR in
917d522f475Smrg	    amd64)
918913cc679Smrg		UNAME_PROCESSOR=x86_64 ;;
919913cc679Smrg	    i386)
920913cc679Smrg		UNAME_PROCESSOR=i586 ;;
921d522f475Smrg	esac
922a5ae21e4Smrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
923a5ae21e4Smrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
924a5ae21e4Smrg	;;
925d522f475Smrg    i*:CYGWIN*:*)
926a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-cygwin
927a5ae21e4Smrg	;;
9280bd37d32Smrg    *:MINGW64*:*)
929a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-mingw64
930a5ae21e4Smrg	;;
931d522f475Smrg    *:MINGW*:*)
932a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-mingw32
933a5ae21e4Smrg	;;
93401037d57Smrg    *:MSYS*:*)
935a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-msys
936a5ae21e4Smrg	;;
937d522f475Smrg    i*:PW*:*)
938a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-pw32
939a5ae21e4Smrg	;;
9405307cd1aSmrg    *:SerenityOS:*:*)
9415307cd1aSmrg        GUESS=$UNAME_MACHINE-pc-serenity
9425307cd1aSmrg        ;;
94320d2c4d2Smrg    *:Interix*:*)
944a5ae21e4Smrg	case $UNAME_MACHINE in
9452eaa94a1Schristos	    x86)
946a5ae21e4Smrg		GUESS=i586-pc-interix$UNAME_RELEASE
947a5ae21e4Smrg		;;
94820d2c4d2Smrg	    authenticamd | genuineintel | EM64T)
949a5ae21e4Smrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
950a5ae21e4Smrg		;;
9512eaa94a1Schristos	    IA64)
952a5ae21e4Smrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
953a5ae21e4Smrg		;;
954d522f475Smrg	esac ;;
955d522f475Smrg    i*:UWIN*:*)
956a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-uwin
957a5ae21e4Smrg	;;
958d522f475Smrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
959a5ae21e4Smrg	GUESS=x86_64-pc-cygwin
960a5ae21e4Smrg	;;
961d522f475Smrg    prep*:SunOS:5.*:*)
962a5ae21e4Smrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
963a5ae21e4Smrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
964a5ae21e4Smrg	;;
965d522f475Smrg    *:GNU:*:*)
966d522f475Smrg	# the GNU system
967a5ae21e4Smrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
968a5ae21e4Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
969a5ae21e4Smrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
970a5ae21e4Smrg	;;
971d522f475Smrg    *:GNU/*:*:*)
972d522f475Smrg	# other systems with GNU libc and userland
973a5ae21e4Smrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
974a5ae21e4Smrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
975a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
976a5ae21e4Smrg	;;
97704b94745Smrg    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
97804b94745Smrg	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
97904b94745Smrg	;;
98004b94745Smrg    *:[Mm]anagarm:*:*)
98104b94745Smrg	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
98204b94745Smrg	;;
983f2e35a3aSmrg    *:Minix:*:*)
984a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-minix
985a5ae21e4Smrg	;;
9860bd37d32Smrg    aarch64:Linux:*:*)
98704b94745Smrg	set_cc_for_build
98804b94745Smrg	CPU=$UNAME_MACHINE
98904b94745Smrg	LIBCABI=$LIBC
99004b94745Smrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
99104b94745Smrg	    ABI=64
99204b94745Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
99304b94745Smrg	    #ifdef __ARM_EABI__
99404b94745Smrg	    #ifdef __ARM_PCS_VFP
99504b94745Smrg	    ABI=eabihf
99604b94745Smrg	    #else
99704b94745Smrg	    ABI=eabi
99804b94745Smrg	    #endif
99904b94745Smrg	    #endif
100004b94745SmrgEOF
100104b94745Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
100204b94745Smrg	    eval "$cc_set_abi"
100304b94745Smrg	    case $ABI in
100404b94745Smrg		eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
100504b94745Smrg	    esac
100604b94745Smrg	fi
100704b94745Smrg	GUESS=$CPU-unknown-linux-$LIBCABI
1008a5ae21e4Smrg	;;
10090bd37d32Smrg    aarch64_be:Linux:*:*)
10100bd37d32Smrg	UNAME_MACHINE=aarch64_be
1011a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1012a5ae21e4Smrg	;;
101320d2c4d2Smrg    alpha:Linux:*:*)
1014f2e35a3aSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
10150bd37d32Smrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
10160bd37d32Smrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
10170bd37d32Smrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
10180bd37d32Smrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
10190bd37d32Smrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
10200bd37d32Smrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
10210bd37d32Smrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
1022a1f3da82Smrg	esac
102320d2c4d2Smrg	objdump --private-headers /bin/sh | grep -q ld.so.1
1024913cc679Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
1025a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1026a5ae21e4Smrg	;;
1027a5ae21e4Smrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1028a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029a5ae21e4Smrg	;;
1030d522f475Smrg    arm*:Linux:*:*)
1031f2e35a3aSmrg	set_cc_for_build
10320bd37d32Smrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
10330bd37d32Smrg	    | grep -q __ARM_EABI__
10342eaa94a1Schristos	then
1035a5ae21e4Smrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10362eaa94a1Schristos	else
10370bd37d32Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
10380bd37d32Smrg		| grep -q __ARM_PCS_VFP
10390bd37d32Smrg	    then
1040a5ae21e4Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
10410bd37d32Smrg	    else
1042a5ae21e4Smrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
10430bd37d32Smrg	    fi
10442eaa94a1Schristos	fi
1045a5ae21e4Smrg	;;
1046d522f475Smrg    avr32*:Linux:*:*)
1047a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1048a5ae21e4Smrg	;;
1049d522f475Smrg    cris:Linux:*:*)
1050a5ae21e4Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1051a5ae21e4Smrg	;;
1052d522f475Smrg    crisv32:Linux:*:*)
1053a5ae21e4Smrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1054a5ae21e4Smrg	;;
10552e4f8982Smrg    e2k:Linux:*:*)
1056a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1057a5ae21e4Smrg	;;
1058d522f475Smrg    frv:Linux:*:*)
1059a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1060a5ae21e4Smrg	;;
10610bd37d32Smrg    hexagon:Linux:*:*)
1062a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1063a5ae21e4Smrg	;;
106420d2c4d2Smrg    i*86:Linux:*:*)
1065a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1066a5ae21e4Smrg	;;
1067d522f475Smrg    ia64:Linux:*:*)
1068a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1069a5ae21e4Smrg	;;
10702e4f8982Smrg    k1om:Linux:*:*)
1071a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1072a5ae21e4Smrg	;;
107304b94745Smrg    kvx:Linux:*:*)
107404b94745Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
107504b94745Smrg	;;
107604b94745Smrg    kvx:cos:*:*)
107704b94745Smrg	GUESS=$UNAME_MACHINE-unknown-cos
107804b94745Smrg	;;
107904b94745Smrg    kvx:mbr:*:*)
108004b94745Smrg	GUESS=$UNAME_MACHINE-unknown-mbr
108104b94745Smrg	;;
10825307cd1aSmrg    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1083a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1084a5ae21e4Smrg	;;
1085d522f475Smrg    m32r*:Linux:*:*)
1086a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1087a5ae21e4Smrg	;;
1088d522f475Smrg    m68*:Linux:*:*)
1089a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1090a5ae21e4Smrg	;;
109120d2c4d2Smrg    mips:Linux:*:* | mips64:Linux:*:*)
1092f2e35a3aSmrg	set_cc_for_build
1093f2e35a3aSmrg	IS_GLIBC=0
1094f2e35a3aSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
1095f2e35a3aSmrg	sed 's/^	//' << EOF > "$dummy.c"
1096d522f475Smrg	#undef CPU
1097f2e35a3aSmrg	#undef mips
1098f2e35a3aSmrg	#undef mipsel
1099f2e35a3aSmrg	#undef mips64
1100f2e35a3aSmrg	#undef mips64el
1101f2e35a3aSmrg	#if ${IS_GLIBC} && defined(_ABI64)
1102f2e35a3aSmrg	LIBCABI=gnuabi64
1103f2e35a3aSmrg	#else
1104f2e35a3aSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
1105f2e35a3aSmrg	LIBCABI=gnuabin32
1106f2e35a3aSmrg	#else
1107f2e35a3aSmrg	LIBCABI=${LIBC}
1108f2e35a3aSmrg	#endif
1109f2e35a3aSmrg	#endif
1110f2e35a3aSmrg
1111f2e35a3aSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1112f2e35a3aSmrg	CPU=mipsisa64r6
1113f2e35a3aSmrg	#else
1114f2e35a3aSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1115f2e35a3aSmrg	CPU=mipsisa32r6
1116f2e35a3aSmrg	#else
1117f2e35a3aSmrg	#if defined(__mips64)
1118f2e35a3aSmrg	CPU=mips64
1119f2e35a3aSmrg	#else
1120f2e35a3aSmrg	CPU=mips
1121f2e35a3aSmrg	#endif
1122f2e35a3aSmrg	#endif
1123f2e35a3aSmrg	#endif
1124f2e35a3aSmrg
1125d522f475Smrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1126f2e35a3aSmrg	MIPS_ENDIAN=el
1127d522f475Smrg	#else
1128d522f475Smrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1129f2e35a3aSmrg	MIPS_ENDIAN=
1130d522f475Smrg	#else
1131f2e35a3aSmrg	MIPS_ENDIAN=
1132d522f475Smrg	#endif
1133d522f475Smrg	#endif
1134d522f475SmrgEOF
1135a5ae21e4Smrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1136a5ae21e4Smrg	eval "$cc_set_vars"
1137f2e35a3aSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1138d522f475Smrg	;;
1139913cc679Smrg    mips64el:Linux:*:*)
1140a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1141a5ae21e4Smrg	;;
114201037d57Smrg    openrisc*:Linux:*:*)
1143a5ae21e4Smrg	GUESS=or1k-unknown-linux-$LIBC
1144a5ae21e4Smrg	;;
114501037d57Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
1146a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1147a5ae21e4Smrg	;;
1148956cc18dSsnj    padre:Linux:*:*)
1149a5ae21e4Smrg	GUESS=sparc-unknown-linux-$LIBC
1150a5ae21e4Smrg	;;
115120d2c4d2Smrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
1152a5ae21e4Smrg	GUESS=hppa64-unknown-linux-$LIBC
1153a5ae21e4Smrg	;;
1154d522f475Smrg    parisc:Linux:*:* | hppa:Linux:*:*)
1155d522f475Smrg	# Look for CPU level
1156d522f475Smrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1157a5ae21e4Smrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1158a5ae21e4Smrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1159a5ae21e4Smrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
1160d522f475Smrg	esac
1161a5ae21e4Smrg	;;
116220d2c4d2Smrg    ppc64:Linux:*:*)
1163a5ae21e4Smrg	GUESS=powerpc64-unknown-linux-$LIBC
1164a5ae21e4Smrg	;;
116520d2c4d2Smrg    ppc:Linux:*:*)
1166a5ae21e4Smrg	GUESS=powerpc-unknown-linux-$LIBC
1167a5ae21e4Smrg	;;
1168e0a2b6dfSmrg    ppc64le:Linux:*:*)
1169a5ae21e4Smrg	GUESS=powerpc64le-unknown-linux-$LIBC
1170a5ae21e4Smrg	;;
1171e0a2b6dfSmrg    ppcle:Linux:*:*)
1172a5ae21e4Smrg	GUESS=powerpcle-unknown-linux-$LIBC
1173a5ae21e4Smrg	;;
1174ae137402Smrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1175a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1176a5ae21e4Smrg	;;
1177d522f475Smrg    s390:Linux:*:* | s390x:Linux:*:*)
1178a5ae21e4Smrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1179a5ae21e4Smrg	;;
1180d522f475Smrg    sh64*:Linux:*:*)
1181a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1182a5ae21e4Smrg	;;
1183d522f475Smrg    sh*:Linux:*:*)
1184a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1185a5ae21e4Smrg	;;
1186d522f475Smrg    sparc:Linux:*:* | sparc64:Linux:*:*)
1187a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1188a5ae21e4Smrg	;;
1189a1f3da82Smrg    tile*:Linux:*:*)
1190a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1191a5ae21e4Smrg	;;
1192d522f475Smrg    vax:Linux:*:*)
1193a5ae21e4Smrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1194a5ae21e4Smrg	;;
1195d522f475Smrg    x86_64:Linux:*:*)
1196f2e35a3aSmrg	set_cc_for_build
11975307cd1aSmrg	CPU=$UNAME_MACHINE
1198f2e35a3aSmrg	LIBCABI=$LIBC
1199f2e35a3aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
12005307cd1aSmrg	    ABI=64
12015307cd1aSmrg	    sed 's/^	    //' << EOF > "$dummy.c"
12025307cd1aSmrg	    #ifdef __i386__
12035307cd1aSmrg	    ABI=x86
12045307cd1aSmrg	    #else
12055307cd1aSmrg	    #ifdef __ILP32__
12065307cd1aSmrg	    ABI=x32
12075307cd1aSmrg	    #endif
12085307cd1aSmrg	    #endif
12095307cd1aSmrgEOF
12105307cd1aSmrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
12115307cd1aSmrg	    eval "$cc_set_abi"
12125307cd1aSmrg	    case $ABI in
12135307cd1aSmrg		x86) CPU=i686 ;;
12145307cd1aSmrg		x32) LIBCABI=${LIBC}x32 ;;
12155307cd1aSmrg	    esac
1216f2e35a3aSmrg	fi
12175307cd1aSmrg	GUESS=$CPU-pc-linux-$LIBCABI
1218a5ae21e4Smrg	;;
12192eaa94a1Schristos    xtensa*:Linux:*:*)
1220a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1221a5ae21e4Smrg	;;
1222d522f475Smrg    i*86:DYNIX/ptx:4*:*)
1223d522f475Smrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1224d522f475Smrg	# earlier versions are messed up and put the nodename in both
1225d522f475Smrg	# sysname and nodename.
1226a5ae21e4Smrg	GUESS=i386-sequent-sysv4
1227a5ae21e4Smrg	;;
1228d522f475Smrg    i*86:UNIX_SV:4.2MP:2.*)
1229a1f3da82Smrg	# Unixware is an offshoot of SVR4, but it has its own version
1230a1f3da82Smrg	# number series starting with 2...
1231a1f3da82Smrg	# I am not positive that other SVR4 systems won't match this,
1232d522f475Smrg	# I just have to hope.  -- rms.
1233a1f3da82Smrg	# Use sysv4.2uw... so that sysv4* matches it.
1234a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1235a5ae21e4Smrg	;;
1236d522f475Smrg    i*86:OS/2:*:*)
123704b94745Smrg	# If we were able to find 'uname', then EMX Unix compatibility
1238d522f475Smrg	# is probably installed.
1239a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-os2-emx
1240a5ae21e4Smrg	;;
1241d522f475Smrg    i*86:XTS-300:*:STOP)
1242a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-stop
1243a5ae21e4Smrg	;;
1244d522f475Smrg    i*86:atheos:*:*)
1245a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-atheos
1246a5ae21e4Smrg	;;
1247d522f475Smrg    i*86:syllable:*:*)
1248a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-syllable
1249a5ae21e4Smrg	;;
125020d2c4d2Smrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1251a5ae21e4Smrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1252a5ae21e4Smrg	;;
1253d522f475Smrg    i*86:*DOS:*:*)
1254a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1255a5ae21e4Smrg	;;
1256f2e35a3aSmrg    i*86:*:4.*:*)
1257f2e35a3aSmrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1258d522f475Smrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1259a5ae21e4Smrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1260d522f475Smrg	else
1261a5ae21e4Smrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1262d522f475Smrg	fi
1263a5ae21e4Smrg	;;
1264d522f475Smrg    i*86:*:5:[678]*)
1265a1f3da82Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1266d522f475Smrg	case `/bin/uname -X | grep "^Machine"` in
1267d522f475Smrg	    *486*)	     UNAME_MACHINE=i486 ;;
1268d522f475Smrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1269d522f475Smrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1270d522f475Smrg	esac
1271a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1272a5ae21e4Smrg	;;
1273d522f475Smrg    i*86:*:3.2:*)
1274d522f475Smrg	if test -f /usr/options/cb.name; then
1275d522f475Smrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1276a5ae21e4Smrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1277d522f475Smrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1278d522f475Smrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1279d522f475Smrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1280d522f475Smrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1281d522f475Smrg			&& UNAME_MACHINE=i586
1282d522f475Smrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1283d522f475Smrg			&& UNAME_MACHINE=i686
1284d522f475Smrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1285d522f475Smrg			&& UNAME_MACHINE=i686
1286a5ae21e4Smrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1287d522f475Smrg	else
1288a5ae21e4Smrg		GUESS=$UNAME_MACHINE-pc-sysv32
1289d522f475Smrg	fi
1290a5ae21e4Smrg	;;
1291d522f475Smrg    pc:*:*:*)
1292d522f475Smrg	# Left here for compatibility:
1293a1f3da82Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1294a1f3da82Smrg	# the processor, so we play safe by assuming i586.
129520d2c4d2Smrg	# Note: whatever this is, it MUST be the same as what config.sub
12962e4f8982Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
129720d2c4d2Smrg	# this is a cross-build.
1298a5ae21e4Smrg	GUESS=i586-pc-msdosdjgpp
1299a5ae21e4Smrg	;;
1300d522f475Smrg    Intel:Mach:3*:*)
1301a5ae21e4Smrg	GUESS=i386-pc-mach3
1302a5ae21e4Smrg	;;
1303d522f475Smrg    paragon:*:*:*)
1304a5ae21e4Smrg	GUESS=i860-intel-osf1
1305a5ae21e4Smrg	;;
1306d522f475Smrg    i860:*:4.*:*) # i860-SVR4
1307d522f475Smrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1308a5ae21e4Smrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
1309d522f475Smrg	else # Add other i860-SVR4 vendors below as they are discovered.
1310a5ae21e4Smrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
1311d522f475Smrg	fi
1312a5ae21e4Smrg	;;
1313d522f475Smrg    mini*:CTIX:SYS*5:*)
1314d522f475Smrg	# "miniframe"
1315a5ae21e4Smrg	GUESS=m68010-convergent-sysv
1316a5ae21e4Smrg	;;
1317d522f475Smrg    mc68k:UNIX:SYSTEM5:3.51m)
1318a5ae21e4Smrg	GUESS=m68k-convergent-sysv
1319a5ae21e4Smrg	;;
1320d522f475Smrg    M680?0:D-NIX:5.3:*)
1321a5ae21e4Smrg	GUESS=m68k-diab-dnix
1322a5ae21e4Smrg	;;
1323d522f475Smrg    M68*:*:R3V[5678]*:*)
1324d522f475Smrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1325d522f475Smrg    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)
1326d522f475Smrg	OS_REL=''
1327d522f475Smrg	test -r /etc/.relid \
1328d522f475Smrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1329d522f475Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1330f2e35a3aSmrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1331d522f475Smrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1332f2e35a3aSmrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1333d522f475Smrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1334a1f3da82Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
13350bd37d32Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
1336956cc18dSsnj    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1337956cc18dSsnj	OS_REL='.3'
1338956cc18dSsnj	test -r /etc/.relid \
1339956cc18dSsnj	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1340956cc18dSsnj	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1341f2e35a3aSmrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1342956cc18dSsnj	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1343f2e35a3aSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1344956cc18dSsnj	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1345f2e35a3aSmrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1346d522f475Smrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1347a5ae21e4Smrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1348a5ae21e4Smrg	;;
1349d522f475Smrg    mc68030:UNIX_System_V:4.*:*)
1350a5ae21e4Smrg	GUESS=m68k-atari-sysv4
1351a5ae21e4Smrg	;;
1352d522f475Smrg    TSUNAMI:LynxOS:2.*:*)
1353a5ae21e4Smrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1354a5ae21e4Smrg	;;
1355d522f475Smrg    rs6000:LynxOS:2.*:*)
1356a5ae21e4Smrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1357a5ae21e4Smrg	;;
135820d2c4d2Smrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1359a5ae21e4Smrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1360a5ae21e4Smrg	;;
1361d522f475Smrg    SM[BE]S:UNIX_SV:*:*)
1362a5ae21e4Smrg	GUESS=mips-dde-sysv$UNAME_RELEASE
1363a5ae21e4Smrg	;;
1364d522f475Smrg    RM*:ReliantUNIX-*:*:*)
1365a5ae21e4Smrg	GUESS=mips-sni-sysv4
1366a5ae21e4Smrg	;;
1367d522f475Smrg    RM*:SINIX-*:*:*)
1368a5ae21e4Smrg	GUESS=mips-sni-sysv4
1369a5ae21e4Smrg	;;
1370d522f475Smrg    *:SINIX-*:*:*)
1371d522f475Smrg	if uname -p 2>/dev/null >/dev/null ; then
1372d522f475Smrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1373a5ae21e4Smrg		GUESS=$UNAME_MACHINE-sni-sysv4
1374d522f475Smrg	else
1375a5ae21e4Smrg		GUESS=ns32k-sni-sysv
1376d522f475Smrg	fi
1377a5ae21e4Smrg	;;
137804b94745Smrg    PENTIUM:*:4.0*:*)	# Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
13790bd37d32Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1380a5ae21e4Smrg	GUESS=i586-unisys-sysv4
1381a5ae21e4Smrg	;;
1382d522f475Smrg    *:UNIX_System_V:4*:FTX*)
1383d522f475Smrg	# From Gerald Hewes <hewes@openmarket.com>.
1384d522f475Smrg	# How about differentiating between stratus architectures? -djm
1385a5ae21e4Smrg	GUESS=hppa1.1-stratus-sysv4
1386a5ae21e4Smrg	;;
1387d522f475Smrg    *:*:*:FTX*)
1388d522f475Smrg	# From seanf@swdc.stratus.com.
1389a5ae21e4Smrg	GUESS=i860-stratus-sysv4
1390a5ae21e4Smrg	;;
1391d522f475Smrg    i*86:VOS:*:*)
1392d522f475Smrg	# From Paul.Green@stratus.com.
1393a5ae21e4Smrg	GUESS=$UNAME_MACHINE-stratus-vos
1394a5ae21e4Smrg	;;
1395d522f475Smrg    *:VOS:*:*)
1396d522f475Smrg	# From Paul.Green@stratus.com.
1397a5ae21e4Smrg	GUESS=hppa1.1-stratus-vos
1398a5ae21e4Smrg	;;
1399d522f475Smrg    mc68*:A/UX:*:*)
1400a5ae21e4Smrg	GUESS=m68k-apple-aux$UNAME_RELEASE
1401a5ae21e4Smrg	;;
1402d522f475Smrg    news*:NEWS-OS:6*:*)
1403a5ae21e4Smrg	GUESS=mips-sony-newsos6
1404a5ae21e4Smrg	;;
1405d522f475Smrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1406f2e35a3aSmrg	if test -d /usr/nec; then
1407a5ae21e4Smrg		GUESS=mips-nec-sysv$UNAME_RELEASE
1408d522f475Smrg	else
1409a5ae21e4Smrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
1410d522f475Smrg	fi
1411a5ae21e4Smrg	;;
1412d522f475Smrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1413a5ae21e4Smrg	GUESS=powerpc-be-beos
1414a5ae21e4Smrg	;;
1415d522f475Smrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1416a5ae21e4Smrg	GUESS=powerpc-apple-beos
1417a5ae21e4Smrg	;;
1418d522f475Smrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1419a5ae21e4Smrg	GUESS=i586-pc-beos
1420a5ae21e4Smrg	;;
14212eaa94a1Schristos    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1422a5ae21e4Smrg	GUESS=i586-pc-haiku
1423a5ae21e4Smrg	;;
14245307cd1aSmrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
14255307cd1aSmrg	GUESS=powerpc-apple-haiku
14265307cd1aSmrg	;;
14275307cd1aSmrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
14285307cd1aSmrg	GUESS=$UNAME_MACHINE-unknown-haiku
1429a5ae21e4Smrg	;;
1430d522f475Smrg    SX-4:SUPER-UX:*:*)
1431a5ae21e4Smrg	GUESS=sx4-nec-superux$UNAME_RELEASE
1432a5ae21e4Smrg	;;
1433d522f475Smrg    SX-5:SUPER-UX:*:*)
1434a5ae21e4Smrg	GUESS=sx5-nec-superux$UNAME_RELEASE
1435a5ae21e4Smrg	;;
1436d522f475Smrg    SX-6:SUPER-UX:*:*)
1437a5ae21e4Smrg	GUESS=sx6-nec-superux$UNAME_RELEASE
1438a5ae21e4Smrg	;;
1439d522f475Smrg    SX-7:SUPER-UX:*:*)
1440a5ae21e4Smrg	GUESS=sx7-nec-superux$UNAME_RELEASE
1441a5ae21e4Smrg	;;
1442d522f475Smrg    SX-8:SUPER-UX:*:*)
1443a5ae21e4Smrg	GUESS=sx8-nec-superux$UNAME_RELEASE
1444a5ae21e4Smrg	;;
1445d522f475Smrg    SX-8R:SUPER-UX:*:*)
1446a5ae21e4Smrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
1447a5ae21e4Smrg	;;
1448913cc679Smrg    SX-ACE:SUPER-UX:*:*)
1449a5ae21e4Smrg	GUESS=sxace-nec-superux$UNAME_RELEASE
1450a5ae21e4Smrg	;;
1451d522f475Smrg    Power*:Rhapsody:*:*)
1452a5ae21e4Smrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1453a5ae21e4Smrg	;;
1454d522f475Smrg    *:Rhapsody:*:*)
1455a5ae21e4Smrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1456a5ae21e4Smrg	;;
1457f2e35a3aSmrg    arm64:Darwin:*:*)
1458a5ae21e4Smrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1459a5ae21e4Smrg	;;
1460d522f475Smrg    *:Darwin:*:*)
1461f2e35a3aSmrg	UNAME_PROCESSOR=`uname -p`
1462f2e35a3aSmrg	case $UNAME_PROCESSOR in
1463f2e35a3aSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1464f2e35a3aSmrg	esac
1465f2e35a3aSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
1466f2e35a3aSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1467f2e35a3aSmrg	    # Avoid executing cc if there is no toolchain installed as
1468f2e35a3aSmrg	    # cc will be a stub that puts up a graphical alert
1469f2e35a3aSmrg	    # prompting the user to install developer tools.
1470f2e35a3aSmrg	    CC_FOR_BUILD=no_compiler_found
1471f2e35a3aSmrg	else
1472f2e35a3aSmrg	    set_cc_for_build
1473e0a2b6dfSmrg	fi
1474f2e35a3aSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1475f2e35a3aSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1476f2e35a3aSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1477f2e35a3aSmrg		   grep IS_64BIT_ARCH >/dev/null
1478f2e35a3aSmrg	    then
1479f2e35a3aSmrg		case $UNAME_PROCESSOR in
1480f2e35a3aSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
1481f2e35a3aSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1482f2e35a3aSmrg		esac
1483f2e35a3aSmrg	    fi
1484f2e35a3aSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1485f2e35a3aSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1486f2e35a3aSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1487f2e35a3aSmrg		   grep IS_PPC >/dev/null
1488f2e35a3aSmrg	    then
1489f2e35a3aSmrg		UNAME_PROCESSOR=powerpc
1490e0a2b6dfSmrg	    fi
1491e0a2b6dfSmrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1492f2e35a3aSmrg	    # uname -m returns i386 or x86_64
1493f2e35a3aSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
1494e0a2b6dfSmrg	fi
1495a5ae21e4Smrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1496a5ae21e4Smrg	;;
1497d522f475Smrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1498d522f475Smrg	UNAME_PROCESSOR=`uname -p`
1499913cc679Smrg	if test "$UNAME_PROCESSOR" = x86; then
15000bd37d32Smrg		UNAME_PROCESSOR=i386
15010bd37d32Smrg		UNAME_MACHINE=pc
1502d522f475Smrg	fi
1503a5ae21e4Smrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1504a5ae21e4Smrg	;;
1505d522f475Smrg    *:QNX:*:4*)
1506a5ae21e4Smrg	GUESS=i386-pc-qnx
1507a5ae21e4Smrg	;;
1508f2e35a3aSmrg    NEO-*:NONSTOP_KERNEL:*:*)
1509a5ae21e4Smrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
1510a5ae21e4Smrg	;;
15110bd37d32Smrg    NSE-*:NONSTOP_KERNEL:*:*)
1512a5ae21e4Smrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
1513a5ae21e4Smrg	;;
1514f2e35a3aSmrg    NSR-*:NONSTOP_KERNEL:*:*)
1515a5ae21e4Smrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1516a5ae21e4Smrg	;;
1517f2e35a3aSmrg    NSV-*:NONSTOP_KERNEL:*:*)
1518a5ae21e4Smrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1519a5ae21e4Smrg	;;
1520f2e35a3aSmrg    NSX-*:NONSTOP_KERNEL:*:*)
1521a5ae21e4Smrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1522a5ae21e4Smrg	;;
1523d522f475Smrg    *:NonStop-UX:*:*)
1524a5ae21e4Smrg	GUESS=mips-compaq-nonstopux
1525a5ae21e4Smrg	;;
1526d522f475Smrg    BS2000:POSIX*:*:*)
1527a5ae21e4Smrg	GUESS=bs2000-siemens-sysv
1528a5ae21e4Smrg	;;
1529d522f475Smrg    DS/*:UNIX_System_V:*:*)
1530a5ae21e4Smrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1531a5ae21e4Smrg	;;
1532d522f475Smrg    *:Plan9:*:*)
1533d522f475Smrg	# "uname -m" is not consistent, so use $cputype instead. 386
1534d522f475Smrg	# is converted to i386 for consistency with other x86
1535d522f475Smrg	# operating systems.
1536a5ae21e4Smrg	if test "${cputype-}" = 386; then
1537d522f475Smrg	    UNAME_MACHINE=i386
1538a5ae21e4Smrg	elif test "x${cputype-}" != x; then
1539a5ae21e4Smrg	    UNAME_MACHINE=$cputype
1540d522f475Smrg	fi
1541a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-plan9
1542a5ae21e4Smrg	;;
1543d522f475Smrg    *:TOPS-10:*:*)
1544a5ae21e4Smrg	GUESS=pdp10-unknown-tops10
1545a5ae21e4Smrg	;;
1546d522f475Smrg    *:TENEX:*:*)
1547a5ae21e4Smrg	GUESS=pdp10-unknown-tenex
1548a5ae21e4Smrg	;;
1549d522f475Smrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1550a5ae21e4Smrg	GUESS=pdp10-dec-tops20
1551a5ae21e4Smrg	;;
1552d522f475Smrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1553a5ae21e4Smrg	GUESS=pdp10-xkl-tops20
1554a5ae21e4Smrg	;;
1555d522f475Smrg    *:TOPS-20:*:*)
1556a5ae21e4Smrg	GUESS=pdp10-unknown-tops20
1557a5ae21e4Smrg	;;
1558d522f475Smrg    *:ITS:*:*)
1559a5ae21e4Smrg	GUESS=pdp10-unknown-its
1560a5ae21e4Smrg	;;
1561d522f475Smrg    SEI:*:*:SEIUX)
1562a5ae21e4Smrg	GUESS=mips-sei-seiux$UNAME_RELEASE
1563a5ae21e4Smrg	;;
1564d522f475Smrg    *:DragonFly:*:*)
1565a5ae21e4Smrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1566a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1567a5ae21e4Smrg	;;
1568d522f475Smrg    *:*VMS:*:*)
1569a1f3da82Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1570a5ae21e4Smrg	case $UNAME_MACHINE in
1571a5ae21e4Smrg	    A*) GUESS=alpha-dec-vms ;;
1572a5ae21e4Smrg	    I*) GUESS=ia64-dec-vms ;;
1573a5ae21e4Smrg	    V*) GUESS=vax-dec-vms ;;
1574d522f475Smrg	esac ;;
1575d522f475Smrg    *:XENIX:*:SysV)
1576a5ae21e4Smrg	GUESS=i386-pc-xenix
1577a5ae21e4Smrg	;;
1578d522f475Smrg    i*86:skyos:*:*)
1579a5ae21e4Smrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1580a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1581a5ae21e4Smrg	;;
1582d522f475Smrg    i*86:rdos:*:*)
1583a5ae21e4Smrg	GUESS=$UNAME_MACHINE-pc-rdos
1584a5ae21e4Smrg	;;
15855307cd1aSmrg    i*86:Fiwix:*:*)
15865307cd1aSmrg	GUESS=$UNAME_MACHINE-pc-fiwix
15875307cd1aSmrg	;;
1588ae137402Smrg    *:AROS:*:*)
1589a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-aros
1590a5ae21e4Smrg	;;
15910bd37d32Smrg    x86_64:VMkernel:*:*)
1592a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-esx
1593a5ae21e4Smrg	;;
15942e4f8982Smrg    amd64:Isilon\ OneFS:*:*)
1595a5ae21e4Smrg	GUESS=x86_64-unknown-onefs
1596a5ae21e4Smrg	;;
1597f2e35a3aSmrg    *:Unleashed:*:*)
1598a5ae21e4Smrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1599a5ae21e4Smrg	;;
160004b94745Smrg    *:Ironclad:*:*)
160104b94745Smrg	GUESS=$UNAME_MACHINE-unknown-ironclad
160204b94745Smrg	;;
1603f2e35a3aSmrgesac
1604f2e35a3aSmrg
1605a5ae21e4Smrg# Do we have a guess based on uname results?
1606a5ae21e4Smrgif test "x$GUESS" != x; then
1607a5ae21e4Smrg    echo "$GUESS"
1608a5ae21e4Smrg    exit
1609a5ae21e4Smrgfi
1610a5ae21e4Smrg
1611f2e35a3aSmrg# No uname command or uname output not recognized.
1612f2e35a3aSmrgset_cc_for_build
1613f2e35a3aSmrgcat > "$dummy.c" <<EOF
1614f2e35a3aSmrg#ifdef _SEQUENT_
1615f2e35a3aSmrg#include <sys/types.h>
1616f2e35a3aSmrg#include <sys/utsname.h>
1617f2e35a3aSmrg#endif
1618f2e35a3aSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1619f2e35a3aSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1620f2e35a3aSmrg#include <signal.h>
1621f2e35a3aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1622f2e35a3aSmrg#include <sys/utsname.h>
1623f2e35a3aSmrg#endif
1624f2e35a3aSmrg#endif
1625f2e35a3aSmrg#endif
16265104ee6eSmrgint
1627f2e35a3aSmrgmain ()
1628f2e35a3aSmrg{
1629f2e35a3aSmrg#if defined (sony)
1630f2e35a3aSmrg#if defined (MIPSEB)
1631f2e35a3aSmrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1632f2e35a3aSmrg     I don't know....  */
1633f2e35a3aSmrg  printf ("mips-sony-bsd\n"); exit (0);
1634f2e35a3aSmrg#else
1635f2e35a3aSmrg#include <sys/param.h>
1636f2e35a3aSmrg  printf ("m68k-sony-newsos%s\n",
1637f2e35a3aSmrg#ifdef NEWSOS4
1638f2e35a3aSmrg  "4"
1639f2e35a3aSmrg#else
1640f2e35a3aSmrg  ""
1641f2e35a3aSmrg#endif
1642f2e35a3aSmrg  ); exit (0);
1643f2e35a3aSmrg#endif
1644f2e35a3aSmrg#endif
1645f2e35a3aSmrg
1646f2e35a3aSmrg#if defined (NeXT)
1647f2e35a3aSmrg#if !defined (__ARCHITECTURE__)
1648f2e35a3aSmrg#define __ARCHITECTURE__ "m68k"
1649f2e35a3aSmrg#endif
1650f2e35a3aSmrg  int version;
1651f2e35a3aSmrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1652f2e35a3aSmrg  if (version < 4)
1653f2e35a3aSmrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1654f2e35a3aSmrg  else
1655f2e35a3aSmrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1656f2e35a3aSmrg  exit (0);
1657f2e35a3aSmrg#endif
1658f2e35a3aSmrg
1659f2e35a3aSmrg#if defined (MULTIMAX) || defined (n16)
1660f2e35a3aSmrg#if defined (UMAXV)
1661f2e35a3aSmrg  printf ("ns32k-encore-sysv\n"); exit (0);
1662f2e35a3aSmrg#else
1663f2e35a3aSmrg#if defined (CMU)
1664f2e35a3aSmrg  printf ("ns32k-encore-mach\n"); exit (0);
1665f2e35a3aSmrg#else
1666f2e35a3aSmrg  printf ("ns32k-encore-bsd\n"); exit (0);
1667f2e35a3aSmrg#endif
1668f2e35a3aSmrg#endif
1669f2e35a3aSmrg#endif
1670f2e35a3aSmrg
1671f2e35a3aSmrg#if defined (__386BSD__)
1672f2e35a3aSmrg  printf ("i386-pc-bsd\n"); exit (0);
1673f2e35a3aSmrg#endif
1674f2e35a3aSmrg
1675f2e35a3aSmrg#if defined (sequent)
1676f2e35a3aSmrg#if defined (i386)
1677f2e35a3aSmrg  printf ("i386-sequent-dynix\n"); exit (0);
1678f2e35a3aSmrg#endif
1679f2e35a3aSmrg#if defined (ns32000)
1680f2e35a3aSmrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1681f2e35a3aSmrg#endif
1682f2e35a3aSmrg#endif
1683f2e35a3aSmrg
1684f2e35a3aSmrg#if defined (_SEQUENT_)
1685f2e35a3aSmrg  struct utsname un;
1686f2e35a3aSmrg
1687f2e35a3aSmrg  uname(&un);
1688f2e35a3aSmrg  if (strncmp(un.version, "V2", 2) == 0) {
1689f2e35a3aSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
1690f2e35a3aSmrg  }
1691f2e35a3aSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1692f2e35a3aSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
1693f2e35a3aSmrg  }
1694f2e35a3aSmrg  printf ("i386-sequent-ptx\n"); exit (0);
1695f2e35a3aSmrg#endif
1696f2e35a3aSmrg
1697f2e35a3aSmrg#if defined (vax)
1698f2e35a3aSmrg#if !defined (ultrix)
1699f2e35a3aSmrg#include <sys/param.h>
1700f2e35a3aSmrg#if defined (BSD)
1701f2e35a3aSmrg#if BSD == 43
1702f2e35a3aSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
1703f2e35a3aSmrg#else
1704f2e35a3aSmrg#if BSD == 199006
1705f2e35a3aSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
1706f2e35a3aSmrg#else
1707f2e35a3aSmrg  printf ("vax-dec-bsd\n"); exit (0);
1708f2e35a3aSmrg#endif
1709f2e35a3aSmrg#endif
1710f2e35a3aSmrg#else
1711f2e35a3aSmrg  printf ("vax-dec-bsd\n"); exit (0);
1712f2e35a3aSmrg#endif
1713f2e35a3aSmrg#else
1714f2e35a3aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1715f2e35a3aSmrg  struct utsname un;
1716f2e35a3aSmrg  uname (&un);
1717f2e35a3aSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1718f2e35a3aSmrg#else
1719f2e35a3aSmrg  printf ("vax-dec-ultrix\n"); exit (0);
1720f2e35a3aSmrg#endif
1721f2e35a3aSmrg#endif
1722f2e35a3aSmrg#endif
1723f2e35a3aSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1724f2e35a3aSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1725f2e35a3aSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1726f2e35a3aSmrg  struct utsname *un;
1727f2e35a3aSmrg  uname (&un);
1728f2e35a3aSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1729f2e35a3aSmrg#else
1730f2e35a3aSmrg  printf ("mips-dec-ultrix\n"); exit (0);
1731f2e35a3aSmrg#endif
1732f2e35a3aSmrg#endif
1733f2e35a3aSmrg#endif
1734f2e35a3aSmrg
1735f2e35a3aSmrg#if defined (alliant) && defined (i860)
1736f2e35a3aSmrg  printf ("i860-alliant-bsd\n"); exit (0);
1737f2e35a3aSmrg#endif
1738f2e35a3aSmrg
1739f2e35a3aSmrg  exit (1);
1740f2e35a3aSmrg}
1741f2e35a3aSmrgEOF
1742f2e35a3aSmrg
1743a5ae21e4Smrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1744f2e35a3aSmrg	{ echo "$SYSTEM_NAME"; exit; }
1745f2e35a3aSmrg
1746f2e35a3aSmrg# Apollos put the system type in the environment.
1747f2e35a3aSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1748f2e35a3aSmrg
1749f2e35a3aSmrgecho "$0: unable to guess system type" >&2
1750f2e35a3aSmrg
1751a5ae21e4Smrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
1752f2e35a3aSmrg    mips:Linux | mips64:Linux)
1753f2e35a3aSmrg	# If we got here on MIPS GNU/Linux, output extra information.
1754f2e35a3aSmrg	cat >&2 <<EOF
1755f2e35a3aSmrg
1756f2e35a3aSmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1757f2e35a3aSmrgthe system type. Please install a C compiler and try again.
1758f2e35a3aSmrgEOF
1759f2e35a3aSmrg	;;
1760d522f475Smrgesac
1761d522f475Smrg
1762d522f475Smrgcat >&2 <<EOF
1763d522f475Smrg
1764913cc679SmrgThis script (version $timestamp), has failed to recognize the
1765f2e35a3aSmrgoperating system you are using. If your script is old, overwrite *all*
1766f2e35a3aSmrgcopies of config.guess and config.sub with the latest versions from:
1767d522f475Smrg
1768ae137402Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
1769d522f475Smrgand
1770ae137402Smrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1771f2e35a3aSmrgEOF
1772f2e35a3aSmrg
1773a5ae21e4Smrgour_year=`echo $timestamp | sed 's,-.*,,'`
1774a5ae21e4Smrgthisyear=`date +%Y`
1775f2e35a3aSmrg# shellcheck disable=SC2003
1776a5ae21e4Smrgscript_age=`expr "$thisyear" - "$our_year"`
1777a5ae21e4Smrgif test "$script_age" -lt 3 ; then
1778f2e35a3aSmrg   cat >&2 <<EOF
1779d522f475Smrg
1780913cc679SmrgIf $0 has already been updated, send the following data and any
1781913cc679Smrginformation you think might be pertinent to config-patches@gnu.org to
1782913cc679Smrgprovide the necessary information to handle your system.
1783d522f475Smrg
1784d522f475Smrgconfig.guess timestamp = $timestamp
1785d522f475Smrg
1786d522f475Smrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1787d522f475Smrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1788d522f475Smrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1789d522f475Smrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1790d522f475Smrg
1791d522f475Smrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1792d522f475Smrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1793d522f475Smrg
1794d522f475Smrghostinfo               = `(hostinfo) 2>/dev/null`
1795d522f475Smrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1796d522f475Smrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1797d522f475Smrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1798d522f475Smrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1799d522f475Smrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1800d522f475Smrg
1801f2e35a3aSmrgUNAME_MACHINE = "$UNAME_MACHINE"
1802f2e35a3aSmrgUNAME_RELEASE = "$UNAME_RELEASE"
1803f2e35a3aSmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
1804f2e35a3aSmrgUNAME_VERSION = "$UNAME_VERSION"
1805d522f475SmrgEOF
1806f2e35a3aSmrgfi
1807d522f475Smrg
1808d522f475Smrgexit 1
1809d522f475Smrg
1810d522f475Smrg# Local variables:
1811f2e35a3aSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
1812d522f475Smrg# time-stamp-start: "timestamp='"
1813d522f475Smrg# time-stamp-format: "%:y-%02m-%02d"
1814d522f475Smrg# time-stamp-end: "'"
1815d522f475Smrg# End:
1816