New config.guess and config.sub from upstream.
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 4 Nov 2003 10:31:33 +0000 (10:31 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 4 Nov 2003 10:31:33 +0000 (10:31 +0000)
config/config.guess
config/config.sub

index dc70191a98432abc834761fa833f79c566008eca..193e328202ab22ee8f3f3c7652f80d2231f97fff 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2001-08-04'
+timestamp='2003-10-16'
 
 # 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
@@ -24,8 +24,9 @@ timestamp='2001-08-04'
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
@@ -87,30 +88,42 @@ if test $# != 0; then
   exit 1
 fi
 
+trap 'exit 1' 1 2 15
 
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
 
-# CC_FOR_BUILD -- compiler used by this script.
 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
 # use `HOST_CC' if defined, but it is deprecated.
 
-set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int dummy(){}" > $dummy.c ;
-   for c in cc gcc c89 ; do
-     ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
-     if test $? = 0 ; then
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { 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 ;
+   for c in cc gcc c89 c99 ; do
+     if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
         CC_FOR_BUILD="$c"; break ;
      fi ;
    done ;
-   rm -f $dummy.c $dummy.o $dummy.rel ;
    if test x"$CC_FOR_BUILD" = x ; then
      CC_FOR_BUILD=no_compiler_found ;
    fi
    ;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac'
+esac ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -127,29 +140,30 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
-   # Netbsd (nbsd) targets should (where applicable) match one or
+   # NetBSD (nbsd) targets should (where applicable) match one or
    # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
    # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
    # switched to ELF, *-*-netbsd* would select the old
    # object file format.  This provides both forward
    # compatibility and a consistent mechanism for selecting the
    # object file format.
-   # Determine the machine/vendor (is the vendor relevant).
-   case "${UNAME_MACHINE}" in
-       amiga) machine=m68k-unknown ;;
-       arm32) machine=arm-unknown ;;
-       atari*) machine=m68k-atari ;;
-       sun3*) machine=m68k-sun ;;
-       mac68k) machine=m68k-apple ;;
-       macppc) machine=powerpc-apple ;;
-       hp3[0-9][05]) machine=m68k-hp ;;
-       ibmrt|romp-ibm) machine=romp-ibm ;;
-       *) machine=${UNAME_MACHINE}-unknown ;;
+   #
+   # Note: NetBSD doesn't particularly care about the vendor
+   # portion of the name.  We always set it to "unknown".
+   sysctl="sysctl -n hw.machine_arch"
+   UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+       /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+   case "${UNAME_MACHINE_ARCH}" in
+       armeb) machine=armeb-unknown ;;
+       arm*) machine=arm-unknown ;;
+       sh3el) machine=shl-unknown ;;
+       sh3eb) machine=sh-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.
-   case "${UNAME_MACHINE}" in
-       i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+   case "${UNAME_MACHINE_ARCH}" in
+       arm*|i386|m68k|ns32k|sh3*|sparc|vax)
        eval $set_cc_for_build
        if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
            | grep __ELF__ >/dev/null
@@ -166,72 +180,115 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        ;;
    esac
    # The OS release
-   release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+   # Debian GNU/NetBSD machines have a different userland, and
+   # 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
+       Debian*)
+       release='-gnu'
+       ;;
+       *)
+       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+       ;;
+   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}"
    exit 0 ;;
+    amiga:OpenBSD:*:*)
+   echo m68k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    arc:OpenBSD:*:*)
+   echo mipsel-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    hp300:OpenBSD:*:*)
+   echo m68k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mac68k:OpenBSD:*:*)
+   echo m68k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    macppc:OpenBSD:*:*)
+   echo powerpc-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+   echo m68k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+   echo m88k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mvmeppc:OpenBSD:*:*)
+   echo powerpc-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    pegasos:OpenBSD:*:*)
+   echo powerpc-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    pmax:OpenBSD:*:*)
+   echo mipsel-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    sgi:OpenBSD:*:*)
+   echo mipseb-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    sun3:OpenBSD:*:*)
+   echo m68k-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+   echo mipsel-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    *:OpenBSD:*:*)
+   echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+   exit 0 ;;
     alpha:OSF1:*:*)
    if test $UNAME_RELEASE = "V4.0"; then
        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
    fi
+   # According to Compaq, /usr/sbin/psrinfo has been available on
+   # OSF/1 and Tru64 systems produced since 1995.  I hope that
+   # covers most systems running today.  This code pipes the CPU
+   # types through head -n 1, so we only detect the type of CPU 0.
+   ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+   case "$ALPHA_CPU_TYPE" in
+       "EV4 (21064)")
+       UNAME_MACHINE="alpha" ;;
+       "EV4.5 (21064)")
+       UNAME_MACHINE="alpha" ;;
+       "LCA4 (21066/21068)")
+       UNAME_MACHINE="alpha" ;;
+       "EV5 (21164)")
+       UNAME_MACHINE="alphaev5" ;;
+       "EV5.6 (21164A)")
+       UNAME_MACHINE="alphaev56" ;;
+       "EV5.6 (21164PC)")
+       UNAME_MACHINE="alphapca56" ;;
+       "EV5.7 (21164PC)")
+       UNAME_MACHINE="alphapca57" ;;
+       "EV6 (21264)")
+       UNAME_MACHINE="alphaev6" ;;
+       "EV6.7 (21264A)")
+       UNAME_MACHINE="alphaev67" ;;
+       "EV6.8CB (21264C)")
+       UNAME_MACHINE="alphaev68" ;;
+       "EV6.8AL (21264B)")
+       UNAME_MACHINE="alphaev68" ;;
+       "EV6.8CX (21264D)")
+       UNAME_MACHINE="alphaev68" ;;
+       "EV6.9A (21264/EV69A)")
+       UNAME_MACHINE="alphaev69" ;;
+       "EV7 (21364)")
+       UNAME_MACHINE="alphaev7" ;;
+       "EV7.9 (21364A)")
+       UNAME_MACHINE="alphaev79" ;;
+   esac
    # A Vn.n version is a released version.
    # 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.
