Update config.guess and config.sub
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 11 Jun 2018 12:54:58 +0000 (08:54 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 11 Jun 2018 12:54:58 +0000 (08:54 -0400)
config/config.guess
config/config.sub

index faa63aa9429d4d85982d479488cb0f1504cb3177..883a6713bf0350955aa7b8e2781b92c65f0c0121 100644 (file)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-05-11'
+timestamp='2018-05-19'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-05-11'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -27,7 +27,7 @@ timestamp='2017-05-11'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
 
 Output the configuration name of the system \`$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -106,10 +106,10 @@ trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
 dummy=$tmp/dummy ;
 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
+case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,)    echo "int x;" > "$dummy.c" ;
    for c in cc gcc c89 c99 ; do
-     if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+     if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
         CC_FOR_BUILD="$c"; break ;
      fi ;
    done ;
@@ -132,14 +132,14 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-case "${UNAME_SYSTEM}" in
+case "$UNAME_SYSTEM" in
 Linux|GNU|GNU/*)
    # If the system lacks a compiler, then just pick glibc.
    # We could probably try harder.
    LIBC=gnu
 
-   eval $set_cc_for_build
-   cat <<-EOF > $dummy.c
+   eval "$set_cc_for_build"
+   cat <<-EOF > "$dummy.c"
    #include <features.h>
    #if defined(__UCLIBC__)
    LIBC=uclibc
@@ -149,13 +149,20 @@ Linux|GNU|GNU/*)
    LIBC=gnu
    #endif
    EOF
-   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+   eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+   # If ldd exists, use it to detect musl libc.
+   if command -v ldd >/dev/null && \
+       ldd --version 2>&1 | grep -q ^musl
+   then
+       LIBC=musl
+   fi
    ;;
 esac
 
 # Note: order is significant - the case branches are not exclusive.
 
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
     *:NetBSD:*:*)
    # NetBSD (nbsd) targets should (where applicable) match one or
    # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -169,30 +176,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    # portion of the name.  We always set it to "unknown".
    sysctl="sysctl -n hw.machine_arch"
    UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
-       /sbin/$sysctl 2>/dev/null || \
-       /usr/sbin/$sysctl 2>/dev/null || \
+       "/sbin/$sysctl" 2>/dev/null || \
+       "/usr/sbin/$sysctl" 2>/dev/null || \
        echo unknown)`
-   case "${UNAME_MACHINE_ARCH}" in
+   case "$UNAME_MACHINE_ARCH" in
        armeb) machine=armeb-unknown ;;
        arm*) machine=arm-unknown ;;
        sh3el) machine=shl-unknown ;;
        sh3eb) machine=sh-unknown ;;
        sh5el) machine=sh5le-unknown ;;
        earmv*)
-       arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
-       endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
-       machine=${arch}${endian}-unknown
+       arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+       endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+       machine="${arch}${endian}"-unknown
        ;;
-       *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
    esac
    # The Operating System including object format, if it has switched
    # to ELF recently (or will in the future) and ABI.
-   case "${UNAME_MACHINE_ARCH}" in
+   case "$UNAME_MACHINE_ARCH" in
        earm*)
        os=netbsdelf
        ;;
        arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-       eval $set_cc_for_build
+       eval "$set_cc_for_build"
        if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep -q __ELF__
        then
@@ -208,10 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        ;;
    esac
    # Determine ABI tags.
-   case "${UNAME_MACHINE_ARCH}" in
+   case "$UNAME_MACHINE_ARCH" in
        earm*)
        expr='s/^earmv[0-9]/-eabi/;s/eb$//'
-       abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+       abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
        ;;
    esac
    # The OS release
@@ -219,46 +226,55 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    # thus, need a distinct triplet. However, they do not need
    # kernel version information, so it can be replaced with a
    # suitable tag, in the style of linux-gnu.
-   case "${UNAME_VERSION}" in
+   case "$UNAME_VERSION" in
        Debian*)
        release='-gnu'
        ;;
        *)
-       release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+       release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
        ;;
    esac
    # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
    # contains redundant information, the shorter form:
    # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-   echo "${machine}-${os}${release}${abi}"
+   echo "$machine-${os}${release}${abi-}"
    exit ;;
     *:Bitrig:*:*)
    UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-   echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+   echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
    exit ;;
     *:OpenBSD:*:*)
    UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-   echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+   echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
    exit ;;
     *:LibertyBSD:*:*)
    UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
-   echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+   echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+   exit ;;
+    *:MidnightBSD:*:*)
+   echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
    exit ;;
     *:ekkoBSD:*:*)
-   echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
    exit ;;
     *:SolidBSD:*:*)
-   echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
    exit ;;
     macppc:MirBSD:*:*)
-   echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+   echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
    exit ;;
     *:MirBSD:*:*)
-   echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
    exit ;;
     *:Sortix:*:*)
-   echo ${UNAME_MACHINE}-unknown-sortix
+   echo "$UNAME_MACHINE"-unknown-sortix
+   exit ;;
+    *:Redox:*:*)
+   echo "$UNAME_MACHINE"-unknown-redox
    exit ;;
+    mips:OSF1:*.*)
+        echo mips-dec-osf1
+        exit ;;
     alpha:OSF1:*:*)
    case $UNAME_RELEASE in
    *4.0)
@@ -310,28 +326,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    # A Tn.n version is a released field test version.
    # A Xn.n version is an unreleased experimental baselevel.
    # 1.2 uses "1.2" for uname -r.
-   echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+   echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
    # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
    exitcode=$?
    trap '' 0
    exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-   # How do we know it's Interix rather than the generic POSIX subsystem?
-   # Should we change UNAME_MACHINE based on the output of uname instead
-   # of the specific Alpha model?
-   echo alpha-pc-interix
-   exit ;;
-    21064:Windows_NT:50:3)
-   echo alpha-dec-winnt3.5
-   exit ;;
     Amiga*:UNIX_System_V:4.0:*)
    echo m68k-unknown-sysv4
    exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
-   echo ${UNAME_MACHINE}-unknown-amigaos
+   echo "$UNAME_MACHINE"-unknown-amigaos
    exit ;;
     *:[Mm]orph[Oo][Ss]:*:*)
-   echo ${UNAME_MACHINE}-unknown-morphos
+   echo "$UNAME_MACHINE"-unknown-morphos
    exit ;;
     *:OS/390:*:*)
    echo i370-ibm-openedition
@@ -343,7 +350,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    echo powerpc-ibm-os400
    exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-   echo arm-acorn-riscix${UNAME_RELEASE}
+   echo arm-acorn-riscix"$UNAME_RELEASE"
    exit ;;
     arm*:riscos:*:*|arm*:RISCOS:*:*)
    echo arm-unknown-riscos
@@ -370,19 +377,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        sparc) echo sparc-icl-nx7; exit ;;
    esac ;;
     s390x:SunOS:*:*)
-   echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
    exit ;;
     sun4H:SunOS:5.*:*)
-   echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
    exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-   echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
    exit ;;
     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-   echo i386-pc-auroraux${UNAME_RELEASE}
+   echo i386-pc-auroraux"$UNAME_RELEASE"
    exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-   eval $set_cc_for_build
+   eval "$set_cc_for_build"
    SUN_ARCH=i386
    # If there is a compiler, see if it is configured for 64-bit objects.
    # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
@@ -395,13 +402,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        SUN_ARCH=x86_64
        fi
    fi
-   echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
    exit ;;
     sun4*:SunOS:6*:*)
    # According to config.sub, this is the proper way to canonicalize
    # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
    # it's likely to be more like Solaris than SunOS4.
-   echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
    exit ;;
     sun4*:SunOS:*:*)
    case "`/usr/bin/arch -k`" in
@@ -410,25 +417,25 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        ;;
    esac
    # Japanese Language versions have a version number like `4.1.3-JL'.
-   echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+   echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
    exit ;;
     sun3*:SunOS:*:*)
-   echo m68k-sun-sunos${UNAME_RELEASE}
+   echo m68k-sun-sunos"$UNAME_RELEASE"
    exit ;;
     sun*:*:4.2BSD:*)
    UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-   test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+   test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
    case "`/bin/arch`" in
        sun3)
-       echo m68k-sun-sunos${UNAME_RELEASE}
+       echo m68k-sun-sunos"$UNAME_RELEASE"
        ;;
        sun4)
-       echo sparc-sun-sunos${UNAME_RELEASE}
+       echo sparc-sun-sunos"$UNAME_RELEASE"
        ;;
    esac
    exit ;;
     aushp:SunOS:*:*)
-   echo sparc-auspex-sunos${UNAME_RELEASE}
+   echo sparc-auspex-sunos"$UNAME_RELEASE"
    exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
@@ -439,44 +446,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-   echo m68k-atari-mint${UNAME_RELEASE}
+   echo m68k-atari-mint"$UNAME_RELEASE"
    exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-   echo m68k-atari-mint${UNAME_RELEASE}
+   echo m68k-atari-mint"$UNAME_RELEASE"
    exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-   echo m68k-atari-mint${UNAME_RELEASE}
+   echo m68k-atari-mint"$UNAME_RELEASE"
    exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-   echo m68k-milan-mint${UNAME_RELEASE}
+   echo m68k-milan-mint"$UNAME_RELEASE"
    exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-   echo m68k-hades-mint${UNAME_RELEASE}
+   echo m68k-hades-mint"$UNAME_RELEASE"
    exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-   echo m68k-unknown-mint${UNAME_RELEASE}
+   echo m68k-unknown-mint"$UNAME_RELEASE"
    exit ;;
     m68k:machten:*:*)
-   echo m68k-apple-machten${UNAME_RELEASE}
+   echo m68k-apple-machten"$UNAME_RELEASE"
    exit ;;
     powerpc:machten:*:*)
-   echo powerpc-apple-machten${UNAME_RELEASE}
+   echo powerpc-apple-machten"$UNAME_RELEASE"
    exit ;;
     RISC*:Mach:*:*)
    echo mips-dec-mach_bsd4.3
    exit ;;
     RISC*:ULTRIX:*:*)
-   echo mips-dec-ultrix${UNAME_RELEASE}
+   echo mips-dec-ultrix"$UNAME_RELEASE"
    exit ;;
     VAX*:ULTRIX*:*:*)
-   echo vax-dec-ultrix${UNAME_RELEASE}
+   echo vax-dec-ultrix"$UNAME_RELEASE"
    exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
-   echo clipper-intergraph-clix${UNAME_RELEASE}
+   echo clipper-intergraph-clix"$UNAME_RELEASE"
    exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-   eval $set_cc_for_build
-   sed 's/^    //' << EOF >$dummy.c
+   eval "$set_cc_for_build"
+   sed 's/^    //' << EOF > "$dummy.c"
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
    int main (int argc, char *argv[]) {
@@ -485,23 +492,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 #endif
    #if defined (host_mips) && defined (MIPSEB)
    #if defined (SYSTYPE_SYSV)
-     printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+     printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
    #endif
    #if defined (SYSTYPE_SVR4)
-     printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+     printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
    #endif
    #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-     printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+     printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
    #endif
    #endif
      exit (-1);
    }
 EOF
-   $CC_FOR_BUILD -o $dummy $dummy.c &&
-     dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-     SYSTEM_NAME=`$dummy $dummyarg` &&
+   $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+     dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+     SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
        { echo "$SYSTEM_NAME"; exit; }
-   echo mips-mips-riscos${UNAME_RELEASE}
+   echo mips-mips-riscos"$UNAME_RELEASE"
    exit ;;
     Motorola:PowerMAX_OS:*:*)
    echo powerpc-motorola-powermax
@@ -527,17 +534,17 @@ EOF
     AViiON:dgux:*:*)
    # DG/UX returns AViiON for all architectures
    UNAME_PROCESSOR=`/usr/bin/uname -p`
-   if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+   if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
    then
-       if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-          [ ${TARGET_BINARY_INTERFACE}x = x ]
+       if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+          [ "$TARGET_BINARY_INTERFACE"x = x ]
        then
-       echo m88k-dg-dgux${UNAME_RELEASE}
+       echo m88k-dg-dgux"$UNAME_RELEASE"
        else
-       echo m88k-dg-dguxbcs${UNAME_RELEASE}
+       echo m88k-dg-dguxbcs"$UNAME_RELEASE"
        fi
    else
-       echo i586-dg-dgux${UNAME_RELEASE}
+       echo i586-dg-dgux"$UNAME_RELEASE"
    fi
    exit ;;
     M88*:DolphinOS:*:*)    # DolphinOS (SVR3)
@@ -554,7 +561,7 @@ EOF
    echo m68k-tektronix-bsd
    exit ;;
     *:IRIX*:*:*)
-   echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+   echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
    exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
    echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
@@ -566,14 +573,14 @@ EOF
    if [ -x /usr/bin/oslevel ] ; then
        IBM_REV=`/usr/bin/oslevel`
    else
-       IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
    fi
-   echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+   echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
    exit ;;
     *:AIX:2:3)
    if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
+       eval "$set_cc_for_build"
+       sed 's/^        //' << EOF > "$dummy.c"
        #include <sys/systemcfg.h>
 
        main()
@@ -584,7 +591,7 @@ EOF
            exit(0);
            }
 EOF
-       if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+       if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
        then
            echo "$SYSTEM_NAME"
        else
@@ -598,7 +605,7 @@ EOF
    exit ;;
     *:AIX:*:[4567])
    IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-   if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+   if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
        IBM_ARCH=rs6000
    else
        IBM_ARCH=powerpc
@@ -607,18 +614,18 @@ EOF
        IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
               awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
    else
-       IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
    fi
-   echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+   echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
    exit ;;
     *:AIX:*:*)
    echo rs6000-ibm-aix
    exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
    echo romp-ibm-bsd4.4
    exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-   echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+   echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
    exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
    echo rs6000-bull-bosx
@@ -633,28 +640,28 @@ EOF
    echo m68k-hp-bsd4.4
    exit ;;
     9000/[34678]??:HP-UX:*:*)
-   HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-   case "${UNAME_MACHINE}" in
-       9000/31? )            HP_ARCH=m68000 ;;
-       9000/[34]?? )         HP_ARCH=m68k ;;
+   HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+   case "$UNAME_MACHINE" in
+       9000/31?)            HP_ARCH=m68000 ;;
+       9000/[34]??)         HP_ARCH=m68k ;;
        9000/[678][0-9][0-9])
        if [ -x /usr/bin/getconf ]; then
            sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
            sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-           case "${sc_cpu_version}" in
+           case "$sc_cpu_version" in
              523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
              528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
              532)                      # CPU_PA_RISC2_0
-           case "${sc_kernel_bits}" in
+           case "$sc_kernel_bits" in
              32) HP_ARCH=hppa2.0n ;;
              64) HP_ARCH=hppa2.0w ;;
              '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
            esac ;;
            esac
        fi
-       if [ "${HP_ARCH}" = "" ]; then
-           eval $set_cc_for_build
-           sed 's/^        //' << EOF >$dummy.c
+       if [ "$HP_ARCH" = "" ]; then
+           eval "$set_cc_for_build"
+           sed 's/^        //' << EOF > "$dummy.c"
 
        #define _HPUX_SOURCE
        #include <stdlib.h>
@@ -687,13 +694,13 @@ EOF
            exit (0);
        }
 EOF
-           (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+           (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
            test -z "$HP_ARCH" && HP_ARCH=hppa
        fi ;;
    esac
-   if [ ${HP_ARCH} = hppa2.0w ]
+   if [ "$HP_ARCH" = hppa2.0w ]
    then
-       eval $set_cc_for_build
+       eval "$set_cc_for_build"
 
        # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
        # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
@@ -712,15 +719,15 @@ EOF
        HP_ARCH=hppa64
        fi
    fi
-   echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+   echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
    exit ;;
     ia64:HP-UX:*:*)
-   HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-   echo ia64-hp-hpux${HPUX_REV}
+   HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+   echo ia64-hp-hpux"$HPUX_REV"
    exit ;;
     3050*:HI-UX:*:*)
-   eval $set_cc_for_build
-   sed 's/^    //' << EOF >$dummy.c
+   eval "$set_cc_for_build"
+   sed 's/^    //' << EOF > "$dummy.c"
    #include <unistd.h>
    int
    main ()
@@ -745,11 +752,11 @@ EOF
      exit (0);
    }
 EOF
-   $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+   $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
        { echo "$SYSTEM_NAME"; exit; }
    echo unknown-hitachi-hiuxwe2
    exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
    echo hppa1.1-hp-bsd
    exit ;;
     9000/8??:4.3bsd:*:*)
@@ -758,7 +765,7 @@ EOF
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
    echo hppa1.0-hp-mpeix
    exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
    echo hppa1.1-hp-osf
    exit ;;
     hp8??:OSF1:*:*)
@@ -766,9 +773,9 @@ EOF
    exit ;;
     i*86:OSF1:*:*)
    if [ -x /usr/sbin/sysversion ] ; then
-       echo ${UNAME_MACHINE}-unknown-osf1mk
+       echo "$UNAME_MACHINE"-unknown-osf1mk
    else
-       echo ${UNAME_MACHINE}-unknown-osf1
+       echo "$UNAME_MACHINE"-unknown-osf1
    fi
    exit ;;
     parisc*:Lites*:*:*)
@@ -793,128 +800,109 @@ EOF
    echo c4-convex-bsd
    exit ;;
     CRAY*Y-MP:*:*:*)
-   echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
    exit ;;
     CRAY*[A-Z]90:*:*:*)
-   echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+   echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
    | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
          -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
          -e 's/\.[^.]*$/.X/'
    exit ;;
     CRAY*TS:*:*:*)
-   echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
    exit ;;
     CRAY*T3E:*:*:*)
-   echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
    exit ;;
     CRAY*SV1:*:*:*)
-   echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
    exit ;;
     *:UNICOS/mp:*:*)
-   echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
    exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
    FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
    FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-   FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+   FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
    echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    exit ;;
     5000:UNIX_System_V:4.*:*)
    FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
-   FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+   FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
    echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-   echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
    exit ;;
     sparc*:BSD/OS:*:*)
-   echo sparc-unknown-bsdi${UNAME_RELEASE}
+   echo sparc-unknown-bsdi"$UNAME_RELEASE"
    exit ;;
     *:BSD/OS:*:*)
-   echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
    exit ;;
     *:FreeBSD:*:*)
    UNAME_PROCESSOR=`/usr/bin/uname -p`
-   case ${UNAME_PROCESSOR} in
+   case "$UNAME_PROCESSOR" in
        amd64)
        UNAME_PROCESSOR=x86_64 ;;
        i386)
        UNAME_PROCESSOR=i586 ;;
    esac
-   echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+   echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
    exit ;;
     i*:CYGWIN*:*)
-   echo ${UNAME_MACHINE}-pc-cygwin
+   echo "$UNAME_MACHINE"-pc-cygwin
    exit ;;
     *:MINGW64*:*)
-   echo ${UNAME_MACHINE}-pc-mingw64
+   echo "$UNAME_MACHINE"-pc-mingw64
    exit ;;
     *:MINGW*:*)
-   echo ${UNAME_MACHINE}-pc-mingw32
+   echo "$UNAME_MACHINE"-pc-mingw32
    exit ;;
     *:MSYS*:*)
-   echo ${UNAME_MACHINE}-pc-msys
-   exit ;;
-    i*:windows32*:*)
-   # uname -m includes "-pc" on this system.
-   echo ${UNAME_MACHINE}-mingw32
+   echo "$UNAME_MACHINE"-pc-msys
    exit ;;
     i*:PW*:*)
-   echo ${UNAME_MACHINE}-pc-pw32
+   echo "$UNAME_MACHINE"-pc-pw32
    exit ;;
     *:Interix*:*)
-   case ${UNAME_MACHINE} in
+   case "$UNAME_MACHINE" in
        x86)
-       echo i586-pc-interix${UNAME_RELEASE}
+       echo i586-pc-interix"$UNAME_RELEASE"
        exit ;;
        authenticamd | genuineintel | EM64T)
-       echo x86_64-unknown-interix${UNAME_RELEASE}
+       echo x86_64-unknown-interix"$UNAME_RELEASE"
        exit ;;
        IA64)
-       echo ia64-unknown-interix${UNAME_RELEASE}
+       echo ia64-unknown-interix"$UNAME_RELEASE"
        exit ;;
    esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-   echo i${UNAME_MACHINE}-pc-mks
-   exit ;;
-    8664:Windows_NT:*)
-   echo x86_64-pc-mks
-   exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-   # How do we know it's Interix rather than the generic POSIX subsystem?
-   # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-   # UNAME_MACHINE based on the output of uname instead of i386?
-   echo i586-pc-interix
-   exit ;;
     i*:UWIN*:*)
-   echo ${UNAME_MACHINE}-pc-uwin
+   echo "$UNAME_MACHINE"-pc-uwin
    exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
    echo x86_64-unknown-cygwin
    exit ;;
-    p*:CYGWIN*:*)
-   echo powerpcle-unknown-cygwin
-   exit ;;
     prep*:SunOS:5.*:*)
-   echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
    exit ;;
     *:GNU:*:*)
    # the GNU system
-   echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+   echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
    exit ;;
     *:GNU/*:*:*)
    # other systems with GNU libc and userland
-   echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+   echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
    exit ;;
     i*86:Minix:*:*)
-   echo ${UNAME_MACHINE}-pc-minix
+   echo "$UNAME_MACHINE"-pc-minix
    exit ;;
     aarch64:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     aarch64_be:Linux:*:*)
    UNAME_MACHINE=aarch64_be
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     alpha:Linux:*:*)
    case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -928,63 +916,63 @@ EOF
    esac
    objdump --private-headers /bin/sh | grep -q ld.so.1
    if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     arm*:Linux:*:*)
-   eval $set_cc_for_build
+   eval "$set_cc_for_build"
    if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
        | grep -q __ARM_EABI__
    then
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    else
        if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
        | grep -q __ARM_PCS_VFP
        then
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
        else
-       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+       echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
        fi
    fi
    exit ;;
     avr32*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     cris:Linux:*:*)
-   echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+   echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
    exit ;;
     crisv32:Linux:*:*)
-   echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+   echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
    exit ;;
     e2k:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     frv:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     hexagon:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     i*86:Linux:*:*)
-   echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+   echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
    exit ;;
     ia64:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     k1om:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     m32r*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     m68*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
-   eval $set_cc_for_build
-   sed 's/^    //' << EOF >$dummy.c
+   eval "$set_cc_for_build"
+   sed 's/^    //' << EOF > "$dummy.c"
    #undef CPU
    #undef ${UNAME_MACHINE}
    #undef ${UNAME_MACHINE}el
@@ -998,70 +986,70 @@ EOF
    #endif
    #endif
 EOF
-   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-   test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+   eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+   test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
    ;;
     mips64el:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     openrisc*:Linux:*:*)
-   echo or1k-unknown-linux-${LIBC}
+   echo or1k-unknown-linux-"$LIBC"
    exit ;;
     or32:Linux:*:* | or1k*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     padre:Linux:*:*)
-   echo sparc-unknown-linux-${LIBC}
+   echo sparc-unknown-linux-"$LIBC"
    exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-   echo hppa64-unknown-linux-${LIBC}
+   echo hppa64-unknown-linux-"$LIBC"
    exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
    # Look for CPU level
    case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-     PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-     PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-     *)    echo hppa-unknown-linux-${LIBC} ;;
+     PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+     PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+     *)    echo hppa-unknown-linux-"$LIBC" ;;
    esac
    exit ;;
     ppc64:Linux:*:*)
-   echo powerpc64-unknown-linux-${LIBC}
+   echo powerpc64-unknown-linux-"$LIBC"
    exit ;;
     ppc:Linux:*:*)
-   echo powerpc-unknown-linux-${LIBC}
+   echo powerpc-unknown-linux-"$LIBC"
    exit ;;
     ppc64le:Linux:*:*)
-   echo powerpc64le-unknown-linux-${LIBC}
+   echo powerpc64le-unknown-linux-"$LIBC"
    exit ;;
     ppcle:Linux:*:*)
-   echo powerpcle-unknown-linux-${LIBC}
+   echo powerpcle-unknown-linux-"$LIBC"
    exit ;;
     riscv32:Linux:*:* | riscv64:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-   echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+   echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
    exit ;;
     sh64*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     sh*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     tile*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     vax:Linux:*:*)
-   echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+   echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
    exit ;;
     x86_64:Linux:*:*)
-   echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+   echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
    exit ;;
     xtensa*:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+   echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
    exit ;;
     i*86:DYNIX/ptx:4*:*)
    # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1075,34 +1063,34 @@ EOF
    # I am not positive that other SVR4 systems won't match this,
    # I just have to hope.  -- rms.
    # Use sysv4.2uw... so that sysv4* matches it.
-   echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+   echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
    exit ;;
     i*86:OS/2:*:*)
    # If we were able to find `uname', then EMX Unix compatibility
    # is probably installed.
-   echo ${UNAME_MACHINE}-pc-os2-emx
+   echo "$UNAME_MACHINE"-pc-os2-emx
    exit ;;
     i*86:XTS-300:*:STOP)
-   echo ${UNAME_MACHINE}-unknown-stop
+   echo "$UNAME_MACHINE"-unknown-stop
    exit ;;
     i*86:atheos:*:*)
-   echo ${UNAME_MACHINE}-unknown-atheos
+   echo "$UNAME_MACHINE"-unknown-atheos
    exit ;;
     i*86:syllable:*:*)
-   echo ${UNAME_MACHINE}-pc-syllable
+   echo "$UNAME_MACHINE"-pc-syllable
    exit ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-   echo i386-unknown-lynxos${UNAME_RELEASE}
+   echo i386-unknown-lynxos"$UNAME_RELEASE"
    exit ;;
     i*86:*DOS:*:*)
-   echo ${UNAME_MACHINE}-pc-msdosdjgpp
+   echo "$UNAME_MACHINE"-pc-msdosdjgpp
    exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-   UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+    i*86:*:4.*:*)
+   UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
    if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-       echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
    else
-       echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
    fi
    exit ;;
     i*86:*:5:[678]*)
@@ -1112,12 +1100,12 @@ EOF
        *Pentium)        UNAME_MACHINE=i586 ;;
        *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
    esac
-   echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+   echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
    exit ;;
     i*86:*:3.2:*)
    if test -f /usr/options/cb.name; then
        UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-       echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
    elif /bin/uname -X 2>/dev/null >/dev/null ; then
        UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
        (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1127,9 +1115,9 @@ EOF
            && UNAME_MACHINE=i686
        (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
            && UNAME_MACHINE=i686
-       echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
    else
-       echo ${UNAME_MACHINE}-pc-sysv32
+       echo "$UNAME_MACHINE"-pc-sysv32
    fi
    exit ;;
     pc:*:*:*)
@@ -1149,9 +1137,9 @@ EOF
    exit ;;
     i860:*:4.*:*) # i860-SVR4
    if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-     echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+     echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
    else # Add other i860-SVR4 vendors below as they are discovered.
-     echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+     echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
    fi
    exit ;;
     mini*:CTIX:SYS*5:*)
@@ -1171,9 +1159,9 @@ EOF
    test -r /etc/.relid \
    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
    /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-     && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+     && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
    /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-     && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
    /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
      && { echo i486-ncr-sysv4; exit; } ;;
@@ -1182,28 +1170,28 @@ EOF
    test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
    /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-       && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
    /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-       && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+       && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
    /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-       && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+       && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-   echo m68k-unknown-lynxos${UNAME_RELEASE}
+   echo m68k-unknown-lynxos"$UNAME_RELEASE"
    exit ;;
     mc68030:UNIX_System_V:4.*:*)
    echo m68k-atari-sysv4
    exit ;;
     TSUNAMI:LynxOS:2.*:*)
-   echo sparc-unknown-lynxos${UNAME_RELEASE}
+   echo sparc-unknown-lynxos"$UNAME_RELEASE"
    exit ;;
     rs6000:LynxOS:2.*:*)
-   echo rs6000-unknown-lynxos${UNAME_RELEASE}
+   echo rs6000-unknown-lynxos"$UNAME_RELEASE"
    exit ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-   echo powerpc-unknown-lynxos${UNAME_RELEASE}
+   echo powerpc-unknown-lynxos"$UNAME_RELEASE"
    exit ;;
     SM[BE]S:UNIX_SV:*:*)
-   echo mips-dde-sysv${UNAME_RELEASE}
+   echo mips-dde-sysv"$UNAME_RELEASE"
    exit ;;
     RM*:ReliantUNIX-*:*:*)
    echo mips-sni-sysv4
@@ -1214,7 +1202,7 @@ EOF
     *:SINIX-*:*:*)
    if uname -p 2>/dev/null >/dev/null ; then
        UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       echo ${UNAME_MACHINE}-sni-sysv4
+       echo "$UNAME_MACHINE"-sni-sysv4
    else
        echo ns32k-sni-sysv
    fi
@@ -1234,23 +1222,23 @@ EOF
    exit ;;
     i*86:VOS:*:*)
    # From Paul.Green@stratus.com.
-   echo ${UNAME_MACHINE}-stratus-vos
+   echo "$UNAME_MACHINE"-stratus-vos
    exit ;;
     *:VOS:*:*)
    # From Paul.Green@stratus.com.
    echo hppa1.1-stratus-vos
    exit ;;
     mc68*:A/UX:*:*)
-   echo m68k-apple-aux${UNAME_RELEASE}
+   echo m68k-apple-aux"$UNAME_RELEASE"
    exit ;;
     news*:NEWS-OS:6*:*)
    echo mips-sony-newsos6
    exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
    if [ -d /usr/nec ]; then
-       echo mips-nec-sysv${UNAME_RELEASE}
+       echo mips-nec-sysv"$UNAME_RELEASE"
    else
-       echo mips-unknown-sysv${UNAME_RELEASE}
+       echo mips-unknown-sysv"$UNAME_RELEASE"
    fi
    exit ;;
     BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
@@ -1269,49 +1257,56 @@ EOF
    echo x86_64-unknown-haiku
    exit ;;
     SX-4:SUPER-UX:*:*)
-   echo sx4-nec-superux${UNAME_RELEASE}
+   echo sx4-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-5:SUPER-UX:*:*)
-   echo sx5-nec-superux${UNAME_RELEASE}
+   echo sx5-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-6:SUPER-UX:*:*)
-   echo sx6-nec-superux${UNAME_RELEASE}
+   echo sx6-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-7:SUPER-UX:*:*)
-   echo sx7-nec-superux${UNAME_RELEASE}
+   echo sx7-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-8:SUPER-UX:*:*)
-   echo sx8-nec-superux${UNAME_RELEASE}
+   echo sx8-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-8R:SUPER-UX:*:*)
-   echo sx8r-nec-superux${UNAME_RELEASE}
+   echo sx8r-nec-superux"$UNAME_RELEASE"
    exit ;;
     SX-ACE:SUPER-UX:*:*)
-   echo sxace-nec-superux${UNAME_RELEASE}
+   echo sxace-nec-superux"$UNAME_RELEASE"
    exit ;;
     Power*:Rhapsody:*:*)
-   echo powerpc-apple-rhapsody${UNAME_RELEASE}
+   echo powerpc-apple-rhapsody"$UNAME_RELEASE"
    exit ;;
     *:Rhapsody:*:*)
-   echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
    exit ;;
     *:Darwin:*:*)
    UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-   eval $set_cc_for_build
+   eval "$set_cc_for_build"
    if test "$UNAME_PROCESSOR" = unknown ; then
        UNAME_PROCESSOR=powerpc
    fi
-   if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+   if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
        if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
        if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-           (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-           grep IS_64BIT_ARCH >/dev/null
+              (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+              grep IS_64BIT_ARCH >/dev/null
        then
            case $UNAME_PROCESSOR in
            i386) UNAME_PROCESSOR=x86_64 ;;
            powerpc) UNAME_PROCESSOR=powerpc64 ;;
            esac
        fi
+       # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+       if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+              (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+              grep IS_PPC >/dev/null
+       then
+           UNAME_PROCESSOR=powerpc
+       fi
        fi
    elif test "$UNAME_PROCESSOR" = i386 ; then
        # Avoid executing cc on OS X 10.9, as it ships with a stub
@@ -1322,7 +1317,7 @@ EOF
        # that Apple uses in portable devices.
        UNAME_PROCESSOR=x86_64
    fi
-   echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+   echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
    exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
    UNAME_PROCESSOR=`uname -p`
@@ -1330,22 +1325,25 @@ EOF
        UNAME_PROCESSOR=i386
        UNAME_MACHINE=pc
    fi
-   echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+   echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
    exit ;;
     *:QNX:*:4*)
    echo i386-pc-qnx
    exit ;;
     NEO-*:NONSTOP_KERNEL:*:*)
-   echo neo-tandem-nsk${UNAME_RELEASE}
+   echo neo-tandem-nsk"$UNAME_RELEASE"
    exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
-   echo nse-tandem-nsk${UNAME_RELEASE}
+   echo nse-tandem-nsk"$UNAME_RELEASE"
    exit ;;
     NSR-*:NONSTOP_KERNEL:*:*)
-   echo nsr-tandem-nsk${UNAME_RELEASE}
+   echo nsr-tandem-nsk"$UNAME_RELEASE"
+   exit ;;
+    NSV-*:NONSTOP_KERNEL:*:*)
+   echo nsv-tandem-nsk"$UNAME_RELEASE"
    exit ;;
     NSX-*:NONSTOP_KERNEL:*:*)
-   echo nsx-tandem-nsk${UNAME_RELEASE}
+   echo nsx-tandem-nsk"$UNAME_RELEASE"
    exit ;;
     *:NonStop-UX:*:*)
    echo mips-compaq-nonstopux
@@ -1354,7 +1352,7 @@ EOF
    echo bs2000-siemens-sysv
    exit ;;
     DS/*:UNIX_System_V:*:*)
-   echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+   echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
    exit ;;
     *:Plan9:*:*)
    # "uname -m" is not consistent, so use $cputype instead. 386
@@ -1365,7 +1363,7 @@ EOF
    else
        UNAME_MACHINE="$cputype"
    fi
-   echo ${UNAME_MACHINE}-unknown-plan9
+   echo "$UNAME_MACHINE"-unknown-plan9
    exit ;;
     *:TOPS-10:*:*)
    echo pdp10-unknown-tops10
@@ -1386,14 +1384,14 @@ EOF
    echo pdp10-unknown-its
    exit ;;
     SEI:*:*:SEIUX)
-   echo mips-sei-seiux${UNAME_RELEASE}
+   echo mips-sei-seiux"$UNAME_RELEASE"
    exit ;;
     *:DragonFly:*:*)
-   echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+   echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
    exit ;;
     *:*VMS:*:*)
    UNAME_MACHINE=`(uname -p) 2>/dev/null`
-   case "${UNAME_MACHINE}" in
+   case "$UNAME_MACHINE" in
        A*) echo alpha-dec-vms ; exit ;;
        I*) echo ia64-dec-vms ; exit ;;
        V*) echo vax-dec-vms ; exit ;;
@@ -1402,32 +1400,44 @@ EOF
    echo i386-pc-xenix
    exit ;;
     i*86:skyos:*:*)
-   echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+   echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
    exit ;;
     i*86:rdos:*:*)
-   echo ${UNAME_MACHINE}-pc-rdos
+   echo "$UNAME_MACHINE"-pc-rdos
    exit ;;
     i*86:AROS:*:*)
-   echo ${UNAME_MACHINE}-pc-aros
+   echo "$UNAME_MACHINE"-pc-aros
    exit ;;
     x86_64:VMkernel:*:*)
-   echo ${UNAME_MACHINE}-unknown-esx
+   echo "$UNAME_MACHINE"-unknown-esx
    exit ;;
     amd64:Isilon\ OneFS:*:*)
    echo x86_64-unknown-onefs
    exit ;;
 esac
 
+echo "$0: unable to guess system type" >&2
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+    mips:Linux | mips64:Linux)
+   # If we got here on MIPS GNU/Linux, output extra information.
+   cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+   ;;
+esac
+
 cat >&2 <<EOF
-$0: unable to guess system type
 
 This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite
-config.guess and config.sub with the latest versions from:
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 If $0 has already been updated, send the following data and any
 information you think might be pertinent to config-patches@gnu.org to
@@ -1450,16 +1460,16 @@ hostinfo               = `(hostinfo) 2>/dev/null`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
 
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
 EOF
 
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
index 40ea5dfe1152f0fc5160879bb71bfe1fae2595f6..d1f5b549034905ad3fb686701d6249b4a2464a42 100644 (file)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2017 Free Software Foundation, Inc.
+#   Copyright 1992-2018 Free Software Foundation, Inc.
 
-timestamp='2017-04-02'
+timestamp='2018-05-24'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@ timestamp='2017-04-02'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -33,7 +33,7 @@ timestamp='2017-04-02'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2017 Free Software Foundation, Inc.
+Copyright 1992-2018 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -94,7 +94,7 @@ while test $# -gt 0 ; do
 
     *local*)
        # First pass through any local machine types.
-       echo $1
+       echo "$1"
        exit ;;
 
     * )
@@ -110,134 +110,455 @@ case $# in
     exit 1;;
 esac
 
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
-  kopensolaris*-gnu* | cloudabi*-eabi* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
+# Split fields of configuration type
+IFS="-" read -r field1 field2 field3 field4 <<EOF
+$1
+EOF
 
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-   -sun*os*)
-       # Prevent following clause from handling this invalid input.
-       ;;
-   -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-   -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-   -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-   -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-   -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-   -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-   -apple | -axis | -knuth | -cray | -microblaze*)
-       os=
-       basic_machine=$1
-       ;;
-   -bluegene*)
-       os=-cnk
-       ;;
-   -sim | -cisco | -oki | -wec | -winbond)
-       os=
-       basic_machine=$1
-       ;;
-   -scout)
-       ;;
-   -wrs)
-       os=-vxworks
-       basic_machine=$1
-       ;;
-   -chorusos*)
-       os=-chorusos
-       basic_machine=$1
-       ;;
-   -chorusrdb)
-       os=-chorusrdb
-       basic_machine=$1
-       ;;
-   -hiux*)
-       os=-hiuxwe2
-       ;;
-   -sco6)
-       os=-sco5v6
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco5)
-       os=-sco3.2v5
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco4)
-       os=-sco3.2v4
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco3.2.[4-9]*)
-       os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco3.2v[4-9]*)
-       # Don't forget version if it is 3.2v4 or newer.
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco5v6*)
-       # Don't forget version if it is 3.2v4 or newer.
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -sco*)
-       os=-sco3.2v2
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -udk*)
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -isc)
-       os=-isc2.2
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -clix*)
-       basic_machine=clipper-intergraph
-       ;;
-   -isc*)
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-       ;;
-   -lynx*178)
-       os=-lynxos178
-       ;;
-   -lynx*5)
-       os=-lynxos5
-       ;;
-   -lynx*)
-       os=-lynxos
+# Separate into logical components for further validation
+case $1 in
+   *-*-*-*-*)
+       echo Invalid configuration \`"$1"\': more than four components >&2
+       exit 1
        ;;
-   -ptx*)
-       basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+   *-*-*-*)
+       basic_machine=$field1-$field2
+       os=$field3-$field4
        ;;
-   -windowsnt*)
-       os=`echo $os | sed -e 's/windowsnt/winnt/'`
+   *-*-*)
+       # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+       # parts
+       maybe_os=$field2-$field3
+       case $maybe_os in
+           nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+           | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+           | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+           | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+           | storm-chaos* | os2-emx* | rtmk-nova*)
+               basic_machine=$field1
+               os=$maybe_os
+               ;;
+           android-linux)
+               basic_machine=$field1-unknown
+               os=linux-android
+               ;;
+           *)
+               basic_machine=$field1-$field2
+               os=$field3
+               ;;
+       esac
        ;;
-   -psos*)
-       os=-psos
+   *-*)
+       # Second component is usually, but not always the OS
+       case $field2 in
+           # Prevent following clause from handling this valid os
+           sun*os*)
+               basic_machine=$field1
+               os=$field2
+               ;;
+           # Manufacturers
+           dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* \
+           | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+           | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+           | convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* \
+           | c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* \
+           | harris | dolphin | highlevel | gould | cbm | ns | masscomp \
+           | apple | axis | knuth | cray | microblaze* \
+           | sim | cisco | oki | wec | wrs | winbond)
+               basic_machine=$field1-$field2
+               os=
+               ;;
+           *)
+               basic_machine=$field1
+               os=$field2
+               ;;
+       esac
        ;;
-   -mint | -mint[0-9]*)
-       basic_machine=m68k-atari
-       os=-mint
+   *)
+       # Convert single-component short-hands not valid as part of
+       # multi-component configurations.
+       case $field1 in
+           386bsd)
+               basic_machine=i386-pc
+               os=bsd
+               ;;
+           a29khif)
+               basic_machine=a29k-amd
+               os=udi
+               ;;
+           adobe68k)
+               basic_machine=m68010-adobe
+               os=scout
+               ;;
+           am29k)
+               basic_machine=a29k-none
+               os=bsd
+               ;;
+           amdahl)
+               basic_machine=580-amdahl
+               os=sysv
+               ;;
+           amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=amigaos
+               ;;
+           amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=sysv4
+               ;;
+           apollo68)
+               basic_machine=m68k-apollo
+               os=sysv
+               ;;
+           apollo68bsd)
+               basic_machine=m68k-apollo
+               os=bsd
+               ;;
+           aros)
+               basic_machine=i386-pc
+               os=aros
+               ;;
+           aux)
+               basic_machine=m68k-apple
+               os=aux
+               ;;
+           balance)
+               basic_machine=ns32k-sequent
+               os=dynix
+               ;;
+           blackfin)
+               basic_machine=bfin-unknown
+               os=linux
+               ;;
+           cegcc)
+               basic_machine=arm-unknown
+               os=cegcc
+               ;;
+           cray)
+               basic_machine=j90-cray
+               os=unicos
+               ;;
+           craynv)
+               basic_machine=craynv-cray
+               os=unicosmp
+               ;;
+           delta88)
+               basic_machine=m88k-motorola
+               os=sysv3
+               ;;
+           dicos)
+               basic_machine=i686-pc
+               os=dicos
+               ;;
+           djgpp)
+               basic_machine=i586-pc
+               os=msdosdjgpp
+               ;;
+           ebmon29k)
+               basic_machine=a29k-amd
+               os=ebmon
+               ;;
+           es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=ose
+               ;;
+           gmicro)
+               basic_machine=tron-gmicro
+               os=sysv
+               ;;
+           go32)
+               basic_machine=i386-pc
+               os=go32
+               ;;
+           h8300hms)
+               basic_machine=h8300-hitachi
+               os=hms
+               ;;
+           h8300xray)
+               basic_machine=h8300-hitachi
+               os=xray
+               ;;
+           h8500hms)
+               basic_machine=h8500-hitachi
+               os=hms
+               ;;
+           harris)
+               basic_machine=m88k-harris
+               os=sysv3
+               ;;
+           hp300bsd)
+               basic_machine=m68k-hp
+               os=bsd
+               ;;
+           hp300hpux)
+               basic_machine=m68k-hp
+               os=hpux
+               ;;
+           hppaosf)
+               basic_machine=hppa1.1-hp
+               os=osf
+               ;;
+           hppro)
+               basic_machine=hppa1.1-hp
+               os=proelf
+               ;;
+           i386mach)
+               basic_machine=i386-mach
+               os=mach
+               ;;
+           vsta)
+               basic_machine=i386-unknown
+               os=vsta
+               ;;
+           isi68 | isi)
+               basic_machine=m68k-isi
+               os=sysv
+               ;;
+           m68knommu)
+               basic_machine=m68k-unknown
+               os=linux
+               ;;
+           magnum | m3230)
+               basic_machine=mips-mips
+               os=sysv
+               ;;
+           merlin)
+               basic_machine=ns32k-utek
+               os=sysv
+               ;;
+           mingw64)
+               basic_machine=x86_64-pc
+               os=mingw64
+               ;;
+           mingw32)
+               basic_machine=i686-pc
+               os=mingw32
+               ;;
+           mingw32ce)
+               basic_machine=arm-unknown
+               os=mingw32ce
+               ;;
+           monitor)
+               basic_machine=m68k-rom68k
+               os=coff
+               ;;
+           morphos)
+               basic_machine=powerpc-unknown
+               os=morphos
+               ;;
+           moxiebox)
+               basic_machine=moxie-unknown
+               os=moxiebox
+               ;;
+           msdos)
+               basic_machine=i386-pc
+               os=msdos
+               ;;
+           msys)
+               basic_machine=i686-pc
+               os=msys
+               ;;
+           mvs)
+               basic_machine=i370-ibm
+               os=mvs
+               ;;
+           nacl)
+               basic_machine=le32-unknown
+               os=nacl
+               ;;
+           ncr3000)
+               basic_machine=i486-ncr
+               os=sysv4
+               ;;
+           netbsd386)
+               basic_machine=i386-unknown
+               os=netbsd
+               ;;
+           netwinder)
+               basic_machine=armv4l-rebel
+               os=linux
+               ;;
+           news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=newsos
+               ;;
+           news1000)
+               basic_machine=m68030-sony
+               os=newsos
+               ;;
+           necv70)
+               basic_machine=v70-nec
+               os=sysv
+               ;;
+           nh3000)
+               basic_machine=m68k-harris
+               os=cxux
+               ;;
+           nh[45]000)
+               basic_machine=m88k-harris
+               os=cxux
+               ;;
+           nindy960)
+               basic_machine=i960-intel
+               os=nindy
+               ;;
+           mon960)
+               basic_machine=i960-intel
+               os=mon960
+               ;;
+           nonstopux)
+               basic_machine=mips-compaq
+               os=nonstopux
+               ;;
+           os400)
+               basic_machine=powerpc-ibm
+               os=os400
+               ;;
+           OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=ose
+               ;;
+           os68k)
+               basic_machine=m68k-none
+               os=os68k
+               ;;
+           paragon)
+               basic_machine=i860-intel
+               os=osf
+               ;;
+           parisc)
+               basic_machine=hppa-unknown
+               os=linux
+               ;;
+           pw32)
+               basic_machine=i586-unknown
+               os=pw32
+               ;;
+           rdos | rdos64)
+               basic_machine=x86_64-pc
+               os=rdos
+               ;;
+           rdos32)
+               basic_machine=i386-pc
+               os=rdos
+               ;;
+           rom68k)
+               basic_machine=m68k-rom68k
+               os=coff
+               ;;
+           sa29200)
+               basic_machine=a29k-amd
+               os=udi
+               ;;
+           sei)
+               basic_machine=mips-sei
+               os=seiux
+               ;;
+           sps7)
+               basic_machine=m68k-bull
+               os=sysv2
+               ;;
+           stratus)
+               basic_machine=i860-stratus
+               os=sysv4
+               ;;
+           sun2os3)
+               basic_machine=m68000-sun
+               os=sunos3
+               ;;
+           sun2os4)
+               basic_machine=m68000-sun
+               os=sunos4
+               ;;
+           sun3os3)
+               basic_machine=m68k-sun
+               os=sunos3
+               ;;
+           sun3os4)
+               basic_machine=m68k-sun
+               os=sunos4
+               ;;
+           sun4os3)
+               basic_machine=sparc-sun
+               os=sunos3
+               ;;
+           sun4os4)
+               basic_machine=sparc-sun
+               os=sunos4
+               ;;
+           sun4sol2)
+               basic_machine=sparc-sun
+               os=solaris2
+               ;;
+           sv1)
+               basic_machine=sv1-cray
+               os=unicos
+               ;;
+           symmetry)
+               basic_machine=i386-sequent
+               os=dynix
+               ;;
+           t3e)
+               basic_machine=alphaev5-cray
+               os=unicos
+               ;;
+           t90)
+               basic_machine=t90-cray
+               os=unicos
+               ;;
+           toad1)
+               basic_machine=pdp10-xkl
+               os=tops20
+               ;;
+           tpf)
+               basic_machine=s390x-ibm
+               os=tpf
+               ;;
+           udi29k)
+               basic_machine=a29k-amd
+               os=udi
+               ;;
+           ultra3)
+               basic_machine=a29k-nyu
+               os=sym1
+               ;;
+           v810 | necv810)
+               basic_machine=v810-nec
+               os=none
+               ;;
+           vaxv)
+               basic_machine=vax-dec
+               os=sysv
+               ;;
+           vms)
+               basic_machine=vax-dec
+               os=vms
+               ;;
+           vxworks960)
+               basic_machine=i960-wrs
+               os=vxworks
+               ;;
+           vxworks68)
+               basic_machine=m68k-wrs
+               os=vxworks
+               ;;
+           vxworks29k)
+               basic_machine=a29k-wrs
+               os=vxworks
+               ;;
+           xbox)
+               basic_machine=i686-pc
+               os=mingw32
+               ;;
+           ymp)
+               basic_machine=ymp-cray
+               os=unicos
+               ;;
+           *)
+               basic_machine=$1
+               os=
+               ;;
+       esac
        ;;
 esac
 
@@ -252,12 +573,12 @@ case $basic_machine in
    | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
    | am33_2.0 \
    | arc | arceb \
-   | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+   | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
    | avr | avr32 \
    | ba \
    | be32 | be64 \
    | bfin \
-   | c4x | c8051 | clipper \
+   | c4x | c8051 | clipper | csky \
    | d10v | d30v | dlx | dsp16xx \
    | e2k | epiphany \
    | fido | fr30 | frv | ft32 \
@@ -296,10 +617,11 @@ case $basic_machine in
    | mt \
    | msp430 \
    | nds32 | nds32le | nds32be \
+   | nfp \
    | nios | nios2 | nios2eb | nios2el \
    | ns16k | ns32k \
    | open8 | or1k | or1knd | or32 \
-   | pdp10 | pdp11 | pj | pjl \
+   | pdp10 | pj | pjl \
    | powerpc | powerpc64 | powerpc64le | powerpcle \
    | pru \
    | pyramid \
@@ -316,7 +638,6 @@ case $basic_machine in
    | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    | visium \
    | wasm32 \
-   | we32k \
    | x86 | xc16x | xstormy16 | xtensa \
    | z8k | z80)
        basic_machine=$basic_machine-unknown
@@ -335,20 +656,23 @@ case $basic_machine in
        ;;
    m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
        basic_machine=$basic_machine-unknown
-       os=-none
+       os=${os:-none}
        ;;
-   m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+   m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+       ;;
+   m9s12z | m68hcs12z | hcs12z | s12z)
+       basic_machine=s12z-unknown
+       os=${os:-none}
        ;;
    ms1)
        basic_machine=mt-unknown
        ;;
-
    strongarm | thumb | xscale)
        basic_machine=arm-unknown
        ;;
    xgate)
        basic_machine=$basic_machine-unknown
-       os=-none
+       os=${os:-none}
        ;;
    xscaleeb)
        basic_machine=armeb-unknown
@@ -364,11 +688,6 @@ case $basic_machine in
    i*86 | x86_64)
      basic_machine=$basic_machine-pc
      ;;
-   # Object if more than one company name word.
-   *-*-*)
-       echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-       exit 1
-       ;;
    # Recognize the basic CPU types with company name.
    580-* \
    | a29k-* \
@@ -382,7 +701,7 @@ case $basic_machine in
    | be32-* | be64-* \
    | bfin-* | bs2000-* \
    | c[123]* | c30-* | [cjt]90-* | c4x-* \
-   | c8051-* | clipper-* | craynv-* | cydra-* \
+   | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
    | d10v-* | d30v-* | dlx-* \
    | e2k-* | elxsi-* \
    | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -423,6 +742,7 @@ case $basic_machine in
    | mt-* \
    | msp430-* \
    | nds32-* | nds32le-* | nds32be-* \
+   | nfp-* \
    | nios-* | nios2-* | nios2eb-* | nios2el-* \
    | none-* | np1-* | ns16k-* | ns32k-* \
    | open8-* \
@@ -460,141 +780,77 @@ case $basic_machine in
        ;;
    # Recognize the various machine names and aliases which stand
    # for a CPU type and a company and sometimes even an OS.
-   386bsd)
-       basic_machine=i386-unknown
-       os=-bsd
-       ;;
    3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
        basic_machine=m68000-att
        ;;
    3b*)
        basic_machine=we32k-att
        ;;
-   a29khif)
-       basic_machine=a29k-amd
-       os=-udi
-       ;;
    abacus)
        basic_machine=abacus-unknown
        ;;
-   adobe68k)
-       basic_machine=m68010-adobe
-       os=-scout
-       ;;
    alliant | fx80)
        basic_machine=fx80-alliant
        ;;
    altos | altos3068)
        basic_machine=m68k-altos
        ;;
-   am29k)
-       basic_machine=a29k-none
-       os=-bsd
-       ;;
    amd64)
        basic_machine=x86_64-pc
        ;;
    amd64-*)
-       basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-       ;;
-   amdahl)
-       basic_machine=580-amdahl
-       os=-sysv
+       basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    amiga | amiga-*)
        basic_machine=m68k-unknown
        ;;
-   amigaos | amigados)
-       basic_machine=m68k-unknown
-       os=-amigaos
-       ;;
-   amigaunix | amix)
-       basic_machine=m68k-unknown
-       os=-sysv4
-       ;;
-   apollo68)
-       basic_machine=m68k-apollo
-       os=-sysv
-       ;;
-   apollo68bsd)
-       basic_machine=m68k-apollo
-       os=-bsd
-       ;;
-   aros)
-       basic_machine=i386-pc
-       os=-aros
-       ;;
    asmjs)
        basic_machine=asmjs-unknown
        ;;
-   aux)
-       basic_machine=m68k-apple
-       os=-aux
-       ;;
-   balance)
-       basic_machine=ns32k-sequent
-       os=-dynix
-       ;;
-   blackfin)
-       basic_machine=bfin-unknown
-       os=-linux
-       ;;
    blackfin-*)
-       basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-       os=-linux
+       basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+       os=linux
        ;;
    bluegene*)
        basic_machine=powerpc-ibm
-       os=-cnk
+       os=cnk
        ;;
    c54x-*)
-       basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    c55x-*)
-       basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    c6x-*)
-       basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    c90)
        basic_machine=c90-cray
-       os=-unicos
-       ;;
-   cegcc)
-       basic_machine=arm-unknown
-       os=-cegcc
+       os=${os:-unicos}
        ;;
    convex-c1)
        basic_machine=c1-convex
-       os=-bsd
+       os=bsd
        ;;
    convex-c2)
        basic_machine=c2-convex
-       os=-bsd
+       os=bsd
        ;;
    convex-c32)
        basic_machine=c32-convex
-       os=-bsd
+       os=bsd
        ;;
    convex-c34)
        basic_machine=c34-convex
-       os=-bsd
+       os=bsd
        ;;
    convex-c38)
        basic_machine=c38-convex
-       os=-bsd
-       ;;
-   cray | j90)
-       basic_machine=j90-cray
-       os=-unicos
-       ;;
-   craynv)
-       basic_machine=craynv-cray
-       os=-unicosmp
+       os=bsd
        ;;
    cr16 | cr16-*)
        basic_machine=cr16-unknown
-       os=-elf
+       os=${os:-elf}
        ;;
    crds | unos)
        basic_machine=m68k-crds
@@ -607,7 +863,7 @@ case $basic_machine in
        ;;
    crx)
        basic_machine=crx-unknown
-       os=-elf
+       os=${os:-elf}
        ;;
    da30 | da30-*)
        basic_machine=m68k-da30
@@ -617,58 +873,38 @@ case $basic_machine in
        ;;
    decsystem10* | dec10*)
        basic_machine=pdp10-dec
-       os=-tops10
+       os=tops10
        ;;
    decsystem20* | dec20*)
        basic_machine=pdp10-dec
-       os=-tops20
+       os=tops20
        ;;
    delta | 3300 | motorola-3300 | motorola-delta \
          | 3300-motorola | delta-motorola)
        basic_machine=m68k-motorola
        ;;
-   delta88)
-       basic_machine=m88k-motorola
-       os=-sysv3
-       ;;
-   dicos)
-       basic_machine=i686-pc
-       os=-dicos
-       ;;
-   djgpp)
-       basic_machine=i586-pc
-       os=-msdosdjgpp
-       ;;
    dpx20 | dpx20-*)
        basic_machine=rs6000-bull
-       os=-bosx
+       os=${os:-bosx}
        ;;
-   dpx2* | dpx2*-bull)
+   dpx2*)
        basic_machine=m68k-bull
-       os=-sysv3
+       os=sysv3
        ;;
    e500v[12])
        basic_machine=powerpc-unknown
        os=$os"spe"
        ;;
    e500v[12]-*)
-       basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        os=$os"spe"
        ;;
-   ebmon29k)
-       basic_machine=a29k-amd
-       os=-ebmon
-       ;;
-   elxsi)
-       basic_machine=elxsi-elxsi
-       os=-bsd
-       ;;
    encore | umax | mmax)
        basic_machine=ns32k-encore
        ;;
-   es1800 | OSE68k | ose68k | ose | OSE)
-       basic_machine=m68k-ericsson
-       os=-ose
+   elxsi)
+       basic_machine=elxsi-elxsi
+       os=${os:-bsd}
        ;;
    fx2800)
        basic_machine=i860-alliant
@@ -676,45 +912,13 @@ case $basic_machine in
    genix)
        basic_machine=ns32k-ns
        ;;
-   gmicro)
-       basic_machine=tron-gmicro
-       os=-sysv
-       ;;
-   go32)
-       basic_machine=i386-pc
-       os=-go32
-       ;;
    h3050r* | hiux*)
        basic_machine=hppa1.1-hitachi
-       os=-hiuxwe2
-       ;;
-   h8300hms)
-       basic_machine=h8300-hitachi
-       os=-hms
-       ;;
-   h8300xray)
-       basic_machine=h8300-hitachi
-       os=-xray
-       ;;
-   h8500hms)
-       basic_machine=h8500-hitachi
-       os=-hms
-       ;;
-   harris)
-       basic_machine=m88k-harris
-       os=-sysv3
+       os=hiuxwe2
        ;;
    hp300-*)
        basic_machine=m68k-hp
        ;;
-   hp300bsd)
-       basic_machine=m68k-hp
-       os=-bsd
-       ;;
-   hp300hpux)
-       basic_machine=m68k-hp
-       os=-hpux
-       ;;
    hp3k9[0-9][0-9] | hp9[0-9][0-9])
        basic_machine=hppa1.0-hp
        ;;
@@ -744,200 +948,82 @@ case $basic_machine in
    hp9k8[0-9][0-9] | hp8[0-9][0-9])
        basic_machine=hppa1.0-hp
        ;;
-   hppa-next)
-       os=-nextstep3
-       ;;
-   hppaosf)
-       basic_machine=hppa1.1-hp
-       os=-osf
-       ;;
-   hppro)
-       basic_machine=hppa1.1-hp
-       os=-proelf
-       ;;
    i370-ibm* | ibm*)
        basic_machine=i370-ibm
        ;;
    i*86v32)
-       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-       os=-sysv32
+       basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+       os=sysv32
        ;;
    i*86v4*)
-       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-       os=-sysv4
+       basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+       os=sysv4
        ;;
    i*86v)
-       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-       os=-sysv
+       basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+       os=sysv
        ;;
    i*86sol2)
-       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-       os=-solaris2
-       ;;
-   i386mach)
-       basic_machine=i386-mach
-       os=-mach
+       basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+       os=solaris2
        ;;
-   i386-vsta | vsta)
-       basic_machine=i386-unknown
-       os=-vsta
+   j90 | j90-cray)
+       basic_machine=j90-cray
+       os=${os:-unicos}
        ;;
    iris | iris4d)
        basic_machine=mips-sgi
        case $os in
-           -irix*)
+           irix*)
            ;;
            *)
-           os=-irix4
+           os=irix4
            ;;
        esac
        ;;
-   isi68 | isi)
-       basic_machine=m68k-isi
-       os=-sysv
-       ;;
    leon-*|leon[3-9]-*)
-       basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
-       ;;
-   m68knommu)
-       basic_machine=m68k-unknown
-       os=-linux
+       basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
        ;;
    m68knommu-*)
-       basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-       os=-linux
-       ;;
-   m88k-omron*)
-       basic_machine=m88k-omron
-       ;;
-   magnum | m3230)
-       basic_machine=mips-mips
-       os=-sysv
-       ;;
-   merlin)
-       basic_machine=ns32k-utek
-       os=-sysv
+       basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+       os=linux
        ;;
    microblaze*)
        basic_machine=microblaze-xilinx
        ;;
-   mingw64)
-       basic_machine=x86_64-pc
-       os=-mingw64
-       ;;
-   mingw32)
-       basic_machine=i686-pc
-       os=-mingw32
-       ;;
-   mingw32ce)
-       basic_machine=arm-unknown
-       os=-mingw32ce
-       ;;
    miniframe)
        basic_machine=m68000-convergent
        ;;
-   *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+   *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
        basic_machine=m68k-atari
-       os=-mint
+       os=mint
        ;;
    mips3*-*)
-       basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+       basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
        ;;
    mips3*)
-       basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-       ;;
-   monitor)
-       basic_machine=m68k-rom68k
-       os=-coff
-       ;;
-   morphos)
-       basic_machine=powerpc-unknown
-       os=-morphos
-       ;;
-   moxiebox)
-       basic_machine=moxie-unknown
-       os=-moxiebox
-       ;;
-   msdos)
-       basic_machine=i386-pc
-       os=-msdos
+       basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
        ;;
    ms1-*)
-       basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-       ;;
-   msys)
-       basic_machine=i686-pc
-       os=-msys
-       ;;
-   mvs)
-       basic_machine=i370-ibm
-       os=-mvs
-       ;;
-   nacl)
-       basic_machine=le32-unknown
-       os=-nacl
-       ;;
-   ncr3000)
-       basic_machine=i486-ncr
-       os=-sysv4
-       ;;
-   netbsd386)
-       basic_machine=i386-unknown
-       os=-netbsd
-       ;;
-   netwinder)
-       basic_machine=armv4l-rebel
-       os=-linux
-       ;;
-   news | news700 | news800 | news900)
-       basic_machine=m68k-sony
-       os=-newsos
-       ;;
-   news1000)
-       basic_machine=m68030-sony
-       os=-newsos
+       basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
        ;;
    news-3600 | risc-news)
        basic_machine=mips-sony
-       os=-newsos
+       os=newsos
        ;;
-   necv70)
-       basic_machine=v70-nec
-       os=-sysv
-       ;;
-   next | m*-next )
+   next | m*-next)
        basic_machine=m68k-next
        case $os in
-           -nextstep* )
+           nextstep* )
            ;;
-           -ns2*)
-             os=-nextstep2
+           ns2*)
+             os=nextstep2
            ;;
            *)
-             os=-nextstep3
+             os=nextstep3
            ;;
        esac
        ;;
-   nh3000)
-       basic_machine=m68k-harris
-       os=-cxux
-       ;;
-   nh[45]000)
-       basic_machine=m88k-harris
-       os=-cxux
-       ;;
-   nindy960)
-       basic_machine=i960-intel
-       os=-nindy
-       ;;
-   mon960)
-       basic_machine=i960-intel
-       os=-mon960
-       ;;
-   nonstopux)
-       basic_machine=mips-compaq
-       os=-nonstopux
-       ;;
    np1)
        basic_machine=np1-gould
        ;;
@@ -950,43 +1036,26 @@ case $basic_machine in
    nsr-tandem)
        basic_machine=nsr-tandem
        ;;
+   nsv-tandem)
+       basic_machine=nsv-tandem
+       ;;
    nsx-tandem)
        basic_machine=nsx-tandem
        ;;
    op50n-* | op60c-*)
        basic_machine=hppa1.1-oki
-       os=-proelf
+       os=proelf
        ;;
    openrisc | openrisc-*)
        basic_machine=or32-unknown
        ;;
-   os400)
-       basic_machine=powerpc-ibm
-       os=-os400
-       ;;
-   OSE68000 | ose68000)
-       basic_machine=m68000-ericsson
-       os=-ose
-       ;;
-   os68k)
-       basic_machine=m68k-none
-       os=-os68k
-       ;;
    pa-hitachi)
        basic_machine=hppa1.1-hitachi
-       os=-hiuxwe2
-       ;;
-   paragon)
-       basic_machine=i860-intel
-       os=-osf
-       ;;
-   parisc)
-       basic_machine=hppa-unknown
-       os=-linux
+       os=hiuxwe2
        ;;
    parisc-*)
-       basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-       os=-linux
+       basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+       os=linux
        ;;
    pbd)
        basic_machine=sparc-tti
@@ -1001,7 +1070,7 @@ case $basic_machine in
        basic_machine=i386-pc
        ;;
    pc98-*)
-       basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    pentium | p5 | k5 | k6 | nexgen | viac3)
        basic_machine=i586-pc
@@ -1016,16 +1085,16 @@ case $basic_machine in
        basic_machine=i786-pc
        ;;
    pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-       basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    pentiumpro-* | p6-* | 6x86-* | athlon-*)
-       basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-       basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    pentium4-*)
-       basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    pn)
        basic_machine=pn-gould
@@ -1035,43 +1104,27 @@ case $basic_machine in
    ppc | ppcbe)    basic_machine=powerpc-unknown
        ;;
    ppc-* | ppcbe-*)
-       basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    ppcle | powerpclittle)
        basic_machine=powerpcle-unknown
        ;;
    ppcle-* | powerpclittle-*)
-       basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    ppc64)  basic_machine=powerpc64-unknown
        ;;
-   ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+   ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    ppc64le | powerpc64little)
        basic_machine=powerpc64le-unknown
        ;;
    ppc64le-* | powerpc64little-*)
-       basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    ps2)
        basic_machine=i386-ibm
        ;;
-   pw32)
-       basic_machine=i586-unknown
-       os=-pw32
-       ;;
-   rdos | rdos64)
-       basic_machine=x86_64-pc
-       os=-rdos
-       ;;
-   rdos32)
-       basic_machine=i386-pc
-       os=-rdos
-       ;;
-   rom68k)
-       basic_machine=m68k-rom68k
-       os=-coff
-       ;;
    rm[46]00)
        basic_machine=mips-siemens
        ;;
@@ -1084,10 +1137,6 @@ case $basic_machine in
    s390x | s390x-*)
        basic_machine=s390x-ibm
        ;;
-   sa29200)
-       basic_machine=a29k-amd
-       os=-udi
-       ;;
    sb1)
        basic_machine=mipsisa64sb1-unknown
        ;;
@@ -1096,32 +1145,17 @@ case $basic_machine in
        ;;
    sde)
        basic_machine=mipsisa32-sde
-       os=-elf
-       ;;
-   sei)
-       basic_machine=mips-sei
-       os=-seiux
+       os=${os:-elf}
        ;;
    sequent)
        basic_machine=i386-sequent
        ;;
-   sh)
-       basic_machine=sh-hitachi
-       os=-hms
-       ;;
    sh5el)
        basic_machine=sh5le-unknown
        ;;
-   sh64)
-       basic_machine=sh64-unknown
-       ;;
-   sparclite-wrs | simso-wrs)
+   simso-wrs)
        basic_machine=sparclite-wrs
-       os=-vxworks
-       ;;
-   sps7)
-       basic_machine=m68k-bull
-       os=-sysv2
+       os=vxworks
        ;;
    spur)
        basic_machine=spur-unknown
@@ -1129,44 +1163,12 @@ case $basic_machine in
    st2000)
        basic_machine=m68k-tandem
        ;;
-   stratus)
-       basic_machine=i860-stratus
-       os=-sysv4
-       ;;
    strongarm-* | thumb-*)
-       basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+       basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
        ;;
    sun2)
        basic_machine=m68000-sun
        ;;
-   sun2os3)
-       basic_machine=m68000-sun
-       os=-sunos3
-       ;;
-   sun2os4)
-       basic_machine=m68000-sun
-       os=-sunos4
-       ;;
-   sun3os3)
-       basic_machine=m68k-sun
-       os=-sunos3
-       ;;
-   sun3os4)
-       basic_machine=m68k-sun
-       os=-sunos4
-       ;;
-   sun4os3)
-       basic_machine=sparc-sun
-       os=-sunos3
-       ;;
-   sun4os4)
-       basic_machine=sparc-sun
-       os=-sunos4
-       ;;
-   sun4sol2)
-       basic_machine=sparc-sun
-       os=-solaris2
-       ;;
    sun3 | sun3-*)
        basic_machine=m68k-sun
        ;;
@@ -1176,25 +1178,9 @@ case $basic_machine in
    sun386 | sun386i | roadrunner)
        basic_machine=i386-sun
        ;;
-   sv1)
-       basic_machine=sv1-cray
-       os=-unicos
-       ;;
-   symmetry)
-       basic_machine=i386-sequent
-       os=-dynix
-       ;;
-   t3e)
-       basic_machine=alphaev5-cray
-       os=-unicos
-       ;;
-   t90)
-       basic_machine=t90-cray
-       os=-unicos
-       ;;
    tile*)
        basic_machine=$basic_machine-unknown
-       os=-linux-gnu
+       os=linux-gnu
        ;;
    tx39)
        basic_machine=mipstx39-unknown
@@ -1202,88 +1188,32 @@ case $basic_machine in
    tx39el)
        basic_machine=mipstx39el-unknown
        ;;
-   toad1)
-       basic_machine=pdp10-xkl
-       os=-tops20
-       ;;
    tower | tower-32)
        basic_machine=m68k-ncr
        ;;
-   tpf)
-       basic_machine=s390x-ibm
-       os=-tpf
-       ;;
-   udi29k)
-       basic_machine=a29k-amd
-       os=-udi
-       ;;
-   ultra3)
-       basic_machine=a29k-nyu
-       os=-sym1
-       ;;
-   v810 | necv810)
-       basic_machine=v810-nec
-       os=-none
-       ;;
-   vaxv)
-       basic_machine=vax-dec
-       os=-sysv
-       ;;
-   vms)
-       basic_machine=vax-dec
-       os=-vms
-       ;;
    vpp*|vx|vx-*)
        basic_machine=f301-fujitsu
        ;;
-   vxworks960)
-       basic_machine=i960-wrs
-       os=-vxworks
-       ;;
-   vxworks68)
-       basic_machine=m68k-wrs
-       os=-vxworks
-       ;;
-   vxworks29k)
-       basic_machine=a29k-wrs
-       os=-vxworks
-       ;;
-   wasm32)
-       basic_machine=wasm32-unknown
-       ;;
    w65*)
        basic_machine=w65-wdc
-       os=-none
+       os=none
        ;;
    w89k-*)
        basic_machine=hppa1.1-winbond
-       os=-proelf
+       os=proelf
        ;;
-   xbox)
-       basic_machine=i686-pc
-       os=-mingw32
+   x64)
+       basic_machine=x86_64-pc
        ;;
    xps | xps100)
        basic_machine=xps100-honeywell
        ;;
    xscale-* | xscalee[bl]-*)
-       basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-       ;;
-   ymp)
-       basic_machine=ymp-cray
-       os=-unicos
-       ;;
-   z8k-*-coff)
-       basic_machine=z8k-unknown
-       os=-sim
-       ;;
-   z80-*-coff)
-       basic_machine=z80-unknown
-       os=-sim
+       basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
        ;;
    none)
        basic_machine=none-none
-       os=-none
+       os=${os:-none}
        ;;
 
 # Here we handle the default manufacturer of certain CPU types.  It is in
@@ -1309,10 +1239,6 @@ case $basic_machine in
    vax)
        basic_machine=vax-dec
        ;;
-   pdp10)
-       # there are many clones, so DEC is not a safe bet
-       basic_machine=pdp10-unknown
-       ;;
    pdp11)
        basic_machine=pdp11-dec
        ;;
@@ -1322,9 +1248,6 @@ case $basic_machine in
    sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
        basic_machine=sh-unknown
        ;;
-   sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-       basic_machine=sparc-sun
-       ;;
    cydra)
        basic_machine=cydra-cydrome
        ;;
@@ -1344,7 +1267,7 @@ case $basic_machine in
        # Make sure to match an already-canonicalized machine name.
        ;;
    *)
-       echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+       echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
        exit 1
        ;;
 esac
@@ -1352,10 +1275,10 @@ esac
 # Here we canonicalize certain aliases for manufacturers.
 case $basic_machine in
    *-digital*)
-       basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+       basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
        ;;
    *-commodore*)
-       basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+       basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
        ;;
    *)
        ;;
@@ -1363,200 +1286,246 @@ esac
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ x"$os" != x"" ]
+if [ x$os != x ]
 then
 case $os in
-   # First match some system type aliases
-   # that might get confused with valid system types.
-   # -solaris* is a basic system type, with this one exception.
-   -auroraux)
-       os=-auroraux
+   # First match some system type aliases that might get confused
+   # with valid system types.
+   # solaris* is a basic system type, with this one exception.
+   auroraux)
+       os=auroraux
        ;;
-   -solaris1 | -solaris1.*)
-       os=`echo $os | sed -e 's|solaris1|sunos4|'`
+   bluegene*)
+       os=cnk
        ;;
-   -solaris)
-       os=-solaris2
+   solaris1 | solaris1.*)
+       os=`echo $os | sed -e 's|solaris1|sunos4|'`
        ;;
-   -svr4*)
-       os=-sysv4
+   solaris)
+       os=solaris2
        ;;
-   -unixware*)
-       os=-sysv4.2uw
+   unixware*)
+       os=sysv4.2uw
        ;;
-   -gnu/linux*)
+   gnu/linux*)
        os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
        ;;
-   # First accept the basic system types.
+   # es1800 is here to avoid being matched by es* (a different OS)
+   es1800*)
+       os=ose
+       ;;
+   # Some version numbers need modification
+   chorusos*)
+       os=chorusos
+       ;;
+   isc)
+       os=isc2.2
+       ;;
+   sco6)
+       os=sco5v6
+       ;;
+   sco5)
+       os=sco3.2v5
+       ;;
+   sco4)
+       os=sco3.2v4
+       ;;
+   sco3.2.[4-9]*)
+       os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+       ;;
+   sco3.2v[4-9]* | sco5v6*)
+       # Don't forget version if it is 3.2v4 or newer.
+       ;;
+   scout)
+       # Don't match below
+       ;;
+   sco*)
+       os=sco3.2v2
+       ;;
+   psos*)
+       os=psos
+       ;;
+   # Now accept the basic system types.
    # The portable systems comes first.
-   # Each alternative MUST END IN A *, to match a version number.
-   # -sysv* is not here because it comes later, after sysvr4.
-   -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-         | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-         | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-         | -sym* | -kopensolaris* | -plan9* \
-         | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-         | -aos* | -aros* | -cloudabi* | -sortix* \
-         | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-         | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-         | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-         | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
-         | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-         | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-         | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-         | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-         | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
-         | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-         | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-         | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-         | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-         | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-         | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-         | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-         | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-         | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-         | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-         | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-         | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
+   # Each alternative MUST end in a * to match a version number.
+   # sysv* is not here because it comes later, after sysvr4.
+   gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+        | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
+        | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+        | sym* | kopensolaris* | plan9* \
+        | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+        | aos* | aros* | cloudabi* | sortix* \
+        | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+        | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \
+        | knetbsd* | mirbsd* | netbsd* \
+        | bitrig* | openbsd* | solidbsd* | libertybsd* \
+        | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
+        | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+        | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+        | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
+        | chorusrdb* | cegcc* | glidix* \
+        | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+        | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
+        | linux-newlib* | linux-musl* | linux-uclibc* \
+        | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+        | interix* | uwin* | mks* | rhapsody* | darwin* \
+        | openstep* | oskit* | conix* | pw32* | nonstopux* \
+        | storm-chaos* | tops10* | tenex* | tops20* | its* \
+        | os2* | vos* | palmos* | uclinux* | nucleus* \
+        | morphos* | superux* | rtmk* | windiss* \
+        | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+        | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+        | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+        | midnightbsd*)
    # Remember, each alternative MUST END IN *, to match a version number.
        ;;
-   -qnx*)
+   qnx*)
        case $basic_machine in
            x86-* | i*86-*)
            ;;
            *)
-           os=-nto$os
+           os=nto-$os
            ;;
        esac
        ;;
-   -nto-qnx*)
+   hiux*)
+       os=hiuxwe2
        ;;
-   -nto*)
-       os=`echo $os | sed -e 's|nto|nto-qnx|'`
+   nto-qnx*)
        ;;
-   -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-         | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-         | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+   nto*)
+       os=`echo $os | sed -e 's|nto|nto-qnx|'`
        ;;
-   -mac*)
-       os=`echo $os | sed -e 's|mac|macos|'`
+   sim | xray | os68k* | v88r* \
+       | windows* | osx | abug | netware* | os9* \
+       | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
        ;;
-   -linux-dietlibc)
-       os=-linux-dietlibc
+   linux-dietlibc)
+       os=linux-dietlibc
        ;;
-   -linux*)
+   linux*)
        os=`echo $os | sed -e 's|linux|linux-gnu|'`
        ;;
-   -sunos5*)
-       os=`echo $os | sed -e 's|sunos5|solaris2|'`
+   lynx*178)
+       os=lynxos178
+       ;;
+   lynx*5)
+       os=lynxos5
+       ;;
+   lynx*)
+       os=lynxos
        ;;
-   -sunos6*)
-       os=`echo $os | sed -e 's|sunos6|solaris3|'`
+   mac*)
+       os=`echo "$os" | sed -e 's|mac|macos|'`
        ;;
-   -opened*)
-       os=-openedition
+   opened*)
+       os=openedition
        ;;
-   -os400*)
-       os=-os400
+   os400*)
+       os=os400
        ;;
-   -wince*)
-       os=-wince
+   sunos5*)
+       os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
        ;;
-   -osfrose*)
-       os=-osfrose
+   sunos6*)
+       os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
        ;;
-   -osf*)
-       os=-osf
+   wince*)
+       os=wince
        ;;
-   -utek*)
-       os=-bsd
+   utek*)
+       os=bsd
        ;;
-   -dynix*)
-       os=-bsd
+   dynix*)
+       os=bsd
        ;;
-   -acis*)
-       os=-aos
+   acis*)
+       os=aos
        ;;
-   -atheos*)
-       os=-atheos
+   atheos*)
+       os=atheos
        ;;
-   -syllable*)
-       os=-syllable
+   syllable*)
+       os=syllable
        ;;
-   -386bsd)
-       os=-bsd
+   386bsd)
+       os=bsd
        ;;
-   -ctix* | -uts*)
-       os=-sysv
+   ctix* | uts*)
+       os=sysv
        ;;
-   -nova*)
-       os=-rtmk-nova
+   nova*)
+       os=rtmk-nova
        ;;
-   -ns2 )
-       os=-nextstep2
+   ns2)
+       os=nextstep2
        ;;
-   -nsk*)
-       os=-nsk
+   nsk*)
+       os=nsk
        ;;
    # Preserve the version number of sinix5.
-   -sinix5.*)
+   sinix5.*)
        os=`echo $os | sed -e 's|sinix|sysv|'`
        ;;
-   -sinix*)
-       os=-sysv4
-       ;;
-   -tpf*)
-       os=-tpf
+   sinix*)
+       os=sysv4
        ;;
-   -triton*)
-       os=-sysv3
+   tpf*)
+       os=tpf
        ;;
-   -oss*)
-       os=-sysv3
+   triton*)
+       os=sysv3
        ;;
-   -svr4)
-       os=-sysv4
+   oss*)
+       os=sysv3
        ;;
-   -svr3)
-       os=-sysv3
+   svr4*)
+       os=sysv4
        ;;
-   -sysvr4)
-       os=-sysv4
+   svr3)
+       os=sysv3
        ;;
-   # This must come after -sysvr4.
-   -sysv*)
+   sysvr4)
+       os=sysv4
        ;;
-   -ose*)
-       os=-ose
+   # This must come after sysvr4.
+   sysv*)
        ;;
-   -es1800*)
-       os=-ose
+   ose*)
+       os=ose
        ;;
-   -xenix)
-       os=-xenix
+   *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+       os=mint
        ;;
-   -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-       os=-mint
+   zvmoe)
+       os=zvmoe
        ;;
-   -aros*)
-       os=-aros
+   dicos*)
+       os=dicos
        ;;
-   -zvmoe)
-       os=-zvmoe
+   pikeos*)
+       # Until real need of OS specific support for
+       # particular features comes up, bare metal
+       # configurations are quite functional.
+       case $basic_machine in
+           arm*)
+           os=eabi
+           ;;
+           *)
+           os=elf
+           ;;
+       esac
        ;;
-   -dicos*)
-       os=-dicos
+   nacl*)
        ;;
-   -nacl*)
+   ios)
        ;;
-   -ios)
+   none)
        ;;
-   -none)
+   *-eabi)
        ;;
    *)
-       # Get rid of the `-' at the beginning of $os.
-       os=`echo $os | sed 's/[^-]*-//'`
-       echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+       echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
        exit 1
        ;;
 esac
@@ -1574,179 +1543,179 @@ else
 
 case $basic_machine in
    score-*)
-       os=-elf
+       os=elf
        ;;
    spu-*)
-       os=-elf
+       os=elf
        ;;
    *-acorn)
-       os=-riscix1.2
+       os=riscix1.2
        ;;
    arm*-rebel)
-       os=-linux
+       os=linux
        ;;
    arm*-semi)
-       os=-aout
+       os=aout
        ;;
    c4x-* | tic4x-*)
-       os=-coff
+       os=coff
        ;;
    c8051-*)
-       os=-elf
+       os=elf
+       ;;
+   clipper-intergraph)
+       os=clix
        ;;
    hexagon-*)
-       os=-elf
+       os=elf
        ;;
    tic54x-*)
-       os=-coff
+       os=coff
        ;;
    tic55x-*)
-       os=-coff
+       os=coff
        ;;
    tic6x-*)
-       os=-coff
+       os=coff
        ;;
    # This must come before the *-dec entry.
    pdp10-*)
-       os=-tops20
+       os=tops20
        ;;
    pdp11-*)
-       os=-none
+       os=none
        ;;
    *-dec | vax-*)
-       os=-ultrix4.2
+       os=ultrix4.2
        ;;
    m68*-apollo)
-       os=-domain
+       os=domain
        ;;
    i386-sun)
-       os=-sunos4.0.2
+       os=sunos4.0.2
        ;;
    m68000-sun)
-       os=-sunos3
+       os=sunos3
        ;;
    m68*-cisco)
-       os=-aout
+       os=aout
        ;;
    mep-*)
-       os=-elf
+       os=elf
        ;;
    mips*-cisco)
-       os=-elf
+       os=elf
        ;;
    mips*-*)
-       os=-elf
+       os=elf
        ;;
    or32-*)
-       os=-coff
+       os=coff
        ;;
    *-tti)  # must be before sparc entry or we get the wrong os.
-       os=-sysv3
+       os=sysv3
        ;;
    sparc-* | *-sun)
-       os=-sunos4.1.1
+       os=sunos4.1.1
        ;;
    pru-*)
-       os=-elf
+       os=elf
        ;;
    *-be)
-       os=-beos
-       ;;
-   *-haiku)
-       os=-haiku
+       os=beos
        ;;
    *-ibm)
-       os=-aix
+       os=aix
        ;;
    *-knuth)
-       os=-mmixware
+       os=mmixware
        ;;
    *-wec)
-       os=-proelf
+       os=proelf
        ;;
    *-winbond)
-       os=-proelf
+       os=proelf
        ;;
    *-oki)
-       os=-proelf
+       os=proelf
        ;;
    *-hp)
-       os=-hpux
+       os=hpux
        ;;
    *-hitachi)
-       os=-hiux
+       os=hiux
        ;;
    i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-       os=-sysv
+       os=sysv
        ;;
    *-cbm)
-       os=-amigaos
+       os=amigaos
        ;;
    *-dg)
-       os=-dgux
+       os=dgux
        ;;
    *-dolphin)
-       os=-sysv3
+       os=sysv3
        ;;
    m68k-ccur)
-       os=-rtu
+       os=rtu
        ;;
    m88k-omron*)
-       os=-luna
+       os=luna
        ;;
-   *-next )
-       os=-nextstep
+   *-next)
+       os=nextstep
        ;;
    *-sequent)
-       os=-ptx
+       os=ptx
        ;;
    *-crds)
-       os=-unos
+       os=unos
        ;;
    *-ns)
-       os=-genix
+       os=genix
        ;;
    i370-*)
-       os=-mvs
-       ;;
-   *-next)
-       os=-nextstep3
+       os=mvs
        ;;
    *-gould)
-       os=-sysv
+       os=sysv
        ;;
    *-highlevel)
-       os=-bsd
+       os=bsd
        ;;
    *-encore)
-       os=-bsd
+       os=bsd
        ;;
    *-sgi)
-       os=-irix
+       os=irix
        ;;
    *-siemens)
-       os=-sysv4
+       os=sysv4
        ;;
    *-masscomp)
-       os=-rtu
+       os=rtu
        ;;
    f30[01]-fujitsu | f700-fujitsu)
-       os=-uxpv
+       os=uxpv
        ;;
    *-rom68k)
-       os=-coff
+       os=coff
        ;;
    *-*bug)
-       os=-coff
+       os=coff
        ;;
    *-apple)
-       os=-macos
+       os=macos
        ;;
    *-atari*)
-       os=-mint
+       os=mint
+       ;;
+   *-wrs)
+       os=vxworks
        ;;
    *)
-       os=-none
+       os=none
        ;;
 esac
 fi
@@ -1757,79 +1726,82 @@ vendor=unknown
 case $basic_machine in
    *-unknown)
        case $os in
-           -riscix*)
+           riscix*)
                vendor=acorn
                ;;
-           -sunos*)
+           sunos*)
                vendor=sun
                ;;
-           -cnk*|-aix*)
+           cnk*|-aix*)
                vendor=ibm
                ;;
-           -beos*)
+           beos*)
                vendor=be
                ;;
-           -hpux*)
+           hpux*)
                vendor=hp
                ;;
-           -mpeix*)
+           mpeix*)
                vendor=hp
                ;;
-           -hiux*)
+           hiux*)
                vendor=hitachi
                ;;
-           -unos*)
+           unos*)
                vendor=crds
                ;;
-           -dgux*)
+           dgux*)
                vendor=dg
                ;;
-           -luna*)
+           luna*)
                vendor=omron
                ;;
-           -genix*)
+           genix*)
                vendor=ns
                ;;
-           -mvs* | -opened*)
+           clix*)
+               vendor=intergraph
+               ;;
+           mvs* | opened*)
                vendor=ibm
                ;;
-           -os400*)
+           os400*)
                vendor=ibm
                ;;
-           -ptx*)
+           ptx*)
                vendor=sequent
                ;;
-           -tpf*)
+           tpf*)
                vendor=ibm
                ;;
-           -vxsim* | -vxworks* | -windiss*)
+           vxsim* | vxworks* | windiss*)
                vendor=wrs
                ;;
-           -aux*)
+           aux*)
                vendor=apple
                ;;
-           -hms*)
+           hms*)
                vendor=hitachi
                ;;
-           -mpw* | -macos*)
+           mpw* | macos*)
                vendor=apple
                ;;
-           -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+           *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
                vendor=atari
                ;;
-           -vos*)
+           vos*)
                vendor=stratus
                ;;
        esac
-       basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+       basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
        ;;
 esac
 
-echo $basic_machine$os
+echo "$basic_machine-$os"
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"