pranavjha/text-detector

View on GitHub
third-party/leptonica/config/config.sub

Summary

Maintainability
Test Coverage
#! /bin/sh
# Configuration validation subroutine script.
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
#   2011, 2012 Free Software Foundation, Inc.

timestamp='2012-02-10'

# 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, see <http://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
# 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>.  Submit a context
# diff and a properly formatted GNU ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# 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;hb=HEAD

# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support.  The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.

# 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.

me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
       $0 [OPTION] ALIAS

Canonicalize a configuration name.

Operation modes:
  -h, --help         print this help, then exit
  -t, --time-stamp   print date of last modification, then exit
  -v, --version      print version number, then exit

Report bugs and patches to <config-patches@gnu.org>."

version="\
GNU config.sub ($timestamp)

Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
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."

help="
Try \`$me --help' for more information."

# Parse command line
while test $# -gt 0 ; do
  case $1 in
    --time-stamp | --time* | -t )
       echo "$timestamp" ; exit ;;
    --version | -v )
       echo "$version" ; exit ;;
    --help | --h* | -h )
       echo "$usage"; exit ;;
    -- )     # Stop option processing
       shift; break ;;
    - )    # Use stdin as input.
       break ;;
    -* )
       echo "$me: invalid option $1$help"
       exit 1 ;;

    *local*)
       # First pass through any local machine types.
       echo $1
       exit ;;

    * )
       break ;;
  esac
done

case $# in
 0) echo "$me: missing argument$help" >&2
    exit 1;;
 1) ;;
 *) echo "$me: too many arguments$help" >&2
    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-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
  knetbsd*-gnu* | netbsd*-gnu* | \
  kopensolaris*-gnu* | \
  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

### 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*)
        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
        ;;
    -mint | -mint[0-9]*)
        basic_machine=m68k-atari
        os=-mint
        ;;
esac

# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
    # Recognize the basic CPU types without company name.
    # Some are omitted here because they have special meanings below.
    1750a | 580 \
    | a29k \
    | aarch64 | aarch64_be \
    | 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 | avr32 \
        | be32 | be64 \
    | bfin \
    | c4x | clipper \
    | d10v | d30v | dlx | dsp16xx \
    | epiphany \
    | fido | fr30 | frv \
    | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
    | hexagon \
    | i370 | i860 | i960 | ia64 \
    | ip2k | iq2000 \
    | le32 | le64 \
    | lm32 \
    | m32c | m32r | m32rle | m68000 | m68k | m88k \
    | maxq | mb | microblaze | mcore | mep | metag \
    | mips | mipsbe | mipseb | mipsel | mipsle \
    | mips16 \
    | mips64 | mips64el \
    | mips64octeon | mips64octeonel \
    | mips64orion | mips64orionel \
    | mips64r5900 | mips64r5900el \
    | mips64vr | mips64vrel \
    | mips64vr4100 | mips64vr4100el \
    | mips64vr4300 | mips64vr4300el \
    | mips64vr5000 | mips64vr5000el \
    | mips64vr5900 | mips64vr5900el \
    | mipsisa32 | mipsisa32el \
    | mipsisa32r2 | mipsisa32r2el \
    | mipsisa64 | mipsisa64el \
    | mipsisa64r2 | mipsisa64r2el \
    | mipsisa64sb1 | mipsisa64sb1el \
    | mipsisa64sr71k | mipsisa64sr71kel \
    | mipstx39 | mipstx39el \
    | mn10200 | mn10300 \
    | moxie \
    | mt \
    | msp430 \
    | nds32 | nds32le | nds32be \
    | nios | nios2 \
    | ns16k | ns32k \
    | open8 \
    | or32 \
    | pdp10 | pdp11 | pj | pjl \
    | powerpc | powerpc64 | powerpc64le | powerpcle \
    | pyramid \
    | rl78 | rx \
    | score \
    | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
    | sh64 | sh64le \
    | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
    | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
    | spu \
    | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
    | ubicom32 \
    | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    | we32k \
    | x86 | xc16x | xstormy16 | xtensa \
    | z8k | z80)
        basic_machine=$basic_machine-unknown
        ;;
    c54x)
        basic_machine=tic54x-unknown
        ;;
    c55x)
        basic_machine=tic55x-unknown
        ;;
    c6x)
        basic_machine=tic6x-unknown
        ;;
    m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
        basic_machine=$basic_machine-unknown
        os=-none
        ;;
    m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
        ;;
    ms1)
        basic_machine=mt-unknown
        ;;

    strongarm | thumb | xscale)
        basic_machine=arm-unknown
        ;;
    xgate)
        basic_machine=$basic_machine-unknown
        os=-none
        ;;
    xscaleeb)
        basic_machine=armeb-unknown
        ;;

    xscaleel)
        basic_machine=armel-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*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-* \
    | aarch64-* | aarch64_be-* \
    | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
    | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
    | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
    | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
    | avr-* | avr32-* \
    | be32-* | be64-* \
    | bfin-* | bs2000-* \
    | c[123]* | c30-* | [cjt]90-* | c4x-* \
    | clipper-* | craynv-* | cydra-* \
    | d10v-* | d30v-* | dlx-* \
    | elxsi-* \
    | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
    | h8300-* | h8500-* \
    | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
    | hexagon-* \
    | i*86-* | i860-* | i960-* | ia64-* \
    | ip2k-* | iq2000-* \
    | le32-* | le64-* \
    | lm32-* \
    | m32c-* | m32r-* | m32rle-* \
    | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
    | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
    | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
    | mips16-* \
    | mips64-* | mips64el-* \
    | mips64octeon-* | mips64octeonel-* \
    | mips64orion-* | mips64orionel-* \
    | mips64r5900-* | mips64r5900el-* \
    | mips64vr-* | mips64vrel-* \
    | mips64vr4100-* | mips64vr4100el-* \
    | mips64vr4300-* | mips64vr4300el-* \
    | mips64vr5000-* | mips64vr5000el-* \
    | mips64vr5900-* | mips64vr5900el-* \
    | mipsisa32-* | mipsisa32el-* \
    | mipsisa32r2-* | mipsisa32r2el-* \
    | mipsisa64-* | mipsisa64el-* \
    | mipsisa64r2-* | mipsisa64r2el-* \
    | mipsisa64sb1-* | mipsisa64sb1el-* \
    | mipsisa64sr71k-* | mipsisa64sr71kel-* \
    | mipstx39-* | mipstx39el-* \
    | mmix-* \
    | mt-* \
    | msp430-* \
    | nds32-* | nds32le-* | nds32be-* \
    | nios-* | nios2-* \
    | none-* | np1-* | ns16k-* | ns32k-* \
    | open8-* \
    | orion-* \
    | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
    | pyramid-* \
    | rl78-* | romp-* | rs6000-* | rx-* \
    | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
    | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
    | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
    | sparclite-* \
    | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
    | tahoe-* \
    | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
    | tile*-* \
    | tron-* \
    | ubicom32-* \
    | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
    | vax-* \
    | we32k-* \
    | x86-* | x86_64-* | xc16x-* | xps100-* \
    | xstormy16-* | xtensa*-* \
    | ymp-* \
    | z8k-* | z80-*)
        ;;
    # Recognize the basic CPU types without company name, with glob match.
    xtensa*)
        basic_machine=$basic_machine-unknown
        ;;
    # 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
        ;;
    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
        ;;
    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
        ;;
    bluegene*)
        basic_machine=powerpc-ibm
        os=-cnk
        ;;
    c54x-*)
        basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    c55x-*)
        basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    c6x-*)
        basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    c90)
        basic_machine=c90-cray
        os=-unicos
        ;;
    cegcc)
        basic_machine=arm-unknown
        os=-cegcc
        ;;
    convex-c1)
        basic_machine=c1-convex
        os=-bsd
        ;;
    convex-c2)
        basic_machine=c2-convex
        os=-bsd
        ;;
    convex-c32)
        basic_machine=c32-convex
        os=-bsd
        ;;
    convex-c34)
        basic_machine=c34-convex
        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
        ;;
    cr16 | cr16-*)
        basic_machine=cr16-unknown
        os=-elf
        ;;
    crds | unos)
        basic_machine=m68k-crds
        ;;
    crisv32 | crisv32-* | etraxfs*)
        basic_machine=crisv32-axis
        ;;
    cris | cris-* | etrax*)
        basic_machine=cris-axis
        ;;
    crx)
        basic_machine=crx-unknown
        os=-elf
        ;;
    da30 | da30-*)
        basic_machine=m68k-da30
        ;;
    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
        ;;
    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
        ;;
    dpx2* | dpx2*-bull)
        basic_machine=m68k-bull
        os=-sysv3
        ;;
    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
        ;;
    fx2800)
        basic_machine=i860-alliant
        ;;
    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
        ;;
    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
        ;;
    hp9k2[0-9][0-9] | hp9k31[0-9])
        basic_machine=m68000-hp
        ;;
    hp9k3[2-9][0-9])
        basic_machine=m68k-hp
        ;;
    hp9k6[0-9][0-9] | hp6[0-9][0-9])
        basic_machine=hppa1.0-hp
        ;;
    hp9k7[0-79][0-9] | hp7[0-79][0-9])
        basic_machine=hppa1.1-hp
        ;;
    hp9k78[0-9] | hp78[0-9])
        # FIXME: really hppa2.0-hp
        basic_machine=hppa1.1-hp
        ;;
    hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
        # FIXME: really hppa2.0-hp
        basic_machine=hppa1.1-hp
        ;;
    hp9k8[0-9][13679] | hp8[0-9][13679])
        basic_machine=hppa1.1-hp
        ;;
    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
        ;;
    i*86v4*)
        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
        ;;
    i*86sol2)
        basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
        os=-solaris2
        ;;
    i386mach)
        basic_machine=i386-mach
        os=-mach
        ;;
    i386-vsta | vsta)
        basic_machine=i386-unknown
        os=-vsta
        ;;
    iris | iris4d)
        basic_machine=mips-sgi
        case $os in
            -irix*)
            ;;
            *)
            os=-irix4
            ;;
        esac
        ;;
    isi68 | isi)
        basic_machine=m68k-isi
        os=-sysv
        ;;
    m68knommu)
        basic_machine=m68k-unknown
        os=-linux
        ;;
    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
        ;;
    microblaze)
        basic_machine=microblaze-xilinx
        ;;
    mingw32)
        basic_machine=i386-pc
        os=-mingw32
        ;;
    mingw32ce)
        basic_machine=arm-unknown
        os=-mingw32ce
        ;;
    miniframe)
        basic_machine=m68000-convergent
        ;;
    *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
        basic_machine=m68k-atari
        os=-mint
        ;;
    mips3*-*)
        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
        ;;
    msdos)
        basic_machine=i386-pc
        os=-msdos
        ;;
    ms1-*)
        basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
        ;;
    msys)
        basic_machine=i386-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
        ;;
    news-3600 | risc-news)
        basic_machine=mips-sony
        os=-newsos
        ;;
    necv70)
        basic_machine=v70-nec
        os=-sysv
        ;;
    next | m*-next )
        basic_machine=m68k-next
        case $os in
            -nextstep* )
            ;;
            -ns2*)
              os=-nextstep2
            ;;
            *)
              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
        ;;
    neo-tandem)
        basic_machine=neo-tandem
        ;;
    nse-tandem)
        basic_machine=nse-tandem
        ;;
    nsr-tandem)
        basic_machine=nsr-tandem
        ;;
    op50n-* | op60c-*)
        basic_machine=hppa1.1-oki
        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
        ;;
    parisc-*)
        basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
        os=-linux
        ;;
    pbd)
        basic_machine=sparc-tti
        ;;
    pbb)
        basic_machine=m68k-tti
        ;;
    pc532 | pc532-*)
        basic_machine=ns32k-pc532
        ;;
    pc98)
        basic_machine=i386-pc
        ;;
    pc98-*)
        basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
        ;;
    pentium | p5 | k5 | k6 | nexgen | viac3)
        basic_machine=i586-pc
        ;;
    pentiumpro | p6 | 6x86 | athlon | athlon_*)
        basic_machine=i686-pc
        ;;
    pentiumii | pentium2 | pentiumiii | pentium3)
        basic_machine=i686-pc
        ;;
    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-* | 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 | ppcbe)    basic_machine=powerpc-unknown
        ;;
    ppc-* | ppcbe-*)
        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/^[^-]*-//'`
        ;;
    ps2)
        basic_machine=i386-ibm
        ;;
    pw32)
        basic_machine=i586-unknown
        os=-pw32
        ;;
    rdos)
        basic_machine=i386-pc
        os=-rdos
        ;;
    rom68k)
        basic_machine=m68k-rom68k
        os=-coff
        ;;
    rm[46]00)
        basic_machine=mips-siemens
        ;;
    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
        ;;
    sde)
        basic_machine=mipsisa32-sde
        os=-elf
        ;;
    sei)
        basic_machine=mips-sei
        os=-seiux
        ;;
    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)
        basic_machine=sparclite-wrs
        os=-vxworks
        ;;
    sps7)
        basic_machine=m68k-bull
        os=-sysv2
        ;;
    spur)
        basic_machine=spur-unknown
        ;;
    st2000)
        basic_machine=m68k-tandem
        ;;
    stratus)
        basic_machine=i860-stratus
        os=-sysv4
        ;;
    strongarm-* | thumb-*)
        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
        ;;
    sun4)
        basic_machine=sparc-sun
        ;;
    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
        ;;
    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
        ;;
    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
        ;;
    w65*)
        basic_machine=w65-wdc
        os=-none
        ;;
    w89k-*)
        basic_machine=hppa1.1-winbond
        os=-proelf
        ;;
    xbox)
        basic_machine=i686-pc
        os=-mingw32
        ;;
    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
        ;;
    none)
        basic_machine=none-none
        os=-none
        ;;

