(change-log-font-lock-keywords): Add more to prev change.
[bpt/emacs.git] / config.sub
index fc1c5c4..ec305d2 100755 (executable)
@@ -1,24 +1,29 @@
-#!/bin/sh
+#! /bin/sh
 # Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+#   Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can. 
-
-#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
-#the Free Software Foundation; either version 2 of the License, or
-#(at your option) any later version.
-
-#This program is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with this program; if not, write to the Free Software
-#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
 
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
 # The goal of this file is to map all the various variations of a given
 # machine specification into a single specification in the form:
 #      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
+if [ x$1 = x ]
+then
+       echo Configuration name missing. 1>&2
+       echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+       echo "or     $0 ALIAS" 1>&2
+       echo where ALIAS is a recognized configuration type. 1>&2
+       exit 1
+fi
+
 # First pass through any local machine types.
 case $1 in
        *local*)
@@ -48,11 +64,21 @@ case $1 in
        ;;
 esac
 
-# Separate what the user gave into CPU-COMPANY and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/.*-/-/'`
-else os=; fi
+# 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
+  linux-gnu*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
 
 ### Let's recognize common machines as not being operating systems so
 ### that things like config.sub decstation-3100 work.  We also
@@ -64,92 +90,144 @@ case $os in
                ;;
        -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 | \
+       -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 )
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple)
                os=
                basic_machine=$1
                ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -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-unknown/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
        -sco*)
                os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
                ;;
        -isc)
                os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+               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-unknown/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
                ;;
 esac
 
 # Decode aliases for certain CPU-COMPANY combinations.
 case $basic_machine in
-       # Recognize the basic CPU types with without company name.
+       # Recognize the basic CPU types without company name.
        # Some are omitted here because they have special meanings below.
-       tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
-               | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
-               | alpha | we32k | ns16k | clipper | sparclite | i370 | sh)
+       tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arm \
+               | arme[lb] | pyramid | mn10200 | mn10300 \
+               | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
+               | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
+               | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
+               | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
+               | mipstx39 | mipstx39el \
+               | sparc | sparclet | sparclite | sparc64)
                basic_machine=$basic_machine-unknown
                ;;
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i[3456]86)
+         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 with company name.
-       vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
-             | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
+       # Recognize the basic CPU types with company name.
+       vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+             | m88k-* | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
              | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-             | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
-             | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
-             | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
-             | sh-*)
+             | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
+             | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
+             | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
+             | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
+             | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+             | sparc64-* | mips64-* | mipsel-* \
+             | mips64el-* | mips64orion-* | mips64orionel-*  \
+             | mipstx39-* | mipstx39el-* \
+             | f301-*)
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
                ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
+       3b*)
+               basic_machine=we32k-att
                ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               os=-mvs
+       alliant | fx80)
+               basic_machine=fx80-alliant
                ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-       i[34]86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
-               os=-sysv32
+       altos | altos3068)
+               basic_machine=m68k-altos
                ;;
-       i[34]86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
-               os=-sysv4
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
                ;;
-       i[34]86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+       amdahl)
+               basic_machine=580-amdahl
                os=-sysv
                ;;
-       i[34]86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
-               os=-solaris2
+       amiga | amiga-*)
+               basic_machine=m68k-cbm
                ;;
-       spur)
-               basic_machine=spur-unknown
+       amigados)
+               basic_machine=m68k-cbm
+               os=-amigados
                ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
+       amigaunix | amix)
+               basic_machine=m68k-cbm
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
                ;;
        convex-c1)
                basic_machine=c1-convex
@@ -171,16 +249,47 @@ case $basic_machine in
                basic_machine=c38-convex
                os=-bsd
                ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
+       cray | ymp)
+               basic_machine=ymp-cray
+               os=-unicos
                ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
+       cray2)
+               basic_machine=cray2-cray
+               os=-unicos
+               ;;
+       [ctj]90-cray)
+               basic_machine=c90-cray
+               os=-unicos
                ;;
        crds | unos)
                basic_machine=m68k-crds
                ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
        elxsi)
                basic_machine=elxsi-elxsi
                os=-bsd
@@ -188,9 +297,75 @@ case $basic_machine in
        encore | umax | mmax)
                basic_machine=ns32k-encore
                ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
        genix)
                basic_machine=ns32k-ns
                ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i[3456]86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i[3456]86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i[3456]86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i[3456]86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
        iris | iris4d)
                basic_machine=mips-sgi
                case $os in
