xref: /freebsd/contrib/ncurses/config.guess (revision 21817992b3314c908ab50f0bb88d2ee750b9c4ac)
10e3d5408SPeter Wemm#! /bin/sh
20e3d5408SPeter Wemm# Attempt to guess a canonical system name.
3*21817992SBaptiste Daroussin#   Copyright 1992-2023 Free Software Foundation, Inc.
415589c42SPeter Wemm
5*21817992SBaptiste Daroussin# shellcheck disable=SC2006,SC2268 # see below for rationale
6*21817992SBaptiste Daroussin
7*21817992SBaptiste Daroussintimestamp='2023-10-19'
815589c42SPeter Wemm
90e3d5408SPeter Wemm# This file is free software; you can redistribute it and/or modify it
100e3d5408SPeter Wemm# under the terms of the GNU General Public License as published by
11*21817992SBaptiste Daroussin# the Free Software Foundation, either version 3 of the License, or
120e3d5408SPeter Wemm# (at your option) any later version.
130e3d5408SPeter Wemm#
140e3d5408SPeter Wemm# This program is distributed in the hope that it will be useful, but
150e3d5408SPeter Wemm# WITHOUT ANY WARRANTY; without even the implied warranty of
160e3d5408SPeter Wemm# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
170e3d5408SPeter Wemm# General Public License for more details.
180e3d5408SPeter Wemm#
190e3d5408SPeter Wemm# You should have received a copy of the GNU General Public License
20aae38d10SBaptiste Daroussin# along with this program; if not, see <https://www.gnu.org/licenses/>.
210e3d5408SPeter Wemm#
220e3d5408SPeter Wemm# As a special exception to the GNU General Public License, if you
230e3d5408SPeter Wemm# distribute this file as part of a program that contains a
240e3d5408SPeter Wemm# configuration script generated by Autoconf, you may include it under
2573f0a83dSXin LI# the same distribution terms that you use for the rest of that
2673f0a83dSXin LI# program.  This Exception is an additional permission under section 7
2773f0a83dSXin LI# of the GNU General Public License, version 3 ("GPLv3").
280e3d5408SPeter Wemm#
29aae38d10SBaptiste Daroussin# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
300e3d5408SPeter Wemm#
3106bfebdeSXin LI# You can get the latest version of this script from:
32*21817992SBaptiste Daroussin# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
3373f0a83dSXin LI#
34aae38d10SBaptiste Daroussin# Please send patches to <config-patches@gnu.org>.
3573f0a83dSXin LI
360e3d5408SPeter Wemm
37*21817992SBaptiste Daroussin# The "shellcheck disable" line above the timestamp inhibits complaints
38*21817992SBaptiste Daroussin# about features and limitations of the classic Bourne shell that were
39*21817992SBaptiste Daroussin# superseded or lifted in POSIX.  However, this script identifies a wide
40*21817992SBaptiste Daroussin# variety of pre-POSIX systems that do not have POSIX shells at all, and
41*21817992SBaptiste Daroussin# even some reasonably current systems (Solaris 10 as case-in-point) still
42*21817992SBaptiste Daroussin# have a pre-POSIX /bin/sh.
43*21817992SBaptiste Daroussin
44*21817992SBaptiste Daroussin
4515589c42SPeter Wemmme=`echo "$0" | sed -e 's,.*/,,'`
4615589c42SPeter Wemm
4715589c42SPeter Wemmusage="\
4815589c42SPeter WemmUsage: $0 [OPTION]
4915589c42SPeter Wemm
50*21817992SBaptiste DaroussinOutput the configuration name of the system '$me' is run on.
5115589c42SPeter Wemm
52aae38d10SBaptiste DaroussinOptions:
5315589c42SPeter Wemm  -h, --help         print this help, then exit
547a69bbfbSPeter Wemm  -t, --time-stamp   print date of last modification, then exit
557a69bbfbSPeter Wemm  -v, --version      print version number, then exit
567a69bbfbSPeter Wemm
577a69bbfbSPeter WemmReport bugs and patches to <config-patches@gnu.org>."
587a69bbfbSPeter Wemm
597a69bbfbSPeter Wemmversion="\
607a69bbfbSPeter WemmGNU config.guess ($timestamp)
617a69bbfbSPeter Wemm
627a69bbfbSPeter WemmOriginally written by Per Bothner.
63*21817992SBaptiste DaroussinCopyright 1992-2023 Free Software Foundation, Inc.
647a69bbfbSPeter Wemm
657a69bbfbSPeter WemmThis is free software; see the source for copying conditions.  There is NO
667a69bbfbSPeter Wemmwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
6715589c42SPeter Wemm
6815589c42SPeter Wemmhelp="
69*21817992SBaptiste DaroussinTry '$me --help' for more information."
7015589c42SPeter Wemm
7115589c42SPeter Wemm# Parse command line
7215589c42SPeter Wemmwhile test $# -gt 0 ; do
737a69bbfbSPeter Wemm  case $1 in
747a69bbfbSPeter Wemm    --time-stamp | --time* | -t )
754a1a9510SRong-En Fan       echo "$timestamp" ; exit ;;
767a69bbfbSPeter Wemm    --version | -v )
774a1a9510SRong-En Fan       echo "$version" ; exit ;;
7815589c42SPeter Wemm    --help | --h* | -h )
794a1a9510SRong-En Fan       echo "$usage"; exit ;;
8015589c42SPeter Wemm    -- )     # Stop option processing
8115589c42SPeter Wemm       shift; break ;;
8215589c42SPeter Wemm    - )	# Use stdin as input.
8315589c42SPeter Wemm       break ;;
8415589c42SPeter Wemm    -* )
857a69bbfbSPeter Wemm       echo "$me: invalid option $1$help" >&2
8615589c42SPeter Wemm       exit 1 ;;
8715589c42SPeter Wemm    * )
8815589c42SPeter Wemm       break ;;
8915589c42SPeter Wemm  esac
9015589c42SPeter Wemmdone
9115589c42SPeter Wemm
9215589c42SPeter Wemmif test $# != 0; then
9315589c42SPeter Wemm  echo "$me: too many arguments$help" >&2
9415589c42SPeter Wemm  exit 1
9515589c42SPeter Wemmfi
9615589c42SPeter Wemm
97*21817992SBaptiste Daroussin# Just in case it came from the environment.
98*21817992SBaptiste DaroussinGUESS=
99*21817992SBaptiste Daroussin
1004a1a9510SRong-En Fan# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
1014a1a9510SRong-En Fan# compiler to aid in system detection is discouraged as it requires
1024a1a9510SRong-En Fan# temporary files to be created and, as you can see below, it is a
1034a1a9510SRong-En Fan# headache to deal with in a portable fashion.
1047a69bbfbSPeter Wemm
105*21817992SBaptiste Daroussin# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
106*21817992SBaptiste Daroussin# use 'HOST_CC' if defined, but it is deprecated.
1077a69bbfbSPeter Wemm
1084a1a9510SRong-En Fan# Portable tmp directory creation inspired by the Autoconf team.
1094a1a9510SRong-En Fan
110aae38d10SBaptiste Daroussintmp=
111aae38d10SBaptiste Daroussin# shellcheck disable=SC2172
112aae38d10SBaptiste Daroussintrap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113aae38d10SBaptiste Daroussin
114aae38d10SBaptiste Daroussinset_cc_for_build() {
115aae38d10SBaptiste Daroussin    # prevent multiple calls if $tmp is already set
116aae38d10SBaptiste Daroussin    test "$tmp" && return 0
117aae38d10SBaptiste Daroussin    : "${TMPDIR=/tmp}"
118*21817992SBaptiste Daroussin    # shellcheck disable=SC2039,SC3028
1194a1a9510SRong-En Fan    { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120aae38d10SBaptiste Daroussin	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121aae38d10SBaptiste Daroussin	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122aae38d10SBaptiste Daroussin	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123aae38d10SBaptiste Daroussin    dummy=$tmp/dummy
124aae38d10SBaptiste Daroussin    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125aae38d10SBaptiste Daroussin	,,)    echo "int x;" > "$dummy.c"
126aae38d10SBaptiste Daroussin	       for driver in cc gcc c89 c99 ; do
127aae38d10SBaptiste Daroussin		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128*21817992SBaptiste Daroussin		       CC_FOR_BUILD=$driver
129aae38d10SBaptiste Daroussin		       break
130aae38d10SBaptiste Daroussin		   fi
131aae38d10SBaptiste Daroussin	       done
1327a69bbfbSPeter Wemm	       if test x"$CC_FOR_BUILD" = x ; then
133aae38d10SBaptiste Daroussin		   CC_FOR_BUILD=no_compiler_found
1347a69bbfbSPeter Wemm	       fi
1357a69bbfbSPeter Wemm	       ;;
1367a69bbfbSPeter Wemm	,,*)   CC_FOR_BUILD=$CC ;;
1377a69bbfbSPeter Wemm	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
138aae38d10SBaptiste Daroussin    esac
139aae38d10SBaptiste Daroussin}
14015589c42SPeter Wemm
1410e3d5408SPeter Wemm# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
14239f2269fSPeter Wemm# (ghazi@noc.rutgers.edu 1994-08-24)
143aae38d10SBaptiste Daroussinif test -f /.attbin/uname ; then
1440e3d5408SPeter Wemm	PATH=$PATH:/.attbin ; export PATH
1450e3d5408SPeter Wemmfi
1460e3d5408SPeter Wemm
1470e3d5408SPeter WemmUNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
1480e3d5408SPeter WemmUNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
1490e3d5408SPeter WemmUNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
1500e3d5408SPeter WemmUNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
1510e3d5408SPeter Wemm
152*21817992SBaptiste Daroussincase $UNAME_SYSTEM in
15373f0a83dSXin LILinux|GNU|GNU/*)
154*21817992SBaptiste Daroussin	LIBC=unknown
15573f0a83dSXin LI
156aae38d10SBaptiste Daroussin	set_cc_for_build
157aae38d10SBaptiste Daroussin	cat <<-EOF > "$dummy.c"
158*21817992SBaptiste Daroussin	#if defined(__ANDROID__)
159*21817992SBaptiste Daroussin	LIBC=android
160*21817992SBaptiste Daroussin	#else
16173f0a83dSXin LI	#include <features.h>
16273f0a83dSXin LI	#if defined(__UCLIBC__)
16373f0a83dSXin LI	LIBC=uclibc
16473f0a83dSXin LI	#elif defined(__dietlibc__)
16573f0a83dSXin LI	LIBC=dietlibc
166*21817992SBaptiste Daroussin	#elif defined(__GLIBC__)
16773f0a83dSXin LI	LIBC=gnu
168*21817992SBaptiste Daroussin	#elif defined(__LLVM_LIBC__)
169*21817992SBaptiste Daroussin	LIBC=llvm
170*21817992SBaptiste Daroussin	#else
171*21817992SBaptiste Daroussin	#include <stdarg.h>
172*21817992SBaptiste Daroussin	/* First heuristic to detect musl libc.  */
173*21817992SBaptiste Daroussin	#ifdef __DEFINED_va_list
174*21817992SBaptiste Daroussin	LIBC=musl
175*21817992SBaptiste Daroussin	#endif
176*21817992SBaptiste Daroussin	#endif
17773f0a83dSXin LI	#endif
17873f0a83dSXin LI	EOF
179*21817992SBaptiste Daroussin	cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
180*21817992SBaptiste Daroussin	eval "$cc_set_libc"
181aae38d10SBaptiste Daroussin
182*21817992SBaptiste Daroussin	# Second heuristic to detect musl libc.
183*21817992SBaptiste Daroussin	if [ "$LIBC" = unknown ] &&
184*21817992SBaptiste Daroussin	   command -v ldd >/dev/null &&
185*21817992SBaptiste Daroussin	   ldd --version 2>&1 | grep -q ^musl; then
186aae38d10SBaptiste Daroussin		LIBC=musl
187aae38d10SBaptiste Daroussin	fi
188*21817992SBaptiste Daroussin
189*21817992SBaptiste Daroussin	# If the system lacks a compiler, then just pick glibc.
190*21817992SBaptiste Daroussin	# We could probably try harder.
191*21817992SBaptiste Daroussin	if [ "$LIBC" = unknown ]; then
192*21817992SBaptiste Daroussin		LIBC=gnu
193*21817992SBaptiste Daroussin	fi
19473f0a83dSXin LI	;;
19573f0a83dSXin LIesac
19673f0a83dSXin LI
1970e3d5408SPeter Wemm# Note: order is significant - the case branches are not exclusive.
1980e3d5408SPeter Wemm
199*21817992SBaptiste Daroussincase $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
20015589c42SPeter Wemm    *:NetBSD:*:*)
20139f2269fSPeter Wemm	# NetBSD (nbsd) targets should (where applicable) match one or
20273f0a83dSXin LI	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
20315589c42SPeter Wemm	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
20415589c42SPeter Wemm	# switched to ELF, *-*-netbsd* would select the old
20515589c42SPeter Wemm	# object file format.  This provides both forward
20615589c42SPeter Wemm	# compatibility and a consistent mechanism for selecting the
20715589c42SPeter Wemm	# object file format.
20839f2269fSPeter Wemm	#
20939f2269fSPeter Wemm	# Note: NetBSD doesn't particularly care about the vendor
21039f2269fSPeter Wemm	# portion of the name.  We always set it to "unknown".
211aae38d10SBaptiste Daroussin	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
212*21817992SBaptiste Daroussin	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
213*21817992SBaptiste Daroussin	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
214aae38d10SBaptiste Daroussin	    echo unknown)`
215*21817992SBaptiste Daroussin	case $UNAME_MACHINE_ARCH in
216*21817992SBaptiste Daroussin	    aarch64eb) machine=aarch64_be-unknown ;;
2174a1a9510SRong-En Fan	    armeb) machine=armeb-unknown ;;
21839f2269fSPeter Wemm	    arm*) machine=arm-unknown ;;
21939f2269fSPeter Wemm	    sh3el) machine=shl-unknown ;;
22039f2269fSPeter Wemm	    sh3eb) machine=sh-unknown ;;
2215ca44d1cSRong-En Fan	    sh5el) machine=sh5le-unknown ;;
222aae38d10SBaptiste Daroussin	    earmv*)
223aae38d10SBaptiste Daroussin		arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
224aae38d10SBaptiste Daroussin		endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
225*21817992SBaptiste Daroussin		machine=${arch}${endian}-unknown
226aae38d10SBaptiste Daroussin		;;
227*21817992SBaptiste Daroussin	    *) machine=$UNAME_MACHINE_ARCH-unknown ;;
22815589c42SPeter Wemm	esac
2297a69bbfbSPeter Wemm	# The Operating System including object format, if it has switched
230aae38d10SBaptiste Daroussin	# to ELF recently (or will in the future) and ABI.
231*21817992SBaptiste Daroussin	case $UNAME_MACHINE_ARCH in
232aae38d10SBaptiste Daroussin	    earm*)
233aae38d10SBaptiste Daroussin		os=netbsdelf
234aae38d10SBaptiste Daroussin		;;
23539f2269fSPeter Wemm	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
236aae38d10SBaptiste Daroussin		set_cc_for_build
23715589c42SPeter Wemm		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
23806bfebdeSXin LI			| grep -q __ELF__
23915589c42SPeter Wemm		then
24015589c42SPeter Wemm		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
24115589c42SPeter Wemm		    # Return netbsd for either.  FIX?
24215589c42SPeter Wemm		    os=netbsd
24315589c42SPeter Wemm		else
24415589c42SPeter Wemm		    os=netbsdelf
24515589c42SPeter Wemm		fi
2467a69bbfbSPeter Wemm		;;
2477a69bbfbSPeter Wemm	    *)
2487a69bbfbSPeter Wemm		os=netbsd
2497a69bbfbSPeter Wemm		;;
2507a69bbfbSPeter Wemm	esac
251aae38d10SBaptiste Daroussin	# Determine ABI tags.
252*21817992SBaptiste Daroussin	case $UNAME_MACHINE_ARCH in
253aae38d10SBaptiste Daroussin	    earm*)
254aae38d10SBaptiste Daroussin		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
255aae38d10SBaptiste Daroussin		abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
256aae38d10SBaptiste Daroussin		;;
257aae38d10SBaptiste Daroussin	esac
25815589c42SPeter Wemm	# The OS release
2594a1a9510SRong-En Fan	# Debian GNU/NetBSD machines have a different userland, and
2604a1a9510SRong-En Fan	# thus, need a distinct triplet. However, they do not need
2614a1a9510SRong-En Fan	# kernel version information, so it can be replaced with a
2624a1a9510SRong-En Fan	# suitable tag, in the style of linux-gnu.
263*21817992SBaptiste Daroussin	case $UNAME_VERSION in
2644a1a9510SRong-En Fan	    Debian*)
2654a1a9510SRong-En Fan		release='-gnu'
2664a1a9510SRong-En Fan		;;
2674a1a9510SRong-En Fan	    *)
268aae38d10SBaptiste Daroussin		release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
2694a1a9510SRong-En Fan		;;
2704a1a9510SRong-En Fan	esac
27115589c42SPeter Wemm	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
27215589c42SPeter Wemm	# contains redundant information, the shorter form:
27315589c42SPeter Wemm	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
274*21817992SBaptiste Daroussin	GUESS=$machine-${os}${release}${abi-}
275*21817992SBaptiste Daroussin	;;
27673f0a83dSXin LI    *:Bitrig:*:*)
27773f0a83dSXin LI	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
278*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
279*21817992SBaptiste Daroussin	;;
28039f2269fSPeter Wemm    *:OpenBSD:*:*)
2814a1a9510SRong-En Fan	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
282*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
283*21817992SBaptiste Daroussin	;;
284*21817992SBaptiste Daroussin    *:SecBSD:*:*)
285*21817992SBaptiste Daroussin	UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
286*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
287*21817992SBaptiste Daroussin	;;
288aae38d10SBaptiste Daroussin    *:LibertyBSD:*:*)
289aae38d10SBaptiste Daroussin	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
290*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
291*21817992SBaptiste Daroussin	;;
292aae38d10SBaptiste Daroussin    *:MidnightBSD:*:*)
293*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
294*21817992SBaptiste Daroussin	;;
2954a1a9510SRong-En Fan    *:ekkoBSD:*:*)
296*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
297*21817992SBaptiste Daroussin	;;
2984a1a9510SRong-En Fan    *:SolidBSD:*:*)
299*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
300*21817992SBaptiste Daroussin	;;
301aae38d10SBaptiste Daroussin    *:OS108:*:*)
302*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
303*21817992SBaptiste Daroussin	;;
3044a1a9510SRong-En Fan    macppc:MirBSD:*:*)
305*21817992SBaptiste Daroussin	GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
306*21817992SBaptiste Daroussin	;;
3074a1a9510SRong-En Fan    *:MirBSD:*:*)
308*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
309*21817992SBaptiste Daroussin	;;
310aae38d10SBaptiste Daroussin    *:Sortix:*:*)
311*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-sortix
312*21817992SBaptiste Daroussin	;;
313aae38d10SBaptiste Daroussin    *:Twizzler:*:*)
314*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-twizzler
315*21817992SBaptiste Daroussin	;;
316aae38d10SBaptiste Daroussin    *:Redox:*:*)
317*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-redox
318*21817992SBaptiste Daroussin	;;
319aae38d10SBaptiste Daroussin    mips:OSF1:*.*)
320*21817992SBaptiste Daroussin	GUESS=mips-dec-osf1
321*21817992SBaptiste Daroussin	;;
3220e3d5408SPeter Wemm    alpha:OSF1:*:*)
323*21817992SBaptiste Daroussin	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
324*21817992SBaptiste Daroussin	trap '' 0
3254a1a9510SRong-En Fan	case $UNAME_RELEASE in
3264a1a9510SRong-En Fan	*4.0)
3270e3d5408SPeter Wemm		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
3284a1a9510SRong-En Fan		;;
3294a1a9510SRong-En Fan	*5.*)
3304a1a9510SRong-En Fan		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
3314a1a9510SRong-En Fan		;;
3324a1a9510SRong-En Fan	esac
3334a1a9510SRong-En Fan	# According to Compaq, /usr/sbin/psrinfo has been available on
3344a1a9510SRong-En Fan	# OSF/1 and Tru64 systems produced since 1995.  I hope that
3354a1a9510SRong-En Fan	# covers most systems running today.  This code pipes the CPU
3364a1a9510SRong-En Fan	# types through head -n 1, so we only detect the type of CPU 0.
3374a1a9510SRong-En Fan	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
338*21817992SBaptiste Daroussin	case $ALPHA_CPU_TYPE in
3394a1a9510SRong-En Fan	    "EV4 (21064)")
340aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3414a1a9510SRong-En Fan	    "EV4.5 (21064)")
342aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3434a1a9510SRong-En Fan	    "LCA4 (21066/21068)")
344aae38d10SBaptiste Daroussin		UNAME_MACHINE=alpha ;;
3454a1a9510SRong-En Fan	    "EV5 (21164)")
346aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev5 ;;
3474a1a9510SRong-En Fan	    "EV5.6 (21164A)")
348aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev56 ;;
3494a1a9510SRong-En Fan	    "EV5.6 (21164PC)")
350aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphapca56 ;;
3514a1a9510SRong-En Fan	    "EV5.7 (21164PC)")
352aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphapca57 ;;
3534a1a9510SRong-En Fan	    "EV6 (21264)")
354aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev6 ;;
3554a1a9510SRong-En Fan	    "EV6.7 (21264A)")
356aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev67 ;;
3574a1a9510SRong-En Fan	    "EV6.8CB (21264C)")
358aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3594a1a9510SRong-En Fan	    "EV6.8AL (21264B)")
360aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3614a1a9510SRong-En Fan	    "EV6.8CX (21264D)")
362aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev68 ;;
3634a1a9510SRong-En Fan	    "EV6.9A (21264/EV69A)")
364aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev69 ;;
3654a1a9510SRong-En Fan	    "EV7 (21364)")
366aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev7 ;;
3674a1a9510SRong-En Fan	    "EV7.9 (21364A)")
368aae38d10SBaptiste Daroussin		UNAME_MACHINE=alphaev79 ;;
3694a1a9510SRong-En Fan	esac
3704a1a9510SRong-En Fan	# A Pn.n version is a patched version.
3710e3d5408SPeter Wemm	# A Vn.n version is a released version.
3720e3d5408SPeter Wemm	# A Tn.n version is a released field test version.
3730e3d5408SPeter Wemm	# A Xn.n version is an unreleased experimental baselevel.
3740e3d5408SPeter Wemm	# 1.2 uses "1.2" for uname -r.
375*21817992SBaptiste Daroussin	OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
376*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
377*21817992SBaptiste Daroussin	;;
3780e3d5408SPeter Wemm    Amiga*:UNIX_System_V:4.0:*)
379*21817992SBaptiste Daroussin	GUESS=m68k-unknown-sysv4
380*21817992SBaptiste Daroussin	;;
3810e3d5408SPeter Wemm    *:[Aa]miga[Oo][Ss]:*:*)
382*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-amigaos
383*21817992SBaptiste Daroussin	;;
38439f2269fSPeter Wemm    *:[Mm]orph[Oo][Ss]:*:*)
385*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-morphos
386*21817992SBaptiste Daroussin	;;
38715589c42SPeter Wemm    *:OS/390:*:*)
388*21817992SBaptiste Daroussin	GUESS=i370-ibm-openedition
389*21817992SBaptiste Daroussin	;;
3904a1a9510SRong-En Fan    *:z/VM:*:*)
391*21817992SBaptiste Daroussin	GUESS=s390-ibm-zvmoe
392*21817992SBaptiste Daroussin	;;
3934a1a9510SRong-En Fan    *:OS400:*:*)
394*21817992SBaptiste Daroussin	GUESS=powerpc-ibm-os400
395*21817992SBaptiste Daroussin	;;
3960e3d5408SPeter Wemm    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
397*21817992SBaptiste Daroussin	GUESS=arm-acorn-riscix$UNAME_RELEASE
398*21817992SBaptiste Daroussin	;;
39973f0a83dSXin LI    arm*:riscos:*:*|arm*:RISCOS:*:*)
400*21817992SBaptiste Daroussin	GUESS=arm-unknown-riscos
401*21817992SBaptiste Daroussin	;;
4027a69bbfbSPeter Wemm    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
403*21817992SBaptiste Daroussin	GUESS=hppa1.1-hitachi-hiuxmpp
404*21817992SBaptiste Daroussin	;;
4050e3d5408SPeter Wemm    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
4060e3d5408SPeter Wemm	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
407*21817992SBaptiste Daroussin	case `(/bin/universe) 2>/dev/null` in
408*21817992SBaptiste Daroussin	    att) GUESS=pyramid-pyramid-sysv3 ;;
409*21817992SBaptiste Daroussin	    *)   GUESS=pyramid-pyramid-bsd   ;;
410*21817992SBaptiste Daroussin	esac
411*21817992SBaptiste Daroussin	;;
41215589c42SPeter Wemm    NILE*:*:*:dcosx)
413*21817992SBaptiste Daroussin	GUESS=pyramid-pyramid-svr4
414*21817992SBaptiste Daroussin	;;
4154a1a9510SRong-En Fan    DRS?6000:unix:4.0:6*)
416*21817992SBaptiste Daroussin	GUESS=sparc-icl-nx6
417*21817992SBaptiste Daroussin	;;
4184a1a9510SRong-En Fan    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
4194a1a9510SRong-En Fan	case `/usr/bin/uname -p` in
420*21817992SBaptiste Daroussin	    sparc) GUESS=sparc-icl-nx7 ;;
421*21817992SBaptiste Daroussin	esac
422*21817992SBaptiste Daroussin	;;
42306bfebdeSXin LI    s390x:SunOS:*:*)
424*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
425*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
426*21817992SBaptiste Daroussin	;;
4270e3d5408SPeter Wemm    sun4H:SunOS:5.*:*)
428*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
429*21817992SBaptiste Daroussin	GUESS=sparc-hal-solaris2$SUN_REL
430*21817992SBaptiste Daroussin	;;
4310e3d5408SPeter Wemm    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
432*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
433*21817992SBaptiste Daroussin	GUESS=sparc-sun-solaris2$SUN_REL
434*21817992SBaptiste Daroussin	;;
43506bfebdeSXin LI    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
436*21817992SBaptiste Daroussin	GUESS=i386-pc-auroraux$UNAME_RELEASE
437*21817992SBaptiste Daroussin	;;
438aa59d4d4SRong-En Fan    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
439aae38d10SBaptiste Daroussin	set_cc_for_build
440aae38d10SBaptiste Daroussin	SUN_ARCH=i386
44106bfebdeSXin LI	# If there is a compiler, see if it is configured for 64-bit objects.
44206bfebdeSXin LI	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
44306bfebdeSXin LI	# This test works for both compilers.
444*21817992SBaptiste Daroussin	if test "$CC_FOR_BUILD" != no_compiler_found; then
44506bfebdeSXin LI	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
446*21817992SBaptiste Daroussin		(CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
44706bfebdeSXin LI		grep IS_64BIT_ARCH >/dev/null
44806bfebdeSXin LI	    then
449aae38d10SBaptiste Daroussin		SUN_ARCH=x86_64
45006bfebdeSXin LI	    fi
45106bfebdeSXin LI	fi
452*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
453*21817992SBaptiste Daroussin	GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
454*21817992SBaptiste Daroussin	;;
4550e3d5408SPeter Wemm    sun4*:SunOS:6*:*)
4560e3d5408SPeter Wemm	# According to config.sub, this is the proper way to canonicalize
4570e3d5408SPeter Wemm	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
4580e3d5408SPeter Wemm	# it's likely to be more like Solaris than SunOS4.
459*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
460*21817992SBaptiste Daroussin	GUESS=sparc-sun-solaris3$SUN_REL
461*21817992SBaptiste Daroussin	;;
4620e3d5408SPeter Wemm    sun4*:SunOS:*:*)
463*21817992SBaptiste Daroussin	case `/usr/bin/arch -k` in
4640e3d5408SPeter Wemm	    Series*|S4*)
4650e3d5408SPeter Wemm		UNAME_RELEASE=`uname -v`
4660e3d5408SPeter Wemm		;;
4670e3d5408SPeter Wemm	esac
468*21817992SBaptiste Daroussin	# Japanese Language versions have a version number like '4.1.3-JL'.
469*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
470*21817992SBaptiste Daroussin	GUESS=sparc-sun-sunos$SUN_REL
471*21817992SBaptiste Daroussin	;;
4720e3d5408SPeter Wemm    sun3*:SunOS:*:*)
473*21817992SBaptiste Daroussin	GUESS=m68k-sun-sunos$UNAME_RELEASE
474*21817992SBaptiste Daroussin	;;
4750e3d5408SPeter Wemm    sun*:*:4.2BSD:*)
47639f2269fSPeter Wemm	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
477aae38d10SBaptiste Daroussin	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
478*21817992SBaptiste Daroussin	case `/bin/arch` in
4790e3d5408SPeter Wemm	    sun3)
480*21817992SBaptiste Daroussin		GUESS=m68k-sun-sunos$UNAME_RELEASE
4810e3d5408SPeter Wemm		;;
4820e3d5408SPeter Wemm	    sun4)
483*21817992SBaptiste Daroussin		GUESS=sparc-sun-sunos$UNAME_RELEASE
4840e3d5408SPeter Wemm		;;
4850e3d5408SPeter Wemm	esac
486*21817992SBaptiste Daroussin	;;
4870e3d5408SPeter Wemm    aushp:SunOS:*:*)
488*21817992SBaptiste Daroussin	GUESS=sparc-auspex-sunos$UNAME_RELEASE
489*21817992SBaptiste Daroussin	;;
49015589c42SPeter Wemm    # The situation for MiNT is a little confusing.  The machine name
49115589c42SPeter Wemm    # can be virtually everything (everything which is not
49215589c42SPeter Wemm    # "atarist" or "atariste" at least should have a processor
49315589c42SPeter Wemm    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
49415589c42SPeter Wemm    # to the lowercase version "mint" (or "freemint").  Finally
49515589c42SPeter Wemm    # the system name "TOS" denotes a system which is actually not
49615589c42SPeter Wemm    # MiNT.  But MiNT is downward compatible to TOS, so this should
49715589c42SPeter Wemm    # be no problem.
49815589c42SPeter Wemm    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
499*21817992SBaptiste Daroussin	GUESS=m68k-atari-mint$UNAME_RELEASE
500*21817992SBaptiste Daroussin	;;
50115589c42SPeter Wemm    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
502*21817992SBaptiste Daroussin	GUESS=m68k-atari-mint$UNAME_RELEASE
503*21817992SBaptiste Daroussin	;;
50415589c42SPeter Wemm    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
505*21817992SBaptiste Daroussin	GUESS=m68k-atari-mint$UNAME_RELEASE
506*21817992SBaptiste Daroussin	;;
50715589c42SPeter Wemm    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
508*21817992SBaptiste Daroussin	GUESS=m68k-milan-mint$UNAME_RELEASE
509*21817992SBaptiste Daroussin	;;
51015589c42SPeter Wemm    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
511*21817992SBaptiste Daroussin	GUESS=m68k-hades-mint$UNAME_RELEASE
512*21817992SBaptiste Daroussin	;;
51315589c42SPeter Wemm    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
514*21817992SBaptiste Daroussin	GUESS=m68k-unknown-mint$UNAME_RELEASE
515*21817992SBaptiste Daroussin	;;
5164a1a9510SRong-En Fan    m68k:machten:*:*)
517*21817992SBaptiste Daroussin	GUESS=m68k-apple-machten$UNAME_RELEASE
518*21817992SBaptiste Daroussin	;;
5190e3d5408SPeter Wemm    powerpc:machten:*:*)
520*21817992SBaptiste Daroussin	GUESS=powerpc-apple-machten$UNAME_RELEASE
521*21817992SBaptiste Daroussin	;;
5220e3d5408SPeter Wemm    RISC*:Mach:*:*)
523*21817992SBaptiste Daroussin	GUESS=mips-dec-mach_bsd4.3
524*21817992SBaptiste Daroussin	;;
5250e3d5408SPeter Wemm    RISC*:ULTRIX:*:*)
526*21817992SBaptiste Daroussin	GUESS=mips-dec-ultrix$UNAME_RELEASE
527*21817992SBaptiste Daroussin	;;
5280e3d5408SPeter Wemm    VAX*:ULTRIX*:*:*)
529*21817992SBaptiste Daroussin	GUESS=vax-dec-ultrix$UNAME_RELEASE
530*21817992SBaptiste Daroussin	;;
5310e3d5408SPeter Wemm    2020:CLIX:*:* | 2430:CLIX:*:*)
532*21817992SBaptiste Daroussin	GUESS=clipper-intergraph-clix$UNAME_RELEASE
533*21817992SBaptiste Daroussin	;;
5340e3d5408SPeter Wemm    mips:*:*:UMIPS | mips:*:*:RISCos)
535aae38d10SBaptiste Daroussin	set_cc_for_build
536aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
53715589c42SPeter Wemm#ifdef __cplusplus
53815589c42SPeter Wemm#include <stdio.h>  /* for printf() prototype */
53915589c42SPeter Wemm	int main (int argc, char *argv[]) {
54015589c42SPeter Wemm#else
54115589c42SPeter Wemm	int main (argc, argv) int argc; char *argv[]; {
54215589c42SPeter Wemm#endif
5430e3d5408SPeter Wemm	#if defined (host_mips) && defined (MIPSEB)
5440e3d5408SPeter Wemm	#if defined (SYSTYPE_SYSV)
545aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
5460e3d5408SPeter Wemm	#endif
5470e3d5408SPeter Wemm	#if defined (SYSTYPE_SVR4)
548aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
5490e3d5408SPeter Wemm	#endif
5500e3d5408SPeter Wemm	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
551aae38d10SBaptiste Daroussin	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
5520e3d5408SPeter Wemm	#endif
5530e3d5408SPeter Wemm	#endif
5540e3d5408SPeter Wemm	  exit (-1);
5550e3d5408SPeter Wemm	}
5560e3d5408SPeter WemmEOF
557aae38d10SBaptiste Daroussin	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
558aae38d10SBaptiste Daroussin	  dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
559aae38d10SBaptiste Daroussin	  SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
5604a1a9510SRong-En Fan	    { echo "$SYSTEM_NAME"; exit; }
561*21817992SBaptiste Daroussin	GUESS=mips-mips-riscos$UNAME_RELEASE
562*21817992SBaptiste Daroussin	;;
56339f2269fSPeter Wemm    Motorola:PowerMAX_OS:*:*)
564*21817992SBaptiste Daroussin	GUESS=powerpc-motorola-powermax
565*21817992SBaptiste Daroussin	;;
5664a1a9510SRong-En Fan    Motorola:*:4.3:PL8-*)
567*21817992SBaptiste Daroussin	GUESS=powerpc-harris-powermax
568*21817992SBaptiste Daroussin	;;
5694a1a9510SRong-En Fan    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
570*21817992SBaptiste Daroussin	GUESS=powerpc-harris-powermax
571*21817992SBaptiste Daroussin	;;
5720e3d5408SPeter Wemm    Night_Hawk:Power_UNIX:*:*)
573*21817992SBaptiste Daroussin	GUESS=powerpc-harris-powerunix
574*21817992SBaptiste Daroussin	;;
5750e3d5408SPeter Wemm    m88k:CX/UX:7*:*)
576*21817992SBaptiste Daroussin	GUESS=m88k-harris-cxux7
577*21817992SBaptiste Daroussin	;;
5780e3d5408SPeter Wemm    m88k:*:4*:R4*)
579*21817992SBaptiste Daroussin	GUESS=m88k-motorola-sysv4
580*21817992SBaptiste Daroussin	;;
5810e3d5408SPeter Wemm    m88k:*:3*:R3*)
582*21817992SBaptiste Daroussin	GUESS=m88k-motorola-sysv3
583*21817992SBaptiste Daroussin	;;
5840e3d5408SPeter Wemm    AViiON:dgux:*:*)
5850e3d5408SPeter Wemm	# DG/UX returns AViiON for all architectures
5860e3d5408SPeter Wemm	UNAME_PROCESSOR=`/usr/bin/uname -p`
587*21817992SBaptiste Daroussin	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
58815589c42SPeter Wemm	then
589*21817992SBaptiste Daroussin	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
590*21817992SBaptiste Daroussin	       test "$TARGET_BINARY_INTERFACE"x = x
59115589c42SPeter Wemm	    then
592*21817992SBaptiste Daroussin		GUESS=m88k-dg-dgux$UNAME_RELEASE
5930e3d5408SPeter Wemm	    else
594*21817992SBaptiste Daroussin		GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
5950e3d5408SPeter Wemm	    fi
59615589c42SPeter Wemm	else
597*21817992SBaptiste Daroussin	    GUESS=i586-dg-dgux$UNAME_RELEASE
5980e3d5408SPeter Wemm	fi
599*21817992SBaptiste Daroussin	;;
6000e3d5408SPeter Wemm    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
601*21817992SBaptiste Daroussin	GUESS=m88k-dolphin-sysv3
602*21817992SBaptiste Daroussin	;;
6030e3d5408SPeter Wemm    M88*:*:R3*:*)
6040e3d5408SPeter Wemm	# Delta 88k system running SVR3
605*21817992SBaptiste Daroussin	GUESS=m88k-motorola-sysv3
606*21817992SBaptiste Daroussin	;;
6070e3d5408SPeter Wemm    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
608*21817992SBaptiste Daroussin	GUESS=m88k-tektronix-sysv3
609*21817992SBaptiste Daroussin	;;
6100e3d5408SPeter Wemm    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
611*21817992SBaptiste Daroussin	GUESS=m68k-tektronix-bsd
612*21817992SBaptiste Daroussin	;;
6130e3d5408SPeter Wemm    *:IRIX*:*:*)
614*21817992SBaptiste Daroussin	IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
615*21817992SBaptiste Daroussin	GUESS=mips-sgi-irix$IRIX_REL
616*21817992SBaptiste Daroussin	;;
6170e3d5408SPeter Wemm    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
618*21817992SBaptiste Daroussin	GUESS=romp-ibm-aix    # uname -m gives an 8 hex-code CPU id
619*21817992SBaptiste Daroussin	;;                    # Note that: echo "'`uname -s`'" gives 'AIX '
62039f2269fSPeter Wemm    i*86:AIX:*:*)
621*21817992SBaptiste Daroussin	GUESS=i386-ibm-aix
622*21817992SBaptiste Daroussin	;;
6237a69bbfbSPeter Wemm    ia64:AIX:*:*)
624*21817992SBaptiste Daroussin	if test -x /usr/bin/oslevel ; then
6257a69bbfbSPeter Wemm		IBM_REV=`/usr/bin/oslevel`
6267a69bbfbSPeter Wemm	else
627*21817992SBaptiste Daroussin		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6287a69bbfbSPeter Wemm	fi
629*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
630*21817992SBaptiste Daroussin	;;
6310e3d5408SPeter Wemm    *:AIX:2:3)
6320e3d5408SPeter Wemm	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
633aae38d10SBaptiste Daroussin		set_cc_for_build
634aae38d10SBaptiste Daroussin		sed 's/^		//' << EOF > "$dummy.c"
6350e3d5408SPeter Wemm		#include <sys/systemcfg.h>
6360e3d5408SPeter Wemm
6370e3d5408SPeter Wemm		main()
6380e3d5408SPeter Wemm			{
6390e3d5408SPeter Wemm			if (!__power_pc())
6400e3d5408SPeter Wemm				exit(1);
6410e3d5408SPeter Wemm			puts("powerpc-ibm-aix3.2.5");
6420e3d5408SPeter Wemm			exit(0);
6430e3d5408SPeter Wemm			}
6440e3d5408SPeter WemmEOF
645aae38d10SBaptiste Daroussin		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
6464a1a9510SRong-En Fan		then
647*21817992SBaptiste Daroussin			GUESS=$SYSTEM_NAME
6484a1a9510SRong-En Fan		else
649*21817992SBaptiste Daroussin			GUESS=rs6000-ibm-aix3.2.5
6504a1a9510SRong-En Fan		fi
6510e3d5408SPeter Wemm	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
652*21817992SBaptiste Daroussin		GUESS=rs6000-ibm-aix3.2.4
6530e3d5408SPeter Wemm	else
654*21817992SBaptiste Daroussin		GUESS=rs6000-ibm-aix3.2
6550e3d5408SPeter Wemm	fi
656*21817992SBaptiste Daroussin	;;
65706bfebdeSXin LI    *:AIX:*:[4567])
65839f2269fSPeter Wemm	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
659aae38d10SBaptiste Daroussin	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
6600e3d5408SPeter Wemm		IBM_ARCH=rs6000
6610e3d5408SPeter Wemm	else
6620e3d5408SPeter Wemm		IBM_ARCH=powerpc
6630e3d5408SPeter Wemm	fi
664*21817992SBaptiste Daroussin	if test -x /usr/bin/lslpp ; then
665*21817992SBaptiste Daroussin		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
666aae38d10SBaptiste Daroussin			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
6670e3d5408SPeter Wemm	else
668*21817992SBaptiste Daroussin		IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
6690e3d5408SPeter Wemm	fi
670*21817992SBaptiste Daroussin	GUESS=$IBM_ARCH-ibm-aix$IBM_REV
671*21817992SBaptiste Daroussin	;;
6720e3d5408SPeter Wemm    *:AIX:*:*)
673*21817992SBaptiste Daroussin	GUESS=rs6000-ibm-aix
674*21817992SBaptiste Daroussin	;;
675aae38d10SBaptiste Daroussin    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
676*21817992SBaptiste Daroussin	GUESS=romp-ibm-bsd4.4
677*21817992SBaptiste Daroussin	;;
67815589c42SPeter Wemm    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
679*21817992SBaptiste Daroussin	GUESS=romp-ibm-bsd$UNAME_RELEASE    # 4.3 with uname added to
680*21817992SBaptiste Daroussin	;;                                  # report: romp-ibm BSD 4.3
6810e3d5408SPeter Wemm    *:BOSX:*:*)
682*21817992SBaptiste Daroussin	GUESS=rs6000-bull-bosx
683*21817992SBaptiste Daroussin	;;
6840e3d5408SPeter Wemm    DPX/2?00:B.O.S.:*:*)
685*21817992SBaptiste Daroussin	GUESS=m68k-bull-sysv3
686*21817992SBaptiste Daroussin	;;
6870e3d5408SPeter Wemm    9000/[34]??:4.3bsd:1.*:*)
688*21817992SBaptiste Daroussin	GUESS=m68k-hp-bsd
689*21817992SBaptiste Daroussin	;;
6900e3d5408SPeter Wemm    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
691*21817992SBaptiste Daroussin	GUESS=m68k-hp-bsd4.4
692*21817992SBaptiste Daroussin	;;
6930e3d5408SPeter Wemm    9000/[34678]??:HP-UX:*:*)
694aae38d10SBaptiste Daroussin	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
695*21817992SBaptiste Daroussin	case $UNAME_MACHINE in
6960e3d5408SPeter Wemm	    9000/31?)            HP_ARCH=m68000 ;;
6970e3d5408SPeter Wemm	    9000/[34]??)         HP_ARCH=m68k ;;
69815589c42SPeter Wemm	    9000/[678][0-9][0-9])
699*21817992SBaptiste Daroussin		if test -x /usr/bin/getconf; then
7007a69bbfbSPeter Wemm		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
7017a69bbfbSPeter Wemm		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
702*21817992SBaptiste Daroussin		    case $sc_cpu_version in
703aae38d10SBaptiste Daroussin		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
704aae38d10SBaptiste Daroussin		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
7057a69bbfbSPeter Wemm		      532)                      # CPU_PA_RISC2_0
706*21817992SBaptiste Daroussin			case $sc_kernel_bits in
707aae38d10SBaptiste Daroussin			  32) HP_ARCH=hppa2.0n ;;
708aae38d10SBaptiste Daroussin			  64) HP_ARCH=hppa2.0w ;;
709aae38d10SBaptiste Daroussin			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
7107a69bbfbSPeter Wemm			esac ;;
7117a69bbfbSPeter Wemm		    esac
71239f2269fSPeter Wemm		fi
713*21817992SBaptiste Daroussin		if test "$HP_ARCH" = ""; then
714aae38d10SBaptiste Daroussin		    set_cc_for_build
715aae38d10SBaptiste Daroussin		    sed 's/^		//' << EOF > "$dummy.c"
71615589c42SPeter Wemm
71715589c42SPeter Wemm		#define _HPUX_SOURCE
7180e3d5408SPeter Wemm		#include <stdlib.h>
7190e3d5408SPeter Wemm		#include <unistd.h>
7200e3d5408SPeter Wemm
7210e3d5408SPeter Wemm		int main ()
7220e3d5408SPeter Wemm		{
7230e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
7240e3d5408SPeter Wemm		    long bits = sysconf(_SC_KERNEL_BITS);
7250e3d5408SPeter Wemm		#endif
7260e3d5408SPeter Wemm		    long cpu  = sysconf (_SC_CPU_VERSION);
7270e3d5408SPeter Wemm
7280e3d5408SPeter Wemm		    switch (cpu)
7290e3d5408SPeter Wemm			{
7300e3d5408SPeter Wemm			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
7310e3d5408SPeter Wemm			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
7320e3d5408SPeter Wemm			case CPU_PA_RISC2_0:
7330e3d5408SPeter Wemm		#if defined(_SC_KERNEL_BITS)
7340e3d5408SPeter Wemm			    switch (bits)
7350e3d5408SPeter Wemm				{
7360e3d5408SPeter Wemm				case 64: puts ("hppa2.0w"); break;
7370e3d5408SPeter Wemm				case 32: puts ("hppa2.0n"); break;
7380e3d5408SPeter Wemm				default: puts ("hppa2.0"); break;
7390e3d5408SPeter Wemm				} break;
7400e3d5408SPeter Wemm		#else  /* !defined(_SC_KERNEL_BITS) */
7410e3d5408SPeter Wemm			    puts ("hppa2.0"); break;
7420e3d5408SPeter Wemm		#endif
7430e3d5408SPeter Wemm			default: puts ("hppa1.0"); break;
7440e3d5408SPeter Wemm			}
7450e3d5408SPeter Wemm		    exit (0);
7460e3d5408SPeter Wemm		}
7470e3d5408SPeter WemmEOF
748aae38d10SBaptiste Daroussin		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
7494a1a9510SRong-En Fan		    test -z "$HP_ARCH" && HP_ARCH=hppa
7507a69bbfbSPeter Wemm		fi ;;
7510e3d5408SPeter Wemm	esac
752*21817992SBaptiste Daroussin	if test "$HP_ARCH" = hppa2.0w
7534a1a9510SRong-En Fan	then
754aae38d10SBaptiste Daroussin	    set_cc_for_build
7554a1a9510SRong-En Fan
7564a1a9510SRong-En Fan	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
7574a1a9510SRong-En Fan	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
7584a1a9510SRong-En Fan	    # generating 64-bit code.  GNU and HP use different nomenclature:
7594a1a9510SRong-En Fan	    #
7604a1a9510SRong-En Fan	    # $ CC_FOR_BUILD=cc ./config.guess
7614a1a9510SRong-En Fan	    # => hppa2.0w-hp-hpux11.23
7624a1a9510SRong-En Fan	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
7634a1a9510SRong-En Fan	    # => hppa64-hp-hpux11.23
7644a1a9510SRong-En Fan
765aae38d10SBaptiste Daroussin	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
76606bfebdeSXin LI		grep -q __LP64__
7674a1a9510SRong-En Fan	    then
768aae38d10SBaptiste Daroussin		HP_ARCH=hppa2.0w
7694a1a9510SRong-En Fan	    else
770aae38d10SBaptiste Daroussin		HP_ARCH=hppa64
7714a1a9510SRong-En Fan	    fi
7724a1a9510SRong-En Fan	fi
773*21817992SBaptiste Daroussin	GUESS=$HP_ARCH-hp-hpux$HPUX_REV
774*21817992SBaptiste Daroussin	;;
7757a69bbfbSPeter Wemm    ia64:HP-UX:*:*)
776aae38d10SBaptiste Daroussin	HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
777*21817992SBaptiste Daroussin	GUESS=ia64-hp-hpux$HPUX_REV
778*21817992SBaptiste Daroussin	;;
7790e3d5408SPeter Wemm    3050*:HI-UX:*:*)
780aae38d10SBaptiste Daroussin	set_cc_for_build
781aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
7820e3d5408SPeter Wemm	#include <unistd.h>
7830e3d5408SPeter Wemm	int
7840e3d5408SPeter Wemm	main ()
7850e3d5408SPeter Wemm	{
7860e3d5408SPeter Wemm	  long cpu = sysconf (_SC_CPU_VERSION);
7870e3d5408SPeter Wemm	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
7880e3d5408SPeter Wemm	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
7890e3d5408SPeter Wemm	     results, however.  */
7900e3d5408SPeter Wemm	  if (CPU_IS_PA_RISC (cpu))
7910e3d5408SPeter Wemm	    {
7920e3d5408SPeter Wemm	      switch (cpu)
7930e3d5408SPeter Wemm		{
7940e3d5408SPeter Wemm		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
7950e3d5408SPeter Wemm		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
7960e3d5408SPeter Wemm		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
7970e3d5408SPeter Wemm		  default: puts ("hppa-hitachi-hiuxwe2"); break;
7980e3d5408SPeter Wemm		}
7990e3d5408SPeter Wemm	    }
8000e3d5408SPeter Wemm	  else if (CPU_IS_HP_MC68K (cpu))
8010e3d5408SPeter Wemm	    puts ("m68k-hitachi-hiuxwe2");
8020e3d5408SPeter Wemm	  else puts ("unknown-hitachi-hiuxwe2");
8030e3d5408SPeter Wemm	  exit (0);
8040e3d5408SPeter Wemm	}
8050e3d5408SPeter WemmEOF
806aae38d10SBaptiste Daroussin	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
8074a1a9510SRong-En Fan		{ echo "$SYSTEM_NAME"; exit; }
808*21817992SBaptiste Daroussin	GUESS=unknown-hitachi-hiuxwe2
809*21817992SBaptiste Daroussin	;;
8100e3d5408SPeter Wemm    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
811*21817992SBaptiste Daroussin	GUESS=hppa1.1-hp-bsd
812*21817992SBaptiste Daroussin	;;
8130e3d5408SPeter Wemm    9000/8??:4.3bsd:*:*)
814*21817992SBaptiste Daroussin	GUESS=hppa1.0-hp-bsd
815*21817992SBaptiste Daroussin	;;
81639f2269fSPeter Wemm    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
817*21817992SBaptiste Daroussin	GUESS=hppa1.0-hp-mpeix
818*21817992SBaptiste Daroussin	;;
8190e3d5408SPeter Wemm    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
820*21817992SBaptiste Daroussin	GUESS=hppa1.1-hp-osf
821*21817992SBaptiste Daroussin	;;
8220e3d5408SPeter Wemm    hp8??:OSF1:*:*)
823*21817992SBaptiste Daroussin	GUESS=hppa1.0-hp-osf
824*21817992SBaptiste Daroussin	;;
82539f2269fSPeter Wemm    i*86:OSF1:*:*)
826*21817992SBaptiste Daroussin	if test -x /usr/sbin/sysversion ; then
827*21817992SBaptiste Daroussin	    GUESS=$UNAME_MACHINE-unknown-osf1mk
8280e3d5408SPeter Wemm	else
829*21817992SBaptiste Daroussin	    GUESS=$UNAME_MACHINE-unknown-osf1
8300e3d5408SPeter Wemm	fi
831*21817992SBaptiste Daroussin	;;
8320e3d5408SPeter Wemm    parisc*:Lites*:*:*)
833*21817992SBaptiste Daroussin	GUESS=hppa1.1-hp-lites
834*21817992SBaptiste Daroussin	;;
8350e3d5408SPeter Wemm    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
836*21817992SBaptiste Daroussin	GUESS=c1-convex-bsd
837*21817992SBaptiste Daroussin	;;
8380e3d5408SPeter Wemm    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
8390e3d5408SPeter Wemm	if getsysinfo -f scalar_acc
8400e3d5408SPeter Wemm	then echo c32-convex-bsd
8410e3d5408SPeter Wemm	else echo c2-convex-bsd
8420e3d5408SPeter Wemm	fi
8434a1a9510SRong-En Fan	exit ;;
8440e3d5408SPeter Wemm    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
845*21817992SBaptiste Daroussin	GUESS=c34-convex-bsd
846*21817992SBaptiste Daroussin	;;
8470e3d5408SPeter Wemm    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
848*21817992SBaptiste Daroussin	GUESS=c38-convex-bsd
849*21817992SBaptiste Daroussin	;;
8500e3d5408SPeter Wemm    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
851*21817992SBaptiste Daroussin	GUESS=c4-convex-bsd
852*21817992SBaptiste Daroussin	;;
8530e3d5408SPeter Wemm    CRAY*Y-MP:*:*:*)
854*21817992SBaptiste Daroussin	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
855*21817992SBaptiste Daroussin	GUESS=ymp-cray-unicos$CRAY_REL
856*21817992SBaptiste Daroussin	;;
8570e3d5408SPeter Wemm    CRAY*[A-Z]90:*:*:*)
858aae38d10SBaptiste Daroussin	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
8590e3d5408SPeter Wemm	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
86039f2269fSPeter Wemm	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
86139f2269fSPeter Wemm	      -e 's/\.[^.]*$/.X/'
8624a1a9510SRong-En Fan	exit ;;
8630e3d5408SPeter Wemm    CRAY*TS:*:*:*)
864*21817992SBaptiste Daroussin	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
865*21817992SBaptiste Daroussin	GUESS=t90-cray-unicos$CRAY_REL
866*21817992SBaptiste Daroussin	;;
8677a69bbfbSPeter Wemm    CRAY*T3E:*:*:*)
868*21817992SBaptiste Daroussin	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
869*21817992SBaptiste Daroussin	GUESS=alphaev5-cray-unicosmk$CRAY_REL
870*21817992SBaptiste Daroussin	;;
87115589c42SPeter Wemm    CRAY*SV1:*:*:*)
872*21817992SBaptiste Daroussin	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
873*21817992SBaptiste Daroussin	GUESS=sv1-cray-unicos$CRAY_REL
874*21817992SBaptiste Daroussin	;;
8754a1a9510SRong-En Fan    *:UNICOS/mp:*:*)
876*21817992SBaptiste Daroussin	CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
877*21817992SBaptiste Daroussin	GUESS=craynv-cray-unicosmp$CRAY_REL
878*21817992SBaptiste Daroussin	;;
8797a69bbfbSPeter Wemm    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
880aae38d10SBaptiste Daroussin	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
881aae38d10SBaptiste Daroussin	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
882aae38d10SBaptiste Daroussin	FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
883*21817992SBaptiste Daroussin	GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
884*21817992SBaptiste Daroussin	;;
8854a1a9510SRong-En Fan    5000:UNIX_System_V:4.*:*)
886aae38d10SBaptiste Daroussin	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
887aae38d10SBaptiste Daroussin	FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
888*21817992SBaptiste Daroussin	GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
889*21817992SBaptiste Daroussin	;;
89039f2269fSPeter Wemm    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
891*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
892*21817992SBaptiste Daroussin	;;
8930e3d5408SPeter Wemm    sparc*:BSD/OS:*:*)
894*21817992SBaptiste Daroussin	GUESS=sparc-unknown-bsdi$UNAME_RELEASE
895*21817992SBaptiste Daroussin	;;
89615589c42SPeter Wemm    *:BSD/OS:*:*)
897*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
898*21817992SBaptiste Daroussin	;;
899aae38d10SBaptiste Daroussin    arm:FreeBSD:*:*)
900aae38d10SBaptiste Daroussin	UNAME_PROCESSOR=`uname -p`
901aae38d10SBaptiste Daroussin	set_cc_for_build
902aae38d10SBaptiste Daroussin	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
903aae38d10SBaptiste Daroussin	    | grep -q __ARM_PCS_VFP
904aae38d10SBaptiste Daroussin	then
905*21817992SBaptiste Daroussin	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
906*21817992SBaptiste Daroussin	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
907aae38d10SBaptiste Daroussin	else
908*21817992SBaptiste Daroussin	    FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
909*21817992SBaptiste Daroussin	    GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
910aae38d10SBaptiste Daroussin	fi
911*21817992SBaptiste Daroussin	;;
9120e3d5408SPeter Wemm    *:FreeBSD:*:*)
913*21817992SBaptiste Daroussin	UNAME_PROCESSOR=`uname -p`
914*21817992SBaptiste Daroussin	case $UNAME_PROCESSOR in
9154a1a9510SRong-En Fan	    amd64)
916aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=x86_64 ;;
917aae38d10SBaptiste Daroussin	    i386)
918aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=i586 ;;
9194a1a9510SRong-En Fan	esac
920*21817992SBaptiste Daroussin	FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
921*21817992SBaptiste Daroussin	GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
922*21817992SBaptiste Daroussin	;;
9230e3d5408SPeter Wemm    i*:CYGWIN*:*)
924*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-cygwin
925*21817992SBaptiste Daroussin	;;
92673f0a83dSXin LI    *:MINGW64*:*)
927*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-mingw64
928*21817992SBaptiste Daroussin	;;
9295ca44d1cSRong-En Fan    *:MINGW*:*)
930*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-mingw32
931*21817992SBaptiste Daroussin	;;
932aae38d10SBaptiste Daroussin    *:MSYS*:*)
933*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-msys
934*21817992SBaptiste Daroussin	;;
9357a69bbfbSPeter Wemm    i*:PW*:*)
936*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-pw32
937*21817992SBaptiste Daroussin	;;
938*21817992SBaptiste Daroussin    *:SerenityOS:*:*)
939*21817992SBaptiste Daroussin        GUESS=$UNAME_MACHINE-pc-serenity
940*21817992SBaptiste Daroussin        ;;
94106bfebdeSXin LI    *:Interix*:*)
942*21817992SBaptiste Daroussin	case $UNAME_MACHINE in
9435ca44d1cSRong-En Fan	    x86)
944*21817992SBaptiste Daroussin		GUESS=i586-pc-interix$UNAME_RELEASE
945*21817992SBaptiste Daroussin		;;
94606bfebdeSXin LI	    authenticamd | genuineintel | EM64T)
947*21817992SBaptiste Daroussin		GUESS=x86_64-unknown-interix$UNAME_RELEASE
948*21817992SBaptiste Daroussin		;;
949aa59d4d4SRong-En Fan	    IA64)
950*21817992SBaptiste Daroussin		GUESS=ia64-unknown-interix$UNAME_RELEASE
951*21817992SBaptiste Daroussin		;;
9525ca44d1cSRong-En Fan	esac ;;
95315589c42SPeter Wemm    i*:UWIN*:*)
954*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-uwin
955*21817992SBaptiste Daroussin	;;
9564a1a9510SRong-En Fan    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
957*21817992SBaptiste Daroussin	GUESS=x86_64-pc-cygwin
958*21817992SBaptiste Daroussin	;;
9590e3d5408SPeter Wemm    prep*:SunOS:5.*:*)
960*21817992SBaptiste Daroussin	SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
961*21817992SBaptiste Daroussin	GUESS=powerpcle-unknown-solaris2$SUN_REL
962*21817992SBaptiste Daroussin	;;
9630e3d5408SPeter Wemm    *:GNU:*:*)
9644a1a9510SRong-En Fan	# the GNU system
965*21817992SBaptiste Daroussin	GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
966*21817992SBaptiste Daroussin	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
967*21817992SBaptiste Daroussin	GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
968*21817992SBaptiste Daroussin	;;
9694a1a9510SRong-En Fan    *:GNU/*:*:*)
9704a1a9510SRong-En Fan	# other systems with GNU libc and userland
971*21817992SBaptiste Daroussin	GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
972*21817992SBaptiste Daroussin	GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
973*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
974*21817992SBaptiste Daroussin	;;
975*21817992SBaptiste Daroussin    x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
976*21817992SBaptiste Daroussin	GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
977*21817992SBaptiste Daroussin	;;
978*21817992SBaptiste Daroussin    *:[Mm]anagarm:*:*)
979*21817992SBaptiste Daroussin	GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
980*21817992SBaptiste Daroussin	;;
981aae38d10SBaptiste Daroussin    *:Minix:*:*)
982*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-minix
983*21817992SBaptiste Daroussin	;;
98473f0a83dSXin LI    aarch64:Linux:*:*)
985*21817992SBaptiste Daroussin	set_cc_for_build
986*21817992SBaptiste Daroussin	CPU=$UNAME_MACHINE
987*21817992SBaptiste Daroussin	LIBCABI=$LIBC
988*21817992SBaptiste Daroussin	if test "$CC_FOR_BUILD" != no_compiler_found; then
989*21817992SBaptiste Daroussin	    ABI=64
990*21817992SBaptiste Daroussin	    sed 's/^	    //' << EOF > "$dummy.c"
991*21817992SBaptiste Daroussin	    #ifdef __ARM_EABI__
992*21817992SBaptiste Daroussin	    #ifdef __ARM_PCS_VFP
993*21817992SBaptiste Daroussin	    ABI=eabihf
994*21817992SBaptiste Daroussin	    #else
995*21817992SBaptiste Daroussin	    ABI=eabi
996*21817992SBaptiste Daroussin	    #endif
997*21817992SBaptiste Daroussin	    #endif
998*21817992SBaptiste DaroussinEOF
999*21817992SBaptiste Daroussin	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1000*21817992SBaptiste Daroussin	    eval "$cc_set_abi"
1001*21817992SBaptiste Daroussin	    case $ABI in
1002*21817992SBaptiste Daroussin		eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
1003*21817992SBaptiste Daroussin	    esac
1004*21817992SBaptiste Daroussin	fi
1005*21817992SBaptiste Daroussin	GUESS=$CPU-unknown-linux-$LIBCABI
1006*21817992SBaptiste Daroussin	;;
100773f0a83dSXin LI    aarch64_be:Linux:*:*)
100873f0a83dSXin LI	UNAME_MACHINE=aarch64_be
1009*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1010*21817992SBaptiste Daroussin	;;
101106bfebdeSXin LI    alpha:Linux:*:*)
1012aae38d10SBaptiste Daroussin	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
101306bfebdeSXin LI	  EV5)   UNAME_MACHINE=alphaev5 ;;
101406bfebdeSXin LI	  EV56)  UNAME_MACHINE=alphaev56 ;;
101506bfebdeSXin LI	  PCA56) UNAME_MACHINE=alphapca56 ;;
101606bfebdeSXin LI	  PCA57) UNAME_MACHINE=alphapca56 ;;
101706bfebdeSXin LI	  EV6)   UNAME_MACHINE=alphaev6 ;;
101806bfebdeSXin LI	  EV67)  UNAME_MACHINE=alphaev67 ;;
101906bfebdeSXin LI	  EV68*) UNAME_MACHINE=alphaev68 ;;
102006bfebdeSXin LI	esac
102106bfebdeSXin LI	objdump --private-headers /bin/sh | grep -q ld.so.1
1022aae38d10SBaptiste Daroussin	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
1023*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1024*21817992SBaptiste Daroussin	;;
1025*21817992SBaptiste Daroussin    arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1026*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1027*21817992SBaptiste Daroussin	;;
10287a69bbfbSPeter Wemm    arm*:Linux:*:*)
1029aae38d10SBaptiste Daroussin	set_cc_for_build
103073f0a83dSXin LI	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
103173f0a83dSXin LI	    | grep -q __ARM_EABI__
1032aa59d4d4SRong-En Fan	then
1033*21817992SBaptiste Daroussin	    GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1034aa59d4d4SRong-En Fan	else
103573f0a83dSXin LI	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
103673f0a83dSXin LI		| grep -q __ARM_PCS_VFP
103773f0a83dSXin LI	    then
1038*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
103973f0a83dSXin LI	    else
1040*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
104173f0a83dSXin LI	    fi
1042aa59d4d4SRong-En Fan	fi
1043*21817992SBaptiste Daroussin	;;
10444a1a9510SRong-En Fan    avr32*:Linux:*:*)
1045*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1046*21817992SBaptiste Daroussin	;;
10474a1a9510SRong-En Fan    cris:Linux:*:*)
1048*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1049*21817992SBaptiste Daroussin	;;
10504a1a9510SRong-En Fan    crisv32:Linux:*:*)
1051*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1052*21817992SBaptiste Daroussin	;;
1053aae38d10SBaptiste Daroussin    e2k:Linux:*:*)
1054*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1055*21817992SBaptiste Daroussin	;;
10564a1a9510SRong-En Fan    frv:Linux:*:*)
1057*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1058*21817992SBaptiste Daroussin	;;
105973f0a83dSXin LI    hexagon:Linux:*:*)
1060*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1061*21817992SBaptiste Daroussin	;;
106206bfebdeSXin LI    i*86:Linux:*:*)
1063*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1064*21817992SBaptiste Daroussin	;;
10657a69bbfbSPeter Wemm    ia64:Linux:*:*)
1066*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1067*21817992SBaptiste Daroussin	;;
1068aae38d10SBaptiste Daroussin    k1om:Linux:*:*)
1069*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1070*21817992SBaptiste Daroussin	;;
1071*21817992SBaptiste Daroussin    kvx:Linux:*:*)
1072*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1073*21817992SBaptiste Daroussin	;;
1074*21817992SBaptiste Daroussin    kvx:cos:*:*)
1075*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-cos
1076*21817992SBaptiste Daroussin	;;
1077*21817992SBaptiste Daroussin    kvx:mbr:*:*)
1078*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-mbr
1079*21817992SBaptiste Daroussin	;;
1080*21817992SBaptiste Daroussin    loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1081*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1082*21817992SBaptiste Daroussin	;;
10834a1a9510SRong-En Fan    m32r*:Linux:*:*)
1084*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1085*21817992SBaptiste Daroussin	;;
10867a69bbfbSPeter Wemm    m68*:Linux:*:*)
1087*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1088*21817992SBaptiste Daroussin	;;
108906bfebdeSXin LI    mips:Linux:*:* | mips64:Linux:*:*)
1090aae38d10SBaptiste Daroussin	set_cc_for_build
1091aae38d10SBaptiste Daroussin	IS_GLIBC=0
1092aae38d10SBaptiste Daroussin	test x"${LIBC}" = xgnu && IS_GLIBC=1
1093aae38d10SBaptiste Daroussin	sed 's/^	//' << EOF > "$dummy.c"
109439f2269fSPeter Wemm	#undef CPU
1095aae38d10SBaptiste Daroussin	#undef mips
1096aae38d10SBaptiste Daroussin	#undef mipsel
1097aae38d10SBaptiste Daroussin	#undef mips64
1098aae38d10SBaptiste Daroussin	#undef mips64el
1099aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(_ABI64)
1100aae38d10SBaptiste Daroussin	LIBCABI=gnuabi64
1101aae38d10SBaptiste Daroussin	#else
1102aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(_ABIN32)
1103aae38d10SBaptiste Daroussin	LIBCABI=gnuabin32
1104aae38d10SBaptiste Daroussin	#else
1105aae38d10SBaptiste Daroussin	LIBCABI=${LIBC}
1106aae38d10SBaptiste Daroussin	#endif
1107aae38d10SBaptiste Daroussin	#endif
1108aae38d10SBaptiste Daroussin
1109aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1110aae38d10SBaptiste Daroussin	CPU=mipsisa64r6
1111aae38d10SBaptiste Daroussin	#else
1112aae38d10SBaptiste Daroussin	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1113aae38d10SBaptiste Daroussin	CPU=mipsisa32r6
1114aae38d10SBaptiste Daroussin	#else
1115aae38d10SBaptiste Daroussin	#if defined(__mips64)
1116aae38d10SBaptiste Daroussin	CPU=mips64
1117aae38d10SBaptiste Daroussin	#else
1118aae38d10SBaptiste Daroussin	CPU=mips
1119aae38d10SBaptiste Daroussin	#endif
1120aae38d10SBaptiste Daroussin	#endif
1121aae38d10SBaptiste Daroussin	#endif
1122aae38d10SBaptiste Daroussin
112339f2269fSPeter Wemm	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
1124aae38d10SBaptiste Daroussin	MIPS_ENDIAN=el
11257a69bbfbSPeter Wemm	#else
112639f2269fSPeter Wemm	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
1127aae38d10SBaptiste Daroussin	MIPS_ENDIAN=
112839f2269fSPeter Wemm	#else
1129aae38d10SBaptiste Daroussin	MIPS_ENDIAN=
11307a69bbfbSPeter Wemm	#endif
11317a69bbfbSPeter Wemm	#endif
11327a69bbfbSPeter WemmEOF
1133*21817992SBaptiste Daroussin	cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1134*21817992SBaptiste Daroussin	eval "$cc_set_vars"
1135aae38d10SBaptiste Daroussin	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
11364a1a9510SRong-En Fan	;;
1137aae38d10SBaptiste Daroussin    mips64el:Linux:*:*)
1138*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1139*21817992SBaptiste Daroussin	;;
1140aae38d10SBaptiste Daroussin    openrisc*:Linux:*:*)
1141*21817992SBaptiste Daroussin	GUESS=or1k-unknown-linux-$LIBC
1142*21817992SBaptiste Daroussin	;;
1143aae38d10SBaptiste Daroussin    or32:Linux:*:* | or1k*:Linux:*:*)
1144*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1145*21817992SBaptiste Daroussin	;;
114606bfebdeSXin LI    padre:Linux:*:*)
1147*21817992SBaptiste Daroussin	GUESS=sparc-unknown-linux-$LIBC
1148*21817992SBaptiste Daroussin	;;
114906bfebdeSXin LI    parisc64:Linux:*:* | hppa64:Linux:*:*)
1150*21817992SBaptiste Daroussin	GUESS=hppa64-unknown-linux-$LIBC
1151*21817992SBaptiste Daroussin	;;
11527a69bbfbSPeter Wemm    parisc:Linux:*:* | hppa:Linux:*:*)
11537a69bbfbSPeter Wemm	# Look for CPU level
11547a69bbfbSPeter Wemm	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
1155*21817992SBaptiste Daroussin	  PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1156*21817992SBaptiste Daroussin	  PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1157*21817992SBaptiste Daroussin	  *)    GUESS=hppa-unknown-linux-$LIBC ;;
11587a69bbfbSPeter Wemm	esac
1159*21817992SBaptiste Daroussin	;;
116006bfebdeSXin LI    ppc64:Linux:*:*)
1161*21817992SBaptiste Daroussin	GUESS=powerpc64-unknown-linux-$LIBC
1162*21817992SBaptiste Daroussin	;;
116306bfebdeSXin LI    ppc:Linux:*:*)
1164*21817992SBaptiste Daroussin	GUESS=powerpc-unknown-linux-$LIBC
1165*21817992SBaptiste Daroussin	;;
116673f0a83dSXin LI    ppc64le:Linux:*:*)
1167*21817992SBaptiste Daroussin	GUESS=powerpc64le-unknown-linux-$LIBC
1168*21817992SBaptiste Daroussin	;;
116973f0a83dSXin LI    ppcle:Linux:*:*)
1170*21817992SBaptiste Daroussin	GUESS=powerpcle-unknown-linux-$LIBC
1171*21817992SBaptiste Daroussin	;;
1172*21817992SBaptiste Daroussin    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1173*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1174*21817992SBaptiste Daroussin	;;
11757a69bbfbSPeter Wemm    s390:Linux:*:* | s390x:Linux:*:*)
1176*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1177*21817992SBaptiste Daroussin	;;
11784a1a9510SRong-En Fan    sh64*:Linux:*:*)
1179*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1180*21817992SBaptiste Daroussin	;;
11817a69bbfbSPeter Wemm    sh*:Linux:*:*)
1182*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1183*21817992SBaptiste Daroussin	;;
11847a69bbfbSPeter Wemm    sparc:Linux:*:* | sparc64:Linux:*:*)
1185*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1186*21817992SBaptiste Daroussin	;;
118706bfebdeSXin LI    tile*:Linux:*:*)
1188*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1189*21817992SBaptiste Daroussin	;;
11904a1a9510SRong-En Fan    vax:Linux:*:*)
1191*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1192*21817992SBaptiste Daroussin	;;
11937a69bbfbSPeter Wemm    x86_64:Linux:*:*)
1194*21817992SBaptiste Daroussin	set_cc_for_build
1195*21817992SBaptiste Daroussin	CPU=$UNAME_MACHINE
1196*21817992SBaptiste Daroussin	LIBCABI=$LIBC
1197*21817992SBaptiste Daroussin	if test "$CC_FOR_BUILD" != no_compiler_found; then
1198*21817992SBaptiste Daroussin	    ABI=64
1199*21817992SBaptiste Daroussin	    sed 's/^	    //' << EOF > "$dummy.c"
1200*21817992SBaptiste Daroussin	    #ifdef __i386__
1201*21817992SBaptiste Daroussin	    ABI=x86
1202*21817992SBaptiste Daroussin	    #else
1203*21817992SBaptiste Daroussin	    #ifdef __ILP32__
1204*21817992SBaptiste Daroussin	    ABI=x32
1205*21817992SBaptiste Daroussin	    #endif
1206*21817992SBaptiste Daroussin	    #endif
1207*21817992SBaptiste DaroussinEOF
1208*21817992SBaptiste Daroussin	    cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1209*21817992SBaptiste Daroussin	    eval "$cc_set_abi"
1210*21817992SBaptiste Daroussin	    case $ABI in
1211*21817992SBaptiste Daroussin		x86) CPU=i686 ;;
1212*21817992SBaptiste Daroussin		x32) LIBCABI=${LIBC}x32 ;;
1213*21817992SBaptiste Daroussin	    esac
1214*21817992SBaptiste Daroussin	fi
1215*21817992SBaptiste Daroussin	GUESS=$CPU-pc-linux-$LIBCABI
1216*21817992SBaptiste Daroussin	;;
1217aa59d4d4SRong-En Fan    xtensa*:Linux:*:*)
1218*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1219*21817992SBaptiste Daroussin	;;
122039f2269fSPeter Wemm    i*86:DYNIX/ptx:4*:*)
122139f2269fSPeter Wemm	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
122239f2269fSPeter Wemm	# earlier versions are messed up and put the nodename in both
122339f2269fSPeter Wemm	# sysname and nodename.
1224*21817992SBaptiste Daroussin	GUESS=i386-sequent-sysv4
1225*21817992SBaptiste Daroussin	;;
122639f2269fSPeter Wemm    i*86:UNIX_SV:4.2MP:2.*)
12270e3d5408SPeter Wemm	# Unixware is an offshoot of SVR4, but it has its own version
12280e3d5408SPeter Wemm	# number series starting with 2...
12290e3d5408SPeter Wemm	# I am not positive that other SVR4 systems won't match this,
12300e3d5408SPeter Wemm	# I just have to hope.  -- rms.
12310e3d5408SPeter Wemm	# Use sysv4.2uw... so that sysv4* matches it.
1232*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1233*21817992SBaptiste Daroussin	;;
12344a1a9510SRong-En Fan    i*86:OS/2:*:*)
1235*21817992SBaptiste Daroussin	# If we were able to find 'uname', then EMX Unix compatibility
12364a1a9510SRong-En Fan	# is probably installed.
1237*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-os2-emx
1238*21817992SBaptiste Daroussin	;;
12394a1a9510SRong-En Fan    i*86:XTS-300:*:STOP)
1240*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-stop
1241*21817992SBaptiste Daroussin	;;
12424a1a9510SRong-En Fan    i*86:atheos:*:*)
1243*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-atheos
1244*21817992SBaptiste Daroussin	;;
12454a1a9510SRong-En Fan    i*86:syllable:*:*)
1246*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-syllable
1247*21817992SBaptiste Daroussin	;;
124806bfebdeSXin LI    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1249*21817992SBaptiste Daroussin	GUESS=i386-unknown-lynxos$UNAME_RELEASE
1250*21817992SBaptiste Daroussin	;;
12514a1a9510SRong-En Fan    i*86:*DOS:*:*)
1252*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1253*21817992SBaptiste Daroussin	;;
1254aae38d10SBaptiste Daroussin    i*86:*:4.*:*)
1255aae38d10SBaptiste Daroussin	UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
125615589c42SPeter Wemm	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1257*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
12580e3d5408SPeter Wemm	else
1259*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
12600e3d5408SPeter Wemm	fi
1261*21817992SBaptiste Daroussin	;;
12624a1a9510SRong-En Fan    i*86:*:5:[678]*)
12634a1a9510SRong-En Fan	# UnixWare 7.x, OpenUNIX and OpenServer 6.
126439f2269fSPeter Wemm	case `/bin/uname -X | grep "^Machine"` in
126539f2269fSPeter Wemm	    *486*)	     UNAME_MACHINE=i486 ;;
126639f2269fSPeter Wemm	    *Pentium)	     UNAME_MACHINE=i586 ;;
126739f2269fSPeter Wemm	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
126839f2269fSPeter Wemm	esac
1269*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1270*21817992SBaptiste Daroussin	;;
127139f2269fSPeter Wemm    i*86:*:3.2:*)
12720e3d5408SPeter Wemm	if test -f /usr/options/cb.name; then
12730e3d5408SPeter Wemm		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1274*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
12750e3d5408SPeter Wemm	elif /bin/uname -X 2>/dev/null >/dev/null ; then
12764a1a9510SRong-En Fan		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
12774a1a9510SRong-En Fan		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
12784a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
12790e3d5408SPeter Wemm			&& UNAME_MACHINE=i586
12804a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
128115589c42SPeter Wemm			&& UNAME_MACHINE=i686
12824a1a9510SRong-En Fan		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
128315589c42SPeter Wemm			&& UNAME_MACHINE=i686
1284*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
12850e3d5408SPeter Wemm	else
1286*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-pc-sysv32
12870e3d5408SPeter Wemm	fi
1288*21817992SBaptiste Daroussin	;;
12890e3d5408SPeter Wemm    pc:*:*:*)
129015589c42SPeter Wemm	# Left here for compatibility:
12910e3d5408SPeter Wemm	# uname -m prints for DJGPP always 'pc', but it prints nothing about
129206bfebdeSXin LI	# the processor, so we play safe by assuming i586.
129306bfebdeSXin LI	# Note: whatever this is, it MUST be the same as what config.sub
1294aae38d10SBaptiste Daroussin	# prints for the "djgpp" host, or else GDB configure will decide that
129506bfebdeSXin LI	# this is a cross-build.
1296*21817992SBaptiste Daroussin	GUESS=i586-pc-msdosdjgpp
1297*21817992SBaptiste Daroussin	;;
12980e3d5408SPeter Wemm    Intel:Mach:3*:*)
1299*21817992SBaptiste Daroussin	GUESS=i386-pc-mach3
1300*21817992SBaptiste Daroussin	;;
13010e3d5408SPeter Wemm    paragon:*:*:*)
1302*21817992SBaptiste Daroussin	GUESS=i860-intel-osf1
1303*21817992SBaptiste Daroussin	;;
13040e3d5408SPeter Wemm    i860:*:4.*:*) # i860-SVR4
13050e3d5408SPeter Wemm	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1306*21817992SBaptiste Daroussin	  GUESS=i860-stardent-sysv$UNAME_RELEASE    # Stardent Vistra i860-SVR4
13070e3d5408SPeter Wemm	else # Add other i860-SVR4 vendors below as they are discovered.
1308*21817992SBaptiste Daroussin	  GUESS=i860-unknown-sysv$UNAME_RELEASE     # Unknown i860-SVR4
13090e3d5408SPeter Wemm	fi
1310*21817992SBaptiste Daroussin	;;
13110e3d5408SPeter Wemm    mini*:CTIX:SYS*5:*)
13120e3d5408SPeter Wemm	# "miniframe"
1313*21817992SBaptiste Daroussin	GUESS=m68010-convergent-sysv
1314*21817992SBaptiste Daroussin	;;
13154a1a9510SRong-En Fan    mc68k:UNIX:SYSTEM5:3.51m)
1316*21817992SBaptiste Daroussin	GUESS=m68k-convergent-sysv
1317*21817992SBaptiste Daroussin	;;
13184a1a9510SRong-En Fan    M680?0:D-NIX:5.3:*)
1319*21817992SBaptiste Daroussin	GUESS=m68k-diab-dnix
1320*21817992SBaptiste Daroussin	;;
13214a1a9510SRong-En Fan    M68*:*:R3V[5678]*:*)
13224a1a9510SRong-En Fan	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
13234a1a9510SRong-En Fan    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)
13240e3d5408SPeter Wemm	OS_REL=''
13250e3d5408SPeter Wemm	test -r /etc/.relid \
13260e3d5408SPeter Wemm	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
13270e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1328aae38d10SBaptiste Daroussin	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
13290e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1330aae38d10SBaptiste Daroussin	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
13310e3d5408SPeter Wemm    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
13320e3d5408SPeter Wemm	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
13334a1a9510SRong-En Fan	  && { echo i486-ncr-sysv4; exit; } ;;
133406bfebdeSXin LI    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
133506bfebdeSXin LI	OS_REL='.3'
133606bfebdeSXin LI	test -r /etc/.relid \
133706bfebdeSXin LI	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
133806bfebdeSXin LI	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1339aae38d10SBaptiste Daroussin	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
134006bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1341aae38d10SBaptiste Daroussin	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
134206bfebdeSXin LI	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1343aae38d10SBaptiste Daroussin	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
134439f2269fSPeter Wemm    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1345*21817992SBaptiste Daroussin	GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1346*21817992SBaptiste Daroussin	;;
13470e3d5408SPeter Wemm    mc68030:UNIX_System_V:4.*:*)
1348*21817992SBaptiste Daroussin	GUESS=m68k-atari-sysv4
1349*21817992SBaptiste Daroussin	;;
13500e3d5408SPeter Wemm    TSUNAMI:LynxOS:2.*:*)
1351*21817992SBaptiste Daroussin	GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1352*21817992SBaptiste Daroussin	;;
13537a69bbfbSPeter Wemm    rs6000:LynxOS:2.*:*)
1354*21817992SBaptiste Daroussin	GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1355*21817992SBaptiste Daroussin	;;
135606bfebdeSXin LI    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1357*21817992SBaptiste Daroussin	GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1358*21817992SBaptiste Daroussin	;;
13590e3d5408SPeter Wemm    SM[BE]S:UNIX_SV:*:*)
1360*21817992SBaptiste Daroussin	GUESS=mips-dde-sysv$UNAME_RELEASE
1361*21817992SBaptiste Daroussin	;;
136215589c42SPeter Wemm    RM*:ReliantUNIX-*:*:*)
1363*21817992SBaptiste Daroussin	GUESS=mips-sni-sysv4
1364*21817992SBaptiste Daroussin	;;
13650e3d5408SPeter Wemm    RM*:SINIX-*:*:*)
1366*21817992SBaptiste Daroussin	GUESS=mips-sni-sysv4
1367*21817992SBaptiste Daroussin	;;
13680e3d5408SPeter Wemm    *:SINIX-*:*:*)
13690e3d5408SPeter Wemm	if uname -p 2>/dev/null >/dev/null ; then
13700e3d5408SPeter Wemm		UNAME_MACHINE=`(uname -p) 2>/dev/null`
1371*21817992SBaptiste Daroussin		GUESS=$UNAME_MACHINE-sni-sysv4
13720e3d5408SPeter Wemm	else
1373*21817992SBaptiste Daroussin		GUESS=ns32k-sni-sysv
13740e3d5408SPeter Wemm	fi
1375*21817992SBaptiste Daroussin	;;
1376*21817992SBaptiste Daroussin    PENTIUM:*:4.0*:*)	# Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
13770e3d5408SPeter Wemm			# says <Richard.M.Bartel@ccMail.Census.GOV>
1378*21817992SBaptiste Daroussin	GUESS=i586-unisys-sysv4
1379*21817992SBaptiste Daroussin	;;
13800e3d5408SPeter Wemm    *:UNIX_System_V:4*:FTX*)
13810e3d5408SPeter Wemm	# From Gerald Hewes <hewes@openmarket.com>.
13820e3d5408SPeter Wemm	# How about differentiating between stratus architectures? -djm
1383*21817992SBaptiste Daroussin	GUESS=hppa1.1-stratus-sysv4
1384*21817992SBaptiste Daroussin	;;
13850e3d5408SPeter Wemm    *:*:*:FTX*)
13860e3d5408SPeter Wemm	# From seanf@swdc.stratus.com.
1387*21817992SBaptiste Daroussin	GUESS=i860-stratus-sysv4
1388*21817992SBaptiste Daroussin	;;
13894a1a9510SRong-En Fan    i*86:VOS:*:*)
13904a1a9510SRong-En Fan	# From Paul.Green@stratus.com.
1391*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-stratus-vos
1392*21817992SBaptiste Daroussin	;;
139339f2269fSPeter Wemm    *:VOS:*:*)
139439f2269fSPeter Wemm	# From Paul.Green@stratus.com.
1395*21817992SBaptiste Daroussin	GUESS=hppa1.1-stratus-vos
1396*21817992SBaptiste Daroussin	;;
13970e3d5408SPeter Wemm    mc68*:A/UX:*:*)
1398*21817992SBaptiste Daroussin	GUESS=m68k-apple-aux$UNAME_RELEASE
1399*21817992SBaptiste Daroussin	;;
14007a69bbfbSPeter Wemm    news*:NEWS-OS:6*:*)
1401*21817992SBaptiste Daroussin	GUESS=mips-sony-newsos6
1402*21817992SBaptiste Daroussin	;;
140315589c42SPeter Wemm    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1404*21817992SBaptiste Daroussin	if test -d /usr/nec; then
1405*21817992SBaptiste Daroussin		GUESS=mips-nec-sysv$UNAME_RELEASE
14060e3d5408SPeter Wemm	else
1407*21817992SBaptiste Daroussin		GUESS=mips-unknown-sysv$UNAME_RELEASE
14080e3d5408SPeter Wemm	fi
1409*21817992SBaptiste Daroussin	;;
14100e3d5408SPeter Wemm    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
1411*21817992SBaptiste Daroussin	GUESS=powerpc-be-beos
1412*21817992SBaptiste Daroussin	;;
14130e3d5408SPeter Wemm    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
1414*21817992SBaptiste Daroussin	GUESS=powerpc-apple-beos
1415*21817992SBaptiste Daroussin	;;
14160e3d5408SPeter Wemm    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
1417*21817992SBaptiste Daroussin	GUESS=i586-pc-beos
1418*21817992SBaptiste Daroussin	;;
1419aa59d4d4SRong-En Fan    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
1420*21817992SBaptiste Daroussin	GUESS=i586-pc-haiku
1421*21817992SBaptiste Daroussin	;;
1422*21817992SBaptiste Daroussin    ppc:Haiku:*:*)	# Haiku running on Apple PowerPC
1423*21817992SBaptiste Daroussin	GUESS=powerpc-apple-haiku
1424*21817992SBaptiste Daroussin	;;
1425*21817992SBaptiste Daroussin    *:Haiku:*:*)	# Haiku modern gcc (not bound by BeOS compat)
1426*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-haiku
1427*21817992SBaptiste Daroussin	;;
142815589c42SPeter Wemm    SX-4:SUPER-UX:*:*)
1429*21817992SBaptiste Daroussin	GUESS=sx4-nec-superux$UNAME_RELEASE
1430*21817992SBaptiste Daroussin	;;
143115589c42SPeter Wemm    SX-5:SUPER-UX:*:*)
1432*21817992SBaptiste Daroussin	GUESS=sx5-nec-superux$UNAME_RELEASE
1433*21817992SBaptiste Daroussin	;;
14344a1a9510SRong-En Fan    SX-6:SUPER-UX:*:*)
1435*21817992SBaptiste Daroussin	GUESS=sx6-nec-superux$UNAME_RELEASE
1436*21817992SBaptiste Daroussin	;;
14375ca44d1cSRong-En Fan    SX-7:SUPER-UX:*:*)
1438*21817992SBaptiste Daroussin	GUESS=sx7-nec-superux$UNAME_RELEASE
1439*21817992SBaptiste Daroussin	;;
14405ca44d1cSRong-En Fan    SX-8:SUPER-UX:*:*)
1441*21817992SBaptiste Daroussin	GUESS=sx8-nec-superux$UNAME_RELEASE
1442*21817992SBaptiste Daroussin	;;
14435ca44d1cSRong-En Fan    SX-8R:SUPER-UX:*:*)
1444*21817992SBaptiste Daroussin	GUESS=sx8r-nec-superux$UNAME_RELEASE
1445*21817992SBaptiste Daroussin	;;
1446aae38d10SBaptiste Daroussin    SX-ACE:SUPER-UX:*:*)
1447*21817992SBaptiste Daroussin	GUESS=sxace-nec-superux$UNAME_RELEASE
1448*21817992SBaptiste Daroussin	;;
144915589c42SPeter Wemm    Power*:Rhapsody:*:*)
1450*21817992SBaptiste Daroussin	GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1451*21817992SBaptiste Daroussin	;;
145215589c42SPeter Wemm    *:Rhapsody:*:*)
1453*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1454*21817992SBaptiste Daroussin	;;
1455*21817992SBaptiste Daroussin    arm64:Darwin:*:*)
1456*21817992SBaptiste Daroussin	GUESS=aarch64-apple-darwin$UNAME_RELEASE
1457*21817992SBaptiste Daroussin	;;
145815589c42SPeter Wemm    *:Darwin:*:*)
1459aae38d10SBaptiste Daroussin	UNAME_PROCESSOR=`uname -p`
1460aae38d10SBaptiste Daroussin	case $UNAME_PROCESSOR in
1461aae38d10SBaptiste Daroussin	    unknown) UNAME_PROCESSOR=powerpc ;;
1462aae38d10SBaptiste Daroussin	esac
1463aae38d10SBaptiste Daroussin	if command -v xcode-select > /dev/null 2> /dev/null && \
1464aae38d10SBaptiste Daroussin		! xcode-select --print-path > /dev/null 2> /dev/null ; then
1465aae38d10SBaptiste Daroussin	    # Avoid executing cc if there is no toolchain installed as
1466aae38d10SBaptiste Daroussin	    # cc will be a stub that puts up a graphical alert
1467aae38d10SBaptiste Daroussin	    # prompting the user to install developer tools.
1468aae38d10SBaptiste Daroussin	    CC_FOR_BUILD=no_compiler_found
1469aae38d10SBaptiste Daroussin	else
1470aae38d10SBaptiste Daroussin	    set_cc_for_build
147173f0a83dSXin LI	fi
1472*21817992SBaptiste Daroussin	if test "$CC_FOR_BUILD" != no_compiler_found; then
147306bfebdeSXin LI	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1474aae38d10SBaptiste Daroussin		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
147506bfebdeSXin LI		   grep IS_64BIT_ARCH >/dev/null
147606bfebdeSXin LI	    then
147773f0a83dSXin LI		case $UNAME_PROCESSOR in
147873f0a83dSXin LI		    i386) UNAME_PROCESSOR=x86_64 ;;
147973f0a83dSXin LI		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
14804a1a9510SRong-En Fan		esac
148173f0a83dSXin LI	    fi
1482aae38d10SBaptiste Daroussin	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1483aae38d10SBaptiste Daroussin	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1484aae38d10SBaptiste Daroussin		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1485aae38d10SBaptiste Daroussin		   grep IS_PPC >/dev/null
1486aae38d10SBaptiste Daroussin	    then
1487aae38d10SBaptiste Daroussin		UNAME_PROCESSOR=powerpc
148873f0a83dSXin LI	    fi
1489aae38d10SBaptiste Daroussin	elif test "$UNAME_PROCESSOR" = i386 ; then
1490aae38d10SBaptiste Daroussin	    # uname -m returns i386 or x86_64
1491aae38d10SBaptiste Daroussin	    UNAME_PROCESSOR=$UNAME_MACHINE
1492aae38d10SBaptiste Daroussin	fi
1493*21817992SBaptiste Daroussin	GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1494*21817992SBaptiste Daroussin	;;
149515589c42SPeter Wemm    *:procnto*:*:* | *:QNX:[0123456789]*:*)
149639f2269fSPeter Wemm	UNAME_PROCESSOR=`uname -p`
1497aae38d10SBaptiste Daroussin	if test "$UNAME_PROCESSOR" = x86; then
149839f2269fSPeter Wemm		UNAME_PROCESSOR=i386
149915589c42SPeter Wemm		UNAME_MACHINE=pc
150015589c42SPeter Wemm	fi
1501*21817992SBaptiste Daroussin	GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1502*21817992SBaptiste Daroussin	;;
150315589c42SPeter Wemm    *:QNX:*:4*)
1504*21817992SBaptiste Daroussin	GUESS=i386-pc-qnx
1505*21817992SBaptiste Daroussin	;;
1506aae38d10SBaptiste Daroussin    NEO-*:NONSTOP_KERNEL:*:*)
1507*21817992SBaptiste Daroussin	GUESS=neo-tandem-nsk$UNAME_RELEASE
1508*21817992SBaptiste Daroussin	;;
150973f0a83dSXin LI    NSE-*:NONSTOP_KERNEL:*:*)
1510*21817992SBaptiste Daroussin	GUESS=nse-tandem-nsk$UNAME_RELEASE
1511*21817992SBaptiste Daroussin	;;
1512aae38d10SBaptiste Daroussin    NSR-*:NONSTOP_KERNEL:*:*)
1513*21817992SBaptiste Daroussin	GUESS=nsr-tandem-nsk$UNAME_RELEASE
1514*21817992SBaptiste Daroussin	;;
1515aae38d10SBaptiste Daroussin    NSV-*:NONSTOP_KERNEL:*:*)
1516*21817992SBaptiste Daroussin	GUESS=nsv-tandem-nsk$UNAME_RELEASE
1517*21817992SBaptiste Daroussin	;;
1518aae38d10SBaptiste Daroussin    NSX-*:NONSTOP_KERNEL:*:*)
1519*21817992SBaptiste Daroussin	GUESS=nsx-tandem-nsk$UNAME_RELEASE
1520*21817992SBaptiste Daroussin	;;
15217a69bbfbSPeter Wemm    *:NonStop-UX:*:*)
1522*21817992SBaptiste Daroussin	GUESS=mips-compaq-nonstopux
1523*21817992SBaptiste Daroussin	;;
152415589c42SPeter Wemm    BS2000:POSIX*:*:*)
1525*21817992SBaptiste Daroussin	GUESS=bs2000-siemens-sysv
1526*21817992SBaptiste Daroussin	;;
152715589c42SPeter Wemm    DS/*:UNIX_System_V:*:*)
1528*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1529*21817992SBaptiste Daroussin	;;
15307a69bbfbSPeter Wemm    *:Plan9:*:*)
15317a69bbfbSPeter Wemm	# "uname -m" is not consistent, so use $cputype instead. 386
15327a69bbfbSPeter Wemm	# is converted to i386 for consistency with other x86
15337a69bbfbSPeter Wemm	# operating systems.
1534*21817992SBaptiste Daroussin	if test "${cputype-}" = 386; then
15357a69bbfbSPeter Wemm	    UNAME_MACHINE=i386
1536*21817992SBaptiste Daroussin	elif test "x${cputype-}" != x; then
1537*21817992SBaptiste Daroussin	    UNAME_MACHINE=$cputype
15387a69bbfbSPeter Wemm	fi
1539*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-plan9
1540*21817992SBaptiste Daroussin	;;
15417a69bbfbSPeter Wemm    *:TOPS-10:*:*)
1542*21817992SBaptiste Daroussin	GUESS=pdp10-unknown-tops10
1543*21817992SBaptiste Daroussin	;;
15447a69bbfbSPeter Wemm    *:TENEX:*:*)
1545*21817992SBaptiste Daroussin	GUESS=pdp10-unknown-tenex
1546*21817992SBaptiste Daroussin	;;
15477a69bbfbSPeter Wemm    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1548*21817992SBaptiste Daroussin	GUESS=pdp10-dec-tops20
1549*21817992SBaptiste Daroussin	;;
15507a69bbfbSPeter Wemm    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1551*21817992SBaptiste Daroussin	GUESS=pdp10-xkl-tops20
1552*21817992SBaptiste Daroussin	;;
15537a69bbfbSPeter Wemm    *:TOPS-20:*:*)
1554*21817992SBaptiste Daroussin	GUESS=pdp10-unknown-tops20
1555*21817992SBaptiste Daroussin	;;
15567a69bbfbSPeter Wemm    *:ITS:*:*)
1557*21817992SBaptiste Daroussin	GUESS=pdp10-unknown-its
1558*21817992SBaptiste Daroussin	;;
15594a1a9510SRong-En Fan    SEI:*:*:SEIUX)
1560*21817992SBaptiste Daroussin	GUESS=mips-sei-seiux$UNAME_RELEASE
1561*21817992SBaptiste Daroussin	;;
15624a1a9510SRong-En Fan    *:DragonFly:*:*)
1563*21817992SBaptiste Daroussin	DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1564*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1565*21817992SBaptiste Daroussin	;;
15664a1a9510SRong-En Fan    *:*VMS:*:*)
15674a1a9510SRong-En Fan	UNAME_MACHINE=`(uname -p) 2>/dev/null`
1568*21817992SBaptiste Daroussin	case $UNAME_MACHINE in
1569*21817992SBaptiste Daroussin	    A*) GUESS=alpha-dec-vms ;;
1570*21817992SBaptiste Daroussin	    I*) GUESS=ia64-dec-vms ;;
1571*21817992SBaptiste Daroussin	    V*) GUESS=vax-dec-vms ;;
15724a1a9510SRong-En Fan	esac ;;
15734a1a9510SRong-En Fan    *:XENIX:*:SysV)
1574*21817992SBaptiste Daroussin	GUESS=i386-pc-xenix
1575*21817992SBaptiste Daroussin	;;
15764a1a9510SRong-En Fan    i*86:skyos:*:*)
1577*21817992SBaptiste Daroussin	SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1578*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1579*21817992SBaptiste Daroussin	;;
15804a1a9510SRong-En Fan    i*86:rdos:*:*)
1581*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-rdos
1582*21817992SBaptiste Daroussin	;;
1583*21817992SBaptiste Daroussin    i*86:Fiwix:*:*)
1584*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-pc-fiwix
1585*21817992SBaptiste Daroussin	;;
1586*21817992SBaptiste Daroussin    *:AROS:*:*)
1587*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-aros
1588*21817992SBaptiste Daroussin	;;
158973f0a83dSXin LI    x86_64:VMkernel:*:*)
1590*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-esx
1591*21817992SBaptiste Daroussin	;;
1592aae38d10SBaptiste Daroussin    amd64:Isilon\ OneFS:*:*)
1593*21817992SBaptiste Daroussin	GUESS=x86_64-unknown-onefs
1594*21817992SBaptiste Daroussin	;;
1595aae38d10SBaptiste Daroussin    *:Unleashed:*:*)
1596*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1597*21817992SBaptiste Daroussin	;;
1598*21817992SBaptiste Daroussin    *:Ironclad:*:*)
1599*21817992SBaptiste Daroussin	GUESS=$UNAME_MACHINE-unknown-ironclad
1600*21817992SBaptiste Daroussin	;;
16010e3d5408SPeter Wemmesac
16020e3d5408SPeter Wemm
1603*21817992SBaptiste Daroussin# Do we have a guess based on uname results?
1604*21817992SBaptiste Daroussinif test "x$GUESS" != x; then
1605*21817992SBaptiste Daroussin    echo "$GUESS"
1606*21817992SBaptiste Daroussin    exit
1607*21817992SBaptiste Daroussinfi
1608*21817992SBaptiste Daroussin
1609aae38d10SBaptiste Daroussin# No uname command or uname output not recognized.
1610aae38d10SBaptiste Daroussinset_cc_for_build
1611aae38d10SBaptiste Daroussincat > "$dummy.c" <<EOF
16120e3d5408SPeter Wemm#ifdef _SEQUENT_
16130e3d5408SPeter Wemm#include <sys/types.h>
16140e3d5408SPeter Wemm#include <sys/utsname.h>
16150e3d5408SPeter Wemm#endif
1616aae38d10SBaptiste Daroussin#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1617aae38d10SBaptiste Daroussin#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1618aae38d10SBaptiste Daroussin#include <signal.h>
1619aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1620aae38d10SBaptiste Daroussin#include <sys/utsname.h>
1621aae38d10SBaptiste Daroussin#endif
1622aae38d10SBaptiste Daroussin#endif
1623aae38d10SBaptiste Daroussin#endif
16240e3d5408SPeter Wemmmain ()
16250e3d5408SPeter Wemm{
16260e3d5408SPeter Wemm#if defined (sony)
16270e3d5408SPeter Wemm#if defined (MIPSEB)
16280e3d5408SPeter Wemm  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
16290e3d5408SPeter Wemm     I don't know....  */
16300e3d5408SPeter Wemm  printf ("mips-sony-bsd\n"); exit (0);
16310e3d5408SPeter Wemm#else
16320e3d5408SPeter Wemm#include <sys/param.h>
16330e3d5408SPeter Wemm  printf ("m68k-sony-newsos%s\n",
16340e3d5408SPeter Wemm#ifdef NEWSOS4
16350e3d5408SPeter Wemm  "4"
16360e3d5408SPeter Wemm#else
16370e3d5408SPeter Wemm  ""
16380e3d5408SPeter Wemm#endif
16390e3d5408SPeter Wemm  ); exit (0);
16400e3d5408SPeter Wemm#endif
16410e3d5408SPeter Wemm#endif
16420e3d5408SPeter Wemm
16430e3d5408SPeter Wemm#if defined (NeXT)
16440e3d5408SPeter Wemm#if !defined (__ARCHITECTURE__)
16450e3d5408SPeter Wemm#define __ARCHITECTURE__ "m68k"
16460e3d5408SPeter Wemm#endif
16470e3d5408SPeter Wemm  int version;
16480e3d5408SPeter Wemm  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
164915589c42SPeter Wemm  if (version < 4)
16500e3d5408SPeter Wemm    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
165115589c42SPeter Wemm  else
165215589c42SPeter Wemm    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
16530e3d5408SPeter Wemm  exit (0);
16540e3d5408SPeter Wemm#endif
16550e3d5408SPeter Wemm
16560e3d5408SPeter Wemm#if defined (MULTIMAX) || defined (n16)
16570e3d5408SPeter Wemm#if defined (UMAXV)
16580e3d5408SPeter Wemm  printf ("ns32k-encore-sysv\n"); exit (0);
16590e3d5408SPeter Wemm#else
16600e3d5408SPeter Wemm#if defined (CMU)
16610e3d5408SPeter Wemm  printf ("ns32k-encore-mach\n"); exit (0);
16620e3d5408SPeter Wemm#else
16630e3d5408SPeter Wemm  printf ("ns32k-encore-bsd\n"); exit (0);
16640e3d5408SPeter Wemm#endif
16650e3d5408SPeter Wemm#endif
16660e3d5408SPeter Wemm#endif
16670e3d5408SPeter Wemm
16680e3d5408SPeter Wemm#if defined (__386BSD__)
16690e3d5408SPeter Wemm  printf ("i386-pc-bsd\n"); exit (0);
16700e3d5408SPeter Wemm#endif
16710e3d5408SPeter Wemm
16720e3d5408SPeter Wemm#if defined (sequent)
16730e3d5408SPeter Wemm#if defined (i386)
16740e3d5408SPeter Wemm  printf ("i386-sequent-dynix\n"); exit (0);
16750e3d5408SPeter Wemm#endif
16760e3d5408SPeter Wemm#if defined (ns32000)
16770e3d5408SPeter Wemm  printf ("ns32k-sequent-dynix\n"); exit (0);
16780e3d5408SPeter Wemm#endif
16790e3d5408SPeter Wemm#endif
16800e3d5408SPeter Wemm
16810e3d5408SPeter Wemm#if defined (_SEQUENT_)
16820e3d5408SPeter Wemm  struct utsname un;
16830e3d5408SPeter Wemm
16840e3d5408SPeter Wemm  uname(&un);
16850e3d5408SPeter Wemm  if (strncmp(un.version, "V2", 2) == 0) {
16860e3d5408SPeter Wemm    printf ("i386-sequent-ptx2\n"); exit (0);
16870e3d5408SPeter Wemm  }
16880e3d5408SPeter Wemm  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
16890e3d5408SPeter Wemm    printf ("i386-sequent-ptx1\n"); exit (0);
16900e3d5408SPeter Wemm  }
16910e3d5408SPeter Wemm  printf ("i386-sequent-ptx\n"); exit (0);
16920e3d5408SPeter Wemm#endif
16930e3d5408SPeter Wemm
16940e3d5408SPeter Wemm#if defined (vax)
16950e3d5408SPeter Wemm#if !defined (ultrix)
16967a69bbfbSPeter Wemm#include <sys/param.h>
16977a69bbfbSPeter Wemm#if defined (BSD)
16987a69bbfbSPeter Wemm#if BSD == 43
16997a69bbfbSPeter Wemm  printf ("vax-dec-bsd4.3\n"); exit (0);
17007a69bbfbSPeter Wemm#else
17017a69bbfbSPeter Wemm#if BSD == 199006
17027a69bbfbSPeter Wemm  printf ("vax-dec-bsd4.3reno\n"); exit (0);
17037a69bbfbSPeter Wemm#else
17040e3d5408SPeter Wemm  printf ("vax-dec-bsd\n"); exit (0);
17057a69bbfbSPeter Wemm#endif
17067a69bbfbSPeter Wemm#endif
17077a69bbfbSPeter Wemm#else
17087a69bbfbSPeter Wemm  printf ("vax-dec-bsd\n"); exit (0);
17097a69bbfbSPeter Wemm#endif
17100e3d5408SPeter Wemm#else
1711aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1712aae38d10SBaptiste Daroussin  struct utsname un;
1713aae38d10SBaptiste Daroussin  uname (&un);
1714aae38d10SBaptiste Daroussin  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1715aae38d10SBaptiste Daroussin#else
17160e3d5408SPeter Wemm  printf ("vax-dec-ultrix\n"); exit (0);
17170e3d5408SPeter Wemm#endif
17180e3d5408SPeter Wemm#endif
1719aae38d10SBaptiste Daroussin#endif
1720aae38d10SBaptiste Daroussin#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1721aae38d10SBaptiste Daroussin#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1722aae38d10SBaptiste Daroussin#if defined(_SIZE_T_) || defined(SIGLOST)
1723aae38d10SBaptiste Daroussin  struct utsname *un;
1724aae38d10SBaptiste Daroussin  uname (&un);
1725aae38d10SBaptiste Daroussin  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1726aae38d10SBaptiste Daroussin#else
1727aae38d10SBaptiste Daroussin  printf ("mips-dec-ultrix\n"); exit (0);
1728aae38d10SBaptiste Daroussin#endif
1729aae38d10SBaptiste Daroussin#endif
1730aae38d10SBaptiste Daroussin#endif
17310e3d5408SPeter Wemm
17320e3d5408SPeter Wemm#if defined (alliant) && defined (i860)
17330e3d5408SPeter Wemm  printf ("i860-alliant-bsd\n"); exit (0);
17340e3d5408SPeter Wemm#endif
17350e3d5408SPeter Wemm
17360e3d5408SPeter Wemm  exit (1);
17370e3d5408SPeter Wemm}
17380e3d5408SPeter WemmEOF
17390e3d5408SPeter Wemm
1740*21817992SBaptiste Daroussin$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
17414a1a9510SRong-En Fan	{ echo "$SYSTEM_NAME"; exit; }
17420e3d5408SPeter Wemm
17430e3d5408SPeter Wemm# Apollos put the system type in the environment.
1744aae38d10SBaptiste Daroussintest -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
17450e3d5408SPeter Wemm
1746aae38d10SBaptiste Daroussinecho "$0: unable to guess system type" >&2
17470e3d5408SPeter Wemm
1748*21817992SBaptiste Daroussincase $UNAME_MACHINE:$UNAME_SYSTEM in
1749aae38d10SBaptiste Daroussin    mips:Linux | mips64:Linux)
1750aae38d10SBaptiste Daroussin	# If we got here on MIPS GNU/Linux, output extra information.
1751aae38d10SBaptiste Daroussin	cat >&2 <<EOF
17520e3d5408SPeter Wemm
1753aae38d10SBaptiste DaroussinNOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1754aae38d10SBaptiste Daroussinthe system type. Please install a C compiler and try again.
1755aae38d10SBaptiste DaroussinEOF
1756aae38d10SBaptiste Daroussin	;;
17570e3d5408SPeter Wemmesac
17580e3d5408SPeter Wemm
175915589c42SPeter Wemmcat >&2 <<EOF
176015589c42SPeter Wemm
1761aae38d10SBaptiste DaroussinThis script (version $timestamp), has failed to recognize the
1762aae38d10SBaptiste Daroussinoperating system you are using. If your script is old, overwrite *all*
1763aae38d10SBaptiste Daroussincopies of config.guess and config.sub with the latest versions from:
176415589c42SPeter Wemm
1765*21817992SBaptiste Daroussin  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
17664a1a9510SRong-En Fanand
1767*21817992SBaptiste Daroussin  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1768*21817992SBaptiste DaroussinEOF
1769*21817992SBaptiste Daroussin
1770*21817992SBaptiste Daroussinour_year=`echo $timestamp | sed 's,-.*,,'`
1771*21817992SBaptiste Daroussinthisyear=`date +%Y`
1772*21817992SBaptiste Daroussin# shellcheck disable=SC2003
1773*21817992SBaptiste Daroussinscript_age=`expr "$thisyear" - "$our_year"`
1774*21817992SBaptiste Daroussinif test "$script_age" -lt 3 ; then
1775*21817992SBaptiste Daroussin   cat >&2 <<EOF
177615589c42SPeter Wemm
1777aae38d10SBaptiste DaroussinIf $0 has already been updated, send the following data and any
1778aae38d10SBaptiste Daroussininformation you think might be pertinent to config-patches@gnu.org to
1779aae38d10SBaptiste Daroussinprovide the necessary information to handle your system.
178015589c42SPeter Wemm
17817a69bbfbSPeter Wemmconfig.guess timestamp = $timestamp
178215589c42SPeter Wemm
178315589c42SPeter Wemmuname -m = `(uname -m) 2>/dev/null || echo unknown`
178415589c42SPeter Wemmuname -r = `(uname -r) 2>/dev/null || echo unknown`
178515589c42SPeter Wemmuname -s = `(uname -s) 2>/dev/null || echo unknown`
178615589c42SPeter Wemmuname -v = `(uname -v) 2>/dev/null || echo unknown`
178715589c42SPeter Wemm
178815589c42SPeter Wemm/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
178915589c42SPeter Wemm/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
179015589c42SPeter Wemm
179115589c42SPeter Wemmhostinfo               = `(hostinfo) 2>/dev/null`
179215589c42SPeter Wemm/bin/universe          = `(/bin/universe) 2>/dev/null`
179315589c42SPeter Wemm/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
179415589c42SPeter Wemm/bin/arch              = `(/bin/arch) 2>/dev/null`
179515589c42SPeter Wemm/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
179615589c42SPeter Wemm/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
179715589c42SPeter Wemm
1798aae38d10SBaptiste DaroussinUNAME_MACHINE = "$UNAME_MACHINE"
1799aae38d10SBaptiste DaroussinUNAME_RELEASE = "$UNAME_RELEASE"
1800aae38d10SBaptiste DaroussinUNAME_SYSTEM  = "$UNAME_SYSTEM"
1801aae38d10SBaptiste DaroussinUNAME_VERSION = "$UNAME_VERSION"
180215589c42SPeter WemmEOF
1803*21817992SBaptiste Daroussinfi
18040e3d5408SPeter Wemm
18050e3d5408SPeter Wemmexit 1
180615589c42SPeter Wemm
180715589c42SPeter Wemm# Local variables:
1808aae38d10SBaptiste Daroussin# eval: (add-hook 'before-save-hook 'time-stamp)
18097a69bbfbSPeter Wemm# time-stamp-start: "timestamp='"
181015589c42SPeter Wemm# time-stamp-format: "%:y-%02m-%02d"
181115589c42SPeter Wemm# time-stamp-end: "'"
181215589c42SPeter Wemm# End:
1813