# 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.
    w89k)
        basic_machine=hppa1.1-winbond
        ;;
    op50n)
        basic_machine=hppa1.1-oki
        ;;
    op60c)
        basic_machine=hppa1.1-oki
        ;;
    romp)
        basic_machine=romp-ibm
        ;;
    mmix)
        basic_machine=mmix-knuth
        ;;
    rs6000)
        basic_machine=rs6000-ibm
        ;;
    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
        ;;
    we32k)
        basic_machine=we32k-att
        ;;
    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
        ;;
    orion)
        basic_machine=orion-highlevel
        ;;
    orion105)
        basic_machine=clipper-highlevel
        ;;
    mac | mpw | mac-mpw)
        basic_machine=m68k-apple
        ;;
    pmac | pmac-mpw)
        basic_machine=powerpc-apple
        ;;
    *-unknown)
        # Make sure to match an already-canonicalized machine name.
        ;;
    *)
        echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
        exit 1
        ;;
esac

# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
    *-digital*)
        basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
        ;;
    *-commodore*)
        basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
        ;;
    *)
        ;;
esac

# Decode manufacturer-specific aliases for certain operating systems.

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
        ;;
    -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.
    # -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* \
          | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
          | -aos* | -aros* \
          | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
          | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
          | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
          | -openbsd* | -solidbsd* \
          | -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* \
          | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
          | -mingw32* | -linux-gnu* | -linux-android* \
          | -linux-newlib* | -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* | -palmos* | -uclinux* | -nucleus* \
          | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
          | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
          | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
    # Remember, each alternative MUST END IN *, to match a version number.
        ;;
    -qnx*)
        case $basic_machine in
            x86-* | i*86-*)
            ;;
            *)
            os=-nto$os
            ;;
        esac
        ;;
    -nto-qnx*)
        ;;
    -nto*)
        os=`echo $os | sed -e 's|nto|nto-qnx|'`
        ;;
    -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
          | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
          | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
        ;;
    -mac*)
        os=`echo $os | sed -e 's|mac|macos|'`
        ;;
    -linux-dietlibc)
        os=-linux-dietlibc
        ;;
    -linux*)
        os=`echo $os | sed -e 's|linux|linux-gnu|'`
        ;;
    -sunos5*)
        os=`echo $os | sed -e 's|sunos5|solaris2|'`
        ;;
    -sunos6*)
        os=`echo $os | sed -e 's|sunos6|solaris3|'`
        ;;
    -opened*)
        os=-openedition
        ;;
    -os400*)
        os=-os400
        ;;
    -wince*)
        os=-wince
        ;;
    -osfrose*)
        os=-osfrose
        ;;
    -osf*)
        os=-osf
        ;;
    -utek*)
        os=-bsd
        ;;
    -dynix*)
        os=-bsd
        ;;
    -acis*)
        os=-aos
        ;;
    -atheos*)
        os=-atheos
        ;;
    -syllable*)
        os=-syllable
        ;;
    -386bsd)
        os=-bsd
        ;;
    -ctix* | -uts*)
        os=-sysv
        ;;
    -nova*)
        os=-rtmk-nova
        ;;
    -ns2 )
        os=-nextstep2
        ;;
    -nsk*)
        os=-nsk
        ;;
    # Preserve the version number of sinix5.
    -sinix5.*)
        os=`echo $os | sed -e 's|sinix|sysv|'`
        ;;
    -sinix*)
        os=-sysv4
        ;;
    -tpf*)
        os=-tpf
        ;;
    -triton*)
        os=-sysv3
        ;;
    -oss*)
        os=-sysv3
        ;;
    -svr4)
        os=-sysv4
        ;;
    -svr3)
        os=-sysv3
        ;;
    -sysvr4)
        os=-sysv4
        ;;
    # This must come after -sysvr4.
    -sysv*)
        ;;
    -ose*)
        os=-ose
        ;;
    -es1800*)
        os=-ose
        ;;
    -xenix)
        os=-xenix
        ;;
    -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
        os=-mint
        ;;
    -aros*)
        os=-aros
        ;;
    -kaos*)
        os=-kaos
        ;;
    -zvmoe)
        os=-zvmoe
        ;;
    -dicos*)
        os=-dicos
        ;;
    -nacl*)
        ;;
    -none)
        ;;
    *)
        # Get rid of the `-' at the beginning of $os.
        os=`echo $os | sed 's/[^-]*-//'`
        echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
        exit 1
        ;;
esac
else

# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.

# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system.  Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.

case $basic_machine in
    score-*)
        os=-elf
        ;;
    spu-*)
        os=-elf
        ;;
    *-acorn)
        os=-riscix1.2
        ;;
    arm*-rebel)
        os=-linux
        ;;
    arm*-semi)
        os=-aout
        ;;
    c4x-* | tic4x-*)
        os=-coff
        ;;
    tic54x-*)
        os=-coff
        ;;
    tic55x-*)
        os=-coff
        ;;
    tic6x-*)
        os=-coff
        ;;
    # This must come before the *-dec entry.
    pdp10-*)
        os=-tops20
        ;;
    pdp11-*)
        os=-none
        ;;
    *-dec | vax-*)
        os=-ultrix4.2
        ;;
    m68*-apollo)
        os=-domain
        ;;
    i386-sun)
        os=-sunos4.0.2
        ;;
    m68000-sun)
        os=-sunos3
        ;;
    m68*-cisco)
        os=-aout
        ;;
    mep-*)
        os=-elf
        ;;
    mips*-cisco)
        os=-elf
        ;;
    mips*-*)
        os=-elf
        ;;
    or32-*)
        os=-coff
        ;;
    *-tti)    # must be before sparc entry or we get the wrong os.
        os=-sysv3
        ;;
    sparc-* | *-sun)
        os=-sunos4.1.1
        ;;
    *-be)
        os=-beos
        ;;
    *-haiku)
        os=-haiku
        ;;
    *-ibm)
        os=-aix
        ;;
    *-knuth)
        os=-mmixware
        ;;
    *-wec)
        os=-proelf
        ;;
    *-winbond)
        os=-proelf
        ;;
    *-oki)
        os=-proelf
        ;;
    *-hp)
        os=-hpux
        ;;
    *-hitachi)
        os=-hiux
        ;;
    i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
        os=-sysv
        ;;
    *-cbm)
        os=-amigaos
        ;;
    *-dg)
        os=-dgux
        ;;
    *-dolphin)
        os=-sysv3
        ;;
    m68k-ccur)
        os=-rtu
        ;;
    m88k-omron*)
        os=-luna
        ;;
    *-next )
        os=-nextstep
        ;;
    *-sequent)
        os=-ptx
        ;;
    *-crds)
        os=-unos
        ;;
    *-ns)
        os=-genix
        ;;
    i370-*)
        os=-mvs
        ;;
    *-next)
        os=-nextstep3
        ;;
    *-gould)
        os=-sysv
        ;;
    *-highlevel)
        os=-bsd
        ;;
    *-encore)
        os=-bsd
        ;;
    *-sgi)
        os=-irix
        ;;
    *-siemens)
        os=-sysv4
        ;;
    *-masscomp)
        os=-rtu
        ;;
    f30[01]-fujitsu | f700-fujitsu)
        os=-uxpv
        ;;
    *-rom68k)
        os=-coff
        ;;
    *-*bug)
        os=-coff
        ;;
    *-apple)
        os=-macos
        ;;
    *-atari*)
        os=-mint
        ;;
    *)
        os=-none
        ;;
