1cbeba4aeSmrg#! /bin/sh
2cbeba4aeSmrg# Attempt to guess a canonical system name.
3b0d3a7b0Smrg#   Copyright 1992-2023 Free Software Foundation, Inc.
4cbeba4aeSmrg
5a4a4261fSmrg# shellcheck disable=SC2006,SC2268 # see below for rationale
6a4a4261fSmrg
7b0d3a7b0Smrgtimestamp='2023-01-01'
8cbeba4aeSmrg
9cbeba4aeSmrg# This file is free software; you can redistribute it and/or modify it
10cbeba4aeSmrg# under the terms of the GNU General Public License as published by
11b0d3a7b0Smrg# the Free Software Foundation, either version 3 of the License, or
12cbeba4aeSmrg# (at your option) any later version.
13cbeba4aeSmrg#
14cbeba4aeSmrg# This program is distributed in the hope that it will be useful, but
15cbeba4aeSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
16cbeba4aeSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17cbeba4aeSmrg# General Public License for more details.
18cbeba4aeSmrg#
19cbeba4aeSmrg# You should have received a copy of the GNU General Public License
20e7c933f3Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>.
21cbeba4aeSmrg#
22cbeba4aeSmrg# As a special exception to the GNU General Public License, if you
23cbeba4aeSmrg# distribute this file as part of a program that contains a
24cbeba4aeSmrg# configuration script generated by Autoconf, you may include it under
25e7c933f3Smrg# the same distribution terms that you use for the rest of that
26e7c933f3Smrg# program.  This Exception is an additional permission under section 7
27e7c933f3Smrg# of the GNU General Public License, version 3 ("GPLv3").
28cbeba4aeSmrg#
29e7c933f3Smrg# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
30cbeba4aeSmrg#
317bd0f98dSmrg# You can get the latest version of this script from:
32a4a4261fSmrg# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
33e7c933f3Smrg#
34e7c933f3Smrg# Please send patches to <config-patches@gnu.org>.
35e7c933f3Smrg
36cbeba4aeSmrg
37a4a4261fSmrg# The "shellcheck disable" line above the timestamp inhibits complaints
38a4a4261fSmrg# about features and limitations of the classic Bourne shell that were
39a4a4261fSmrg# superseded or lifted in POSIX.  However, this script identifies a wide
40a4a4261fSmrg# variety of pre-POSIX systems that do not have POSIX shells at all, and
41a4a4261fSmrg# even some reasonably current systems (Solaris 10 as case-in-point) still
42a4a4261fSmrg# have a pre-POSIX /bin/sh.
43a4a4261fSmrg
44a4a4261fSmrg
45cbeba4aeSmrgme=`echo "$0" | sed -e 's,.*/,,'`
46cbeba4aeSmrg
47cbeba4aeSmrgusage="\
48cbeba4aeSmrgUsage: $0 [OPTION]
49cbeba4aeSmrg
50cbeba4aeSmrgOutput the configuration name of the system \`$me' is run on.
51cbeba4aeSmrg
52e7c933f3SmrgOptions:
53cbeba4aeSmrg  -h, --help         print this help, then exit
54cbeba4aeSmrg  -t, --time-stamp   print date of last modification, then exit
55cbeba4aeSmrg  -v, --version      print version number, then exit
56cbeba4aeSmrg
57cbeba4aeSmrgReport bugs and patches to <config-patches@gnu.org>."
58cbeba4aeSmrg
59cbeba4aeSmrgversion="\
60cbeba4aeSmrgGNU config.guess ($timestamp)
61cbeba4aeSmrg
62cbeba4aeSmrgOriginally written by Per Bothner.
63b0d3a7b0SmrgCopyright 1992-2023 Free Software Foundation, Inc.
64cbeba4aeSmrg
65cbeba4aeSmrgThis is free software; see the source for copying conditions.  There is NO
66cbeba4aeSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67cbeba4aeSmrg
68cbeba4aeSmrghelp="
69cbeba4aeSmrgTry \`$me --help' for more information."
70cbeba4aeSmrg
71cbeba4aeSmrg# Parse command line
72cbeba4aeSmrgwhile test $# -gt 0 ; do
73cbeba4aeSmrg  case $1 in
74cbeba4aeSmrg    --time-stamp | --time* | -t )
757bd0f98dSmrg       echo "$timestamp" ; exit ;;
76cbeba4aeSmrg    --version | -v )
777bd0f98dSmrg       echo "$version" ; exit ;;
78cbeba4aeSmrg    --help | --h* | -h )
797bd0f98dSmrg       echo "$usage"; exit ;;
80cbeba4aeSmrg    -- )     # Stop option processing
81cbeba4aeSmrg       shift; break ;;
82cbeba4aeSmrg    - )	# Use stdin as input.
83cbeba4aeSmrg       break ;;
84cbeba4aeSmrg    -* )
85cbeba4aeSmrg       echo "$me: invalid option $1$help" >&2
86cbeba4aeSmrg       exit 1 ;;
87cbeba4aeSmrg    * )
88cbeba4aeSmrg       break ;;
89cbeba4aeSmrg  esac
90cbeba4aeSmrgdone
91cbeba4aeSmrg
92cbeba4aeSmrgif test $# != 0; then
93cbeba4aeSmrg  echo "$me: too many arguments$help" >&2
94cbeba4aeSmrg  exit 1
95cbeba4aeSmrgfi
96cbeba4aeSmrg
97a4a4261fSmrg# Just in case it came from the environment.
98a4a4261fSmrgGUESS=
99cbeba4aeSmrg
100cbeba4aeSmrg# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
101cbeba4aeSmrg# compiler to aid in system detection is discouraged as it requires
102cbeba4aeSmrg# temporary files to be created and, as you can see below, it is a
103cbeba4aeSmrg# headache to deal with in a portable fashion.
104cbeba4aeSmrg
105cbeba4aeSmrg# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106cbeba4aeSmrg# use `HOST_CC' if defined, but it is deprecated.
107cbeba4aeSmrg
108cbeba4aeSmrg# Portable tmp directory creation inspired by the Autoconf team.
109cbeba4aeSmrg
110a4a4261fSmrgtmp=
111a4a4261fSmrg# shellcheck disable=SC2172
112a4a4261fSmrgtrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113a4a4261fSmrg
114a4a4261fSmrgset_cc_for_build() {
115a4a4261fSmrg    # prevent multiple calls if $tmp is already set
116a4a4261fSmrg    test "$tmp" && return 0
117a4a4261fSmrg    : "${TMPDIR=/tmp}"
118a4a4261fSmrg    # shellcheck disable=SC2039,SC3028
119a4a4261fSmrg    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120a4a4261fSmrg	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121a4a4261fSmrg	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122a4a4261fSmrg	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123a4a4261fSmrg    dummy=$tmp/dummy
124a4a4261fSmrg    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125a4a4261fSmrg	,,)    echo "int x;" > "$dummy.c"
126a4a4261fSmrg	       for driver in cc gcc c89 c99 ; do
127a4a4261fSmrg		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128a4a4261fSmrg		       CC_FOR_BUILD=$driver
129a4a4261fSmrg		       break
130a4a4261fSmrg		   fi
131a4a4261fSmrg	       done
132a4a4261fSmrg	       if test x"$CC_FOR_BUILD" = x ; then
133a4a4261fSmrg		   CC_FOR_BUILD=no_compiler_found
134a4a4261fSmrg	       fi
135a4a4261fSmrg	       ;;
136a4a4261fSmrg	,,*)   CC_FOR_BUILD=$CC ;;
137a4a4261fSmrg	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138a4a4261fSmrg    esac
139a4a4261fSmrg}
140cbeba4aeSmrg
141cbeba4aeSmrg# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
142cbeba4aeSmrg# (ghazi@noc.rutgers.edu 1994-08-24)
143a4a4261fSmrgif test -f /.attbin/uname ; then
144cbeba4aeSmrg	PATH=$PATH:/.attbin ; export PATH
145cbeba4aeSmrgfi
146cbeba4aeSmrg
147cbeba4aeSmrgUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
148cbeba4aeSmrgUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
149a4a4261fSmrgUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
150cbeba4aeSmrgUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
151cbeba4aeSmrg
152a4a4261fSmrgcase $UNAME_SYSTEM in
153e7c933f3SmrgLinux|GNU|GNU/*)
154a4a4261fSmrg	LIBC=unknown
155e7c933f3Smrg
156a4a4261fSmrg	set_cc_for_build
157e7c933f3Smrg	cat <<-EOF > "$dummy.c"
158e7c933f3Smrg	#include <features.h>
159e7c933f3Smrg	#if defined(__UCLIBC__)
160e7c933f3Smrg	LIBC=uclibc
161e7c933f3Smrg	#elif defined(__dietlibc__)
162e7c933f3Smrg	LIBC=dietlibc
163a4a4261fSmrg	#elif defined(__GLIBC__)
164e7c933f3Smrg	LIBC=gnu
165a4a4261fSmrg	#else
166a4a4261fSmrg	#include <stdarg.h>
167a4a4261fSmrg	/* First heuristic to detect musl libc.  */
168a4a4261fSmrg	#ifdef __DEFINED_va_list
169a4a4261fSmrg	LIBC=musl
170a4a4261fSmrg	#endif
171e7c933f3Smrg	#endif
172e7c933f3Smrg	EOF
173a4a4261fSmrg	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174a4a4261fSmrg	eval "$cc_set_libc"
175e7c933f3Smrg
176a4a4261fSmrg	# Second heuristic to detect musl libc.
177a4a4261fSmrg	if [ "$LIBC" = unknown ] &&
178a4a4261fSmrg	   command -v ldd >/dev/null &&
179a4a4261fSmrg	   ldd --version 2>&1 | grep -q ^musl; then
180a4a4261fSmrg		LIBC=musl
181a4a4261fSmrg	fi
182a4a4261fSmrg
183a4a4261fSmrg	# If the system lacks a compiler, then just pick glibc.
184a4a4261fSmrg	# We could probably try harder.
185a4a4261fSmrg	if [ "$LIBC" = unknown ]; then
186a4a4261fSmrg		LIBC=gnu
187e7c933f3Smrg	fi
188e7c933f3Smrg	;;
189e7c933f3Smrgesac
190e7c933f3Smrg
191cbeba4aeSmrg# Note: order is significant - the case branches are not exclusive.
192cbeba4aeSmrg
193a4a4261fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
194cbeba4aeSmrg    *:NetBSD:*:*)
195cbeba4aeSmrg	# NetBSD (nbsd) targets should (where applicable) match one or
196e7c933f3Smrg	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
197cbeba4aeSmrg	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
198cbeba4aeSmrg	# switched to ELF, *-*-netbsd* would select the old
199cbeba4aeSmrg	# object file format.  This provides both forward
200cbeba4aeSmrg	# compatibility and a consistent mechanism for selecting the
201cbeba4aeSmrg	# object file format.
202cbeba4aeSmrg	#
203cbeba4aeSmrg	# Note: NetBSD doesn't particularly care about the vendor
204cbeba4aeSmrg	# portion of the name.  We always set it to "unknown".
205e7c933f3Smrg	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
206a4a4261fSmrg	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
207a4a4261fSmrg	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
208e7c933f3Smrg	    echo unknown)`
209a4a4261fSmrg	case $UNAME_MACHINE_ARCH in
210a4a4261fSmrg	    aarch64eb) machine=aarch64_be-unknown ;;
211cbeba4aeSmrg	    armeb) machine=armeb-unknown ;;
212cbeba4aeSmrg	    arm*) machine=arm-unknown ;;
213cbeba4aeSmrg	    sh3el) machine=shl-unknown ;;
214cbeba4aeSmrg	    sh3eb) machine=sh-unknown ;;
2157bd0f98dSmrg	    sh5el) machine=sh5le-unknown ;;
216e7c933f3Smrg	    earmv*)
217e7c933f3Smrg		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
218e7c933f3Smrg		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
219a4a4261fSmrg		machine=${arch}${endian}-unknown
220e7c933f3Smrg		;;
221a4a4261fSmrg	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
222cbeba4aeSmrg	esac
223cbeba4aeSmrg	# The Operating System including object format, if it has switched
224e7c933f3Smrg	# to ELF recently (or will in the future) and ABI.
225a4a4261fSmrg	case $UNAME_MACHINE_ARCH in
226e7c933f3Smrg	    earm*)
227e7c933f3Smrg		os=netbsdelf
228e7c933f3Smrg		;;
229cbeba4aeSmrg	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
230a4a4261fSmrg		set_cc_for_build
231cbeba4aeSmrg		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
2327bd0f98dSmrg			| grep -q __ELF__
233cbeba4aeSmrg		then
234cbeba4aeSmrg		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
235cbeba4aeSmrg		    # Return netbsd for either.  FIX?
236cbeba4aeSmrg		    os=netbsd
237cbeba4aeSmrg		else
238cbeba4aeSmrg		    os=netbsdelf
239cbeba4aeSmrg		fi
240cbeba4aeSmrg		;;
241cbeba4aeSmrg	    *)
242e7c933f3Smrg		os=netbsd
243e7c933f3Smrg		;;
244e7c933f3Smrg	esac
245e7c933f3Smrg	# Determine ABI tags.
246a4a4261fSmrg	case $UNAME_MACHINE_ARCH in
247e7c933f3Smrg	    earm*)
248e7c933f3Smrg		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
249e7c933f3Smrg		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
250cbeba4aeSmrg		;;
251cbeba4aeSmrg	esac
252cbeba4aeSmrg	# The OS release
253cbeba4aeSmrg	# Debian GNU/NetBSD machines have a different userland, and
254cbeba4aeSmrg	# thus, need a distinct triplet. However, they do not need
255cbeba4aeSmrg	# kernel version information, so it can be replaced with a
256cbeba4aeSmrg	# suitable tag, in the style of linux-gnu.
257a4a4261fSmrg	case $UNAME_VERSION in
258cbeba4aeSmrg	    Debian*)
259cbeba4aeSmrg		release='-gnu'
260cbeba4aeSmrg		;;
261cbeba4aeSmrg	    *)
262e7c933f3Smrg		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
263cbeba4aeSmrg		;;
264cbeba4aeSmrg	esac
265cbeba4aeSmrg	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
266cbeba4aeSmrg	# contains redundant information, the shorter form:
267cbeba4aeSmrg	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
268a4a4261fSmrg	GUESS=$machine-${os}${release}${abi-}
269a4a4261fSmrg	;;
270e7c933f3Smrg    *:Bitrig:*:*)
271e7c933f3Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
272a4a4261fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
273a4a4261fSmrg	;;
274cbeba4aeSmrg    *:OpenBSD:*:*)
2757bd0f98dSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
276a4a4261fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
277a4a4261fSmrg	;;
278a4a4261fSmrg    *:SecBSD:*:*)
279a4a4261fSmrg	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
280a4a4261fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
281a4a4261fSmrg	;;
282e7c933f3Smrg    *:LibertyBSD:*:*)
283e7c933f3Smrg	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
284a4a4261fSmrg	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
285a4a4261fSmrg	;;
286e7c933f3Smrg    *:MidnightBSD:*:*)
287a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
288a4a4261fSmrg	;;
2897bd0f98dSmrg    *:ekkoBSD:*:*)
290a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
291a4a4261fSmrg	;;
2927bd0f98dSmrg    *:SolidBSD:*:*)
293a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
294a4a4261fSmrg	;;
295a4a4261fSmrg    *:OS108:*:*)
296a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
297a4a4261fSmrg	;;
2987bd0f98dSmrg    macppc:MirBSD:*:*)
299a4a4261fSmrg	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
300a4a4261fSmrg	;;
3017bd0f98dSmrg    *:MirBSD:*:*)
302a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
303a4a4261fSmrg	;;
304e7c933f3Smrg    *:Sortix:*:*)
305a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-sortix
306a4a4261fSmrg	;;
307a4a4261fSmrg    *:Twizzler:*:*)
308a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-twizzler
309a4a4261fSmrg	;;
310e7c933f3Smrg    *:Redox:*:*)
311a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-redox
312a4a4261fSmrg	;;
313e7c933f3Smrg    mips:OSF1:*.*)
314a4a4261fSmrg	GUESS=mips-dec-osf1
315a4a4261fSmrg	;;
316cbeba4aeSmrg    alpha:OSF1:*:*)
317a4a4261fSmrg	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
318a4a4261fSmrg	trap '' 0
3197bd0f98dSmrg	case $UNAME_RELEASE in
3207bd0f98dSmrg	*4.0)
321cbeba4aeSmrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
3227bd0f98dSmrg		;;
3237bd0f98dSmrg	*5.*)
324e7c933f3Smrg		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
3257bd0f98dSmrg		;;
3267bd0f98dSmrg	esac
327cbeba4aeSmrg	# According to Compaq, /usr/sbin/psrinfo has been available on
328cbeba4aeSmrg	# OSF/1 and Tru64 systems produced since 1995.  I hope that
329cbeba4aeSmrg	# covers most systems running today.  This code pipes the CPU
330cbeba4aeSmrg	# types through head -n 1, so we only detect the type of CPU 0.
331cbeba4aeSmrg	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
332a4a4261fSmrg	case $ALPHA_CPU_TYPE in
333cbeba4aeSmrg	    "EV4 (21064)")
334e7c933f3Smrg		UNAME_MACHINE=alpha ;;
335cbeba4aeSmrg	    "EV4.5 (21064)")
336e7c933f3Smrg		UNAME_MACHINE=alpha ;;
337cbeba4aeSmrg	    "LCA4 (21066/21068)")
338e7c933f3Smrg		UNAME_MACHINE=alpha ;;
339cbeba4aeSmrg	    "EV5 (21164)")
340e7c933f3Smrg		UNAME_MACHINE=alphaev5 ;;
341cbeba4aeSmrg	    "EV5.6 (21164A)")
342e7c933f3Smrg		UNAME_MACHINE=alphaev56 ;;
343cbeba4aeSmrg	    "EV5.6 (21164PC)")
344e7c933f3Smrg		UNAME_MACHINE=alphapca56 ;;
345cbeba4aeSmrg	    "EV5.7 (21164PC)")
346e7c933f3Smrg		UNAME_MACHINE=alphapca57 ;;
347cbeba4aeSmrg	    "EV6 (21264)")
348e7c933f3Smrg		UNAME_MACHINE=alphaev6 ;;
349cbeba4aeSmrg	    "EV6.7 (21264A)")
350e7c933f3Smrg		UNAME_MACHINE=alphaev67 ;;
351cbeba4aeSmrg	    "EV6.8CB (21264C)")
352e7c933f3Smrg		UNAME_MACHINE=alphaev68 ;;
353cbeba4aeSmrg	    "EV6.8AL (21264B)")
354e7c933f3Smrg		UNAME_MACHINE=alphaev68 ;;
355cbeba4aeSmrg	    "EV6.8CX (21264D)")
356e7c933f3Smrg		UNAME_MACHINE=alphaev68 ;;
357cbeba4aeSmrg	    "EV6.9A (21264/EV69A)")
358e7c933f3Smrg		UNAME_MACHINE=alphaev69 ;;
359cbeba4aeSmrg	    "EV7 (21364)")
360e7c933f3Smrg		UNAME_MACHINE=alphaev7 ;;
361cbeba4aeSmrg	    "EV7.9 (21364A)")
362e7c933f3Smrg		UNAME_MACHINE=alphaev79 ;;
363cbeba4aeSmrg	esac
3647bd0f98dSmrg	# A Pn.n version is a patched version.
365cbeba4aeSmrg	# A Vn.n version is a released version.
366cbeba4aeSmrg	# A Tn.n version is a released field test version.
367cbeba4aeSmrg	# A Xn.n version is an unreleased experimental baselevel.
368cbeba4aeSmrg	# 1.2 uses "1.2" for uname -r.
369a4a4261fSmrg	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
370a4a4261fSmrg	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
371a4a4261fSmrg	;;
372cbeba4aeSmrg    Amiga*:UNIX_System_V:4.0:*)
373a4a4261fSmrg	GUESS=m68k-unknown-sysv4
374a4a4261fSmrg	;;
375cbeba4aeSmrg    *:[Aa]miga[Oo][Ss]:*:*)
376a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-amigaos
377a4a4261fSmrg	;;
378cbeba4aeSmrg    *:[Mm]orph[Oo][Ss]:*:*)
379a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-morphos
380a4a4261fSmrg	;;
381cbeba4aeSmrg    *:OS/390:*:*)
382a4a4261fSmrg	GUESS=i370-ibm-openedition
383a4a4261fSmrg	;;
3847bd0f98dSmrg    *:z/VM:*:*)
385a4a4261fSmrg	GUESS=s390-ibm-zvmoe
386a4a4261fSmrg	;;
3877bd0f98dSmrg    *:OS400:*:*)
388a4a4261fSmrg	GUESS=powerpc-ibm-os400
389a4a4261fSmrg	;;
390cbeba4aeSmrg    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
391a4a4261fSmrg	GUESS=arm-acorn-riscix$UNAME_RELEASE
392a4a4261fSmrg	;;
393e7c933f3Smrg    arm*:riscos:*:*|arm*:RISCOS:*:*)
394a4a4261fSmrg	GUESS=arm-unknown-riscos
395a4a4261fSmrg	;;
396cbeba4aeSmrg    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
397a4a4261fSmrg	GUESS=hppa1.1-hitachi-hiuxmpp
398a4a4261fSmrg	;;
399cbeba4aeSmrg    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
400cbeba4aeSmrg	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
401a4a4261fSmrg	case `(/bin/universe) 2>/dev/null` in
402a4a4261fSmrg	    att) GUESS=pyramid-pyramid-sysv3 ;;
403a4a4261fSmrg	    *)   GUESS=pyramid-pyramid-bsd   ;;
404a4a4261fSmrg	esac
405a4a4261fSmrg	;;
406cbeba4aeSmrg    NILE*:*:*:dcosx)
407a4a4261fSmrg	GUESS=pyramid-pyramid-svr4
408a4a4261fSmrg	;;
409cbeba4aeSmrg    DRS?6000:unix:4.0:6*)
410a4a4261fSmrg	GUESS=sparc-icl-nx6
411a4a4261fSmrg	;;
4127bd0f98dSmrg    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
413cbeba4aeSmrg	case `/usr/bin/uname -p` in
414a4a4261fSmrg	    sparc) GUESS=sparc-icl-nx7 ;;
415a4a4261fSmrg	esac
416a4a4261fSmrg	;;
4177bd0f98dSmrg    s390x:SunOS:*:*)
418a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
419a4a4261fSmrg	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
420a4a4261fSmrg	;;
421cbeba4aeSmrg    sun4H:SunOS:5.*:*)
422a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
423a4a4261fSmrg	GUESS=sparc-hal-solaris2$SUN_REL
424a4a4261fSmrg	;;
425cbeba4aeSmrg    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
426a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
427a4a4261fSmrg	GUESS=sparc-sun-solaris2$SUN_REL
428a4a4261fSmrg	;;
4297bd0f98dSmrg    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
430a4a4261fSmrg	GUESS=i386-pc-auroraux$UNAME_RELEASE
431a4a4261fSmrg	;;
4327bd0f98dSmrg    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
433a4a4261fSmrg	set_cc_for_build
434e7c933f3Smrg	SUN_ARCH=i386
4357bd0f98dSmrg	# If there is a compiler, see if it is configured for 64-bit objects.
4367bd0f98dSmrg	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
4377bd0f98dSmrg	# This test works for both compilers.
438a4a4261fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
4397bd0f98dSmrg	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
440b0d3a7b0Smrg		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
4417bd0f98dSmrg		grep IS_64BIT_ARCH >/dev/null
4427bd0f98dSmrg	    then
443e7c933f3Smrg		SUN_ARCH=x86_64
4447bd0f98dSmrg	    fi
4457bd0f98dSmrg	fi
446a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
447a4a4261fSmrg	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
448a4a4261fSmrg	;;
449cbeba4aeSmrg    sun4*:SunOS:6*:*)
450cbeba4aeSmrg	# According to config.sub, this is the proper way to canonicalize
451cbeba4aeSmrg	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
452cbeba4aeSmrg	# it's likely to be more like Solaris than SunOS4.
453a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
454a4a4261fSmrg	GUESS=sparc-sun-solaris3$SUN_REL
455a4a4261fSmrg	;;
456cbeba4aeSmrg    sun4*:SunOS:*:*)
457a4a4261fSmrg	case `/usr/bin/arch -k` in
458cbeba4aeSmrg	    Series*|S4*)
459cbeba4aeSmrg		UNAME_RELEASE=`uname -v`
460cbeba4aeSmrg		;;
461cbeba4aeSmrg	esac
462cbeba4aeSmrg	# Japanese Language versions have a version number like `4.1.3-JL'.
463a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
464a4a4261fSmrg	GUESS=sparc-sun-sunos$SUN_REL
465a4a4261fSmrg	;;
466cbeba4aeSmrg    sun3*:SunOS:*:*)
467a4a4261fSmrg	GUESS=m68k-sun-sunos$UNAME_RELEASE
468a4a4261fSmrg	;;
469cbeba4aeSmrg    sun*:*:4.2BSD:*)
470cbeba4aeSmrg	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
471e7c933f3Smrg	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
472a4a4261fSmrg	case `/bin/arch` in
473cbeba4aeSmrg	    sun3)
474a4a4261fSmrg		GUESS=m68k-sun-sunos$UNAME_RELEASE
475cbeba4aeSmrg		;;
476cbeba4aeSmrg	    sun4)
477a4a4261fSmrg		GUESS=sparc-sun-sunos$UNAME_RELEASE
478cbeba4aeSmrg		;;
479cbeba4aeSmrg	esac
480a4a4261fSmrg	;;
481cbeba4aeSmrg    aushp:SunOS:*:*)
482a4a4261fSmrg	GUESS=sparc-auspex-sunos$UNAME_RELEASE
483a4a4261fSmrg	;;
484cbeba4aeSmrg    # The situation for MiNT is a little confusing.  The machine name
485cbeba4aeSmrg    # can be virtually everything (everything which is not
486cbeba4aeSmrg    # "atarist" or "atariste" at least should have a processor
487cbeba4aeSmrg    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
488cbeba4aeSmrg    # to the lowercase version "mint" (or "freemint").  Finally
489cbeba4aeSmrg    # the system name "TOS" denotes a system which is actually not
490cbeba4aeSmrg    # MiNT.  But MiNT is downward compatible to TOS, so this should
491cbeba4aeSmrg    # be no problem.
492cbeba4aeSmrg    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
493a4a4261fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
494a4a4261fSmrg	;;
495cbeba4aeSmrg    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
496a4a4261fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
497a4a4261fSmrg	;;
498cbeba4aeSmrg    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
499a4a4261fSmrg	GUESS=m68k-atari-mint$UNAME_RELEASE
500a4a4261fSmrg	;;
501cbeba4aeSmrg    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
502a4a4261fSmrg	GUESS=m68k-milan-mint$UNAME_RELEASE
503a4a4261fSmrg	;;
504cbeba4aeSmrg    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
505a4a4261fSmrg	GUESS=m68k-hades-mint$UNAME_RELEASE
506a4a4261fSmrg	;;
507cbeba4aeSmrg    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
508a4a4261fSmrg	GUESS=m68k-unknown-mint$UNAME_RELEASE
509a4a4261fSmrg	;;
5107bd0f98dSmrg    m68k:machten:*:*)
511a4a4261fSmrg	GUESS=m68k-apple-machten$UNAME_RELEASE
512a4a4261fSmrg	;;
513cbeba4aeSmrg    powerpc:machten:*:*)
514a4a4261fSmrg	GUESS=powerpc-apple-machten$UNAME_RELEASE
515a4a4261fSmrg	;;
516cbeba4aeSmrg    RISC*:Mach:*:*)
517a4a4261fSmrg	GUESS=mips-dec-mach_bsd4.3
518a4a4261fSmrg	;;
519cbeba4aeSmrg    RISC*:ULTRIX:*:*)
520a4a4261fSmrg	GUESS=mips-dec-ultrix$UNAME_RELEASE
521a4a4261fSmrg	;;
522cbeba4aeSmrg    VAX*:ULTRIX*:*:*)
523a4a4261fSmrg	GUESS=vax-dec-ultrix$UNAME_RELEASE
524a4a4261fSmrg	;;
525cbeba4aeSmrg    2020:CLIX:*:* | 2430:CLIX:*:*)
526a4a4261fSmrg	GUESS=clipper-intergraph-clix$UNAME_RELEASE
527a4a4261fSmrg	;;
528cbeba4aeSmrg    mips:*:*:UMIPS | mips:*:*:RISCos)
529a4a4261fSmrg	set_cc_for_build
530e7c933f3Smrg	sed 's/^	//' << EOF > "$dummy.c"
531cbeba4aeSmrg#ifdef __cplusplus
532cbeba4aeSmrg#include <stdio.h>  /* for printf() prototype */
533cbeba4aeSmrg	int main (int argc, char *argv[]) {
534cbeba4aeSmrg#else
535cbeba4aeSmrg	int main (argc, argv) int argc; char *argv[]; {
536cbeba4aeSmrg#endif
537cbeba4aeSmrg	#if defined (host_mips) && defined (MIPSEB)
538cbeba4aeSmrg	#if defined (SYSTYPE_SYSV)
539e7c933f3Smrg	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
540cbeba4aeSmrg	#endif
541cbeba4aeSmrg	#if defined (SYSTYPE_SVR4)
542e7c933f3Smrg	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
543cbeba4aeSmrg	#endif
544cbeba4aeSmrg	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
545e7c933f3Smrg	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
546cbeba4aeSmrg	#endif
547cbeba4aeSmrg	#endif
548cbeba4aeSmrg	  exit (-1);
549cbeba4aeSmrg	}
550cbeba4aeSmrgEOF
551e7c933f3Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
552e7c933f3Smrg	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
553e7c933f3Smrg	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5547bd0f98dSmrg	    { echo "$SYSTEM_NAME"; exit; }
555a4a4261fSmrg	GUESS=mips-mips-riscos$UNAME_RELEASE
556a4a4261fSmrg	;;
557cbeba4aeSmrg    Motorola:PowerMAX_OS:*:*)
558a4a4261fSmrg	GUESS=powerpc-motorola-powermax
559a4a4261fSmrg	;;
560cbeba4aeSmrg    Motorola:*:4.3:PL8-*)
561a4a4261fSmrg	GUESS=powerpc-harris-powermax
562a4a4261fSmrg	;;
563cbeba4aeSmrg    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
564a4a4261fSmrg	GUESS=powerpc-harris-powermax
565a4a4261fSmrg	;;
566cbeba4aeSmrg    Night_Hawk:Power_UNIX:*:*)
567a4a4261fSmrg	GUESS=powerpc-harris-powerunix
568a4a4261fSmrg	;;
569cbeba4aeSmrg    m88k:CX/UX:7*:*)
570a4a4261fSmrg	GUESS=m88k-harris-cxux7
571a4a4261fSmrg	;;
572cbeba4aeSmrg    m88k:*:4*:R4*)
573a4a4261fSmrg	GUESS=m88k-motorola-sysv4
574a4a4261fSmrg	;;
575cbeba4aeSmrg    m88k:*:3*:R3*)
576a4a4261fSmrg	GUESS=m88k-motorola-sysv3
577a4a4261fSmrg	;;
578cbeba4aeSmrg    AViiON:dgux:*:*)
579e7c933f3Smrg	# DG/UX returns AViiON for all architectures
580e7c933f3Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
581a4a4261fSmrg	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
582cbeba4aeSmrg	then
583a4a4261fSmrg	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
584a4a4261fSmrg	       test "$TARGET_BINARY_INTERFACE"x = x
585cbeba4aeSmrg	    then
586a4a4261fSmrg		GUESS=m88k-dg-dgux$UNAME_RELEASE
587cbeba4aeSmrg	    else
588a4a4261fSmrg		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
589cbeba4aeSmrg	    fi
590cbeba4aeSmrg	else
591a4a4261fSmrg	    GUESS=i586-dg-dgux$UNAME_RELEASE
592cbeba4aeSmrg	fi
593a4a4261fSmrg	;;
594cbeba4aeSmrg    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
595a4a4261fSmrg	GUESS=m88k-dolphin-sysv3
596a4a4261fSmrg	;;
597cbeba4aeSmrg    M88*:*:R3*:*)
598cbeba4aeSmrg	# Delta 88k system running SVR3
599a4a4261fSmrg	GUESS=m88k-motorola-sysv3
600a4a4261fSmrg	;;
601cbeba4aeSmrg    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
602a4a4261fSmrg	GUESS=m88k-tektronix-sysv3
603a4a4261fSmrg	;;
604cbeba4aeSmrg    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
605a4a4261fSmrg	GUESS=m68k-tektronix-bsd
606a4a4261fSmrg	;;
607cbeba4aeSmrg    *:IRIX*:*:*)
608a4a4261fSmrg	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
609a4a4261fSmrg	GUESS=mips-sgi-irix$IRIX_REL
610a4a4261fSmrg	;;
611cbeba4aeSmrg    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
612a4a4261fSmrg	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
613a4a4261fSmrg	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
614cbeba4aeSmrg    i*86:AIX:*:*)
615a4a4261fSmrg	GUESS=i386-ibm-aix
616a4a4261fSmrg	;;
617cbeba4aeSmrg    ia64:AIX:*:*)
618a4a4261fSmrg	if test -x /usr/bin/oslevel ; then
619cbeba4aeSmrg		IBM_REV=`/usr/bin/oslevel`
620cbeba4aeSmrg	else
621a4a4261fSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
622cbeba4aeSmrg	fi
623a4a4261fSmrg	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
624a4a4261fSmrg	;;
625cbeba4aeSmrg    *:AIX:2:3)
626cbeba4aeSmrg	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
627a4a4261fSmrg		set_cc_for_build
628e7c933f3Smrg		sed 's/^		//' << EOF > "$dummy.c"
629cbeba4aeSmrg		#include <sys/systemcfg.h>
630cbeba4aeSmrg
631cbeba4aeSmrg		main()
632cbeba4aeSmrg			{
633cbeba4aeSmrg			if (!__power_pc())
634cbeba4aeSmrg				exit(1);
635cbeba4aeSmrg			puts("powerpc-ibm-aix3.2.5");
636cbeba4aeSmrg			exit(0);
637cbeba4aeSmrg			}
638cbeba4aeSmrgEOF
639e7c933f3Smrg		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6407bd0f98dSmrg		then
641a4a4261fSmrg			GUESS=$SYSTEM_NAME
6427bd0f98dSmrg		else
643a4a4261fSmrg			GUESS=rs6000-ibm-aix3.2.5
6447bd0f98dSmrg		fi
645cbeba4aeSmrg	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
646a4a4261fSmrg		GUESS=rs6000-ibm-aix3.2.4
647cbeba4aeSmrg	else
648a4a4261fSmrg		GUESS=rs6000-ibm-aix3.2
649cbeba4aeSmrg	fi
650a4a4261fSmrg	;;
6511a669bc9Smrg    *:AIX:*:[4567])
652cbeba4aeSmrg	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
653e7c933f3Smrg	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
654cbeba4aeSmrg		IBM_ARCH=rs6000
655cbeba4aeSmrg	else
656cbeba4aeSmrg		IBM_ARCH=powerpc
657cbeba4aeSmrg	fi
658a4a4261fSmrg	if test -x /usr/bin/lslpp ; then
659a4a4261fSmrg		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
660e7c933f3Smrg			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
661cbeba4aeSmrg	else
662a4a4261fSmrg		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
663cbeba4aeSmrg	fi
664a4a4261fSmrg	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
665a4a4261fSmrg	;;
666cbeba4aeSmrg    *:AIX:*:*)
667a4a4261fSmrg	GUESS=rs6000-ibm-aix
668a4a4261fSmrg	;;
669e7c933f3Smrg    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
670a4a4261fSmrg	GUESS=romp-ibm-bsd4.4
671a4a4261fSmrg	;;
672cbeba4aeSmrg    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
673a4a4261fSmrg	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
674a4a4261fSmrg	;;                                  # report: romp-ibm BSD 4.3
675cbeba4aeSmrg    *:BOSX:*:*)
676a4a4261fSmrg	GUESS=rs6000-bull-bosx
677a4a4261fSmrg	;;
678cbeba4aeSmrg    DPX/2?00:B.O.S.:*:*)
679a4a4261fSmrg	GUESS=m68k-bull-sysv3
680a4a4261fSmrg	;;
681cbeba4aeSmrg    9000/[34]??:4.3bsd:1.*:*)
682a4a4261fSmrg	GUESS=m68k-hp-bsd
683a4a4261fSmrg	;;
684cbeba4aeSmrg    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
685a4a4261fSmrg	GUESS=m68k-hp-bsd4.4
686a4a4261fSmrg	;;
687cbeba4aeSmrg    9000/[34678]??:HP-UX:*:*)
688a4a4261fSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
689a4a4261fSmrg	case $UNAME_MACHINE in
690e7c933f3Smrg	    9000/31?)            HP_ARCH=m68000 ;;
691e7c933f3Smrg	    9000/[34]??)         HP_ARCH=m68k ;;
692cbeba4aeSmrg	    9000/[678][0-9][0-9])
693a4a4261fSmrg		if test -x /usr/bin/getconf; then
694cbeba4aeSmrg		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
695e7c933f3Smrg		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
696a4a4261fSmrg		    case $sc_cpu_version in
697e7c933f3Smrg		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
698e7c933f3Smrg		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
699e7c933f3Smrg		      532)                      # CPU_PA_RISC2_0
700a4a4261fSmrg			case $sc_kernel_bits in
701e7c933f3Smrg			  32) HP_ARCH=hppa2.0n ;;
702e7c933f3Smrg			  64) HP_ARCH=hppa2.0w ;;
703e7c933f3Smrg			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
704e7c933f3Smrg			esac ;;
705e7c933f3Smrg		    esac
706cbeba4aeSmrg		fi
707a4a4261fSmrg		if test "$HP_ARCH" = ""; then
708a4a4261fSmrg		    set_cc_for_build
709e7c933f3Smrg		    sed 's/^		//' << EOF > "$dummy.c"
710cbeba4aeSmrg
711e7c933f3Smrg		#define _HPUX_SOURCE
712e7c933f3Smrg		#include <stdlib.h>
713e7c933f3Smrg		#include <unistd.h>
714cbeba4aeSmrg
715e7c933f3Smrg		int main ()
716e7c933f3Smrg		{
717e7c933f3Smrg		#if defined(_SC_KERNEL_BITS)
718e7c933f3Smrg		    long bits = sysconf(_SC_KERNEL_BITS);
719e7c933f3Smrg		#endif
720e7c933f3Smrg		    long cpu  = sysconf (_SC_CPU_VERSION);
721cbeba4aeSmrg
722e7c933f3Smrg		    switch (cpu)
723e7c933f3Smrg			{
724e7c933f3Smrg			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
725e7c933f3Smrg			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
726e7c933f3Smrg			case CPU_PA_RISC2_0:
727e7c933f3Smrg		#if defined(_SC_KERNEL_BITS)
728e7c933f3Smrg			    switch (bits)
729e7c933f3Smrg				{
730e7c933f3Smrg				case 64: puts ("hppa2.0w"); break;
731e7c933f3Smrg				case 32: puts ("hppa2.0n"); break;
732e7c933f3Smrg				default: puts ("hppa2.0"); break;
733e7c933f3Smrg				} break;
734e7c933f3Smrg		#else  /* !defined(_SC_KERNEL_BITS) */
735e7c933f3Smrg			    puts ("hppa2.0"); break;
736e7c933f3Smrg		#endif
737e7c933f3Smrg			default: puts ("hppa1.0"); break;
738e7c933f3Smrg			}
739e7c933f3Smrg		    exit (0);
740e7c933f3Smrg		}
741cbeba4aeSmrgEOF
742e7c933f3Smrg		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
743cbeba4aeSmrg		    test -z "$HP_ARCH" && HP_ARCH=hppa
744cbeba4aeSmrg		fi ;;
745cbeba4aeSmrg	esac
746a4a4261fSmrg	if test "$HP_ARCH" = hppa2.0w
747cbeba4aeSmrg	then
748a4a4261fSmrg	    set_cc_for_build
7497bd0f98dSmrg
7507bd0f98dSmrg	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7517bd0f98dSmrg	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7527bd0f98dSmrg	    # generating 64-bit code.  GNU and HP use different nomenclature:
7537bd0f98dSmrg	    #
7547bd0f98dSmrg	    # $ CC_FOR_BUILD=cc ./config.guess
7557bd0f98dSmrg	    # => hppa2.0w-hp-hpux11.23
7567bd0f98dSmrg	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7577bd0f98dSmrg	    # => hppa64-hp-hpux11.23
7587bd0f98dSmrg
759e7c933f3Smrg	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
7607bd0f98dSmrg		grep -q __LP64__
761cbeba4aeSmrg	    then
762e7c933f3Smrg		HP_ARCH=hppa2.0w
763cbeba4aeSmrg	    else
764e7c933f3Smrg		HP_ARCH=hppa64
765cbeba4aeSmrg	    fi
766cbeba4aeSmrg	fi
767a4a4261fSmrg	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
768a4a4261fSmrg	;;
769cbeba4aeSmrg    ia64:HP-UX:*:*)
770a4a4261fSmrg	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
771a4a4261fSmrg	GUESS=ia64-hp-hpux$HPUX_REV
772a4a4261fSmrg	;;
773cbeba4aeSmrg    3050*:HI-UX:*:*)
774a4a4261fSmrg	set_cc_for_build
775e7c933f3Smrg	sed 's/^	//' << EOF > "$dummy.c"
776cbeba4aeSmrg	#include <unistd.h>
777cbeba4aeSmrg	int
778cbeba4aeSmrg	main ()
779cbeba4aeSmrg	{
780cbeba4aeSmrg	  long cpu = sysconf (_SC_CPU_VERSION);
781cbeba4aeSmrg	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
782cbeba4aeSmrg	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
783cbeba4aeSmrg	     results, however.  */
784cbeba4aeSmrg	  if (CPU_IS_PA_RISC (cpu))
785cbeba4aeSmrg	    {
786cbeba4aeSmrg	      switch (cpu)
787cbeba4aeSmrg		{
788cbeba4aeSmrg		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
789cbeba4aeSmrg		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
790cbeba4aeSmrg		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
791cbeba4aeSmrg		  default: puts ("hppa-hitachi-hiuxwe2"); break;
792cbeba4aeSmrg		}
793cbeba4aeSmrg	    }
794cbeba4aeSmrg	  else if (CPU_IS_HP_MC68K (cpu))
795cbeba4aeSmrg	    puts ("m68k-hitachi-hiuxwe2");
796cbeba4aeSmrg	  else puts ("unknown-hitachi-hiuxwe2");
797cbeba4aeSmrg	  exit (0);
798cbeba4aeSmrg	}
799cbeba4aeSmrgEOF
800e7c933f3Smrg	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
8017bd0f98dSmrg		{ echo "$SYSTEM_NAME"; exit; }
802a4a4261fSmrg	GUESS=unknown-hitachi-hiuxwe2
803a4a4261fSmrg	;;
804e7c933f3Smrg    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
805a4a4261fSmrg	GUESS=hppa1.1-hp-bsd
806a4a4261fSmrg	;;
807cbeba4aeSmrg    9000/8??:4.3bsd:*:*)
808a4a4261fSmrg	GUESS=hppa1.0-hp-bsd
809a4a4261fSmrg	;;
810cbeba4aeSmrg    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
811a4a4261fSmrg	GUESS=hppa1.0-hp-mpeix
812a4a4261fSmrg	;;
813e7c933f3Smrg    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
814a4a4261fSmrg	GUESS=hppa1.1-hp-osf
815a4a4261fSmrg	;;
816cbeba4aeSmrg    hp8??:OSF1:*:*)
817a4a4261fSmrg	GUESS=hppa1.0-hp-osf
818a4a4261fSmrg	;;
819cbeba4aeSmrg    i*86:OSF1:*:*)
820a4a4261fSmrg	if test -x /usr/sbin/sysversion ; then
821a4a4261fSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1mk
822cbeba4aeSmrg	else
823a4a4261fSmrg	    GUESS=$UNAME_MACHINE-unknown-osf1
824cbeba4aeSmrg	fi
825a4a4261fSmrg	;;
826cbeba4aeSmrg    parisc*:Lites*:*:*)
827a4a4261fSmrg	GUESS=hppa1.1-hp-lites
828a4a4261fSmrg	;;
829cbeba4aeSmrg    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
830a4a4261fSmrg	GUESS=c1-convex-bsd
831a4a4261fSmrg	;;
832cbeba4aeSmrg    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
833cbeba4aeSmrg	if getsysinfo -f scalar_acc
834cbeba4aeSmrg	then echo c32-convex-bsd
835cbeba4aeSmrg	else echo c2-convex-bsd
836cbeba4aeSmrg	fi
837e7c933f3Smrg	exit ;;
838cbeba4aeSmrg    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
839a4a4261fSmrg	GUESS=c34-convex-bsd
840a4a4261fSmrg	;;
841cbeba4aeSmrg    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
842a4a4261fSmrg	GUESS=c38-convex-bsd
843a4a4261fSmrg	;;
844cbeba4aeSmrg    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
845a4a4261fSmrg	GUESS=c4-convex-bsd
846a4a4261fSmrg	;;
847cbeba4aeSmrg    CRAY*Y-MP:*:*:*)
848a4a4261fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
849a4a4261fSmrg	GUESS=ymp-cray-unicos$CRAY_REL
850a4a4261fSmrg	;;
851cbeba4aeSmrg    CRAY*[A-Z]90:*:*:*)
852e7c933f3Smrg	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
853cbeba4aeSmrg	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
854cbeba4aeSmrg	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
855cbeba4aeSmrg	      -e 's/\.[^.]*$/.X/'
8567bd0f98dSmrg	exit ;;
857cbeba4aeSmrg    CRAY*TS:*:*:*)
858a4a4261fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
859a4a4261fSmrg	GUESS=t90-cray-unicos$CRAY_REL
860a4a4261fSmrg	;;
861cbeba4aeSmrg    CRAY*T3E:*:*:*)
862a4a4261fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
863a4a4261fSmrg	GUESS=alphaev5-cray-unicosmk$CRAY_REL
864a4a4261fSmrg	;;
865cbeba4aeSmrg    CRAY*SV1:*:*:*)
866a4a4261fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867a4a4261fSmrg	GUESS=sv1-cray-unicos$CRAY_REL
868a4a4261fSmrg	;;
869cbeba4aeSmrg    *:UNICOS/mp:*:*)
870a4a4261fSmrg	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871a4a4261fSmrg	GUESS=craynv-cray-unicosmp$CRAY_REL
872a4a4261fSmrg	;;
873cbeba4aeSmrg    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
874e7c933f3Smrg	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
875e7c933f3Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
876e7c933f3Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
877a4a4261fSmrg	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
878a4a4261fSmrg	;;
8797bd0f98dSmrg    5000:UNIX_System_V:4.*:*)
880e7c933f3Smrg	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
881e7c933f3Smrg	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
882a4a4261fSmrg	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
883a4a4261fSmrg	;;
884cbeba4aeSmrg    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
885a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
886a4a4261fSmrg	;;
887cbeba4aeSmrg    sparc*:BSD/OS:*:*)
888a4a4261fSmrg	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
889a4a4261fSmrg	;;
890cbeba4aeSmrg    *:BSD/OS:*:*)
891a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
892a4a4261fSmrg	;;
893a4a4261fSmrg    arm:FreeBSD:*:*)
894a4a4261fSmrg	UNAME_PROCESSOR=`uname -p`
895a4a4261fSmrg	set_cc_for_build
896a4a4261fSmrg	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
897a4a4261fSmrg	    | grep -q __ARM_PCS_VFP
898a4a4261fSmrg	then
899a4a4261fSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
900a4a4261fSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
901a4a4261fSmrg	else
902a4a4261fSmrg	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
903a4a4261fSmrg	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
904a4a4261fSmrg	fi
905a4a4261fSmrg	;;
9067bd0f98dSmrg    *:FreeBSD:*:*)
907e7c933f3Smrg	UNAME_PROCESSOR=`/usr/bin/uname -p`
908a4a4261fSmrg	case $UNAME_PROCESSOR in
9097bd0f98dSmrg	    amd64)
910e7c933f3Smrg		UNAME_PROCESSOR=x86_64 ;;
911e7c933f3Smrg	    i386)
912e7c933f3Smrg		UNAME_PROCESSOR=i586 ;;
9137bd0f98dSmrg	esac
914a4a4261fSmrg	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
915a4a4261fSmrg	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
916a4a4261fSmrg	;;
917cbeba4aeSmrg    i*:CYGWIN*:*)
918a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-cygwin
919a4a4261fSmrg	;;
920e7c933f3Smrg    *:MINGW64*:*)
921a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-mingw64
922a4a4261fSmrg	;;
9237bd0f98dSmrg    *:MINGW*:*)
924a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-mingw32
925a4a4261fSmrg	;;
926e7c933f3Smrg    *:MSYS*:*)
927a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-msys
928a4a4261fSmrg	;;
929cbeba4aeSmrg    i*:PW*:*)
930a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-pw32
931a4a4261fSmrg	;;
932b0d3a7b0Smrg    *:SerenityOS:*:*)
933b0d3a7b0Smrg        GUESS=$UNAME_MACHINE-pc-serenity
934b0d3a7b0Smrg        ;;
9357bd0f98dSmrg    *:Interix*:*)
936a4a4261fSmrg	case $UNAME_MACHINE in
9377bd0f98dSmrg	    x86)
938a4a4261fSmrg		GUESS=i586-pc-interix$UNAME_RELEASE
939a4a4261fSmrg		;;
9407bd0f98dSmrg	    authenticamd | genuineintel | EM64T)
941a4a4261fSmrg		GUESS=x86_64-unknown-interix$UNAME_RELEASE
942a4a4261fSmrg		;;
9437bd0f98dSmrg	    IA64)
944a4a4261fSmrg		GUESS=ia64-unknown-interix$UNAME_RELEASE
945a4a4261fSmrg		;;
9467bd0f98dSmrg	esac ;;
947cbeba4aeSmrg    i*:UWIN*:*)
948a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-uwin
949a4a4261fSmrg	;;
9507bd0f98dSmrg    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
951a4a4261fSmrg	GUESS=x86_64-pc-cygwin
952a4a4261fSmrg	;;
953cbeba4aeSmrg    prep*:SunOS:5.*:*)
954a4a4261fSmrg	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
955a4a4261fSmrg	GUESS=powerpcle-unknown-solaris2$SUN_REL
956a4a4261fSmrg	;;
957cbeba4aeSmrg    *:GNU:*:*)
9587bd0f98dSmrg	# the GNU system
959a4a4261fSmrg	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
960a4a4261fSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
961a4a4261fSmrg	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
962a4a4261fSmrg	;;
9637bd0f98dSmrg    *:GNU/*:*:*)
9647bd0f98dSmrg	# other systems with GNU libc and userland
965a4a4261fSmrg	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
966a4a4261fSmrg	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
967a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
968a4a4261fSmrg	;;
969b0d3a7b0Smrg    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
970b0d3a7b0Smrg	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
971b0d3a7b0Smrg	;;
972b0d3a7b0Smrg    *:[Mm]anagarm:*:*)
973b0d3a7b0Smrg	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
974b0d3a7b0Smrg	;;
975a4a4261fSmrg    *:Minix:*:*)
976a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-minix
977a4a4261fSmrg	;;
978e7c933f3Smrg    aarch64:Linux:*:*)
979a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
980a4a4261fSmrg	;;
981e7c933f3Smrg    aarch64_be:Linux:*:*)
982e7c933f3Smrg	UNAME_MACHINE=aarch64_be
983a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
984a4a4261fSmrg	;;
9857bd0f98dSmrg    alpha:Linux:*:*)
986a4a4261fSmrg	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
9877bd0f98dSmrg	  EV5)   UNAME_MACHINE=alphaev5 ;;
9887bd0f98dSmrg	  EV56)  UNAME_MACHINE=alphaev56 ;;
9897bd0f98dSmrg	  PCA56) UNAME_MACHINE=alphapca56 ;;
9907bd0f98dSmrg	  PCA57) UNAME_MACHINE=alphapca56 ;;
9917bd0f98dSmrg	  EV6)   UNAME_MACHINE=alphaev6 ;;
9927bd0f98dSmrg	  EV67)  UNAME_MACHINE=alphaev67 ;;
9937bd0f98dSmrg	  EV68*) UNAME_MACHINE=alphaev68 ;;
994e7c933f3Smrg	esac
9957bd0f98dSmrg	objdump --private-headers /bin/sh | grep -q ld.so.1
996e7c933f3Smrg	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
997a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
998a4a4261fSmrg	;;
999a4a4261fSmrg    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1000a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1001a4a4261fSmrg	;;
1002cbeba4aeSmrg    arm*:Linux:*:*)
1003a4a4261fSmrg	set_cc_for_build
10047bd0f98dSmrg	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
10057bd0f98dSmrg	    | grep -q __ARM_EABI__
10067bd0f98dSmrg	then
1007a4a4261fSmrg	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
10087bd0f98dSmrg	else
1009e7c933f3Smrg	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
1010e7c933f3Smrg		| grep -q __ARM_PCS_VFP
1011e7c933f3Smrg	    then
1012a4a4261fSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
1013e7c933f3Smrg	    else
1014a4a4261fSmrg		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
1015e7c933f3Smrg	    fi
10167bd0f98dSmrg	fi
1017a4a4261fSmrg	;;
10187bd0f98dSmrg    avr32*:Linux:*:*)
1019a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1020a4a4261fSmrg	;;
1021cbeba4aeSmrg    cris:Linux:*:*)
1022a4a4261fSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1023a4a4261fSmrg	;;
10247bd0f98dSmrg    crisv32:Linux:*:*)
1025a4a4261fSmrg	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1026a4a4261fSmrg	;;
1027e7c933f3Smrg    e2k:Linux:*:*)
1028a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029a4a4261fSmrg	;;
10307bd0f98dSmrg    frv:Linux:*:*)
1031a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1032a4a4261fSmrg	;;
1033e7c933f3Smrg    hexagon:Linux:*:*)
1034a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1035a4a4261fSmrg	;;
10367bd0f98dSmrg    i*86:Linux:*:*)
1037a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1038a4a4261fSmrg	;;
10397bd0f98dSmrg    ia64:Linux:*:*)
1040a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1041a4a4261fSmrg	;;
1042e7c933f3Smrg    k1om:Linux:*:*)
1043a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1044a4a4261fSmrg	;;
1045b0d3a7b0Smrg    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1046a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1047a4a4261fSmrg	;;
10487bd0f98dSmrg    m32r*:Linux:*:*)
1049a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1050a4a4261fSmrg	;;
10517bd0f98dSmrg    m68*:Linux:*:*)
1052a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1053a4a4261fSmrg	;;
10547bd0f98dSmrg    mips:Linux:*:* | mips64:Linux:*:*)
1055a4a4261fSmrg	set_cc_for_build
1056a4a4261fSmrg	IS_GLIBC=0
1057a4a4261fSmrg	test x"${LIBC}" = xgnu && IS_GLIBC=1
1058e7c933f3Smrg	sed 's/^	//' << EOF > "$dummy.c"
1059cbeba4aeSmrg	#undef CPU
1060a4a4261fSmrg	#undef mips
1061a4a4261fSmrg	#undef mipsel
1062a4a4261fSmrg	#undef mips64
1063a4a4261fSmrg	#undef mips64el
1064a4a4261fSmrg	#if ${IS_GLIBC} && defined(_ABI64)
1065a4a4261fSmrg	LIBCABI=gnuabi64
1066a4a4261fSmrg	#else
1067a4a4261fSmrg	#if ${IS_GLIBC} && defined(_ABIN32)
1068a4a4261fSmrg	LIBCABI=gnuabin32
1069a4a4261fSmrg	#else
1070a4a4261fSmrg	LIBCABI=${LIBC}
1071a4a4261fSmrg	#endif
1072a4a4261fSmrg	#endif
1073a4a4261fSmrg
1074a4a4261fSmrg	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1075a4a4261fSmrg	CPU=mipsisa64r6
1076a4a4261fSmrg	#else
1077a4a4261fSmrg	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1078a4a4261fSmrg	CPU=mipsisa32r6
1079a4a4261fSmrg	#else
1080a4a4261fSmrg	#if defined(__mips64)
1081a4a4261fSmrg	CPU=mips64
1082a4a4261fSmrg	#else
1083a4a4261fSmrg	CPU=mips
1084a4a4261fSmrg	#endif
1085a4a4261fSmrg	#endif
1086a4a4261fSmrg	#endif
1087a4a4261fSmrg
1088cbeba4aeSmrg	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1089a4a4261fSmrg	MIPS_ENDIAN=el
1090cbeba4aeSmrg	#else
1091cbeba4aeSmrg	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1092a4a4261fSmrg	MIPS_ENDIAN=
1093cbeba4aeSmrg	#else
1094a4a4261fSmrg	MIPS_ENDIAN=
1095cbeba4aeSmrg	#endif
1096cbeba4aeSmrg	#endif
1097cbeba4aeSmrgEOF
1098a4a4261fSmrg	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1099a4a4261fSmrg	eval "$cc_set_vars"
1100a4a4261fSmrg	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1101cbeba4aeSmrg	;;
1102e7c933f3Smrg    mips64el:Linux:*:*)
1103a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1104a4a4261fSmrg	;;
1105e7c933f3Smrg    openrisc*:Linux:*:*)
1106a4a4261fSmrg	GUESS=or1k-unknown-linux-$LIBC
1107a4a4261fSmrg	;;
1108e7c933f3Smrg    or32:Linux:*:* | or1k*:Linux:*:*)
1109a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1110a4a4261fSmrg	;;
11117bd0f98dSmrg    padre:Linux:*:*)
1112a4a4261fSmrg	GUESS=sparc-unknown-linux-$LIBC
1113a4a4261fSmrg	;;
11147bd0f98dSmrg    parisc64:Linux:*:* | hppa64:Linux:*:*)
1115a4a4261fSmrg	GUESS=hppa64-unknown-linux-$LIBC
1116a4a4261fSmrg	;;
1117cbeba4aeSmrg    parisc:Linux:*:* | hppa:Linux:*:*)
1118cbeba4aeSmrg	# Look for CPU level
1119cbeba4aeSmrg	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1120a4a4261fSmrg	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1121a4a4261fSmrg	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1122a4a4261fSmrg	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
1123cbeba4aeSmrg	esac
1124a4a4261fSmrg	;;
11257bd0f98dSmrg    ppc64:Linux:*:*)
1126a4a4261fSmrg	GUESS=powerpc64-unknown-linux-$LIBC
1127a4a4261fSmrg	;;
11287bd0f98dSmrg    ppc:Linux:*:*)
1129a4a4261fSmrg	GUESS=powerpc-unknown-linux-$LIBC
1130a4a4261fSmrg	;;
1131e7c933f3Smrg    ppc64le:Linux:*:*)
1132a4a4261fSmrg	GUESS=powerpc64le-unknown-linux-$LIBC
1133a4a4261fSmrg	;;
1134e7c933f3Smrg    ppcle:Linux:*:*)
1135a4a4261fSmrg	GUESS=powerpcle-unknown-linux-$LIBC
1136a4a4261fSmrg	;;
1137a4a4261fSmrg    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1138a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139a4a4261fSmrg	;;
1140cbeba4aeSmrg    s390:Linux:*:* | s390x:Linux:*:*)
1141a4a4261fSmrg	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1142a4a4261fSmrg	;;
1143cbeba4aeSmrg    sh64*:Linux:*:*)
1144a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145a4a4261fSmrg	;;
1146cbeba4aeSmrg    sh*:Linux:*:*)
1147a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1148a4a4261fSmrg	;;
1149cbeba4aeSmrg    sparc:Linux:*:* | sparc64:Linux:*:*)
1150a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1151a4a4261fSmrg	;;
11521a669bc9Smrg    tile*:Linux:*:*)
1153a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1154a4a4261fSmrg	;;
11557bd0f98dSmrg    vax:Linux:*:*)
1156a4a4261fSmrg	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1157a4a4261fSmrg	;;
1158cbeba4aeSmrg    x86_64:Linux:*:*)
1159a4a4261fSmrg	set_cc_for_build
1160b0d3a7b0Smrg	CPU=$UNAME_MACHINE
1161a4a4261fSmrg	LIBCABI=$LIBC
1162a4a4261fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1163b0d3a7b0Smrg	    ABI=64
1164b0d3a7b0Smrg	    sed 's/^	    //' << EOF > "$dummy.c"
1165b0d3a7b0Smrg	    #ifdef __i386__
1166b0d3a7b0Smrg	    ABI=x86
1167b0d3a7b0Smrg	    #else
1168b0d3a7b0Smrg	    #ifdef __ILP32__
1169b0d3a7b0Smrg	    ABI=x32
1170b0d3a7b0Smrg	    #endif
1171b0d3a7b0Smrg	    #endif
1172b0d3a7b0SmrgEOF
1173b0d3a7b0Smrg	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1174b0d3a7b0Smrg	    eval "$cc_set_abi"
1175b0d3a7b0Smrg	    case $ABI in
1176b0d3a7b0Smrg		x86) CPU=i686 ;;
1177b0d3a7b0Smrg		x32) LIBCABI=${LIBC}x32 ;;
1178b0d3a7b0Smrg	    esac
1179a4a4261fSmrg	fi
1180b0d3a7b0Smrg	GUESS=$CPU-pc-linux-$LIBCABI
1181a4a4261fSmrg	;;
11827bd0f98dSmrg    xtensa*:Linux:*:*)
1183a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1184a4a4261fSmrg	;;
1185cbeba4aeSmrg    i*86:DYNIX/ptx:4*:*)
1186cbeba4aeSmrg	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1187cbeba4aeSmrg	# earlier versions are messed up and put the nodename in both
1188cbeba4aeSmrg	# sysname and nodename.
1189a4a4261fSmrg	GUESS=i386-sequent-sysv4
1190a4a4261fSmrg	;;
1191cbeba4aeSmrg    i*86:UNIX_SV:4.2MP:2.*)
1192e7c933f3Smrg	# Unixware is an offshoot of SVR4, but it has its own version
1193e7c933f3Smrg	# number series starting with 2...
1194e7c933f3Smrg	# I am not positive that other SVR4 systems won't match this,
1195cbeba4aeSmrg	# I just have to hope.  -- rms.
1196e7c933f3Smrg	# Use sysv4.2uw... so that sysv4* matches it.
1197a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1198a4a4261fSmrg	;;
1199cbeba4aeSmrg    i*86:OS/2:*:*)
1200cbeba4aeSmrg	# If we were able to find `uname', then EMX Unix compatibility
1201cbeba4aeSmrg	# is probably installed.
1202a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-os2-emx
1203a4a4261fSmrg	;;
1204cbeba4aeSmrg    i*86:XTS-300:*:STOP)
1205a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-stop
1206a4a4261fSmrg	;;
1207cbeba4aeSmrg    i*86:atheos:*:*)
1208a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-atheos
1209a4a4261fSmrg	;;
12107bd0f98dSmrg    i*86:syllable:*:*)
1211a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-syllable
1212a4a4261fSmrg	;;
12137bd0f98dSmrg    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1214a4a4261fSmrg	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1215a4a4261fSmrg	;;
1216cbeba4aeSmrg    i*86:*DOS:*:*)
1217a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1218a4a4261fSmrg	;;
1219e7c933f3Smrg    i*86:*:4.*:*)
1220e7c933f3Smrg	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1221cbeba4aeSmrg	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1222a4a4261fSmrg		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1223cbeba4aeSmrg	else
1224a4a4261fSmrg		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1225cbeba4aeSmrg	fi
1226a4a4261fSmrg	;;
12277bd0f98dSmrg    i*86:*:5:[678]*)
1228e7c933f3Smrg	# UnixWare 7.x, OpenUNIX and OpenServer 6.
1229cbeba4aeSmrg	case `/bin/uname -X | grep "^Machine"` in
1230cbeba4aeSmrg	    *486*)	     UNAME_MACHINE=i486 ;;
1231cbeba4aeSmrg	    *Pentium)	     UNAME_MACHINE=i586 ;;
1232cbeba4aeSmrg	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1233cbeba4aeSmrg	esac
1234a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1235a4a4261fSmrg	;;
1236cbeba4aeSmrg    i*86:*:3.2:*)
1237cbeba4aeSmrg	if test -f /usr/options/cb.name; then
1238cbeba4aeSmrg		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1239a4a4261fSmrg		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1240cbeba4aeSmrg	elif /bin/uname -X 2>/dev/null >/dev/null ; then
1241cbeba4aeSmrg		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1242cbeba4aeSmrg		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1243cbeba4aeSmrg		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1244cbeba4aeSmrg			&& UNAME_MACHINE=i586
1245cbeba4aeSmrg		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1246cbeba4aeSmrg			&& UNAME_MACHINE=i686
1247cbeba4aeSmrg		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1248cbeba4aeSmrg			&& UNAME_MACHINE=i686
1249a4a4261fSmrg		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1250cbeba4aeSmrg	else
1251a4a4261fSmrg		GUESS=$UNAME_MACHINE-pc-sysv32
1252cbeba4aeSmrg	fi
1253a4a4261fSmrg	;;
1254cbeba4aeSmrg    pc:*:*:*)
1255cbeba4aeSmrg	# Left here for compatibility:
1256e7c933f3Smrg	# uname -m prints for DJGPP always 'pc', but it prints nothing about
1257e7c933f3Smrg	# the processor, so we play safe by assuming i586.
12587bd0f98dSmrg	# Note: whatever this is, it MUST be the same as what config.sub
1259e7c933f3Smrg	# prints for the "djgpp" host, or else GDB configure will decide that
12607bd0f98dSmrg	# this is a cross-build.
1261a4a4261fSmrg	GUESS=i586-pc-msdosdjgpp
1262a4a4261fSmrg	;;
1263cbeba4aeSmrg    Intel:Mach:3*:*)
1264a4a4261fSmrg	GUESS=i386-pc-mach3
1265a4a4261fSmrg	;;
1266cbeba4aeSmrg    paragon:*:*:*)
1267a4a4261fSmrg	GUESS=i860-intel-osf1
1268a4a4261fSmrg	;;
1269cbeba4aeSmrg    i860:*:4.*:*) # i860-SVR4
1270cbeba4aeSmrg	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1271a4a4261fSmrg	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
1272cbeba4aeSmrg	else # Add other i860-SVR4 vendors below as they are discovered.
1273a4a4261fSmrg	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
1274cbeba4aeSmrg	fi
1275a4a4261fSmrg	;;
1276cbeba4aeSmrg    mini*:CTIX:SYS*5:*)
1277cbeba4aeSmrg	# "miniframe"
1278a4a4261fSmrg	GUESS=m68010-convergent-sysv
1279a4a4261fSmrg	;;
1280cbeba4aeSmrg    mc68k:UNIX:SYSTEM5:3.51m)
1281a4a4261fSmrg	GUESS=m68k-convergent-sysv
1282a4a4261fSmrg	;;
1283cbeba4aeSmrg    M680?0:D-NIX:5.3:*)
1284a4a4261fSmrg	GUESS=m68k-diab-dnix
1285a4a4261fSmrg	;;
12867bd0f98dSmrg    M68*:*:R3V[5678]*:*)
12877bd0f98dSmrg	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
12887bd0f98dSmrg    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)
1289cbeba4aeSmrg	OS_REL=''
1290cbeba4aeSmrg	test -r /etc/.relid \
1291cbeba4aeSmrg	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1292cbeba4aeSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1293e7c933f3Smrg	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1294cbeba4aeSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1295e7c933f3Smrg	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1296cbeba4aeSmrg    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1297e7c933f3Smrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1298e7c933f3Smrg	  && { echo i486-ncr-sysv4; exit; } ;;
12997bd0f98dSmrg    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
13007bd0f98dSmrg	OS_REL='.3'
13017bd0f98dSmrg	test -r /etc/.relid \
13027bd0f98dSmrg	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
13037bd0f98dSmrg	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1304e7c933f3Smrg	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
13057bd0f98dSmrg	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1306e7c933f3Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
13077bd0f98dSmrg	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1308e7c933f3Smrg	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1309cbeba4aeSmrg    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1310a4a4261fSmrg	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1311a4a4261fSmrg	;;
1312cbeba4aeSmrg    mc68030:UNIX_System_V:4.*:*)
1313a4a4261fSmrg	GUESS=m68k-atari-sysv4
1314a4a4261fSmrg	;;
1315cbeba4aeSmrg    TSUNAMI:LynxOS:2.*:*)
1316a4a4261fSmrg	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1317a4a4261fSmrg	;;
1318cbeba4aeSmrg    rs6000:LynxOS:2.*:*)
1319a4a4261fSmrg	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1320a4a4261fSmrg	;;
13217bd0f98dSmrg    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1322a4a4261fSmrg	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1323a4a4261fSmrg	;;
1324cbeba4aeSmrg    SM[BE]S:UNIX_SV:*:*)
1325a4a4261fSmrg	GUESS=mips-dde-sysv$UNAME_RELEASE
1326a4a4261fSmrg	;;
1327cbeba4aeSmrg    RM*:ReliantUNIX-*:*:*)
1328a4a4261fSmrg	GUESS=mips-sni-sysv4
1329a4a4261fSmrg	;;
1330cbeba4aeSmrg    RM*:SINIX-*:*:*)
1331a4a4261fSmrg	GUESS=mips-sni-sysv4
1332a4a4261fSmrg	;;
1333cbeba4aeSmrg    *:SINIX-*:*:*)
1334cbeba4aeSmrg	if uname -p 2>/dev/null >/dev/null ; then
1335cbeba4aeSmrg		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1336a4a4261fSmrg		GUESS=$UNAME_MACHINE-sni-sysv4
1337cbeba4aeSmrg	else
1338a4a4261fSmrg		GUESS=ns32k-sni-sysv
1339cbeba4aeSmrg	fi
1340a4a4261fSmrg	;;
1341e7c933f3Smrg    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1342e7c933f3Smrg			# says <Richard.M.Bartel@ccMail.Census.GOV>
1343a4a4261fSmrg	GUESS=i586-unisys-sysv4
1344a4a4261fSmrg	;;
1345cbeba4aeSmrg    *:UNIX_System_V:4*:FTX*)
1346cbeba4aeSmrg	# From Gerald Hewes <hewes@openmarket.com>.
1347cbeba4aeSmrg	# How about differentiating between stratus architectures? -djm
1348a4a4261fSmrg	GUESS=hppa1.1-stratus-sysv4
1349a4a4261fSmrg	;;
1350cbeba4aeSmrg    *:*:*:FTX*)
1351cbeba4aeSmrg	# From seanf@swdc.stratus.com.
1352a4a4261fSmrg	GUESS=i860-stratus-sysv4
1353a4a4261fSmrg	;;
13547bd0f98dSmrg    i*86:VOS:*:*)
13557bd0f98dSmrg	# From Paul.Green@stratus.com.
1356a4a4261fSmrg	GUESS=$UNAME_MACHINE-stratus-vos
1357a4a4261fSmrg	;;
1358cbeba4aeSmrg    *:VOS:*:*)
1359cbeba4aeSmrg	# From Paul.Green@stratus.com.
1360a4a4261fSmrg	GUESS=hppa1.1-stratus-vos
1361a4a4261fSmrg	;;
1362cbeba4aeSmrg    mc68*:A/UX:*:*)
1363a4a4261fSmrg	GUESS=m68k-apple-aux$UNAME_RELEASE
1364a4a4261fSmrg	;;
1365cbeba4aeSmrg    news*:NEWS-OS:6*:*)
1366a4a4261fSmrg	GUESS=mips-sony-newsos6
1367a4a4261fSmrg	;;
1368cbeba4aeSmrg    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1369a4a4261fSmrg	if test -d /usr/nec; then
1370a4a4261fSmrg		GUESS=mips-nec-sysv$UNAME_RELEASE
1371cbeba4aeSmrg	else
1372a4a4261fSmrg		GUESS=mips-unknown-sysv$UNAME_RELEASE
1373cbeba4aeSmrg	fi
1374a4a4261fSmrg	;;
1375cbeba4aeSmrg    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1376a4a4261fSmrg	GUESS=powerpc-be-beos
1377a4a4261fSmrg	;;
1378cbeba4aeSmrg    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1379a4a4261fSmrg	GUESS=powerpc-apple-beos
1380a4a4261fSmrg	;;
1381cbeba4aeSmrg    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1382a4a4261fSmrg	GUESS=i586-pc-beos
1383a4a4261fSmrg	;;
13847bd0f98dSmrg    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1385a4a4261fSmrg	GUESS=i586-pc-haiku
1386a4a4261fSmrg	;;
1387b0d3a7b0Smrg    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
1388b0d3a7b0Smrg	GUESS=powerpc-apple-haiku
1389b0d3a7b0Smrg	;;
1390b0d3a7b0Smrg    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
1391b0d3a7b0Smrg	GUESS=$UNAME_MACHINE-unknown-haiku
1392a4a4261fSmrg	;;
1393cbeba4aeSmrg    SX-4:SUPER-UX:*:*)
1394a4a4261fSmrg	GUESS=sx4-nec-superux$UNAME_RELEASE
1395a4a4261fSmrg	;;
1396cbeba4aeSmrg    SX-5:SUPER-UX:*:*)
1397a4a4261fSmrg	GUESS=sx5-nec-superux$UNAME_RELEASE
1398a4a4261fSmrg	;;
1399cbeba4aeSmrg    SX-6:SUPER-UX:*:*)
1400a4a4261fSmrg	GUESS=sx6-nec-superux$UNAME_RELEASE
1401a4a4261fSmrg	;;
14027bd0f98dSmrg    SX-7:SUPER-UX:*:*)
1403a4a4261fSmrg	GUESS=sx7-nec-superux$UNAME_RELEASE
1404a4a4261fSmrg	;;
14057bd0f98dSmrg    SX-8:SUPER-UX:*:*)
1406a4a4261fSmrg	GUESS=sx8-nec-superux$UNAME_RELEASE
1407a4a4261fSmrg	;;
14087bd0f98dSmrg    SX-8R:SUPER-UX:*:*)
1409a4a4261fSmrg	GUESS=sx8r-nec-superux$UNAME_RELEASE
1410a4a4261fSmrg	;;
1411e7c933f3Smrg    SX-ACE:SUPER-UX:*:*)
1412a4a4261fSmrg	GUESS=sxace-nec-superux$UNAME_RELEASE
1413a4a4261fSmrg	;;
1414cbeba4aeSmrg    Power*:Rhapsody:*:*)
1415a4a4261fSmrg	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1416a4a4261fSmrg	;;
1417cbeba4aeSmrg    *:Rhapsody:*:*)
1418a4a4261fSmrg	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1419a4a4261fSmrg	;;
1420a4a4261fSmrg    arm64:Darwin:*:*)
1421a4a4261fSmrg	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1422a4a4261fSmrg	;;
1423cbeba4aeSmrg    *:Darwin:*:*)
1424a4a4261fSmrg	UNAME_PROCESSOR=`uname -p`
1425a4a4261fSmrg	case $UNAME_PROCESSOR in
1426a4a4261fSmrg	    unknown) UNAME_PROCESSOR=powerpc ;;
1427a4a4261fSmrg	esac
1428a4a4261fSmrg	if command -v xcode-select > /dev/null 2> /dev/null && \
1429a4a4261fSmrg		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1430a4a4261fSmrg	    # Avoid executing cc if there is no toolchain installed as
1431a4a4261fSmrg	    # cc will be a stub that puts up a graphical alert
1432a4a4261fSmrg	    # prompting the user to install developer tools.
1433a4a4261fSmrg	    CC_FOR_BUILD=no_compiler_found
1434a4a4261fSmrg	else
1435a4a4261fSmrg	    set_cc_for_build
1436e7c933f3Smrg	fi
1437a4a4261fSmrg	if test "$CC_FOR_BUILD" != no_compiler_found; then
1438a4a4261fSmrg	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1439a4a4261fSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1440a4a4261fSmrg		   grep IS_64BIT_ARCH >/dev/null
1441a4a4261fSmrg	    then
1442a4a4261fSmrg		case $UNAME_PROCESSOR in
1443a4a4261fSmrg		    i386) UNAME_PROCESSOR=x86_64 ;;
1444a4a4261fSmrg		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
1445a4a4261fSmrg		esac
1446a4a4261fSmrg	    fi
1447a4a4261fSmrg	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1448a4a4261fSmrg	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1449a4a4261fSmrg		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1450a4a4261fSmrg		   grep IS_PPC >/dev/null
1451a4a4261fSmrg	    then
1452a4a4261fSmrg		UNAME_PROCESSOR=powerpc
1453e7c933f3Smrg	    fi
1454e7c933f3Smrg	elif test "$UNAME_PROCESSOR" = i386 ; then
1455a4a4261fSmrg	    # uname -m returns i386 or x86_64
1456a4a4261fSmrg	    UNAME_PROCESSOR=$UNAME_MACHINE
1457e7c933f3Smrg	fi
1458a4a4261fSmrg	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1459a4a4261fSmrg	;;
1460cbeba4aeSmrg    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1461cbeba4aeSmrg	UNAME_PROCESSOR=`uname -p`
1462e7c933f3Smrg	if test "$UNAME_PROCESSOR" = x86; then
1463cbeba4aeSmrg		UNAME_PROCESSOR=i386
1464cbeba4aeSmrg		UNAME_MACHINE=pc
1465cbeba4aeSmrg	fi
1466a4a4261fSmrg	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1467a4a4261fSmrg	;;
1468cbeba4aeSmrg    *:QNX:*:4*)
1469a4a4261fSmrg	GUESS=i386-pc-qnx
1470a4a4261fSmrg	;;
1471e7c933f3Smrg    NEO-*:NONSTOP_KERNEL:*:*)
1472a4a4261fSmrg	GUESS=neo-tandem-nsk$UNAME_RELEASE
1473a4a4261fSmrg	;;
1474e7c933f3Smrg    NSE-*:NONSTOP_KERNEL:*:*)
1475a4a4261fSmrg	GUESS=nse-tandem-nsk$UNAME_RELEASE
1476a4a4261fSmrg	;;
1477e7c933f3Smrg    NSR-*:NONSTOP_KERNEL:*:*)
1478a4a4261fSmrg	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1479a4a4261fSmrg	;;
1480e7c933f3Smrg    NSV-*:NONSTOP_KERNEL:*:*)
1481a4a4261fSmrg	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1482a4a4261fSmrg	;;
1483e7c933f3Smrg    NSX-*:NONSTOP_KERNEL:*:*)
1484a4a4261fSmrg	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1485a4a4261fSmrg	;;
1486cbeba4aeSmrg    *:NonStop-UX:*:*)
1487a4a4261fSmrg	GUESS=mips-compaq-nonstopux
1488a4a4261fSmrg	;;
1489cbeba4aeSmrg    BS2000:POSIX*:*:*)
1490a4a4261fSmrg	GUESS=bs2000-siemens-sysv
1491a4a4261fSmrg	;;
1492cbeba4aeSmrg    DS/*:UNIX_System_V:*:*)
1493a4a4261fSmrg	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1494a4a4261fSmrg	;;
1495cbeba4aeSmrg    *:Plan9:*:*)
1496cbeba4aeSmrg	# "uname -m" is not consistent, so use $cputype instead. 386
1497cbeba4aeSmrg	# is converted to i386 for consistency with other x86
1498cbeba4aeSmrg	# operating systems.
1499a4a4261fSmrg	if test "${cputype-}" = 386; then
1500cbeba4aeSmrg	    UNAME_MACHINE=i386
1501a4a4261fSmrg	elif test "x${cputype-}" != x; then
1502a4a4261fSmrg	    UNAME_MACHINE=$cputype
1503cbeba4aeSmrg	fi
1504a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-plan9
1505a4a4261fSmrg	;;
1506cbeba4aeSmrg    *:TOPS-10:*:*)
1507a4a4261fSmrg	GUESS=pdp10-unknown-tops10
1508a4a4261fSmrg	;;
1509cbeba4aeSmrg    *:TENEX:*:*)
1510a4a4261fSmrg	GUESS=pdp10-unknown-tenex
1511a4a4261fSmrg	;;
1512cbeba4aeSmrg    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1513a4a4261fSmrg	GUESS=pdp10-dec-tops20
1514a4a4261fSmrg	;;
1515cbeba4aeSmrg    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1516a4a4261fSmrg	GUESS=pdp10-xkl-tops20
1517a4a4261fSmrg	;;
1518cbeba4aeSmrg    *:TOPS-20:*:*)
1519a4a4261fSmrg	GUESS=pdp10-unknown-tops20
1520a4a4261fSmrg	;;
1521cbeba4aeSmrg    *:ITS:*:*)
1522a4a4261fSmrg	GUESS=pdp10-unknown-its
1523a4a4261fSmrg	;;
1524cbeba4aeSmrg    SEI:*:*:SEIUX)
1525a4a4261fSmrg	GUESS=mips-sei-seiux$UNAME_RELEASE
1526a4a4261fSmrg	;;
15277bd0f98dSmrg    *:DragonFly:*:*)
1528a4a4261fSmrg	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1529a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1530a4a4261fSmrg	;;
15317bd0f98dSmrg    *:*VMS:*:*)
1532e7c933f3Smrg	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1533a4a4261fSmrg	case $UNAME_MACHINE in
1534a4a4261fSmrg	    A*) GUESS=alpha-dec-vms ;;
1535a4a4261fSmrg	    I*) GUESS=ia64-dec-vms ;;
1536a4a4261fSmrg	    V*) GUESS=vax-dec-vms ;;
15377bd0f98dSmrg	esac ;;
15387bd0f98dSmrg    *:XENIX:*:SysV)
1539a4a4261fSmrg	GUESS=i386-pc-xenix
1540a4a4261fSmrg	;;
15417bd0f98dSmrg    i*86:skyos:*:*)
1542a4a4261fSmrg	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1543a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1544a4a4261fSmrg	;;
15457bd0f98dSmrg    i*86:rdos:*:*)
1546a4a4261fSmrg	GUESS=$UNAME_MACHINE-pc-rdos
1547a4a4261fSmrg	;;
1548b0d3a7b0Smrg    i*86:Fiwix:*:*)
1549b0d3a7b0Smrg	GUESS=$UNAME_MACHINE-pc-fiwix
1550b0d3a7b0Smrg	;;
1551a4a4261fSmrg    *:AROS:*:*)
1552a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-aros
1553a4a4261fSmrg	;;
1554e7c933f3Smrg    x86_64:VMkernel:*:*)
1555a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-esx
1556a4a4261fSmrg	;;
1557e7c933f3Smrg    amd64:Isilon\ OneFS:*:*)
1558a4a4261fSmrg	GUESS=x86_64-unknown-onefs
1559a4a4261fSmrg	;;
1560a4a4261fSmrg    *:Unleashed:*:*)
1561a4a4261fSmrg	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1562a4a4261fSmrg	;;
1563cbeba4aeSmrgesac
1564cbeba4aeSmrg
1565a4a4261fSmrg# Do we have a guess based on uname results?
1566a4a4261fSmrgif test "x$GUESS" != x; then
1567a4a4261fSmrg    echo "$GUESS"
1568a4a4261fSmrg    exit
1569a4a4261fSmrgfi
1570a4a4261fSmrg
1571a4a4261fSmrg# No uname command or uname output not recognized.
1572a4a4261fSmrgset_cc_for_build
1573a4a4261fSmrgcat > "$dummy.c" <<EOF
1574a4a4261fSmrg#ifdef _SEQUENT_
1575a4a4261fSmrg#include <sys/types.h>
1576a4a4261fSmrg#include <sys/utsname.h>
1577a4a4261fSmrg#endif
1578a4a4261fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1579a4a4261fSmrg#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1580a4a4261fSmrg#include <signal.h>
1581a4a4261fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1582a4a4261fSmrg#include <sys/utsname.h>
1583a4a4261fSmrg#endif
1584a4a4261fSmrg#endif
1585a4a4261fSmrg#endif
1586a4a4261fSmrgmain ()
1587a4a4261fSmrg{
1588a4a4261fSmrg#if defined (sony)
1589a4a4261fSmrg#if defined (MIPSEB)
1590a4a4261fSmrg  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1591a4a4261fSmrg     I don't know....  */
1592a4a4261fSmrg  printf ("mips-sony-bsd\n"); exit (0);
1593a4a4261fSmrg#else
1594a4a4261fSmrg#include <sys/param.h>
1595a4a4261fSmrg  printf ("m68k-sony-newsos%s\n",
1596a4a4261fSmrg#ifdef NEWSOS4
1597a4a4261fSmrg  "4"
1598a4a4261fSmrg#else
1599a4a4261fSmrg  ""
1600a4a4261fSmrg#endif
1601a4a4261fSmrg  ); exit (0);
1602a4a4261fSmrg#endif
1603a4a4261fSmrg#endif
1604a4a4261fSmrg
1605a4a4261fSmrg#if defined (NeXT)
1606a4a4261fSmrg#if !defined (__ARCHITECTURE__)
1607a4a4261fSmrg#define __ARCHITECTURE__ "m68k"
1608a4a4261fSmrg#endif
1609a4a4261fSmrg  int version;
1610a4a4261fSmrg  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1611a4a4261fSmrg  if (version < 4)
1612a4a4261fSmrg    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1613a4a4261fSmrg  else
1614a4a4261fSmrg    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1615a4a4261fSmrg  exit (0);
1616a4a4261fSmrg#endif
1617a4a4261fSmrg
1618a4a4261fSmrg#if defined (MULTIMAX) || defined (n16)
1619a4a4261fSmrg#if defined (UMAXV)
1620a4a4261fSmrg  printf ("ns32k-encore-sysv\n"); exit (0);
1621a4a4261fSmrg#else
1622a4a4261fSmrg#if defined (CMU)
1623a4a4261fSmrg  printf ("ns32k-encore-mach\n"); exit (0);
1624a4a4261fSmrg#else
1625a4a4261fSmrg  printf ("ns32k-encore-bsd\n"); exit (0);
1626a4a4261fSmrg#endif
1627a4a4261fSmrg#endif
1628a4a4261fSmrg#endif
1629a4a4261fSmrg
1630a4a4261fSmrg#if defined (__386BSD__)
1631a4a4261fSmrg  printf ("i386-pc-bsd\n"); exit (0);
1632a4a4261fSmrg#endif
1633a4a4261fSmrg
1634a4a4261fSmrg#if defined (sequent)
1635a4a4261fSmrg#if defined (i386)
1636a4a4261fSmrg  printf ("i386-sequent-dynix\n"); exit (0);
1637a4a4261fSmrg#endif
1638a4a4261fSmrg#if defined (ns32000)
1639a4a4261fSmrg  printf ("ns32k-sequent-dynix\n"); exit (0);
1640a4a4261fSmrg#endif
1641a4a4261fSmrg#endif
1642a4a4261fSmrg
1643a4a4261fSmrg#if defined (_SEQUENT_)
1644a4a4261fSmrg  struct utsname un;
1645a4a4261fSmrg
1646a4a4261fSmrg  uname(&un);
1647a4a4261fSmrg  if (strncmp(un.version, "V2", 2) == 0) {
1648a4a4261fSmrg    printf ("i386-sequent-ptx2\n"); exit (0);
1649a4a4261fSmrg  }
1650a4a4261fSmrg  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1651a4a4261fSmrg    printf ("i386-sequent-ptx1\n"); exit (0);
1652a4a4261fSmrg  }
1653a4a4261fSmrg  printf ("i386-sequent-ptx\n"); exit (0);
1654a4a4261fSmrg#endif
1655a4a4261fSmrg
1656a4a4261fSmrg#if defined (vax)
1657a4a4261fSmrg#if !defined (ultrix)
1658a4a4261fSmrg#include <sys/param.h>
1659a4a4261fSmrg#if defined (BSD)
1660a4a4261fSmrg#if BSD == 43
1661a4a4261fSmrg  printf ("vax-dec-bsd4.3\n"); exit (0);
1662a4a4261fSmrg#else
1663a4a4261fSmrg#if BSD == 199006
1664a4a4261fSmrg  printf ("vax-dec-bsd4.3reno\n"); exit (0);
1665a4a4261fSmrg#else
1666a4a4261fSmrg  printf ("vax-dec-bsd\n"); exit (0);
1667a4a4261fSmrg#endif
1668a4a4261fSmrg#endif
1669a4a4261fSmrg#else
1670a4a4261fSmrg  printf ("vax-dec-bsd\n"); exit (0);
1671a4a4261fSmrg#endif
1672a4a4261fSmrg#else
1673a4a4261fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1674a4a4261fSmrg  struct utsname un;
1675a4a4261fSmrg  uname (&un);
1676a4a4261fSmrg  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1677a4a4261fSmrg#else
1678a4a4261fSmrg  printf ("vax-dec-ultrix\n"); exit (0);
1679a4a4261fSmrg#endif
1680a4a4261fSmrg#endif
1681a4a4261fSmrg#endif
1682a4a4261fSmrg#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1683a4a4261fSmrg#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1684a4a4261fSmrg#if defined(_SIZE_T_) || defined(SIGLOST)
1685a4a4261fSmrg  struct utsname *un;
1686a4a4261fSmrg  uname (&un);
1687a4a4261fSmrg  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1688a4a4261fSmrg#else
1689a4a4261fSmrg  printf ("mips-dec-ultrix\n"); exit (0);
1690a4a4261fSmrg#endif
1691a4a4261fSmrg#endif
1692a4a4261fSmrg#endif
1693a4a4261fSmrg
1694a4a4261fSmrg#if defined (alliant) && defined (i860)
1695a4a4261fSmrg  printf ("i860-alliant-bsd\n"); exit (0);
1696a4a4261fSmrg#endif
1697a4a4261fSmrg
1698a4a4261fSmrg  exit (1);
1699a4a4261fSmrg}
1700a4a4261fSmrgEOF
1701a4a4261fSmrg
1702a4a4261fSmrg$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1703a4a4261fSmrg	{ echo "$SYSTEM_NAME"; exit; }
1704a4a4261fSmrg
1705a4a4261fSmrg# Apollos put the system type in the environment.
1706a4a4261fSmrgtest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1707a4a4261fSmrg
1708e7c933f3Smrgecho "$0: unable to guess system type" >&2
1709cbeba4aeSmrg
1710a4a4261fSmrgcase $UNAME_MACHINE:$UNAME_SYSTEM in
1711e7c933f3Smrg    mips:Linux | mips64:Linux)
1712e7c933f3Smrg	# If we got here on MIPS GNU/Linux, output extra information.
1713e7c933f3Smrg	cat >&2 <<EOF
1714cbeba4aeSmrg
1715e7c933f3SmrgNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1716e7c933f3Smrgthe system type. Please install a C compiler and try again.
1717cbeba4aeSmrgEOF
1718e7c933f3Smrg	;;
1719e7c933f3Smrgesac
1720cbeba4aeSmrg
1721cbeba4aeSmrgcat >&2 <<EOF
1722cbeba4aeSmrg
1723e7c933f3SmrgThis script (version $timestamp), has failed to recognize the
1724e7c933f3Smrgoperating system you are using. If your script is old, overwrite *all*
1725e7c933f3Smrgcopies of config.guess and config.sub with the latest versions from:
1726cbeba4aeSmrg
1727a4a4261fSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
17287bd0f98dSmrgand
1729a4a4261fSmrg  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1730a4a4261fSmrgEOF
1731a4a4261fSmrg
1732a4a4261fSmrgour_year=`echo $timestamp | sed 's,-.*,,'`
1733a4a4261fSmrgthisyear=`date +%Y`
1734a4a4261fSmrg# shellcheck disable=SC2003
1735a4a4261fSmrgscript_age=`expr "$thisyear" - "$our_year"`
1736a4a4261fSmrgif test "$script_age" -lt 3 ; then
1737a4a4261fSmrg   cat >&2 <<EOF
1738cbeba4aeSmrg
1739e7c933f3SmrgIf $0 has already been updated, send the following data and any
1740e7c933f3Smrginformation you think might be pertinent to config-patches@gnu.org to
1741e7c933f3Smrgprovide the necessary information to handle your system.
1742cbeba4aeSmrg
1743cbeba4aeSmrgconfig.guess timestamp = $timestamp
1744cbeba4aeSmrg
1745cbeba4aeSmrguname -m = `(uname -m) 2>/dev/null || echo unknown`
1746cbeba4aeSmrguname -r = `(uname -r) 2>/dev/null || echo unknown`
1747cbeba4aeSmrguname -s = `(uname -s) 2>/dev/null || echo unknown`
1748cbeba4aeSmrguname -v = `(uname -v) 2>/dev/null || echo unknown`
1749cbeba4aeSmrg
1750cbeba4aeSmrg/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1751cbeba4aeSmrg/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1752cbeba4aeSmrg
1753cbeba4aeSmrghostinfo               = `(hostinfo) 2>/dev/null`
1754cbeba4aeSmrg/bin/universe          = `(/bin/universe) 2>/dev/null`
1755cbeba4aeSmrg/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1756cbeba4aeSmrg/bin/arch              = `(/bin/arch) 2>/dev/null`
1757cbeba4aeSmrg/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1758cbeba4aeSmrg/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1759cbeba4aeSmrg
1760e7c933f3SmrgUNAME_MACHINE = "$UNAME_MACHINE"
1761e7c933f3SmrgUNAME_RELEASE = "$UNAME_RELEASE"
1762e7c933f3SmrgUNAME_SYSTEM  = "$UNAME_SYSTEM"
1763e7c933f3SmrgUNAME_VERSION = "$UNAME_VERSION"
1764cbeba4aeSmrgEOF
1765a4a4261fSmrgfi
1766cbeba4aeSmrg
1767cbeba4aeSmrgexit 1
1768cbeba4aeSmrg
1769cbeba4aeSmrg# Local variables:
1770a4a4261fSmrg# eval: (add-hook 'before-save-hook 'time-stamp)
1771cbeba4aeSmrg# time-stamp-start: "timestamp='"
1772cbeba4aeSmrg# time-stamp-format: "%:y-%02m-%02d"
1773cbeba4aeSmrg# time-stamp-end: "'"
1774cbeba4aeSmrg# End:
1775