config.guess raw

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