esac
fi

# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer.  We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
    *-unknown)
        case $os in
            -riscix*)
                vendor=acorn
                ;;
            -sunos*)
                vendor=sun
                ;;
            -cnk*|-aix*)
                vendor=ibm
                ;;
            -beos*)
                vendor=be
                ;;
            -hpux*)
                vendor=hp
                ;;
            -mpeix*)
                vendor=hp
                ;;
            -hiux*)
                vendor=hitachi
                ;;
            -unos*)
                vendor=crds
                ;;
            -dgux*)
                vendor=dg
                ;;
            -luna*)
                vendor=omron
                ;;
            -genix*)
                vendor=ns
                ;;
            -mvs* | -opened*)
                vendor=ibm
                ;;
            -os400*)
                vendor=ibm
                ;;
            -ptx*)
                vendor=sequent
                ;;
            -tpf*)
                vendor=ibm
                ;;
            -vxsim* | -vxworks* | -windiss*)
                vendor=wrs
                ;;
            -aux*)
                vendor=apple
                ;;
            -hms*)
                vendor=hitachi
                ;;
            -mpw* | -macos*)
                vendor=apple
                ;;
            -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
                vendor=atari
                ;;
            -vos*)
                vendor=stratus
                ;;
        esac
        basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
        ;;
esac

echo $basic_machine$os
exit

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End: