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