-   cat <<EOF >$dummy.s
-   .data
-\$Lformat:
-   .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-
-   .text
-   .globl main
-   .align 4
-   .ent main
-main:
-   .frame \$30,16,\$26,0
-   ldgp \$29,0(\$27)
-   .prologue 1
-   .long 0x47e03d80 # implver \$0
-   lda \$2,-1
-   .long 0x47e20c21 # amask \$2,\$1
-   lda \$16,\$Lformat
-   mov \$0,\$17
-   not \$1,\$18
-   jsr \$26,printf
-   ldgp \$29,0(\$26)
-   mov 0,\$16
-   jsr \$26,exit
-   .end main
-EOF
-   eval $set_cc_for_build
-   $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-   if test "$?" = 0 ; then
-       case `./$dummy` in
-           0-0)
-               UNAME_MACHINE="alpha"
-               ;;
-           1-0)
-               UNAME_MACHINE="alphaev5"
-               ;;
-           1-1)
-               UNAME_MACHINE="alphaev56"
-               ;;
-           1-101)
-               UNAME_MACHINE="alphapca56"
-               ;;
-           2-303)
-               UNAME_MACHINE="alphaev6"
-               ;;
-           2-307)
-               UNAME_MACHINE="alphaev67"
-               ;;
-       esac
-   fi
-   rm -f $dummy.s $dummy
    echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    exit 0 ;;
+    Alpha*:OpenVMS:*:*)
+   echo alpha-hp-vms
+   exit 0 ;;
     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
@@ -244,33 +301,18 @@ EOF
     Amiga*:UNIX_System_V:4.0:*)
    echo m68k-unknown-sysv4
    exit 0;;
-    amiga:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
     *:[Aa]miga[Oo][Ss]:*:*)
    echo ${UNAME_MACHINE}-unknown-amigaos
    exit 0 ;;
-    arc64:OpenBSD:*:*)
-   echo mips64el-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    arc:OpenBSD:*:*)
-   echo mipsel-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    hkmips:OpenBSD:*:*)
-   echo mips-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    pmax:OpenBSD:*:*)
-   echo mipsel-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    sgi:OpenBSD:*:*)
-   echo mips-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-   echo mipsel-unknown-openbsd${UNAME_RELEASE}
+    *:[Mm]orph[Oo][Ss]:*:*)
+   echo ${UNAME_MACHINE}-unknown-morphos
    exit 0 ;;
     *:OS/390:*:*)
    echo i370-ibm-openedition
    exit 0 ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+   exit 0 ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
    echo arm-acorn-riscix${UNAME_RELEASE}
    exit 0;;
@@ -288,6 +330,13 @@ EOF
     NILE*:*:*:dcosx)
    echo pyramid-pyramid-svr4
    exit 0 ;;
+    DRS?6000:unix:4.0:6*)
+   echo sparc-icl-nx6
+   exit 0 ;;
+    DRS?6000:UNIX_SV:4.2*:7*)
+   case `/usr/bin/uname -p` in
+       sparc) echo sparc-icl-nx7 && exit 0 ;;
+   esac ;;
     sun4H:SunOS:5.*:*)
    echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    exit 0 ;;
@@ -316,7 +365,7 @@ EOF
    echo m68k-sun-sunos${UNAME_RELEASE}
    exit 0 ;;
     sun*:*:4.2BSD:*)
-   UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+   UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
    test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
    case "`/bin/arch`" in
        sun3)
@@ -330,9 +379,6 @@ EOF
     aushp:SunOS:*:*)
    echo sparc-auspex-sunos${UNAME_RELEASE}
    exit 0 ;;
-    atari*:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -359,18 +405,6 @@ EOF
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
         exit 0 ;;
-    sun3*:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    mac68k:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-   echo m88k-unknown-openbsd${UNAME_RELEASE}
-   exit 0 ;;
     powerpc:machten:*:*)
    echo powerpc-apple-machten${UNAME_RELEASE}
    exit 0 ;;
@@ -387,6 +421,7 @@ EOF
    echo clipper-intergraph-clix${UNAME_RELEASE}
    exit 0 ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
+   eval $set_cc_for_build
    sed 's/^    //' << EOF >$dummy.c
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
@@ -408,16 +443,20 @@ EOF
      exit (-1);
    }
 EOF
-   eval $set_cc_for_build
-   $CC_FOR_BUILD $dummy.c -o $dummy \
-     && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-     && rm -f $dummy.c $dummy && exit 0
-   rm -f $dummy.c $dummy
+   $CC_FOR_BUILD -o $dummy $dummy.c \
+     && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+     && exit 0
    echo mips-mips-riscos${UNAME_RELEASE}
    exit 0 ;;
     Motorola:PowerMAX_OS:*:*)
    echo powerpc-motorola-powermax
    exit 0 ;;
