#! /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# Free Software Foundation, Inc.timestamp='2008-01-16'# 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 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.# 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] ALIASCanonicalize 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 exitReport 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 NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."help="Try \`$me --help' for more information."# Parse command linewhile test $# -gt 0 ; docase $1 in--time-stamp | --time* | -t )echo "$timestamp" ; exit ;;--version | -v )echo "$version" ; exit ;;--help | --h* | -h )echo "$usage"; exit ;;-- ) # Stop option processingshift; break ;;- ) # Use stdin as input.break ;;-* )echo "$me: invalid option $1$help"exit 1 ;;*local*)# First pass through any local machine types.echo $1exit ;;* )break ;;esacdonecase $# in0) echo "$me: missing argument$help" >&2exit 1;;1) ;;*) echo "$me: too many arguments$help" >&2exit 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 innto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \storm-chaos* | os2-emx* | rtmk-nova*)os=-$maybe_osbasic_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)os=basic_machine=$1;;-sim | -cisco | -oki | -wec | -winbond)os=basic_machine=$1;;-scout);;-wrs)os=-vxworksbasic_machine=$1;;-chorusos*)os=-chorusosbasic_machine=$1;;-chorusrdb)os=-chorusrdbbasic_machine=$1;;-hiux*)os=-hiuxwe2;;-sco6)os=-sco5v6basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`;;-sco5)os=-sco3.2v5basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`;;-sco4)os=-sco3.2v4basic_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.2v2basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`;;-udk*)basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`;;-isc)os=-isc2.2basic_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-atarios=-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 \| m32c | m32r | m32rle | m68000 | m68k | m88k \| maxq | mb | microblaze | mcore | mep \| mips | mipsbe | mipseb | mipsel | mipsle \| mips16 \| mips64 | mips64el \| mips64vr | mips64vrel \| mips64orion | mips64orionel \| mips64vr4100 | mips64vr4100el \| mips64vr4300 | mips64vr4300el \| mips64vr5000 | mips64vr5000el \| mips64vr5900 | mips64vr5900el \| mipsisa32 | mipsisa32el \| mipsisa32r2 | mipsisa32r2el \| mipsisa64 | mipsisa64el \| mipsisa64r2 | mipsisa64r2el \| mipsisa64sb1 | mipsisa64sb1el \| mipsisa64sr71k | mipsisa64sr71kel \| mipstx39 | mipstx39el \| mn10200 | mn10300 \| mt \| msp430 \| nios | nios2 \| ns16k | ns32k \| or32 \| pdp10 | pdp11 | pj | pjl \| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \| pyramid \| score \| sh | sh[1234] | sh[24]a | 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 \| v850 | v850e \| we32k \| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \| z8k)basic_machine=$basic_machine-unknown;;m6811 | m68hc11 | m6812 | m68hc12)# Motorola 68HC11/12.basic_machine=$basic_machine-unknownos=-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>&2exit 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-* \| m32c-* | m32r-* | m32rle-* \| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \| m88110-* | m88k-* | maxq-* | mcore-* \| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \| mips16-* \| mips64-* | mips64el-* \| mips64vr-* | mips64vrel-* \| mips64orion-* | mips64orionel-* \| 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-* \| sh-* | sh[1234]-* | sh[24]a-* | 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-* \| tron-* \| v850-* | v850e-* | vax-* \| we32k-* \| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \| xstormy16-* | xtensa*-* \| ymp-* \| z8k-*);;# 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-unknownos=-bsd;;3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)basic_machine=m68000-att;;3b*)basic_machine=we32k-att;;a29khif)basic_machine=a29k-amdos=-udi;;abacus)basic_machine=abacus-unknown;;adobe68k)basic_machine=m68010-adobeos=-scout;;alliant | fx80)basic_machine=fx80-alliant;;altos | altos3068)basic_machine=m68k-altos;;am29k)basic_machine=a29k-noneos=-bsd;;amd64)basic_machine=x86_64-pc;;amd64-*)basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`;;amdahl)basic_machine=580-amdahlos=-sysv;;amiga | amiga-*)basic_machine=m68k-unknown;;amigaos | amigados)basic_machine=m68k-unknownos=-amigaos;;amigaunix | amix)basic_machine=m68k-unknownos=-sysv4;;apollo68)basic_machine=m68k-apolloos=-sysv;;apollo68bsd)basic_machine=m68k-apolloos=-bsd;;aux)basic_machine=m68k-appleos=-aux;;balance)basic_machine=ns32k-sequentos=-dynix;;blackfin)basic_machine=bfin-unknownos=-linux;;blackfin-*)basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`os=-linux;;c90)basic_machine=c90-crayos=-unicos;;convex-c1)basic_machine=c1-convexos=-bsd;;convex-c2)basic_machine=c2-convexos=-bsd;;convex-c32)basic_machine=c32-convexos=-bsd;;convex-c34)basic_machine=c34-convexos=-bsd;;convex-c38)basic_machine=c38-convexos=-bsd;;cray | j90)basic_machine=j90-crayos=-unicos;;craynv)basic_machine=craynv-crayos=-unicosmp;;cr16)basic_machine=cr16-unknownos=-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-unknownos=-elf;;da30 | da30-*)basic_machine=m68k-da30;;decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)basic_machine=mips-dec;;decsystem10* | dec10*)basic_machine=pdp10-decos=-tops10;;decsystem20* | dec20*)basic_machine=pdp10-decos=-tops20;;delta | 3300 | motorola-3300 | motorola-delta \| 3300-motorola | delta-motorola)basic_machine=m68k-motorola;;delta88)basic_machine=m88k-motorolaos=-sysv3;;djgpp)basic_machine=i586-pcos=-msdosdjgpp;;dpx20 | dpx20-*)basic_machine=rs6000-bullos=-bosx;;dpx2* | dpx2*-bull)basic_machine=m68k-bullos=-sysv3;;ebmon29k)basic_machine=a29k-amdos=-ebmon;;elxsi)basic_machine=elxsi-elxsios=-bsd;;encore | umax | mmax)basic_machine=ns32k-encore;;es1800 | OSE68k | ose68k | ose | OSE)basic_machine=m68k-ericssonos=-ose;;fx2800)basic_machine=i860-alliant;;genix)basic_machine=ns32k-ns;;gmicro)basic_machine=tron-gmicroos=-sysv;;go32)basic_machine=i386-pcos=-go32;;h3050r* | hiux*)basic_machine=hppa1.1-hitachios=-hiuxwe2;;h8300hms)basic_machine=h8300-hitachios=-hms;;h8300xray)basic_machine=h8300-hitachios=-xray;;h8500hms)basic_machine=h8500-hitachios=-hms;;harris)basic_machine=m88k-harrisos=-sysv3;;hp300-*)basic_machine=m68k-hp;;hp300bsd)basic_machine=m68k-hpos=-bsd;;hp300hpux)basic_machine=m68k-hpos=-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-hpbasic_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-hpbasic_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-hpos=-osf;;hppro)basic_machine=hppa1.1-hpos=-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-machos=-mach;;i386-vsta | vsta)basic_machine=i386-unknownos=-vsta;;iris | iris4d)basic_machine=mips-sgicase $os in-irix*);;*)os=-irix4;;esac;;isi68 | isi)basic_machine=m68k-isios=-sysv;;m68knommu)basic_machine=m68k-unknownos=-linux;;m68knommu-*)basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`os=-linux;;m88k-omron*)basic_machine=m88k-omron;;magnum | m3230)basic_machine=mips-mipsos=-sysv;;merlin)basic_machine=ns32k-utekos=-sysv;;mingw32)basic_machine=i386-pcos=-mingw32;;mingw32ce)basic_machine=arm-unknownos=-mingw32ce;;miniframe)basic_machine=m68000-convergent;;*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)basic_machine=m68k-atarios=-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-rom68kos=-coff;;morphos)basic_machine=powerpc-unknownos=-morphos;;msdos)basic_machine=i386-pcos=-msdos;;ms1-*)basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`;;mvs)basic_machine=i370-ibmos=-mvs;;ncr3000)basic_machine=i486-ncros=-sysv4;;netbsd386)basic_machine=i386-unknownos=-netbsd;;netwinder)basic_machine=armv4l-rebelos=-linux;;news | news700 | news800 | news900)basic_machine=m68k-sonyos=-newsos;;news1000)basic_machine=m68030-sonyos=-newsos;;news-3600 | risc-news)basic_machine=mips-sonyos=-newsos;;necv70)basic_machine=v70-necos=-sysv;;next | m*-next )basic_machine=m68k-nextcase $os in-nextstep* );;-ns2*)os=-nextstep2;;*)os=-nextstep3;;esac;;nh3000)basic_machine=m68k-harrisos=-cxux;;nh[45]000)basic_machine=m88k-harrisos=-cxux;;nindy960)basic_machine=i960-intelos=-nindy;;mon960)basic_machine=i960-intelos=-mon960;;nonstopux)basic_machine=mips-compaqos=-nonstopux;;np1)basic_machine=np1-gould;;nsr-tandem)basic_machine=nsr-tandem;;op50n-* | op60c-*)basic_machine=hppa1.1-okios=-proelf;;openrisc | openrisc-*)basic_machine=or32-unknown;;os400)basic_machine=powerpc-ibmos=-os400;;OSE68000 | ose68000)basic_machine=m68000-ericssonos=-ose;;os68k)basic_machine=m68k-noneos=-os68k;;pa-hitachi)basic_machine=hppa1.1-hitachios=-hiuxwe2;;paragon)basic_machine=i860-intelos=-osf;;parisc)basic_machine=hppa-unknownos=-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-unknownos=-pw32;;rdos)basic_machine=i386-pcos=-rdos;;rom68k)basic_machine=m68k-rom68kos=-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-amdos=-udi;;sb1)basic_machine=mipsisa64sb1-unknown;;sb1el)basic_machine=mipsisa64sb1el-unknown;;sde)basic_machine=mipsisa32-sdeos=-elf;;sei)basic_machine=mips-seios=-seiux;;sequent)basic_machine=i386-sequent;;sh)basic_machine=sh-hitachios=-hms;;sh5el)basic_machine=sh5le-unknown;;sh64)basic_machine=sh64-unknown;;sparclite-wrs | simso-wrs)basic_machine=sparclite-wrsos=-vxworks;;sps7)basic_machine=m68k-bullos=-sysv2;;spur)basic_machine=spur-unknown;;st2000)basic_machine=m68k-tandem;;stratus)basic_machine=i860-stratusos=-sysv4;;sun2)basic_machine=m68000-sun;;sun2os3)basic_machine=m68000-sunos=-sunos3;;sun2os4)basic_machine=m68000-sunos=-sunos4;;sun3os3)basic_machine=m68k-sunos=-sunos3;;sun3os4)basic_machine=m68k-sunos=-sunos4;;sun4os3)basic_machine=sparc-sunos=-sunos3;;sun4os4)basic_machine=sparc-sunos=-sunos4;;sun4sol2)basic_machine=sparc-sunos=-solaris2;;sun3 | sun3-*)basic_machine=m68k-sun;;sun4)basic_machine=sparc-sun;;sun386 | sun386i | roadrunner)basic_machine=i386-sun;;sv1)basic_machine=sv1-crayos=-unicos;;symmetry)basic_machine=i386-sequentos=-dynix;;t3e)basic_machine=alphaev5-crayos=-unicos;;t90)basic_machine=t90-crayos=-unicos;;tic54x | c54x*)basic_machine=tic54x-unknownos=-coff;;tic55x | c55x*)basic_machine=tic55x-unknownos=-coff;;tic6x | c6x*)basic_machine=tic6x-unknownos=-coff;;tile*)basic_machine=tile-unknownos=-linux-gnu;;tx39)basic_machine=mipstx39-unknown;;tx39el)basic_machine=mipstx39el-unknown;;toad1)basic_machine=pdp10-xklos=-tops20;;tower | tower-32)basic_machine=m68k-ncr;;tpf)basic_machine=s390x-ibmos=-tpf;;udi29k)basic_machine=a29k-amdos=-udi;;ultra3)basic_machine=a29k-nyuos=-sym1;;v810 | necv810)basic_machine=v810-necos=-none;;vaxv)basic_machine=vax-decos=-sysv;;vms)basic_machine=vax-decos=-vms;;vpp*|vx|vx-*)basic_machine=f301-fujitsu;;vxworks960)basic_machine=i960-wrsos=-vxworks;;vxworks68)basic_machine=m68k-wrsos=-vxworks;;vxworks29k)basic_machine=a29k-wrsos=-vxworks;;w65*)basic_machine=w65-wdcos=-none;;w89k-*)basic_machine=hppa1.1-winbondos=-proelf;;xbox)basic_machine=i686-pcos=-mingw32;;xps | xps100)basic_machine=xps100-honeywell;;ymp)basic_machine=ymp-crayos=-unicos;;z8k-*-coff)basic_machine=z8k-unknownos=-sim;;none)basic_machine=none-noneos=-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 betbasic_machine=pdp10-unknown;;pdp11)basic_machine=pdp11-dec;;we32k)basic_machine=we32k-att;;sh[1234] | sh[24]a | 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>&2exit 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"" ]thencase $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.# -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* \| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \| -aos* \| -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* \| -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*)# Remember, each alternative MUST END IN *, to match a version number.;;-qnx*)case $basic_machine inx86-* | 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;;-none);;*)# Get rid of the `-' at the beginning of $os.os=`echo $os | sed 's/[^-]*-//'`echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2exit 1;;esacelse# 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 inscore-*)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;;esacfi# Here we handle the case where we know the os, and the CPU type, but not the# manufacturer. We pick the logical manufacturer.vendor=unknowncase $basic_machine in*-unknown)case $os in-riscix*)vendor=acorn;;-sunos*)vendor=sun;;-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;;esacbasic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`;;esacecho $basic_machine$osexit# Local variables:# eval: (add-hook 'write-file-hooks 'time-stamp)# time-stamp-start: "timestamp='"# time-stamp-format: "%:y-%02m-%02d"# time-stamp-end: "'"# End: