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