@@ -201,223 +376,229 @@ case $basic_machine in
                        ;;
                esac
                ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
                ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
+       m88k-omron*)
+               basic_machine=m88k-omron
                ;;
-        pc532)
-               basic_machine=ns32k-pc532
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
                ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
                ;;
-       sun2)
-               basic_machine=m68000-sun
+       miniframe)
+               basic_machine=m68000-convergent
                ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
+       mipsel*-linux*)
+               basic_machine=mipsel-unknown
+               os=-linux-gnu
                ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
+       mips*-linux*)
+               basic_machine=mips-unknown
+               os=-linux-gnu
                ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
                ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
                ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
                ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
                ;;
-       sun3)
-               basic_machine=m68k-sun
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
                ;;
-       sun4)
-               basic_machine=sparc-sun
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
                ;;
-       pbd)
-               basic_machine=sparc-tti
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
                ;;
-       pbb)
-               basic_machine=m68k-tti
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
                ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
                ;;
-       ps2)
-               basic_machine=i386-ibm
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
                ;;
-       fx2800)
-               basic_machine=i860-alliant
+       np1)
+               basic_machine=np1-gould
                ;;
-       next)
-               basic_machine=m68k-next
-               os=-bsd
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
                ;;
-       amiga)
-               basic_machine=m68k-cbm
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
                ;;
-       amigados)
-               basic_machine=m68k-cbm
-               os=-amigados
+       pbd)
+               basic_machine=sparc-tti
                ;;
-       amigaunix | amix)
-               basic_machine=m68k-cbm
-               os=-sysv4
+       pbb)
+               basic_machine=m68k-tti
                ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
+        pc532 | pc532-*)
+               basic_machine=ns32k-pc532
                ;;
-       hp9k31[0-9] | hp9k2[0-9][0-9])
-               basic_machine=m68000-hp
+       pentium | p5)
+               basic_machine=i586-intel
                ;;
-       hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
-               basic_machine=hppa1.1-hp
+       pentiumpro | p6)
+               basic_machine=i686-intel
                ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
+       pentium-* | p5-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
+       pentiumpro-* | p6-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
+       k5)
+               # We don't have specific support for AMD's K5 yet, so just call it a Pentium
+               basic_machine=i586-amd
                ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
+       nexen)
+               # We don't have specific support for Nexgen yet, so just call it a Pentium
+               basic_machine=i586-nexgen
                ;;
-       miniframe)
-               basic_machine=m68000-convergent
+       pn)
+               basic_machine=pn-gould
                ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
+       power)  basic_machine=rs6000-ibm
                ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
                ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
+       ps2)
+               basic_machine=i386-ibm
                ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
+       rm[46]00)
+               basic_machine=mips-siemens
                ;;
        rtpc | rtpc-*)
                basic_machine=romp-ibm
                ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
+       sequent)
+               basic_machine=i386-sequent
                ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
                ;;
-       cray | ymp)
-               basic_machine=ymp-cray
-               os=-unicos
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
                ;;
-       cray2)
-               basic_machine=cray2-cray
-               os=-unicos
+       spur)
+               basic_machine=spur-unknown
                ;;
-       xmp)
-               basic_machine=xmp-cray
-               os=-unicos
+       sun2)
+               basic_machine=m68000-sun
                ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
                ;;
-       dpx2)
-               basic_machine=m68k-bull
-               os=-sysv
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
                ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
                ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
                ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
                ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
                ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
                ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
                ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               os=-hpux
+       sun4)
+               basic_machine=sparc-sun
                ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               os=-hpux
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
                ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
                ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
+       tx39)
+               basic_machine=mipstx39-unknown
                ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
+       tx39el)
+               basic_machine=mipstx39el-unknown
                ;;
-       pn)
-               basic_machine=pn-gould
+       tower | tower-32)
+               basic_machine=m68k-ncr
                ;;
-       np1)
-               basic_machine=np1-gould
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
                ;;
        ultra3)
                basic_machine=a29k-nyu
                os=-sym1
                ;;
+       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
@@ -426,6 +607,14 @@ case $basic_machine in
                basic_machine=m68k-wrs
                os=-vxworks
                ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       xmp)