+    Motorola:*:4.3:PL8-*)
+   echo powerpc-harris-powermax
+   exit 0 ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+   echo powerpc-harris-powermax
+   exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
    echo powerpc-harris-powerunix
    exit 0 ;;
@@ -478,6 +517,7 @@ EOF
    exit 0 ;;
     *: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
        #include <sys/systemcfg.h>
 
@@ -489,9 +529,7 @@ EOF
            exit(0);
            }
 EOF
-       eval $set_cc_for_build
-       $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-       rm -f $dummy.c $dummy
+       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
        echo rs6000-ibm-aix3.2.5
    elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
        echo rs6000-ibm-aix3.2.4
@@ -500,7 +538,7 @@ EOF
    fi
    exit 0 ;;
     *:AIX:*:[45])
-   IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+   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
        IBM_ARCH=rs6000
    else
@@ -540,10 +578,8 @@ EOF
        9000/31? )            HP_ARCH=m68000 ;;
        9000/[34]?? )         HP_ARCH=m68k ;;
        9000/[678][0-9][0-9])
-              case "${HPUX_REV}" in
-                11.[0-9][0-9])
-                  if [ -x /usr/bin/getconf ]; then
-                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+       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
                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
@@ -552,12 +588,13 @@ EOF
                         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 ;;
-              esac
-              if [ "${HP_ARCH}" = "" ]; then
-              sed 's/^              //' << EOF >$dummy.c
+       fi
+       if [ "${HP_ARCH}" = "" ]; then
+           eval $set_cc_for_build
+           sed 's/^              //' << EOF >$dummy.c
 
               #define _HPUX_SOURCE
               #include <stdlib.h>
@@ -590,12 +627,21 @@ EOF
                   exit (0);
               }
 EOF
-   eval $set_cc_for_build
-   (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-   if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
-   rm -f $dummy.c $dummy
-   fi ;;
+           (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" ]
+   then
+       # avoid double evaluation of $set_cc_for_build
+       test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+       if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+       then
+       HP_ARCH="hppa2.0w"
+       else
+       HP_ARCH="hppa64"
+       fi
+   fi
    echo ${HP_ARCH}-hp-hpux${HPUX_REV}
    exit 0 ;;
     ia64:HP-UX:*:*)
@@ -603,6 +649,7 @@ EOF
    echo ia64-hp-hpux${HPUX_REV}
    exit 0 ;;
     3050*:HI-UX:*:*)
+   eval $set_cc_for_build
    sed 's/^    //' << EOF >$dummy.c
    #include <unistd.h>
    int
@@ -628,9 +675,7 @@ EOF
      exit (0);
    }
 EOF
-   eval $set_cc_for_build
-   $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-   rm -f $dummy.c $dummy
+   $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
    echo unknown-hitachi-hiuxwe2
    exit 0 ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -658,9 +703,6 @@ EOF
     parisc*:Lites*:*:*)
    echo hppa1.1-hp-lites
    exit 0 ;;
-    hppa*:OpenBSD:*:*)
-   echo hppa-unknown-openbsd
-   exit 0 ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
    echo c1-convex-bsd
         exit 0 ;;
@@ -679,9 +721,6 @@ EOF
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
    echo c4-convex-bsd
         exit 0 ;;
-    CRAY*X-MP:*:*:*)
-   echo xmp-cray-unicos
-        exit 0 ;;
     CRAY*Y-MP:*:*:*)
    echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    exit 0 ;;
@@ -694,26 +733,25 @@ EOF
     CRAY*TS:*:*:*)
    echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    exit 0 ;;
-    CRAY*T3D:*:*:*)
-   echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-   exit 0 ;;
     CRAY*T3E:*:*:*)
    echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    exit 0 ;;
     CRAY*SV1:*:*:*)
    echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    exit 0 ;;
-    CRAY-2:*:*:*)
-   echo cray2-cray-unicos
-        exit 0 ;;
+    *:UNICOS/mp:*:*)
+   echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+   exit 0 ;;
     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/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
         exit 0 ;;
-    hp300:OpenBSD:*:*)
-   echo m68k-unknown-openbsd${UNAME_RELEASE}
+    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/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    exit 0 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
    echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -725,10 +763,21 @@ EOF
    echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
    exit 0 ;;
     *:FreeBSD:*:*)
-   echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-   exit 0 ;;
-    *:OpenBSD:*:*)
-   echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+   # Determine whether the default compiler uses glibc.
+   eval $set_cc_for_build
+   sed 's/^    //' << EOF >$dummy.c
+   #include <features.h>
+   #if __GLIBC__ >= 2
+   LIBC=gnu
+   #else
+   LIBC=
+   #endif
+EOF
+   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+   # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
+   # FreeBSD's kernel, but not the complete OS.
+   case ${LIBC} in gnu) kernel_only='k' ;; esac
+   echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
    exit 0 ;;
     i*:CYGWIN*:*)
    echo ${UNAME_MACHINE}-pc-cygwin
@@ -739,11 +788,17 @@ EOF
     i*:PW*:*)
    echo ${UNAME_MACHINE}-pc-pw32
    exit 0 ;;
+    x86:Interix*:[34]*)
+   echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+   exit 0 ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+   echo i${UNAME_MACHINE}-pc-mks
+   exit 0 ;;
     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 i386-pc-interix
