"Fossies" - the Fresh Open Source Software Archive

Member "tcpdump-4.99.1/./config.guess" (7 Jun 2021, 49446 Bytes) of package /linux/misc/tcpdump-4.99.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "config.guess": 4.99.0_vs_4.99.1.

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