"Fossies" - the Fresh Open Source Software Archive

Member "automake-1.16.3/lib/config.guess" (16 Nov 2020, 49035 Bytes) of package /linux/misc/automake-1.16.3.tar.xz:


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": 1.16.2_vs_1.16.3.

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