config.sub revision 75107
117683Spst#! /bin/sh 275107Sfenner# Configuration validation subroutine script. 375107Sfenner# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 475107Sfenner# Free Software Foundation, Inc. 575107Sfenner 675107Sfennertimestamp='2000-12-15' 775107Sfenner 817683Spst# This file is (in principle) common to ALL GNU software. 917683Spst# The presence of a machine in this file suggests that SOME GNU software 1026175Sfenner# can handle that machine. It does not imply ALL GNU software can. 1117683Spst# 1217683Spst# This file is free software; you can redistribute it and/or modify 1317683Spst# it under the terms of the GNU General Public License as published by 1417683Spst# the Free Software Foundation; either version 2 of the License, or 1517683Spst# (at your option) any later version. 1617683Spst# 1717683Spst# This program is distributed in the hope that it will be useful, 1817683Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of 1917683Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2017683Spst# GNU General Public License for more details. 2117683Spst# 2217683Spst# You should have received a copy of the GNU General Public License 2317683Spst# along with this program; if not, write to the Free Software 2417683Spst# Foundation, Inc., 59 Temple Place - Suite 330, 2517683Spst# Boston, MA 02111-1307, USA. 2617683Spst 2717683Spst# As a special exception to the GNU General Public License, if you 2817683Spst# distribute this file as part of a program that contains a 2917683Spst# configuration script generated by Autoconf, you may include it under 3017683Spst# the same distribution terms that you use for the rest of that program. 3117683Spst 3275107Sfenner# Please send patches to <config-patches@gnu.org>. 3375107Sfenner# 3417683Spst# Configuration subroutine to validate and canonicalize a configuration type. 3517683Spst# Supply the specified configuration type as an argument. 3617683Spst# If it is invalid, we print an error message on stderr and exit with code 1. 3717683Spst# Otherwise, we print the canonical config type on stdout and succeed. 3817683Spst 3917683Spst# This file is supposed to be the same for all GNU packages 4017683Spst# and recognize all the CPU types, system types and aliases 4117683Spst# that are meaningful with *any* GNU software. 4217683Spst# Each package is responsible for reporting which valid configurations 4317683Spst# it does not support. The user should be able to distinguish 4417683Spst# a failure to support a valid configuration from a meaningless 4517683Spst# configuration. 4617683Spst 4717683Spst# The goal of this file is to map all the various variations of a given 4817683Spst# machine specification into a single specification in the form: 4917683Spst# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 5026175Sfenner# or in some cases, the newer four-part form: 5126175Sfenner# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5217683Spst# It is wrong to echo any other type of specification. 5317683Spst 5475107Sfennerme=`echo "$0" | sed -e 's,.*/,,'` 5517683Spst 5675107Sfennerusage="\ 5775107SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS 5875107Sfenner $0 [OPTION] ALIAS 5975107Sfenner 6075107SfennerCanonicalize a configuration name. 6175107Sfenner 6275107SfennerOperation modes: 6375107Sfenner -h, --help print this help, then exit 6475107Sfenner -t, --time-stamp print date of last modification, then exit 6575107Sfenner -v, --version print version number, then exit 6675107Sfenner 6775107SfennerReport bugs and patches to <config-patches@gnu.org>." 6875107Sfenner 6975107Sfennerversion="\ 7075107SfennerGNU config.sub ($timestamp) 7175107Sfenner 7275107SfennerCopyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 7375107SfennerFree Software Foundation, Inc. 7475107Sfenner 7575107SfennerThis is free software; see the source for copying conditions. There is NO 7675107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7775107Sfenner 7875107Sfennerhelp=" 7975107SfennerTry \`$me --help' for more information." 8075107Sfenner 8175107Sfenner# Parse command line 8275107Sfennerwhile test $# -gt 0 ; do 8375107Sfenner case $1 in 8475107Sfenner --time-stamp | --time* | -t ) 8575107Sfenner echo "$timestamp" ; exit 0 ;; 8675107Sfenner --version | -v ) 8775107Sfenner echo "$version" ; exit 0 ;; 8875107Sfenner --help | --h* | -h ) 8975107Sfenner echo "$usage"; exit 0 ;; 9075107Sfenner -- ) # Stop option processing 9175107Sfenner shift; break ;; 9275107Sfenner - ) # Use stdin as input. 9375107Sfenner break ;; 9475107Sfenner -* ) 9575107Sfenner echo "$me: invalid option $1$help" 9675107Sfenner exit 1 ;; 9775107Sfenner 9875107Sfenner *local*) 9975107Sfenner # First pass through any local machine types. 10075107Sfenner echo $1 10175107Sfenner exit 0;; 10275107Sfenner 10375107Sfenner * ) 10475107Sfenner break ;; 10575107Sfenner esac 10675107Sfennerdone 10775107Sfenner 10875107Sfennercase $# in 10975107Sfenner 0) echo "$me: missing argument$help" >&2 11075107Sfenner exit 1;; 11175107Sfenner 1) ;; 11275107Sfenner *) echo "$me: too many arguments$help" >&2 11375107Sfenner exit 1;; 11417683Spstesac 11517683Spst 11626175Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11726175Sfenner# Here we must recognize all the valid KERNEL-OS combinations. 11826175Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11926175Sfennercase $maybe_os in 12075107Sfenner nto-qnx* | linux-gnu* | storm-chaos*) 12126175Sfenner os=-$maybe_os 12226175Sfenner basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12326175Sfenner ;; 12426175Sfenner *) 12526175Sfenner basic_machine=`echo $1 | sed 's/-[^-]*$//'` 12626175Sfenner if [ $basic_machine != $1 ] 12726175Sfenner then os=`echo $1 | sed 's/.*-/-/'` 12826175Sfenner else os=; fi 12926175Sfenner ;; 13026175Sfenneresac 13117683Spst 13217683Spst### Let's recognize common machines as not being operating systems so 13317683Spst### that things like config.sub decstation-3100 work. We also 13417683Spst### recognize some manufacturers as not being operating systems, so we 13517683Spst### can provide default operating systems below. 13617683Spstcase $os in 13717683Spst -sun*os*) 13817683Spst # Prevent following clause from handling this invalid input. 13917683Spst ;; 14017683Spst -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14117683Spst -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14217683Spst -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14317683Spst -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 14417683Spst -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 14526175Sfenner -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 14675107Sfenner -apple | -axis) 14717683Spst os= 14817683Spst basic_machine=$1 14917683Spst ;; 15075107Sfenner -sim | -cisco | -oki | -wec | -winbond) 15175107Sfenner os= 15275107Sfenner basic_machine=$1 15375107Sfenner ;; 15475107Sfenner -scout) 15575107Sfenner ;; 15675107Sfenner -wrs) 15775107Sfenner os=-vxworks 15875107Sfenner basic_machine=$1 15975107Sfenner ;; 16017683Spst -hiux*) 16117683Spst os=-hiuxwe2 16217683Spst ;; 16326175Sfenner -sco5) 16475107Sfenner os=-sco3.2v5 16526175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 16626175Sfenner ;; 16717683Spst -sco4) 16817683Spst os=-sco3.2v4 16926175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 17017683Spst ;; 17117683Spst -sco3.2.[4-9]*) 17217683Spst os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 17326175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 17417683Spst ;; 17517683Spst -sco3.2v[4-9]*) 17617683Spst # Don't forget version if it is 3.2v4 or newer. 17726175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 17817683Spst ;; 17917683Spst -sco*) 18017683Spst os=-sco3.2v2 18126175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18217683Spst ;; 18375107Sfenner -udk*) 18475107Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18575107Sfenner ;; 18617683Spst -isc) 18717683Spst os=-isc2.2 18826175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18917683Spst ;; 19017683Spst -clix*) 19117683Spst basic_machine=clipper-intergraph 19217683Spst ;; 19317683Spst -isc*) 19426175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19517683Spst ;; 19617683Spst -lynx*) 19717683Spst os=-lynxos 19817683Spst ;; 19917683Spst -ptx*) 20017683Spst basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 20117683Spst ;; 20217683Spst -windowsnt*) 20317683Spst os=`echo $os | sed -e 's/windowsnt/winnt/'` 20417683Spst ;; 20526175Sfenner -psos*) 20626175Sfenner os=-psos 20726175Sfenner ;; 20875107Sfenner -mint | -mint[0-9]*) 20975107Sfenner basic_machine=m68k-atari 21075107Sfenner os=-mint 21175107Sfenner ;; 21217683Spstesac 21317683Spst 21417683Spst# Decode aliases for certain CPU-COMPANY combinations. 21517683Spstcase $basic_machine in 21617683Spst # Recognize the basic CPU types without company name. 21717683Spst # Some are omitted here because they have special meanings below. 21875107Sfenner tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ 21975107Sfenner | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ 22075107Sfenner | pyramid | mn10200 | mn10300 | tron | a29k \ 22175107Sfenner | 580 | i960 | h8300 \ 22275107Sfenner | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ 22375107Sfenner | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ 22475107Sfenner | hppa64 \ 22575107Sfenner | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ 22675107Sfenner | alphaev6[78] \ 22775107Sfenner | we32k | ns16k | clipper | i370 | sh | sh[34] \ 22875107Sfenner | powerpc | powerpcle \ 22975107Sfenner | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ 23075107Sfenner | mips64orion | mips64orionel | mipstx39 | mipstx39el \ 23175107Sfenner | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ 23275107Sfenner | mips64vr5000 | miprs64vr5000el | mcore \ 23375107Sfenner | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ 23475107Sfenner | thumb | d10v | d30v | fr30 | avr) 23517683Spst basic_machine=$basic_machine-unknown 23617683Spst ;; 23775107Sfenner m6811 | m68hc11 | m6812 | m68hc12) 23875107Sfenner # Motorola 68HC11/12. 23975107Sfenner basic_machine=$basic_machine-unknown 24075107Sfenner os=-none 24175107Sfenner ;; 24275107Sfenner m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl) 24375107Sfenner ;; 24475107Sfenner 24526175Sfenner # We use `pc' rather than `unknown' 24626175Sfenner # because (1) that's what they normally are, and 24726175Sfenner # (2) the word "unknown" tends to confuse beginning users. 24875107Sfenner i[234567]86 | x86_64) 24926175Sfenner basic_machine=$basic_machine-pc 25026175Sfenner ;; 25117683Spst # Object if more than one company name word. 25217683Spst *-*-*) 25317683Spst echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 25417683Spst exit 1 25517683Spst ;; 25617683Spst # Recognize the basic CPU types with company name. 25775107Sfenner # FIXME: clean up the formatting here. 25875107Sfenner vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ 25975107Sfenner | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ 26075107Sfenner | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ 26175107Sfenner | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ 26275107Sfenner | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ 26375107Sfenner | xmp-* | ymp-* \ 26475107Sfenner | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ 26575107Sfenner | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ 26675107Sfenner | hppa2.0n-* | hppa64-* \ 26775107Sfenner | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ 26875107Sfenner | alphaev6[78]-* \ 26975107Sfenner | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ 27075107Sfenner | clipper-* | orion-* \ 27175107Sfenner | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ 27275107Sfenner | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ 27375107Sfenner | mips64el-* | mips64orion-* | mips64orionel-* \ 27475107Sfenner | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ 27575107Sfenner | mipstx39-* | mipstx39el-* | mcore-* \ 27675107Sfenner | f30[01]-* | s390-* | sv1-* | t3e-* \ 27775107Sfenner | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ 27875107Sfenner | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \ 27975107Sfenner | bs2000-* | tic54x-* | c54x-* | x86_64-*) 28017683Spst ;; 28117683Spst # Recognize the various machine names and aliases which stand 28217683Spst # for a CPU type and a company and sometimes even an OS. 28375107Sfenner 386bsd) 28475107Sfenner basic_machine=i386-unknown 28575107Sfenner os=-bsd 28675107Sfenner ;; 28717683Spst 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 28817683Spst basic_machine=m68000-att 28917683Spst ;; 29017683Spst 3b*) 29117683Spst basic_machine=we32k-att 29217683Spst ;; 29375107Sfenner a29khif) 29475107Sfenner basic_machine=a29k-amd 29575107Sfenner os=-udi 29675107Sfenner ;; 29775107Sfenner adobe68k) 29875107Sfenner basic_machine=m68010-adobe 29975107Sfenner os=-scout 30075107Sfenner ;; 30117683Spst alliant | fx80) 30217683Spst basic_machine=fx80-alliant 30317683Spst ;; 30417683Spst altos | altos3068) 30517683Spst basic_machine=m68k-altos 30617683Spst ;; 30717683Spst am29k) 30817683Spst basic_machine=a29k-none 30917683Spst os=-bsd 31017683Spst ;; 31117683Spst amdahl) 31217683Spst basic_machine=580-amdahl 31317683Spst os=-sysv 31417683Spst ;; 31517683Spst amiga | amiga-*) 31675107Sfenner basic_machine=m68k-unknown 31717683Spst ;; 31875107Sfenner amigaos | amigados) 31975107Sfenner basic_machine=m68k-unknown 32075107Sfenner os=-amigaos 32117683Spst ;; 32217683Spst amigaunix | amix) 32375107Sfenner basic_machine=m68k-unknown 32417683Spst os=-sysv4 32517683Spst ;; 32617683Spst apollo68) 32717683Spst basic_machine=m68k-apollo 32817683Spst os=-sysv 32917683Spst ;; 33075107Sfenner apollo68bsd) 33175107Sfenner basic_machine=m68k-apollo 33275107Sfenner os=-bsd 33375107Sfenner ;; 33426175Sfenner aux) 33526175Sfenner basic_machine=m68k-apple 33626175Sfenner os=-aux 33726175Sfenner ;; 33817683Spst balance) 33917683Spst basic_machine=ns32k-sequent 34017683Spst os=-dynix 34117683Spst ;; 34217683Spst convex-c1) 34317683Spst basic_machine=c1-convex 34417683Spst os=-bsd 34517683Spst ;; 34617683Spst convex-c2) 34717683Spst basic_machine=c2-convex 34817683Spst os=-bsd 34917683Spst ;; 35017683Spst convex-c32) 35117683Spst basic_machine=c32-convex 35217683Spst os=-bsd 35317683Spst ;; 35417683Spst convex-c34) 35517683Spst basic_machine=c34-convex 35617683Spst os=-bsd 35717683Spst ;; 35817683Spst convex-c38) 35917683Spst basic_machine=c38-convex 36017683Spst os=-bsd 36117683Spst ;; 36217683Spst cray | ymp) 36317683Spst basic_machine=ymp-cray 36417683Spst os=-unicos 36517683Spst ;; 36617683Spst cray2) 36717683Spst basic_machine=cray2-cray 36817683Spst os=-unicos 36917683Spst ;; 37026175Sfenner [ctj]90-cray) 37126175Sfenner basic_machine=c90-cray 37226175Sfenner os=-unicos 37326175Sfenner ;; 37417683Spst crds | unos) 37517683Spst basic_machine=m68k-crds 37617683Spst ;; 37775107Sfenner cris | cris-* | etrax*) 37875107Sfenner basic_machine=cris-axis 37975107Sfenner ;; 38017683Spst da30 | da30-*) 38117683Spst basic_machine=m68k-da30 38217683Spst ;; 38317683Spst decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 38417683Spst basic_machine=mips-dec 38517683Spst ;; 38617683Spst delta | 3300 | motorola-3300 | motorola-delta \ 38717683Spst | 3300-motorola | delta-motorola) 38817683Spst basic_machine=m68k-motorola 38917683Spst ;; 39017683Spst delta88) 39117683Spst basic_machine=m88k-motorola 39217683Spst os=-sysv3 39317683Spst ;; 39417683Spst dpx20 | dpx20-*) 39517683Spst basic_machine=rs6000-bull 39617683Spst os=-bosx 39717683Spst ;; 39817683Spst dpx2* | dpx2*-bull) 39917683Spst basic_machine=m68k-bull 40017683Spst os=-sysv3 40117683Spst ;; 40217683Spst ebmon29k) 40317683Spst basic_machine=a29k-amd 40417683Spst os=-ebmon 40517683Spst ;; 40617683Spst elxsi) 40717683Spst basic_machine=elxsi-elxsi 40817683Spst os=-bsd 40917683Spst ;; 41017683Spst encore | umax | mmax) 41117683Spst basic_machine=ns32k-encore 41217683Spst ;; 41375107Sfenner es1800 | OSE68k | ose68k | ose | OSE) 41475107Sfenner basic_machine=m68k-ericsson 41575107Sfenner os=-ose 41675107Sfenner ;; 41717683Spst fx2800) 41817683Spst basic_machine=i860-alliant 41917683Spst ;; 42017683Spst genix) 42117683Spst basic_machine=ns32k-ns 42217683Spst ;; 42317683Spst gmicro) 42417683Spst basic_machine=tron-gmicro 42517683Spst os=-sysv 42617683Spst ;; 42717683Spst h3050r* | hiux*) 42817683Spst basic_machine=hppa1.1-hitachi 42917683Spst os=-hiuxwe2 43017683Spst ;; 43117683Spst h8300hms) 43217683Spst basic_machine=h8300-hitachi 43317683Spst os=-hms 43417683Spst ;; 43575107Sfenner h8300xray) 43675107Sfenner basic_machine=h8300-hitachi 43775107Sfenner os=-xray 43875107Sfenner ;; 43975107Sfenner h8500hms) 44075107Sfenner basic_machine=h8500-hitachi 44175107Sfenner os=-hms 44275107Sfenner ;; 44317683Spst harris) 44417683Spst basic_machine=m88k-harris 44517683Spst os=-sysv3 44617683Spst ;; 44717683Spst hp300-*) 44817683Spst basic_machine=m68k-hp 44917683Spst ;; 45017683Spst hp300bsd) 45117683Spst basic_machine=m68k-hp 45217683Spst os=-bsd 45317683Spst ;; 45417683Spst hp300hpux) 45517683Spst basic_machine=m68k-hp 45617683Spst os=-hpux 45717683Spst ;; 45875107Sfenner hp3k9[0-9][0-9] | hp9[0-9][0-9]) 45975107Sfenner basic_machine=hppa1.0-hp 46075107Sfenner ;; 46117683Spst hp9k2[0-9][0-9] | hp9k31[0-9]) 46217683Spst basic_machine=m68000-hp 46317683Spst ;; 46417683Spst hp9k3[2-9][0-9]) 46517683Spst basic_machine=m68k-hp 46617683Spst ;; 46775107Sfenner hp9k6[0-9][0-9] | hp6[0-9][0-9]) 46875107Sfenner basic_machine=hppa1.0-hp 46975107Sfenner ;; 47075107Sfenner hp9k7[0-79][0-9] | hp7[0-79][0-9]) 47117683Spst basic_machine=hppa1.1-hp 47217683Spst ;; 47375107Sfenner hp9k78[0-9] | hp78[0-9]) 47475107Sfenner # FIXME: really hppa2.0-hp 47575107Sfenner basic_machine=hppa1.1-hp 47675107Sfenner ;; 47775107Sfenner hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 47875107Sfenner # FIXME: really hppa2.0-hp 47975107Sfenner basic_machine=hppa1.1-hp 48075107Sfenner ;; 48175107Sfenner hp9k8[0-9][13679] | hp8[0-9][13679]) 48275107Sfenner basic_machine=hppa1.1-hp 48375107Sfenner ;; 48417683Spst hp9k8[0-9][0-9] | hp8[0-9][0-9]) 48517683Spst basic_machine=hppa1.0-hp 48617683Spst ;; 48726175Sfenner hppa-next) 48826175Sfenner os=-nextstep3 48926175Sfenner ;; 49075107Sfenner hppaosf) 49175107Sfenner basic_machine=hppa1.1-hp 49275107Sfenner os=-osf 49375107Sfenner ;; 49475107Sfenner hppro) 49575107Sfenner basic_machine=hppa1.1-hp 49675107Sfenner os=-proelf 49775107Sfenner ;; 49817683Spst i370-ibm* | ibm*) 49917683Spst basic_machine=i370-ibm 50017683Spst ;; 50117683Spst# I'm not sure what "Sysv32" means. Should this be sysv3.2? 50275107Sfenner i[34567]86v32) 50326175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 50417683Spst os=-sysv32 50517683Spst ;; 50675107Sfenner i[34567]86v4*) 50726175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 50817683Spst os=-sysv4 50917683Spst ;; 51075107Sfenner i[34567]86v) 51126175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 51217683Spst os=-sysv 51317683Spst ;; 51475107Sfenner i[34567]86sol2) 51526175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 51617683Spst os=-solaris2 51717683Spst ;; 51875107Sfenner i386mach) 51975107Sfenner basic_machine=i386-mach 52075107Sfenner os=-mach 52175107Sfenner ;; 52275107Sfenner i386-vsta | vsta) 52375107Sfenner basic_machine=i386-unknown 52475107Sfenner os=-vsta 52575107Sfenner ;; 52675107Sfenner i386-go32 | go32) 52775107Sfenner basic_machine=i386-unknown 52875107Sfenner os=-go32 52975107Sfenner ;; 53075107Sfenner i386-mingw32 | mingw32) 53175107Sfenner basic_machine=i386-unknown 53275107Sfenner os=-mingw32 53375107Sfenner ;; 53475107Sfenner i[34567]86-pw32 | pw32) 53575107Sfenner basic_machine=i586-unknown 53675107Sfenner os=-pw32 53775107Sfenner ;; 53817683Spst iris | iris4d) 53917683Spst basic_machine=mips-sgi 54017683Spst case $os in 54117683Spst -irix*) 54217683Spst ;; 54317683Spst *) 54417683Spst os=-irix4 54517683Spst ;; 54617683Spst esac 54717683Spst ;; 54817683Spst isi68 | isi) 54917683Spst basic_machine=m68k-isi 55017683Spst os=-sysv 55117683Spst ;; 55217683Spst m88k-omron*) 55317683Spst basic_machine=m88k-omron 55417683Spst ;; 55517683Spst magnum | m3230) 55617683Spst basic_machine=mips-mips 55717683Spst os=-sysv 55817683Spst ;; 55917683Spst merlin) 56017683Spst basic_machine=ns32k-utek 56117683Spst os=-sysv 56217683Spst ;; 56317683Spst miniframe) 56417683Spst basic_machine=m68000-convergent 56517683Spst ;; 56675107Sfenner *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 56775107Sfenner basic_machine=m68k-atari 56875107Sfenner os=-mint 56975107Sfenner ;; 57075107Sfenner mipsel*-linux*) 57175107Sfenner basic_machine=mipsel-unknown 57275107Sfenner os=-linux-gnu 57375107Sfenner ;; 57475107Sfenner mips*-linux*) 57575107Sfenner basic_machine=mips-unknown 57675107Sfenner os=-linux-gnu 57775107Sfenner ;; 57817683Spst mips3*-*) 57917683Spst basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 58017683Spst ;; 58117683Spst mips3*) 58217683Spst basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 58317683Spst ;; 58475107Sfenner mmix*) 58575107Sfenner basic_machine=mmix-knuth 58675107Sfenner os=-mmixware 58775107Sfenner ;; 58875107Sfenner monitor) 58975107Sfenner basic_machine=m68k-rom68k 59075107Sfenner os=-coff 59175107Sfenner ;; 59275107Sfenner msdos) 59375107Sfenner basic_machine=i386-unknown 59475107Sfenner os=-msdos 59575107Sfenner ;; 59675107Sfenner mvs) 59775107Sfenner basic_machine=i370-ibm 59875107Sfenner os=-mvs 59975107Sfenner ;; 60017683Spst ncr3000) 60117683Spst basic_machine=i486-ncr 60217683Spst os=-sysv4 60317683Spst ;; 60475107Sfenner netbsd386) 60575107Sfenner basic_machine=i386-unknown 60675107Sfenner os=-netbsd 60775107Sfenner ;; 60875107Sfenner netwinder) 60975107Sfenner basic_machine=armv4l-rebel 61075107Sfenner os=-linux 61175107Sfenner ;; 61217683Spst news | news700 | news800 | news900) 61317683Spst basic_machine=m68k-sony 61417683Spst os=-newsos 61517683Spst ;; 61617683Spst news1000) 61717683Spst basic_machine=m68030-sony 61817683Spst os=-newsos 61917683Spst ;; 62017683Spst news-3600 | risc-news) 62117683Spst basic_machine=mips-sony 62217683Spst os=-newsos 62317683Spst ;; 62475107Sfenner necv70) 62575107Sfenner basic_machine=v70-nec 62675107Sfenner os=-sysv 62775107Sfenner ;; 62817683Spst next | m*-next ) 62917683Spst basic_machine=m68k-next 63017683Spst case $os in 63117683Spst -nextstep* ) 63217683Spst ;; 63317683Spst -ns2*) 63417683Spst os=-nextstep2 63517683Spst ;; 63617683Spst *) 63717683Spst os=-nextstep3 63817683Spst ;; 63917683Spst esac 64017683Spst ;; 64117683Spst nh3000) 64217683Spst basic_machine=m68k-harris 64317683Spst os=-cxux 64417683Spst ;; 64517683Spst nh[45]000) 64617683Spst basic_machine=m88k-harris 64717683Spst os=-cxux 64817683Spst ;; 64917683Spst nindy960) 65017683Spst basic_machine=i960-intel 65117683Spst os=-nindy 65217683Spst ;; 65375107Sfenner mon960) 65475107Sfenner basic_machine=i960-intel 65575107Sfenner os=-mon960 65675107Sfenner ;; 65775107Sfenner nonstopux) 65875107Sfenner basic_machine=mips-compaq 65975107Sfenner os=-nonstopux 66075107Sfenner ;; 66117683Spst np1) 66217683Spst basic_machine=np1-gould 66317683Spst ;; 66475107Sfenner nsr-tandem) 66575107Sfenner basic_machine=nsr-tandem 66675107Sfenner ;; 66775107Sfenner op50n-* | op60c-*) 66875107Sfenner basic_machine=hppa1.1-oki 66975107Sfenner os=-proelf 67075107Sfenner ;; 67175107Sfenner OSE68000 | ose68000) 67275107Sfenner basic_machine=m68000-ericsson 67375107Sfenner os=-ose 67475107Sfenner ;; 67575107Sfenner os68k) 67675107Sfenner basic_machine=m68k-none 67775107Sfenner os=-os68k 67875107Sfenner ;; 67917683Spst pa-hitachi) 68017683Spst basic_machine=hppa1.1-hitachi 68117683Spst os=-hiuxwe2 68217683Spst ;; 68317683Spst paragon) 68417683Spst basic_machine=i860-intel 68517683Spst os=-osf 68617683Spst ;; 68717683Spst pbd) 68817683Spst basic_machine=sparc-tti 68917683Spst ;; 69017683Spst pbb) 69117683Spst basic_machine=m68k-tti 69217683Spst ;; 69317683Spst pc532 | pc532-*) 69417683Spst basic_machine=ns32k-pc532 69517683Spst ;; 69675107Sfenner pentium | p5 | k5 | k6 | nexgen) 69775107Sfenner basic_machine=i586-pc 69817683Spst ;; 69975107Sfenner pentiumpro | p6 | 6x86 | athlon) 70075107Sfenner basic_machine=i686-pc 70126175Sfenner ;; 70275107Sfenner pentiumii | pentium2) 70375107Sfenner basic_machine=i686-pc 70475107Sfenner ;; 70575107Sfenner pentium-* | p5-* | k5-* | k6-* | nexgen-*) 70617683Spst basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 70717683Spst ;; 70875107Sfenner pentiumpro-* | p6-* | 6x86-* | athlon-*) 70926175Sfenner basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 71026175Sfenner ;; 71175107Sfenner pentiumii-* | pentium2-*) 71275107Sfenner basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 71317683Spst ;; 71417683Spst pn) 71517683Spst basic_machine=pn-gould 71617683Spst ;; 71775107Sfenner power) basic_machine=power-ibm 71817683Spst ;; 71917683Spst ppc) basic_machine=powerpc-unknown 72017683Spst ;; 72117683Spst ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 72217683Spst ;; 72317683Spst ppcle | powerpclittle | ppc-le | powerpc-little) 72417683Spst basic_machine=powerpcle-unknown 72517683Spst ;; 72617683Spst ppcle-* | powerpclittle-*) 72717683Spst basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 72817683Spst ;; 72917683Spst ps2) 73017683Spst basic_machine=i386-ibm 73117683Spst ;; 73275107Sfenner rom68k) 73375107Sfenner basic_machine=m68k-rom68k 73475107Sfenner os=-coff 73575107Sfenner ;; 73617683Spst rm[46]00) 73717683Spst basic_machine=mips-siemens 73817683Spst ;; 73917683Spst rtpc | rtpc-*) 74017683Spst basic_machine=romp-ibm 74117683Spst ;; 74275107Sfenner sa29200) 74375107Sfenner basic_machine=a29k-amd 74475107Sfenner os=-udi 74575107Sfenner ;; 74617683Spst sequent) 74717683Spst basic_machine=i386-sequent 74817683Spst ;; 74917683Spst sh) 75017683Spst basic_machine=sh-hitachi 75117683Spst os=-hms 75217683Spst ;; 75375107Sfenner sparclite-wrs) 75475107Sfenner basic_machine=sparclite-wrs 75575107Sfenner os=-vxworks 75675107Sfenner ;; 75717683Spst sps7) 75817683Spst basic_machine=m68k-bull 75917683Spst os=-sysv2 76017683Spst ;; 76117683Spst spur) 76217683Spst basic_machine=spur-unknown 76317683Spst ;; 76475107Sfenner st2000) 76575107Sfenner basic_machine=m68k-tandem 76675107Sfenner ;; 76775107Sfenner stratus) 76875107Sfenner basic_machine=i860-stratus 76975107Sfenner os=-sysv4 77075107Sfenner ;; 77117683Spst sun2) 77217683Spst basic_machine=m68000-sun 77317683Spst ;; 77417683Spst sun2os3) 77517683Spst basic_machine=m68000-sun 77617683Spst os=-sunos3 77717683Spst ;; 77817683Spst sun2os4) 77917683Spst basic_machine=m68000-sun 78017683Spst os=-sunos4 78117683Spst ;; 78217683Spst sun3os3) 78317683Spst basic_machine=m68k-sun 78417683Spst os=-sunos3 78517683Spst ;; 78617683Spst sun3os4) 78717683Spst basic_machine=m68k-sun 78817683Spst os=-sunos4 78917683Spst ;; 79017683Spst sun4os3) 79117683Spst basic_machine=sparc-sun 79217683Spst os=-sunos3 79317683Spst ;; 79417683Spst sun4os4) 79517683Spst basic_machine=sparc-sun 79617683Spst os=-sunos4 79717683Spst ;; 79817683Spst sun4sol2) 79917683Spst basic_machine=sparc-sun 80017683Spst os=-solaris2 80117683Spst ;; 80217683Spst sun3 | sun3-*) 80317683Spst basic_machine=m68k-sun 80417683Spst ;; 80517683Spst sun4) 80617683Spst basic_machine=sparc-sun 80717683Spst ;; 80817683Spst sun386 | sun386i | roadrunner) 80917683Spst basic_machine=i386-sun 81017683Spst ;; 81175107Sfenner sv1) 81275107Sfenner basic_machine=sv1-cray 81375107Sfenner os=-unicos 81475107Sfenner ;; 81517683Spst symmetry) 81617683Spst basic_machine=i386-sequent 81717683Spst os=-dynix 81817683Spst ;; 81975107Sfenner t3e) 82075107Sfenner basic_machine=t3e-cray 82175107Sfenner os=-unicos 82275107Sfenner ;; 82375107Sfenner tic54x | c54x*) 82475107Sfenner basic_machine=tic54x-unknown 82575107Sfenner os=-coff 82675107Sfenner ;; 82775107Sfenner tx39) 82875107Sfenner basic_machine=mipstx39-unknown 82975107Sfenner ;; 83075107Sfenner tx39el) 83175107Sfenner basic_machine=mipstx39el-unknown 83275107Sfenner ;; 83317683Spst tower | tower-32) 83417683Spst basic_machine=m68k-ncr 83517683Spst ;; 83617683Spst udi29k) 83717683Spst basic_machine=a29k-amd 83817683Spst os=-udi 83917683Spst ;; 84017683Spst ultra3) 84117683Spst basic_machine=a29k-nyu 84217683Spst os=-sym1 84317683Spst ;; 84475107Sfenner v810 | necv810) 84575107Sfenner basic_machine=v810-nec 84675107Sfenner os=-none 84775107Sfenner ;; 84817683Spst vaxv) 84917683Spst basic_machine=vax-dec 85017683Spst os=-sysv 85117683Spst ;; 85217683Spst vms) 85317683Spst basic_machine=vax-dec 85417683Spst os=-vms 85517683Spst ;; 85675107Sfenner vpp*|vx|vx-*) 85726175Sfenner basic_machine=f301-fujitsu 85826175Sfenner ;; 85917683Spst vxworks960) 86017683Spst basic_machine=i960-wrs 86117683Spst os=-vxworks 86217683Spst ;; 86317683Spst vxworks68) 86417683Spst basic_machine=m68k-wrs 86517683Spst os=-vxworks 86617683Spst ;; 86717683Spst vxworks29k) 86817683Spst basic_machine=a29k-wrs 86917683Spst os=-vxworks 87017683Spst ;; 87175107Sfenner w65*) 87275107Sfenner basic_machine=w65-wdc 87375107Sfenner os=-none 87475107Sfenner ;; 87575107Sfenner w89k-*) 87675107Sfenner basic_machine=hppa1.1-winbond 87775107Sfenner os=-proelf 87875107Sfenner ;; 87917683Spst xmp) 88017683Spst basic_machine=xmp-cray 88117683Spst os=-unicos 88217683Spst ;; 88317683Spst xps | xps100) 88417683Spst basic_machine=xps100-honeywell 88517683Spst ;; 88675107Sfenner z8k-*-coff) 88775107Sfenner basic_machine=z8k-unknown 88875107Sfenner os=-sim 88975107Sfenner ;; 89017683Spst none) 89117683Spst basic_machine=none-none 89217683Spst os=-none 89317683Spst ;; 89417683Spst 89517683Spst# Here we handle the default manufacturer of certain CPU types. It is in 89617683Spst# some cases the only manufacturer, in others, it is the most popular. 89775107Sfenner w89k) 89875107Sfenner basic_machine=hppa1.1-winbond 89975107Sfenner ;; 90075107Sfenner op50n) 90175107Sfenner basic_machine=hppa1.1-oki 90275107Sfenner ;; 90375107Sfenner op60c) 90475107Sfenner basic_machine=hppa1.1-oki 90575107Sfenner ;; 90617683Spst mips) 90775107Sfenner if [ x$os = x-linux-gnu ]; then 90875107Sfenner basic_machine=mips-unknown 90975107Sfenner else 91075107Sfenner basic_machine=mips-mips 91175107Sfenner fi 91217683Spst ;; 91317683Spst romp) 91417683Spst basic_machine=romp-ibm 91517683Spst ;; 91617683Spst rs6000) 91717683Spst basic_machine=rs6000-ibm 91817683Spst ;; 91917683Spst vax) 92017683Spst basic_machine=vax-dec 92117683Spst ;; 92217683Spst pdp11) 92317683Spst basic_machine=pdp11-dec 92417683Spst ;; 92517683Spst we32k) 92617683Spst basic_machine=we32k-att 92717683Spst ;; 92875107Sfenner sh3 | sh4) 92975107Sfenner basic_machine=sh-unknown 93075107Sfenner ;; 93175107Sfenner sparc | sparcv9) 93217683Spst basic_machine=sparc-sun 93317683Spst ;; 93417683Spst cydra) 93517683Spst basic_machine=cydra-cydrome 93617683Spst ;; 93717683Spst orion) 93817683Spst basic_machine=orion-highlevel 93917683Spst ;; 94017683Spst orion105) 94117683Spst basic_machine=clipper-highlevel 94217683Spst ;; 94375107Sfenner mac | mpw | mac-mpw) 94475107Sfenner basic_machine=m68k-apple 94575107Sfenner ;; 94675107Sfenner pmac | pmac-mpw) 94775107Sfenner basic_machine=powerpc-apple 94875107Sfenner ;; 94975107Sfenner c4x*) 95075107Sfenner basic_machine=c4x-none 95175107Sfenner os=-coff 95275107Sfenner ;; 95317683Spst *) 95417683Spst echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 95517683Spst exit 1 95617683Spst ;; 95717683Spstesac 95817683Spst 95917683Spst# Here we canonicalize certain aliases for manufacturers. 96017683Spstcase $basic_machine in 96117683Spst *-digital*) 96217683Spst basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 96317683Spst ;; 96417683Spst *-commodore*) 96517683Spst basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 96617683Spst ;; 96717683Spst *) 96817683Spst ;; 96917683Spstesac 97017683Spst 97117683Spst# Decode manufacturer-specific aliases for certain operating systems. 97217683Spst 97317683Spstif [ x"$os" != x"" ] 97417683Spstthen 97517683Spstcase $os in 97626175Sfenner # First match some system type aliases 97726175Sfenner # that might get confused with valid system types. 97817683Spst # -solaris* is a basic system type, with this one exception. 97917683Spst -solaris1 | -solaris1.*) 98017683Spst os=`echo $os | sed -e 's|solaris1|sunos4|'` 98117683Spst ;; 98217683Spst -solaris) 98317683Spst os=-solaris2 98417683Spst ;; 98575107Sfenner -svr4*) 98617683Spst os=-sysv4 98717683Spst ;; 98875107Sfenner -unixware*) 98975107Sfenner os=-sysv4.2uw 99075107Sfenner ;; 99117683Spst -gnu/linux*) 99226175Sfenner os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 99317683Spst ;; 99417683Spst # First accept the basic system types. 99517683Spst # The portable systems comes first. 99617683Spst # Each alternative MUST END IN A *, to match a version number. 99717683Spst # -sysv* is not here because it comes later, after sysvr4. 99817683Spst -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 99926175Sfenner | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 100017683Spst | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 100175107Sfenner | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 100275107Sfenner | -aos* \ 100326175Sfenner | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 100426175Sfenner | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 100526175Sfenner | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ 100675107Sfenner | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 100717683Spst | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 100826175Sfenner | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 100975107Sfenner | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 101075107Sfenner | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ 101175107Sfenner | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ 101275107Sfenner | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*) 101317683Spst # Remember, each alternative MUST END IN *, to match a version number. 101417683Spst ;; 101575107Sfenner -qnx*) 101675107Sfenner case $basic_machine in 101775107Sfenner x86-* | i[34567]86-*) 101875107Sfenner ;; 101975107Sfenner *) 102075107Sfenner os=-nto$os 102175107Sfenner ;; 102275107Sfenner esac 102375107Sfenner ;; 102475107Sfenner -nto*) 102575107Sfenner os=-nto-qnx 102675107Sfenner ;; 102775107Sfenner -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 102875107Sfenner | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ 102975107Sfenner | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 103075107Sfenner ;; 103175107Sfenner -mac*) 103275107Sfenner os=`echo $os | sed -e 's|mac|macos|'` 103375107Sfenner ;; 103426175Sfenner -linux*) 103526175Sfenner os=`echo $os | sed -e 's|linux|linux-gnu|'` 103626175Sfenner ;; 103717683Spst -sunos5*) 103817683Spst os=`echo $os | sed -e 's|sunos5|solaris2|'` 103917683Spst ;; 104017683Spst -sunos6*) 104117683Spst os=`echo $os | sed -e 's|sunos6|solaris3|'` 104217683Spst ;; 104375107Sfenner -opened*) 104475107Sfenner os=-openedition 104575107Sfenner ;; 104675107Sfenner -wince*) 104775107Sfenner os=-wince 104875107Sfenner ;; 104917683Spst -osfrose*) 105017683Spst os=-osfrose 105117683Spst ;; 105217683Spst -osf*) 105317683Spst os=-osf 105417683Spst ;; 105517683Spst -utek*) 105617683Spst os=-bsd 105717683Spst ;; 105817683Spst -dynix*) 105917683Spst os=-bsd 106017683Spst ;; 106117683Spst -acis*) 106217683Spst os=-aos 106317683Spst ;; 106475107Sfenner -386bsd) 106575107Sfenner os=-bsd 106675107Sfenner ;; 106717683Spst -ctix* | -uts*) 106817683Spst os=-sysv 106917683Spst ;; 107026175Sfenner -ns2 ) 107126175Sfenner os=-nextstep2 107226175Sfenner ;; 107375107Sfenner -nsk*) 107475107Sfenner os=-nsk 107575107Sfenner ;; 107617683Spst # Preserve the version number of sinix5. 107717683Spst -sinix5.*) 107817683Spst os=`echo $os | sed -e 's|sinix|sysv|'` 107917683Spst ;; 108017683Spst -sinix*) 108117683Spst os=-sysv4 108217683Spst ;; 108317683Spst -triton*) 108417683Spst os=-sysv3 108517683Spst ;; 108617683Spst -oss*) 108717683Spst os=-sysv3 108817683Spst ;; 108917683Spst -svr4) 109017683Spst os=-sysv4 109117683Spst ;; 109217683Spst -svr3) 109317683Spst os=-sysv3 109417683Spst ;; 109517683Spst -sysvr4) 109617683Spst os=-sysv4 109717683Spst ;; 109817683Spst # This must come after -sysvr4. 109917683Spst -sysv*) 110017683Spst ;; 110175107Sfenner -ose*) 110275107Sfenner os=-ose 110375107Sfenner ;; 110475107Sfenner -es1800*) 110575107Sfenner os=-ose 110675107Sfenner ;; 110717683Spst -xenix) 110817683Spst os=-xenix 110917683Spst ;; 111075107Sfenner -*mint | -*MiNT) 111175107Sfenner os=-mint 111275107Sfenner ;; 111317683Spst -none) 111417683Spst ;; 111517683Spst *) 111617683Spst # Get rid of the `-' at the beginning of $os. 111717683Spst os=`echo $os | sed 's/[^-]*-//'` 111817683Spst echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 111917683Spst exit 1 112017683Spst ;; 112117683Spstesac 112217683Spstelse 112317683Spst 112417683Spst# Here we handle the default operating systems that come with various machines. 112517683Spst# The value should be what the vendor currently ships out the door with their 112617683Spst# machine or put another way, the most popular os provided with the machine. 112717683Spst 112817683Spst# Note that if you're going to try to match "-MANUFACTURER" here (say, 112917683Spst# "-sun"), then you have to tell the case statement up towards the top 113017683Spst# that MANUFACTURER isn't an operating system. Otherwise, code above 113117683Spst# will signal an error saying that MANUFACTURER isn't an operating 113217683Spst# system, and we'll never get to this point. 113317683Spst 113417683Spstcase $basic_machine in 113517683Spst *-acorn) 113617683Spst os=-riscix1.2 113717683Spst ;; 113875107Sfenner arm*-rebel) 113975107Sfenner os=-linux 114075107Sfenner ;; 114117683Spst arm*-semi) 114217683Spst os=-aout 114317683Spst ;; 114417683Spst pdp11-*) 114517683Spst os=-none 114617683Spst ;; 114717683Spst *-dec | vax-*) 114817683Spst os=-ultrix4.2 114917683Spst ;; 115017683Spst m68*-apollo) 115117683Spst os=-domain 115217683Spst ;; 115317683Spst i386-sun) 115417683Spst os=-sunos4.0.2 115517683Spst ;; 115617683Spst m68000-sun) 115717683Spst os=-sunos3 115817683Spst # This also exists in the configure program, but was not the 115917683Spst # default. 116017683Spst # os=-sunos4 116117683Spst ;; 116275107Sfenner m68*-cisco) 116375107Sfenner os=-aout 116475107Sfenner ;; 116575107Sfenner mips*-cisco) 116675107Sfenner os=-elf 116775107Sfenner ;; 116875107Sfenner mips*-*) 116975107Sfenner os=-elf 117075107Sfenner ;; 117117683Spst *-tti) # must be before sparc entry or we get the wrong os. 117217683Spst os=-sysv3 117317683Spst ;; 117417683Spst sparc-* | *-sun) 117517683Spst os=-sunos4.1.1 117617683Spst ;; 117775107Sfenner *-be) 117875107Sfenner os=-beos 117975107Sfenner ;; 118017683Spst *-ibm) 118117683Spst os=-aix 118217683Spst ;; 118375107Sfenner *-wec) 118475107Sfenner os=-proelf 118575107Sfenner ;; 118675107Sfenner *-winbond) 118775107Sfenner os=-proelf 118875107Sfenner ;; 118975107Sfenner *-oki) 119075107Sfenner os=-proelf 119175107Sfenner ;; 119217683Spst *-hp) 119317683Spst os=-hpux 119417683Spst ;; 119517683Spst *-hitachi) 119617683Spst os=-hiux 119717683Spst ;; 119817683Spst i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 119917683Spst os=-sysv 120017683Spst ;; 120117683Spst *-cbm) 120275107Sfenner os=-amigaos 120317683Spst ;; 120417683Spst *-dg) 120517683Spst os=-dgux 120617683Spst ;; 120717683Spst *-dolphin) 120817683Spst os=-sysv3 120917683Spst ;; 121017683Spst m68k-ccur) 121117683Spst os=-rtu 121217683Spst ;; 121317683Spst m88k-omron*) 121417683Spst os=-luna 121517683Spst ;; 121626175Sfenner *-next ) 121726175Sfenner os=-nextstep 121826175Sfenner ;; 121917683Spst *-sequent) 122017683Spst os=-ptx 122117683Spst ;; 122217683Spst *-crds) 122317683Spst os=-unos 122417683Spst ;; 122517683Spst *-ns) 122617683Spst os=-genix 122717683Spst ;; 122817683Spst i370-*) 122917683Spst os=-mvs 123017683Spst ;; 123117683Spst *-next) 123217683Spst os=-nextstep3 123317683Spst ;; 123417683Spst *-gould) 123517683Spst os=-sysv 123617683Spst ;; 123717683Spst *-highlevel) 123817683Spst os=-bsd 123917683Spst ;; 124017683Spst *-encore) 124117683Spst os=-bsd 124217683Spst ;; 124317683Spst *-sgi) 124417683Spst os=-irix 124517683Spst ;; 124617683Spst *-siemens) 124717683Spst os=-sysv4 124817683Spst ;; 124917683Spst *-masscomp) 125017683Spst os=-rtu 125117683Spst ;; 125275107Sfenner f30[01]-fujitsu) 125326175Sfenner os=-uxpv 125426175Sfenner ;; 125575107Sfenner *-rom68k) 125675107Sfenner os=-coff 125775107Sfenner ;; 125875107Sfenner *-*bug) 125975107Sfenner os=-coff 126075107Sfenner ;; 126175107Sfenner *-apple) 126275107Sfenner os=-macos 126375107Sfenner ;; 126475107Sfenner *-atari*) 126575107Sfenner os=-mint 126675107Sfenner ;; 126717683Spst *) 126817683Spst os=-none 126917683Spst ;; 127017683Spstesac 127117683Spstfi 127217683Spst 127317683Spst# Here we handle the case where we know the os, and the CPU type, but not the 127417683Spst# manufacturer. We pick the logical manufacturer. 127517683Spstvendor=unknown 127617683Spstcase $basic_machine in 127717683Spst *-unknown) 127817683Spst case $os in 127917683Spst -riscix*) 128017683Spst vendor=acorn 128117683Spst ;; 128217683Spst -sunos*) 128317683Spst vendor=sun 128417683Spst ;; 128517683Spst -aix*) 128617683Spst vendor=ibm 128717683Spst ;; 128875107Sfenner -beos*) 128975107Sfenner vendor=be 129075107Sfenner ;; 129117683Spst -hpux*) 129217683Spst vendor=hp 129317683Spst ;; 129475107Sfenner -mpeix*) 129575107Sfenner vendor=hp 129675107Sfenner ;; 129717683Spst -hiux*) 129817683Spst vendor=hitachi 129917683Spst ;; 130017683Spst -unos*) 130117683Spst vendor=crds 130217683Spst ;; 130317683Spst -dgux*) 130417683Spst vendor=dg 130517683Spst ;; 130617683Spst -luna*) 130717683Spst vendor=omron 130817683Spst ;; 130917683Spst -genix*) 131017683Spst vendor=ns 131117683Spst ;; 131275107Sfenner -mvs* | -opened*) 131317683Spst vendor=ibm 131417683Spst ;; 131517683Spst -ptx*) 131617683Spst vendor=sequent 131717683Spst ;; 131826175Sfenner -vxsim* | -vxworks*) 131917683Spst vendor=wrs 132017683Spst ;; 132126175Sfenner -aux*) 132226175Sfenner vendor=apple 132326175Sfenner ;; 132475107Sfenner -hms*) 132575107Sfenner vendor=hitachi 132675107Sfenner ;; 132775107Sfenner -mpw* | -macos*) 132875107Sfenner vendor=apple 132975107Sfenner ;; 133075107Sfenner -*mint | -*MiNT) 133175107Sfenner vendor=atari 133275107Sfenner ;; 133317683Spst esac 133417683Spst basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 133517683Spst ;; 133617683Spstesac 133717683Spst 133817683Spstecho $basic_machine$os 133975107Sfennerexit 0 134075107Sfenner 134175107Sfenner# Local variables: 134275107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp) 134375107Sfenner# time-stamp-start: "timestamp='" 134475107Sfenner# time-stamp-format: "%:y-%02m-%02d" 134575107Sfenner# time-stamp-end: "'" 134675107Sfenner# End: 1347