+   echo i586-pc-interix
    exit 0 ;;
     i*:UWIN*:*)
    echo ${UNAME_MACHINE}-pc-uwin
@@ -755,25 +810,65 @@ EOF
    echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    exit 0 ;;
     *:GNU:*:*)
+   # the GNU system
    echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
    exit 0 ;;
+    *:GNU/*:*:*)
+   # other systems with GNU libc and userland
+   echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+   exit 0 ;;
     i*86:Minix:*:*)
    echo ${UNAME_MACHINE}-pc-minix
    exit 0 ;;
     arm*:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;
+    cris:Linux:*:*)
+   echo cris-axis-linux-gnu
+   exit 0 ;;
     ia64:Linux:*:*)
-   echo ${UNAME_MACHINE}-unknown-linux
+   echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;
     m68*:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;
     mips:Linux:*:*)
-   case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in
-     big)    echo mips-unknown-linux-gnu && exit 0 ;;
-     little) echo mipsel-unknown-linux-gnu && exit 0 ;;
-   esac
+   eval $set_cc_for_build
+   sed 's/^    //' << EOF >$dummy.c
+   #undef CPU
+   #undef mips
+   #undef mipsel
+   #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+   CPU=mipsel
+   #else
+   #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+   CPU=mips
+   #else
+   CPU=
+   #endif
+   #endif
+EOF
+   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+   test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+   ;;
+    mips64:Linux:*:*)
+   eval $set_cc_for_build
+   sed 's/^    //' << EOF >$dummy.c
+   #undef CPU
+   #undef mips64
+   #undef mips64el
+   #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+   CPU=mips64el
+   #else
+   #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+   CPU=mips64
+   #else
+   CPU=
+   #endif
+   #endif
+EOF
+   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+   test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
    ;;
     ppc:Linux:*:*)
    echo powerpc-unknown-linux-gnu
@@ -789,7 +884,7 @@ EOF
      PCA57) UNAME_MACHINE=alphapca56 ;;
      EV6)   UNAME_MACHINE=alphaev6 ;;
      EV67)  UNAME_MACHINE=alphaev67 ;;
-     EV68*) UNAME_MACHINE=alphaev67 ;;
+     EV68*) UNAME_MACHINE=alphaev68 ;;
         esac
    objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
    if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
@@ -809,6 +904,9 @@ EOF
     s390:Linux:*:* | s390x:Linux:*:*)
    echo ${UNAME_MACHINE}-ibm-linux
    exit 0 ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+   exit 0 ;;
     sh*:Linux:*:*)
    echo ${UNAME_MACHINE}-unknown-linux-gnu
    exit 0 ;;
@@ -822,7 +920,8 @@ EOF
    # The BFD linker knows what the default object file format is, so
    # first see if it will tell us. cd to the root directory to prevent
    # problems with other programs or directories called `ld' in the path.
-   ld_supported_targets=`cd /; ld --help 2>&1 \
+   # Set LC_ALL=C to ensure ld outputs messages in English.
+   ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
             | sed -ne '/supported targets:/!d
                    s/[     ][  ]*/ /g
                    s/.*supported targets: *//
@@ -834,7 +933,7 @@ EOF
        ;;
      a.out-i386-linux)
        echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-       exit 0 ;;       
+       exit 0 ;;
      coff-i386)
        echo "${UNAME_MACHINE}-pc-linux-gnucoff"
        exit 0 ;;
@@ -845,33 +944,32 @@ EOF
        exit 0 ;;
    esac
    # Determine whether the default compiler is a.out or elf
-   cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-   int main (int argc, char *argv[]) {
-#else
-   int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-pc-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-pc-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-pc-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-pc-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
    eval $set_cc_for_build
-   $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-   rm -f $dummy.c $dummy
+   sed 's/^    //' << EOF >$dummy.c
+   #include <features.h>
+   #ifdef __ELF__
+   # ifdef __GLIBC__
+   #  if __GLIBC__ >= 2
+   LIBC=gnu
+   #  else
+   LIBC=gnulibc1
+   #  endif
+   # else
+   LIBC=gnulibc1
+   # endif
+   #else
+   #ifdef __INTEL_COMPILER
+   LIBC=gnu
+   #else
+   LIBC=gnuaout
+   #endif
+   #endif
+   #ifdef __dietlibc__
+   LIBC=dietlibc
+   #endif
+EOF
+   eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+   test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
    test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
    ;;
     i*86:DYNIX/ptx:4*:*)
@@ -888,6 +986,23 @@ EOF
         # Use sysv4.2uw... so that sysv4* matches it.
    echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
    exit 0 ;;
+    i*86:OS/2:*:*)
+   # If we were able to find `uname', then EMX Unix compatibility
+   # is probably installed.
+   echo ${UNAME_MACHINE}-pc-os2-emx
+   exit 0 ;;
+    i*86:XTS-300:*:STOP)
+   echo ${UNAME_MACHINE}-unknown-stop
+   exit 0 ;;
+    i*86:atheos:*:*)
+   echo ${UNAME_MACHINE}-unknown-atheos
+   exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+   echo i386-unknown-lynxos${UNAME_RELEASE}
+   exit 0 ;;
+    i*86:*DOS:*:*)
+   echo ${UNAME_MACHINE}-pc-msdosdjgpp
+   exit 0 ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
    UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
    if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -909,22 +1024,19 @@ EOF
        UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
        echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
    elif /bin/uname -X 2>/dev/null >/dev/null ; then
-       UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-       (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-       (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+       UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+       (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+       (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
            && UNAME_MACHINE=i586
-       (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+       (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
            && UNAME_MACHINE=i686
-       (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+       (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
            && UNAME_MACHINE=i686
        echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
    else
        echo ${UNAME_MACHINE}-pc-sysv32
    fi
    exit 0 ;;
-    i*86:*DOS:*:*)
-   echo ${UNAME_MACHINE}-pc-msdosdjgpp
-   exit 0 ;;
     pc:*:*:*)
    # Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -948,9 +1060,15 @@ EOF
    # "miniframe"
    echo m68010-convergent-sysv
    exit 0 ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+   echo m68k-convergent-sysv
+   exit 0 ;;
+    M680?0:D-NIX:5.3:*)
+   echo m68k-diab-dnix
+   exit 0 ;;
     M68*:*:R3V[567]*:*)
    test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
    OS_REL=''
    test -r /etc/.relid \
    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -967,9 +1085,6 @@ EOF
     mc68030:UNIX_System_V:4.*:*)
    echo m68k-atari-sysv4
    exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-   echo i386-unknown-lynxos${UNAME_RELEASE}
-   exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
    echo sparc-unknown-lynxos${UNAME_RELEASE}
    exit 0 ;;
@@ -1041,6 +1156,9 @@ EOF
     SX-5:SUPER-UX:*:*)
    echo sx5-nec-superux${UNAME_RELEASE}
    exit 0 ;;
+    SX-6:SUPER-UX:*:*)
+   echo sx6-nec-superux${UNAME_RELEASE}
+   exit 0 ;;
     Power*:Rhapsody:*:*)
    echo powerpc-apple-rhapsody${UNAME_RELEASE}
    exit 0 ;;
@@ -1048,18 +1166,24 @@ EOF
    echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
    exit 0 ;;
     *:Darwin:*:*)
-   echo `uname -p`-apple-darwin${UNAME_RELEASE}
+   case `uname -p` in
+       *86) UNAME_PROCESSOR=i686 ;;
+       powerpc) UNAME_PROCESSOR=powerpc ;;
+   esac
+   echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
    exit 0 ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
-   if test "${UNAME_MACHINE}" = "x86pc"; then
+   UNAME_PROCESSOR=`uname -p`
+   if test "$UNAME_PROCESSOR" = "x86"; then
+       UNAME_PROCESSOR=i386
        UNAME_MACHINE=pc
    fi
-   echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+   echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
    exit 0 ;;
     *:QNX:*:4*)
    echo i386-pc-qnx
    exit 0 ;;
-    NSR-[KW]:NONSTOP_KERNEL:*:*)
+    NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
    echo nsr-tandem-nsk${UNAME_RELEASE}
    exit 0 ;;
     *:NonStop-UX:*:*)
@@ -1082,11 +1206,6 @@ EOF
    fi
    echo ${UNAME_MACHINE}-unknown-plan9
    exit 0 ;;
-    i*86:OS/2:*:*)
-   # If we were able to find `uname', then EMX Unix compatibility
-   # is probably installed.
-   echo ${UNAME_MACHINE}-pc-os2-emx
-   exit 0 ;;
     *:TOPS-10:*:*)
    echo pdp10-unknown-tops10
    exit 0 ;;
@@ -1105,14 +1224,15 @@ EOF
     *:ITS:*:*)
    echo pdp10-unknown-its
    exit 0 ;;
-    i*86:XTS-300:*:STOP)
-   echo ${UNAME_MACHINE}-unknown-stop
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
    exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
 
+eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
 # include <sys/types.h>
@@ -1227,9 +1347,7 @@ main ()
 }
 EOF
 
-eval $set_cc_for_build
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
 
 # Apollos put the system type in the environment.
 
index f87dc312cbc8174e32d04b06f0151543dc5ea639..e1e455b776e002a285f2b509eebacce95be1c15d 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2001-08-02'
+timestamp='2003-11-03'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -29,7 +29,8 @@ timestamp='2001-08-02'
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Please send patches to <config-patches@gnu.org>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -117,7 +118,8 @@ esac
 # 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* | storm-chaos* | os2-emx* | windows32-*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -226,31 +228,46 @@ case $basic_machine in
    1750a | 580 \
    | a29k \
    | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+   | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+   | am33_2.0 \
    | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
    | c4x | clipper \
-   | d10v | d30v | dsp16xx \
-   | fr30 \
+   | d10v | d30v | dlx | dsp16xx \
+   | fr30 | frv \
    | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
    | i370 | i860 | i960 | ia64 \
+   | ip2k | iq2000 \
    | m32r | m68000 | m68k | m88k | mcore \
-   | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
-   | mips64vr4100 | mips64vr4100el | mips64vr4300 \
-   | mips64vr4300el | mips64vr5000 | mips64vr5000el \
-   | mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \
+   | mips | mipsbe | mipseb | mipsel | mipsle \
+   | mips16 \
+   | mips64 | mips64el \
+   | mips64vr | mips64vrel \
+   | mips64orion | mips64orionel \
+   | mips64vr4100 | mips64vr4100el \
+   | mips64vr4300 | mips64vr4300el \
+   | mips64vr5000 | mips64vr5000el \
+   | mipsisa32 | mipsisa32el \
+   | mipsisa32r2 | mipsisa32r2el \
+   | mipsisa64 | mipsisa64el \
+   | mipsisa64r2 | mipsisa64r2el \
+   | mipsisa64sb1 | mipsisa64sb1el \
+   | mipsisa64sr71k | mipsisa64sr71kel \
+   | mipstx39 | mipstx39el \
    | mn10200 | mn10300 \
+   | msp430 \
    | ns16k | ns32k \
-   | openrisc \
+   | openrisc | or32 \
    | pdp10 | pdp11 | pj | pjl \
    | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
    | pyramid \
-   | s390 | s390x \
-   | sh | sh[34] | sh[34]eb | shbe | shle \
-   | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
+   | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+   | sh64 | sh64le \
+   | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
    | strongarm \
-   | tahoe | thumb | tic80 | tron \
-   | v850 \
+   | tahoe | thumb | tic4x | tic80 | tron \
+   | v850 | v850e \
    | we32k \
-   | x86 | xscale \
+   | x86 | xscale | xstormy16 | xtensa \
    | z8k)
        basic_machine=$basic_machine-unknown
        ;;
@@ -277,37 +294,56 @@ case $basic_machine in
    580-* \
    | a29k-* \
    | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-   | alphapca5[67]-* | arc-* \
-   | arm-*  | armbe-* | armle-* | armv*-* \
+   | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+   | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+   | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+   | avr-* \
    | bs2000-* \
-   | c[123]* | c30-* | [cjt]90-* | c54x-* \
-   | clipper-* | cray2-* | cydra-* \
-   | d10v-* | d30v-* \
-   | f30[01]-* | f700-* | fr30-* | fx80-* \
+   | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+   | clipper-* | cydra-* \
+   | d10v-* | d30v-* | dlx-* \
+   | elxsi-* \
+   | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
    | h8300-* | h8500-* \
    | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
    | i*86-* | i860-* | i960-* | ia64-* \
+   | ip2k-* | iq2000-* \
    | m32r-* \
-   | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
+   | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
    | m88110-* | m88k-* | mcore-* \
-   | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
-   | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
-   | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \
-   | mipsle-* | mipstx39-* | mipstx39el-* \
-   | none-* | np1-* | ns16k-* | ns32k-* \
+   | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+   | mips16-* \
+   | mips64-* | mips64el-* \
+   | mips64vr-* | mips64vrel-* \
+   | mips64orion-* | mips64orionel-* \
+   | mips64vr4100-* | mips64vr4100el-* \
+   | mips64vr4300-* | mips64vr4300el-* \
+   | mips64vr5000-* | mips64vr5000el-* \
+   | mipsisa32-* | mipsisa32el-* \
+   | mipsisa32r2-* | mipsisa32r2el-* \
+   | mipsisa64-* | mipsisa64el-* \
+   | mipsisa64r2-* | mipsisa64r2el-* \
+   | mipsisa64sb1-* | mipsisa64sb1el-* \
+   | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+   | mipstx39-* | mipstx39el-* \
+   | msp430-* \
+   | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
    | orion-* \
    | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
    | pyramid-* \
    | romp-* | rs6000-* \
-   | s390-* | s390x-* \
-   | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
-   | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
-   | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
-   | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
-   | v850-* | vax-* \
+   | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+   | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+   | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+   | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+   | tahoe-* | thumb-* \
+   | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+   | tron-* \
+   | v850-* | v850e-* | vax-* \
    | we32k-* \
-   | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \
+   | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+   | xtensa-* \
    | ymp-* \
    | z8k-*)
        ;;
@@ -341,6 +377,9 @@ case $basic_machine in
        basic_machine=a29k-none
        os=-bsd
        ;;
+   amd64)
+       basic_machine=x86_64-pc
+       ;;
    amdahl)
        basic_machine=580-amdahl
        os=-sysv
@@ -372,6 +411,10 @@ case $basic_machine in
        basic_machine=ns32k-sequent
        os=-dynix
        ;;
+   c90)
+       basic_machine=c90-cray
+       os=-unicos
+       ;;
    convex-c1)
        basic_machine=c1-convex
        os=-bsd
@@ -392,16 +435,8 @@ case $basic_machine in
        basic_machine=c38-convex
        os=-bsd
        ;;
-   cray | ymp)
-       basic_machine=ymp-cray
-       os=-unicos
-       ;;
-   cray2)
-       basic_machine=cray2-cray
-       os=-unicos
-       ;;
-   [cjt]90)
-       basic_machine=${basic_machine}-cray
+   cray | j90)
+       basic_machine=j90-cray
        os=-unicos
        ;;
    crds | unos)
@@ -416,6 +451,14 @@ case $basic_machine in
    decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
        basic_machine=mips-dec
        ;;
+   decsystem10* | dec10*)
+       basic_machine=pdp10-dec
+       os=-tops10
+       ;;
+   decsystem20* | dec20*)
+       basic_machine=pdp10-dec
+       os=-tops20
+       ;;
    delta | 3300 | motorola-3300 | motorola-delta \
          | 3300-motorola | delta-motorola)
        basic_machine=m68k-motorola
@@ -596,14 +639,6 @@ case $basic_machine in
        basic_machine=m68k-atari
        os=-mint
        ;;
-   mipsel*-linux*)
-       basic_machine=mipsel-unknown
-       os=-linux-gnu
-       ;;
-   mips*-linux*)
-       basic_machine=mips-unknown
-       os=-linux-gnu
-       ;;
    mips3*-*)
        basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
        ;;
@@ -618,6 +653,10 @@ case $basic_machine in
        basic_machine=m68k-rom68k
        os=-coff
        ;;
+   morphos)
+       basic_machine=powerpc-unknown
+       os=-morphos
+       ;;
    msdos)
        basic_machine=i386-pc
        os=-msdos
@@ -690,6 +729,10 @@ case $basic_machine in
    np1)
        basic_machine=np1-gould
        ;;
+   nv1)
+       basic_machine=nv1-cray
+       os=-unicosmp
+       ;;
    nsr-tandem)
        basic_machine=nsr-tandem
        ;;
@@ -697,6 +740,14 @@ case $basic_machine in
        basic_machine=hppa1.1-oki
        os=-proelf
        ;;
+   or32 | or32-*)
+       basic_machine=or32-unknown
+       os=-coff
+       ;;
+   os400)
+       basic_machine=powerpc-ibm
+       os=-os400
+       ;;
    OSE68000 | ose68000)
        basic_machine=m68000-ericsson
        os=-ose
@@ -719,49 +770,55 @@ case $basic_machine in
    pbb)
        basic_machine=m68k-tti
        ;;
-        pc532 | pc532-*)
+   pc532 | pc532-*)
        basic_machine=ns32k-pc532
        ;;
-   pentium | p5 | k5 | k6 | nexgen)
+   pentium | p5 | k5 | k6 | nexgen | viac3)
        basic_machine=i586-pc
        ;;
-   pentiumpro | p6 | 6x86 | athlon)
+   pentiumpro | p6 | 6x86 | athlon | athlon_*)
        basic_machine=i686-pc
        ;;
-   pentiumii | pentium2)
+   pentiumii | pentium2 | pentiumiii | pentium3)
        basic_machine=i686-pc
        ;;
-   pentium-* | p5-* | k5-* | k6-* | nexgen-*)
+   pentium4)
+       basic_machine=i786-pc
+       ;;
+   pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
        basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    pentiumpro-* | p6-* | 6x86-* | athlon-*)
        basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
-   pentiumii-* | pentium2-*)
+   pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
        basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
+   pentium4-*)
+       basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ;;
    pn)
        basic_machine=pn-gould
        ;;
    power)  basic_machine=power-ibm
        ;;
    ppc)    basic_machine=powerpc-unknown
-           ;;
+       ;;
    ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    ppcle | powerpclittle | ppc-le | powerpc-little)
        basic_machine=powerpcle-unknown
-           ;;
+       ;;
    ppcle-* | powerpclittle-*)
        basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    ppc64)  basic_machine=powerpc64-unknown
-           ;;
+       ;;
    ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    ppc64le | powerpc64little | ppc64-le | powerpc64-little)
        basic_machine=powerpc64le-unknown
-           ;;
+       ;;
    ppc64le-* | powerpc64little-*)
        basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
@@ -782,10 +839,26 @@ case $basic_machine in
    rtpc | rtpc-*)
        basic_machine=romp-ibm
        ;;
+   s390 | s390-*)
+       basic_machine=s390-ibm
+       ;;
+   s390x | s390x-*)
+       basic_machine=s390x-ibm
+       ;;
    sa29200)
        basic_machine=a29k-amd
        os=-udi
        ;;
+   sb1)
+       basic_machine=mipsisa64sb1-unknown
+       ;;
+   sb1el)
+       basic_machine=mipsisa64sb1el-unknown
+       ;;
+   sei)
+       basic_machine=mips-sei
+       os=-seiux
+       ;;
    sequent)
        basic_machine=i386-sequent
        ;;
@@ -793,7 +866,10 @@ case $basic_machine in
        basic_machine=sh-hitachi
        os=-hms
        ;;
-   sparclite-wrs)
+   sh64)
+       basic_machine=sh64-unknown
+       ;;
+   sparclite-wrs | simso-wrs)
        basic_machine=sparclite-wrs
        os=-vxworks
        ;;
@@ -860,22 +936,42 @@ case $basic_machine in
        os=-dynix
        ;;
    t3e)
-       basic_machine=t3e-cray
+       basic_machine=alphaev5-cray
+       os=-unicos
+       ;;
+   t90)
+       basic_machine=t90-cray
        os=-unicos
        ;;
    tic54x | c54x*)
        basic_machine=tic54x-unknown
        os=-coff
        ;;
+   tic55x | c55x*)
+       basic_machine=tic55x-unknown
+       os=-coff
+       ;;
+   tic6x | c6x*)
+       basic_machine=tic6x-unknown
+       os=-coff
+       ;;
    tx39)
        basic_machine=mipstx39-unknown
        ;;
    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
@@ -897,8 +993,8 @@ case $basic_machine in
        os=-vms
        ;;
    vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
+       basic_machine=f301-fujitsu
+       ;;
    vxworks960)
        basic_machine=i960-wrs
        os=-vxworks
@@ -919,17 +1015,13 @@ case $basic_machine in
        basic_machine=hppa1.1-winbond
        os=-proelf
        ;;
-   windows32)
-       basic_machine=i386-pc
-       os=-windows32-msvcrt
+   xps | xps100)
+       basic_machine=xps100-honeywell
        ;;
