"Fossies" - the Fresh Open Source Software Archive

Member "gawk-5.1.0/extension/build-aux/config.guess" (13 Apr 2020, 48441 Bytes) of package /linux/misc/gawk-5.1.0.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. 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": 5.0.1_vs_5.1.0.

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