+               basic_machine=xmp-cray
+               os=-unicos
+               ;;
         xps | xps100)
                basic_machine=xps100-honeywell
                ;;
@@ -437,7 +626,11 @@ case $basic_machine in
 # Here we handle the default manufacturer of certain CPU types.  It is in
 # some cases the only manufacturer, in others, it is the most popular.
        mips)
-               basic_machine=mips-mips
+               if [ x$os = x-linux-gnu ]; then
+                       basic_machine=mips-unknown
+               else
+                       basic_machine=mips-mips
+               fi
                ;;
        romp)
                basic_machine=romp-ibm
@@ -448,6 +641,9 @@ case $basic_machine in
        vax)
                basic_machine=vax-dec
                ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
        we32k)
                basic_machine=we32k-att
                ;;
@@ -483,23 +679,47 @@ esac
 
 # Decode manufacturer-specific aliases for certain operating systems.
 
-if [ "$os" ]
+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.
        -solaris1 | -solaris1.*)
                os=`echo $os | sed -e 's|solaris1|sunos4|'`
                ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
        # First accept the basic system types.
        # The portable systems comes first.
-       # Each alternative must end in a *, to match a version number.
-       -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]* | -hpux* \
-             | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-             | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
-             | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
-             | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -386bsd*)
+       # 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* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+             | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+             | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -uxpv*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
        -sunos5*)
                os=`echo $os | sed -e 's|sunos5|solaris2|'`
@@ -525,6 +745,16 @@ case $os in
        -ctix* | -uts*)
                os=-sysv
                ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
        -triton*)
                os=-sysv3
                ;;
@@ -534,11 +764,14 @@ case $os in
        -svr4)
                os=-sysv4
                ;;
+       -svr3)
+               os=-sysv3
+               ;;
        -sysvr4)
                os=-sysv4
                ;;
-       -svr3)
-               os=-sysv3
+       # This must come after -sysvr4.
+       -sysv*)
                ;;
        -xenix)
                os=-xenix
@@ -547,7 +780,7 @@ case $os in
                ;;
        *)
                # Get rid of the `-' at the beginning of $os.
-               os=`echo $1 | sed 's/[^-]*-//'`
+               os=`echo $os | sed 's/[^-]*-//'`
                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
                exit 1
                ;;
@@ -565,9 +798,21 @@ else
 # system, and we'll never get to this point.
 
 case $basic_machine in
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        pdp11-*)
+               os=-none
+               ;;
        *-dec | vax-*)
                os=-ultrix4.2
                ;;
+       m68*-apollo)
+               os=-domain
+               ;;
        i386-sun)
                os=-sunos4.0.2
                ;;
@@ -589,6 +834,9 @@ case $basic_machine in
        *-hp)
                os=-hpux
                ;;
+       *-hitachi)
+               os=-hiux
+               ;;
        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
                os=-sysv
                ;;
@@ -601,11 +849,17 @@ case $basic_machine in
        *-dolphin)
                os=-sysv3
                ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
        m88k-omron*)
                os=-luna
                ;;
+       *-next )
+               os=-nextstep
+               ;;
        *-sequent)
-               os=-bsd
+               os=-ptx
                ;;
        *-crds)
                os=-unos
@@ -617,10 +871,7 @@ case $basic_machine in
                os=-mvs
                ;;
        *-next)
-               os=-bsd
-               ;;
-       i[34]86-*)
-               os=-sco3.2v2
+               os=-nextstep3
                ;;
         *-gould)
                os=-sysv
@@ -634,9 +885,15 @@ case $basic_machine in
         *-sgi)
                os=-irix
                ;;
+        *-siemens)
+               os=-sysv4
+               ;;
        *-masscomp)
                os=-rtu
                ;;
+       f301-fujitsu)
+               os=-uxpv
+               ;;
        *)
                os=-none
                ;;
@@ -649,6 +906,9 @@ vendor=unknown
 case $basic_machine in
        *-unknown)
                case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
                        -sunos*)
                                vendor=sun
                                ;;
@@ -658,6 +918,9 @@ case $basic_machine in
                        -hpux*)
                                vendor=hp
                                ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
                        -unos*)
                                vendor=crds
                                ;;
@@ -673,6 +936,15 @@ case $basic_machine in
                        -mvs*)
                                vendor=ibm
                                ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -vxsim* | -vxworks*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
                esac
                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
                ;;