#! /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 # Free Software Foundation, Inc.

timestamp='2009-11-20'

# 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., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, 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.

# 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: # 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 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-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/'`
  ;;
*)
  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 \
| 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 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| 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 \
| nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| 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 | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| ubicom32 \
| v850 | v850e \
| we32k \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k | z80)
        basic_machine=$basic_machine-unknown
        ;;
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
        # Motorola 68HC11/12.
        basic_machine=$basic_machine-unknown
        os=-none
        ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
        ;;
ms1)
        basic_machine=mt-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-* \
| 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-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| 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-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| 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-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| 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-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| 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
        ;;
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)
        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'm not sure what “Sysv32” means. Should this be sysv3.2?

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-/'`
        ;;
mvs)
        basic_machine=i370-ibm
        os=-mvs
        ;;
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
        ;;
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)    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/^[^-]*-//'`
        ;;
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
        ;;
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
        ;;
tic54x | c54x*)
        basic_machine=tic54x-unknown
        os=-coff
        ;;
tic55x | c55x*)
        basic_machine=tic55x-unknown
        os=-coff
        ;;
tic6x | c6x*)
        basic_machine=tic6x-unknown
        os=-coff
        ;;
tile*)
        basic_machine=tile-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
        ;;
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* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
      | -mingw32* | -linux-gnu* | -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
        ;;
-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
        ;;
# 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
        # This also exists in the configure program, but was not the
        # default.
        # os=-sunos4
        ;;
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: