URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [branches/] [stable_0_2_x/] [or1ksim/] [config.sub] - Rev 7
Go to most recent revision | Compare with Previous | Blame | View Log
#! /bin/sh# Configuration validation subroutine script, version 1.1.# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.# This file is (in principle) common to ALL GNU software.# The presence of a machine in this file suggests that SOME GNU software# can handle that machine. It does not imply ALL GNU software can.## This file is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330,# Boston, MA 02111-1307, USA.# As a special exception to the GNU General Public License, if you# distribute this file as part of a program that contains a# configuration script generated by Autoconf, you may include it under# the same distribution terms that you use for the rest of that program.# Configuration subroutine to validate and canonicalize a configuration type.# Supply the specified configuration type as an argument.# 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.if [ x$1 = x ]thenecho Configuration name missing. 1>&2echo "Usage: $0 CPU-MFR-OPSYS" 1>&2echo "or $0 ALIAS" 1>&2echo where ALIAS is a recognized configuration type. 1>&2exit 1fi# First pass through any local machine types.case $1 in*local*)echo $1exit 0;;*);;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 inlinux-gnu*)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 )os=basic_machine=$1;;-hiux*)os=-hiuxwe2;;-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/'`;;-sco*)os=-sco3.2v2basic_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;;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.tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \| arme[lb] | pyramid \| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \| hppa2.0 | alpha | we32k | ns16k | clipper | i370 | sh \| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \| pdp11 | mips64el | mips64orion | mips64orionel \| sparc | sparclet | sparclite | sparc64)basic_machine=$basic_machine-unknown;;# We use `pc' rather than `unknown'# because (1) that's what they normally are, and# (2) the word "unknown" tends to confuse beginning users.i[3456]86)basic_machine=$basic_machine-pc;;# Object if more than one company name word.*-*-*)echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2exit 1;;# Recognize the basic CPU types with company name.vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \| alpha-* | alphaev5-* | alphaev56-* | alphapca56-* | alphaev6-* \| we32k-* | cydra-* | ns16k-* \| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \| mips64el-* | mips64orion-* | mips64orionel-* | f301-* \| butterfly-bbn* \| cadmus-* | ews*-nec | ibmrt-ibm* | masscomp-masscomp \| tandem-* | symmetric-* | drs6000-icl | *-*ardent | gould-gould \| concurrent-* | ksr1-* | esa-ibm | fxc-alliant | *370-amdahl \| *-convex | sx4*-nec);;# Recognize the various machine names and aliases which stand# for a CPU type and a company and sometimes even an OS.3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)basic_machine=m68000-att;;3b*)basic_machine=we32k-att;;alliant | fx80)basic_machine=fx80-alliant;;altos | altos3068)basic_machine=m68k-altos;;am29k)basic_machine=a29k-noneos=-bsd;;amdahl)basic_machine=580-amdahlos=-sysv;;amiga | amiga-*)# basic_machine=m68k-cbmbasic_machine=m68k-unknown;;amigaos)basic_machine=m68k-unknownos=-amigaos;;amigados)basic_machine=m68k-cbmos=-amigados;;amigaunix | amix)basic_machine=m68k-cbmos=-sysv4;;apollo68)basic_machine=m68k-apolloos=-sysv;;aux)basic_machine=m68k-appleos=-aux;;balance)basic_machine=ns32k-sequentos=-dynix;;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 | ymp)basic_machine=ymp-crayos=-unicos;;cray2)basic_machine=cray2-crayos=-unicos;;[ctj]90-cray)basic_machine=c90-crayos=-unicos;;crds | unos)basic_machine=m68k-crds;;da30 | da30-*)basic_machine=m68k-da30;;decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)basic_machine=mips-dec;;delta | 3300 | motorola-3300 | motorola-delta \| 3300-motorola | delta-motorola)basic_machine=m68k-motorola;;delta88)basic_machine=m88k-motorolaos=-sysv3;;dpx20 | dpx20-*)basic_machine=rs6000-bullos=-bosx;;dpx2* | dpx2*-bull)basic_machine=m68k-bullos=-sysv3;;hbullx20-bull)basic_machine=m68k-bull;;ebmon29k)basic_machine=a29k-amdos=-ebmon;;elxsi)basic_machine=elxsi-elxsios=-bsd;;encore | umax | mmax | multimax)basic_machine=ns32k-encore;;fx2800)basic_machine=i860-alliant;;genix)basic_machine=ns32k-ns;;gmicro)basic_machine=tron-gmicroos=-sysv;;h3050r* | hiux*)basic_machine=hppa1.1-hitachios=-hiuxwe2;;h8300hms)basic_machine=h8300-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;;hp9k2[0-9][0-9] | hp9k31[0-9])basic_machine=m68000-hp;;hp9k3[2-9][0-9])basic_machine=m68k-hp;;hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)basic_machine=hppa1.1-hp;;hp9k8[0-9][0-9] | hp8[0-9][0-9])basic_machine=hppa1.0-hp;;hppa-next)os=-nextstep3;;ibm032-*)basic_machine=ibmrt-ibm;;i370-ibm* | ibm*)basic_machine=i370-ibmos=-mvs;;# I'm not sure what "Sysv32" means. Should this be sysv3.2?i[3456]86v32)basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`os=-sysv32;;i[3456]86v4*)basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`os=-sysv4;;i[3456]86v)basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`os=-sysv;;i[3456]86sol2)basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`os=-solaris2;;iris | iris4d)basic_machine=mips-sgicase $os in-irix*);;*)os=-irix4;;esac;;isi68 | isi)basic_machine=m68k-isios=-sysv;;luna88k-omron* | m88k-omron*)basic_machine=m88k-omron;;magicstation*)basic_machine=magicstation-unknown;;magnum | m3230)basic_machine=mips-mipsos=-sysv;;merlin)basic_machine=ns32k-utekos=-sysv;;miniframe)basic_machine=m68000-convergent;;mipsel*-linux*)basic_machine=mipsel-unknownos=-linux;;mips*-linux*)basic_machine=mips-unknownos=-linux;;mips3*-*)basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`;;mips3*)basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown;;ncr3000)basic_machine=i486-ncros=-sysv4;;news | news700 | news800 | news900)basic_machine=m68k-sonyos=-newsos;;news1000)basic_machine=m68030-sonyos=-newsos;;news-3600 | risc-news)basic_machine=mips-sonyos=-newsos;;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;;np1)basic_machine=np1-gould;;osr5 | sco5) # SCO Open Serverbasic_machine=i386-pcos=-sco3.2v5;;odt | odt3 | odt4) # SCO Open Desktopbasic_machine=i386-pcos=-sco3.2v4;;pa-hitachi)basic_machine=hppa1.1-hitachios=-hiuxwe2;;paragon)basic_machine=i860-intelos=-osf;;pbd)basic_machine=sparc-tti;;pbb)basic_machine=m68k-tti;;pc532 | pc532-*)basic_machine=ns32k-pc532;;pentium | p5)basic_machine=i586-intel;;pentiumpro | p6)basic_machine=i686-intel;;pentium-* | p5-*)basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`;;pentiumpro-* | p6-*)basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`;;k5)# We don't have specific support for AMD's K5 yet, so just call it a Pentiumbasic_machine=i586-amd;;nexen)# We don't have specific support for Nexgen yet, so just call it a Pentiumbasic_machine=i586-nexgen;;pn)basic_machine=pn-gould;;power) basic_machine=rs6000-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/^[^-]*-//'`;;ps2)basic_machine=i386-ibm;;rm[46]00)basic_machine=mips-siemens;;rtpc | rtpc-*)basic_machine=romp-ibm;;sequent)basic_machine=i386-sequent;;sh)basic_machine=sh-hitachios=-hms;;sps7)basic_machine=m68k-bullos=-sysv2;;spur)basic_machine=spur-unknown;;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;;symmetry)basic_machine=i386-sequentos=-dynix;;tower | tower-32)basic_machine=m68k-ncr;;udi29k)basic_machine=a29k-amdos=-udi;;ultra3)basic_machine=a29k-nyuos=-sym1;;uw2 | unixware | unixware2)basic_machine=i386-pcos=-sysv4.2uw2.1;;uw7 | unixware7)basic_machine=i386-pcos=-sysv5uw7;;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;;xmp)basic_machine=xmp-crayos=-unicos;;xps | xps100)basic_machine=xps100-honeywell;;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.mips)if test "x$os" = "x-linux" ; thenbasic_machine=mips-unknownelsebasic_machine=mips-mipsfi;;romp)basic_machine=romp-ibm;;rs6000)basic_machine=rs6000-ibm;;vax)basic_machine=vax-dec;;pdp11)basic_machine=pdp11-dec;;we32k)basic_machine=we32k-att;;sparc)basic_machine=sparc-sun;;cydra)basic_machine=cydra-cydrome;;orion)basic_machine=orion-highlevel;;orion105)basic_machine=clipper-highlevel;;*)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 | -uw | -unixware2* | -uw2*)os=-sysv4.2uw2.1;;-unixware7* | -uw7*)os=-sysv5uw7;;-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* | -netbsd* | -openbsd* | -freebsd* | -riscix* \| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \| -linux-gnu* | -uxpv* | -qnx* | -powerux* | -beos* | -rhapsody* \| -superux* )# Remember, each alternative MUST END IN *, to match a version number.;;-linux*)os=`echo $os | sed -e 's|linux|linux-gnu|'`;;-sunos5*)os=`echo $os | sed -e 's|sunos5|solaris2|'`;;-sunos6*)os=`echo $os | sed -e 's|sunos6|solaris3|'`;;-osfrose*)os=-osfrose;;-osf*)os=-osf;;-utek*)os=-bsd;;-dynix*)os=-bsd;;-acis*)os=-aos;;-ctix* | -uts*)os=-sysv;;-ns2 )os=-nextstep2;;# Preserve the version number of sinix5.-sinix5.*)os=`echo $os | sed -e 's|sinix|sysv|'`;;-sinix*)os=-sysv4;;-triton*)os=-sysv3;;-oss*)os=-sysv3;;-svr4)os=-sysv4;;-svr3)os=-sysv3;;-sysvr4)os=-sysv4;;-sysvr5)os=-sysv5;;# This must come after -sysvr[45].-sysv*);;-xenix)os=-xenix;;-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 in*-acorn)os=-riscix1.2;;arm*-semi)os=-aout;;pdp11-*)os=-none;;*-dec | vax-*)os=-ultrix4.2;;m68*-apollo)os=-domain;;i386-sun)os=-sunos4.0.2;;m68000-sun)os=-sunos3# This also exists in the configure program, but was not the# default.# os=-sunos4;;*-tti) # must be before sparc entry or we get the wrong os.os=-sysv3;;sparc-* | *-sun)os=-sunos4.1.1;;*-be)os=-beos;;*-ibm)os=-aix;;*-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;;f301-fujitsu)os=-uxpv;;*)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;;-lynxos*)vendor=lynx;;-aix*)vendor=ibm;;-hpux*)vendor=hp;;-hiux*)vendor=hitachi;;-unos*)vendor=crds;;-dgux*)vendor=dg;;-luna*)vendor=omron;;-genix*)vendor=ns;;-mvs*)vendor=ibm;;-ptx*)vendor=sequent;;-vxsim* | -vxworks*)vendor=wrs;;-aux*)vendor=apple;;esacbasic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`;;esacecho $basic_machine$os
Go to most recent revision | Compare with Previous | Blame | View Log