-   xmp)
-       basic_machine=xmp-cray
+   ymp)
+       basic_machine=ymp-cray
        os=-unicos
        ;;
-        xps | xps100)
-       basic_machine=xps100-honeywell
-       ;;
    z8k-*-coff)
        basic_machine=z8k-unknown
        os=-sim
@@ -950,13 +1042,6 @@ case $basic_machine in
    op60c)
        basic_machine=hppa1.1-oki
        ;;
-   mips)
-       if [ x$os = x-linux-gnu ]; then
-           basic_machine=mips-unknown
-       else
-           basic_machine=mips-mips
-       fi
-       ;;
    romp)
        basic_machine=romp-ibm
        ;;
@@ -976,13 +1061,16 @@ case $basic_machine in
    we32k)
        basic_machine=we32k-att
        ;;
-   sh3 | sh4 | sh3eb | sh4eb)
+   sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
        basic_machine=sh-unknown
        ;;
+   sh64)
+       basic_machine=sh64-unknown
+       ;;
    sparc | sparcv9 | sparcv9b)
        basic_machine=sparc-sun
        ;;
-        cydra)
+   cydra)
        basic_machine=cydra-cydrome
        ;;
    orion)
@@ -997,10 +1085,6 @@ case $basic_machine in
    pmac | pmac-mpw)
        basic_machine=powerpc-apple
        ;;
-   c4x*)
-       basic_machine=c4x-none
-       os=-coff
-       ;;
    *-unknown)
        # Make sure to match an already-canonicalized machine name.
        ;;
@@ -1056,17 +1140,19 @@ case $os in
          | -aos* \
          | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
          | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-         | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+         | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
          | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
          | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
          | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
          | -chorusos* | -chorusrdb* \
          | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-         | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-         | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+         | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+         | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
          | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
          | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-         | -os2* | -vos*)
+         | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+         | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+         | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
    # Remember, each alternative MUST END IN *, to match a version number.
        ;;
    -qnx*)
@@ -1078,8 +1164,10 @@ case $os in
            ;;
        esac
        ;;
+   -nto-qnx*)
+       ;;
    -nto*)
-       os=-nto-qnx
+       os=`echo $os | sed -e 's|nto|nto-qnx|'`
        ;;
    -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
          | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
@@ -1088,6 +1176,9 @@ case $os in
    -mac*)
        os=`echo $os | sed -e 's|mac|macos|'`
        ;;
+   -linux-dietlibc)
+       os=-linux-dietlibc
+       ;;
    -linux*)
        os=`echo $os | sed -e 's|linux|linux-gnu|'`
        ;;
@@ -1100,6 +1191,9 @@ case $os in
    -opened*)
        os=-openedition
        ;;
+        -os400*)
+       os=-os400
+       ;;
    -wince*)
        os=-wince
        ;;
@@ -1118,14 +1212,20 @@ case $os in
    -acis*)
        os=-aos
        ;;
+   -atheos*)
+       os=-atheos
+       ;;
    -386bsd)
        os=-bsd
        ;;
    -ctix* | -uts*)
        os=-sysv
        ;;
+   -nova*)
+       os=-rtmk-nova
+       ;;
    -ns2 )
-           os=-nextstep2
+       os=-nextstep2
        ;;
    -nsk*)
        os=-nsk
@@ -1137,6 +1237,9 @@ case $os in
    -sinix*)
        os=-sysv4
        ;;
+        -tpf*)
+       os=-tpf
+       ;;
    -triton*)
        os=-sysv3
        ;;
@@ -1164,8 +1267,14 @@ case $os in
    -xenix)
        os=-xenix
        ;;
-        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-           os=-mint
+   -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+       os=-mint
+       ;;
+   -aros*)
+       os=-aros
+       ;;
+   -kaos*)
+       os=-kaos
        ;;
    -none)
        ;;
@@ -1198,10 +1307,14 @@ case $basic_machine in
    arm*-semi)
        os=-aout
        ;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+   # This must come before the *-dec entry.
    pdp10-*)
        os=-tops20
        ;;
-        pdp11-*)
+   pdp11-*)
        os=-none
        ;;
    *-dec | vax-*)
@@ -1228,6 +1341,9 @@ case $basic_machine in
    mips*-*)
        os=-elf
        ;;
+   or32-*)
+       os=-coff
+       ;;
    *-tti)  # must be before sparc entry or we get the wrong os.
        os=-sysv3
        ;;
@@ -1291,19 +1407,19 @@ case $basic_machine in
    *-next)
        os=-nextstep3
        ;;
-        *-gould)
+   *-gould)
        os=-sysv
        ;;
-        *-highlevel)
+   *-highlevel)
        os=-bsd
        ;;
    *-encore)
        os=-bsd
        ;;
-        *-sgi)
+   *-sgi)
        os=-irix
        ;;
-        *-siemens)
+   *-siemens)
        os=-sysv4
        ;;
    *-masscomp)
@@ -1372,10 +1488,16 @@ case $basic_machine in
            -mvs* | -opened*)
                vendor=ibm
                ;;
+           -os400*)
+               vendor=ibm
+               ;;
            -ptx*)
                vendor=sequent
                ;;
-           -vxsim* | -vxworks*)
+           -tpf*)
+               vendor=ibm
+               ;;
+           -vxsim* | -vxworks* | -windiss*)
                vendor=wrs
                ;;
            -aux*)