config.guess raw

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