config.sub revision 127664
117683Spst#! /bin/sh 275107Sfenner# Configuration validation subroutine script. 3127664Sbms# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4127664Sbms# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 575107Sfenner 6127664Sbmstimestamp='2003-11-03' 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 32127664Sbms# Please send patches to <config-patches@gnu.org>. Submit a context 33127664Sbms# diff and a properly formatted ChangeLog entry. 3475107Sfenner# 3517683Spst# Configuration subroutine to validate and canonicalize a configuration type. 3617683Spst# Supply the specified configuration type as an argument. 3717683Spst# If it is invalid, we print an error message on stderr and exit with code 1. 3817683Spst# Otherwise, we print the canonical config type on stdout and succeed. 3917683Spst 4017683Spst# This file is supposed to be the same for all GNU packages 4117683Spst# and recognize all the CPU types, system types and aliases 4217683Spst# that are meaningful with *any* GNU software. 4317683Spst# Each package is responsible for reporting which valid configurations 4417683Spst# it does not support. The user should be able to distinguish 4517683Spst# a failure to support a valid configuration from a meaningless 4617683Spst# configuration. 4717683Spst 4817683Spst# The goal of this file is to map all the various variations of a given 4917683Spst# machine specification into a single specification in the form: 5017683Spst# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 5126175Sfenner# or in some cases, the newer four-part form: 5226175Sfenner# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5317683Spst# It is wrong to echo any other type of specification. 5417683Spst 5575107Sfennerme=`echo "$0" | sed -e 's,.*/,,'` 5617683Spst 5775107Sfennerusage="\ 5875107SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS 5975107Sfenner $0 [OPTION] ALIAS 6075107Sfenner 6175107SfennerCanonicalize a configuration name. 6275107Sfenner 6375107SfennerOperation modes: 6475107Sfenner -h, --help print this help, then exit 6575107Sfenner -t, --time-stamp print date of last modification, then exit 6675107Sfenner -v, --version print version number, then exit 6775107Sfenner 6875107SfennerReport bugs and patches to <config-patches@gnu.org>." 6975107Sfenner 7075107Sfennerversion="\ 7175107SfennerGNU config.sub ($timestamp) 7275107Sfenner 7398530SfennerCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 7475107SfennerFree Software Foundation, Inc. 7575107Sfenner 7675107SfennerThis is free software; see the source for copying conditions. There is NO 7775107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7875107Sfenner 7975107Sfennerhelp=" 8075107SfennerTry \`$me --help' for more information." 8175107Sfenner 8275107Sfenner# Parse command line 8375107Sfennerwhile test $# -gt 0 ; do 8475107Sfenner case $1 in 8575107Sfenner --time-stamp | --time* | -t ) 8675107Sfenner echo "$timestamp" ; exit 0 ;; 8775107Sfenner --version | -v ) 8875107Sfenner echo "$version" ; exit 0 ;; 8975107Sfenner --help | --h* | -h ) 9075107Sfenner echo "$usage"; exit 0 ;; 9175107Sfenner -- ) # Stop option processing 9275107Sfenner shift; break ;; 9375107Sfenner - ) # Use stdin as input. 9475107Sfenner break ;; 9575107Sfenner -* ) 9675107Sfenner echo "$me: invalid option $1$help" 9775107Sfenner exit 1 ;; 9875107Sfenner 9975107Sfenner *local*) 10075107Sfenner # First pass through any local machine types. 10175107Sfenner echo $1 10275107Sfenner exit 0;; 10375107Sfenner 10475107Sfenner * ) 10575107Sfenner break ;; 10675107Sfenner esac 10775107Sfennerdone 10875107Sfenner 10975107Sfennercase $# in 11075107Sfenner 0) echo "$me: missing argument$help" >&2 11175107Sfenner exit 1;; 11275107Sfenner 1) ;; 11375107Sfenner *) echo "$me: too many arguments$help" >&2 11475107Sfenner exit 1;; 11517683Spstesac 11617683Spst 11726175Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11826175Sfenner# Here we must recognize all the valid KERNEL-OS combinations. 11926175Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 12026175Sfennercase $maybe_os in 121127664Sbms nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ 122127664Sbms kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) 12326175Sfenner os=-$maybe_os 12426175Sfenner basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12526175Sfenner ;; 12626175Sfenner *) 12726175Sfenner basic_machine=`echo $1 | sed 's/-[^-]*$//'` 12826175Sfenner if [ $basic_machine != $1 ] 12926175Sfenner then os=`echo $1 | sed 's/.*-/-/'` 13026175Sfenner else os=; fi 13126175Sfenner ;; 13226175Sfenneresac 13317683Spst 13417683Spst### Let's recognize common machines as not being operating systems so 13517683Spst### that things like config.sub decstation-3100 work. We also 13617683Spst### recognize some manufacturers as not being operating systems, so we 13717683Spst### can provide default operating systems below. 13817683Spstcase $os in 13917683Spst -sun*os*) 14017683Spst # Prevent following clause from handling this invalid input. 14117683Spst ;; 14217683Spst -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14317683Spst -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14417683Spst -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14517683Spst -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 14617683Spst -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 14726175Sfenner -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 14875107Sfenner -apple | -axis) 14917683Spst os= 15017683Spst basic_machine=$1 15117683Spst ;; 15275107Sfenner -sim | -cisco | -oki | -wec | -winbond) 15375107Sfenner os= 15475107Sfenner basic_machine=$1 15575107Sfenner ;; 15675107Sfenner -scout) 15775107Sfenner ;; 15875107Sfenner -wrs) 15975107Sfenner os=-vxworks 16075107Sfenner basic_machine=$1 16175107Sfenner ;; 162127664Sbms -chorusos*) 163127664Sbms os=-chorusos 164127664Sbms basic_machine=$1 165127664Sbms ;; 166127664Sbms -chorusrdb) 167127664Sbms os=-chorusrdb 168127664Sbms basic_machine=$1 169127664Sbms ;; 17017683Spst -hiux*) 17117683Spst os=-hiuxwe2 17217683Spst ;; 17326175Sfenner -sco5) 17475107Sfenner os=-sco3.2v5 17526175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 17626175Sfenner ;; 17717683Spst -sco4) 17817683Spst os=-sco3.2v4 17926175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18017683Spst ;; 18117683Spst -sco3.2.[4-9]*) 18217683Spst os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 18326175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18417683Spst ;; 18517683Spst -sco3.2v[4-9]*) 18617683Spst # Don't forget version if it is 3.2v4 or newer. 18726175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18817683Spst ;; 18917683Spst -sco*) 19017683Spst os=-sco3.2v2 19126175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19217683Spst ;; 19375107Sfenner -udk*) 19475107Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19575107Sfenner ;; 19617683Spst -isc) 19717683Spst os=-isc2.2 19826175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19917683Spst ;; 20017683Spst -clix*) 20117683Spst basic_machine=clipper-intergraph 20217683Spst ;; 20317683Spst -isc*) 20426175Sfenner basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20517683Spst ;; 20617683Spst -lynx*) 20717683Spst os=-lynxos 20817683Spst ;; 20917683Spst -ptx*) 21017683Spst basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 21117683Spst ;; 21217683Spst -windowsnt*) 21317683Spst os=`echo $os | sed -e 's/windowsnt/winnt/'` 21417683Spst ;; 21526175Sfenner -psos*) 21626175Sfenner os=-psos 21726175Sfenner ;; 21875107Sfenner -mint | -mint[0-9]*) 21975107Sfenner basic_machine=m68k-atari 22075107Sfenner os=-mint 22175107Sfenner ;; 22217683Spstesac 22317683Spst 22417683Spst# Decode aliases for certain CPU-COMPANY combinations. 22517683Spstcase $basic_machine in 22617683Spst # Recognize the basic CPU types without company name. 22717683Spst # Some are omitted here because they have special meanings below. 228127664Sbms 1750a | 580 \ 229127664Sbms | a29k \ 230127664Sbms | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 231127664Sbms | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 232127664Sbms | am33_2.0 \ 233127664Sbms | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ 234127664Sbms | c4x | clipper \ 235127664Sbms | d10v | d30v | dlx | dsp16xx \ 236127664Sbms | fr30 | frv \ 237127664Sbms | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 238127664Sbms | i370 | i860 | i960 | ia64 \ 239127664Sbms | ip2k | iq2000 \ 240127664Sbms | m32r | m68000 | m68k | m88k | mcore \ 241127664Sbms | mips | mipsbe | mipseb | mipsel | mipsle \ 242127664Sbms | mips16 \ 243127664Sbms | mips64 | mips64el \ 244127664Sbms | mips64vr | mips64vrel \ 245127664Sbms | mips64orion | mips64orionel \ 246127664Sbms | mips64vr4100 | mips64vr4100el \ 247127664Sbms | mips64vr4300 | mips64vr4300el \ 248127664Sbms | mips64vr5000 | mips64vr5000el \ 249127664Sbms | mipsisa32 | mipsisa32el \ 250127664Sbms | mipsisa32r2 | mipsisa32r2el \ 251127664Sbms | mipsisa64 | mipsisa64el \ 252127664Sbms | mipsisa64r2 | mipsisa64r2el \ 253127664Sbms | mipsisa64sb1 | mipsisa64sb1el \ 254127664Sbms | mipsisa64sr71k | mipsisa64sr71kel \ 255127664Sbms | mipstx39 | mipstx39el \ 256127664Sbms | mn10200 | mn10300 \ 257127664Sbms | msp430 \ 258127664Sbms | ns16k | ns32k \ 259127664Sbms | openrisc | or32 \ 260127664Sbms | pdp10 | pdp11 | pj | pjl \ 261127664Sbms | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 262127664Sbms | pyramid \ 263127664Sbms | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ 264127664Sbms | sh64 | sh64le \ 265127664Sbms | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ 266127664Sbms | strongarm \ 267127664Sbms | tahoe | thumb | tic4x | tic80 | tron \ 268127664Sbms | v850 | v850e \ 269127664Sbms | we32k \ 270127664Sbms | x86 | xscale | xstormy16 | xtensa \ 271127664Sbms | z8k) 27217683Spst basic_machine=$basic_machine-unknown 27317683Spst ;; 27475107Sfenner m6811 | m68hc11 | m6812 | m68hc12) 27575107Sfenner # Motorola 68HC11/12. 27675107Sfenner basic_machine=$basic_machine-unknown 27775107Sfenner os=-none 27875107Sfenner ;; 279127664Sbms m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 28075107Sfenner ;; 28175107Sfenner 28226175Sfenner # We use `pc' rather than `unknown' 28326175Sfenner # because (1) that's what they normally are, and 28426175Sfenner # (2) the word "unknown" tends to confuse beginning users. 28598530Sfenner i*86 | x86_64) 28626175Sfenner basic_machine=$basic_machine-pc 28726175Sfenner ;; 28817683Spst # Object if more than one company name word. 28917683Spst *-*-*) 29017683Spst echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 29117683Spst exit 1 29217683Spst ;; 29317683Spst # Recognize the basic CPU types with company name. 294127664Sbms 580-* \ 295127664Sbms | a29k-* \ 296127664Sbms | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 297127664Sbms | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 298127664Sbms | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 299127664Sbms | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 300127664Sbms | avr-* \ 301127664Sbms | bs2000-* \ 302127664Sbms | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 303127664Sbms | clipper-* | cydra-* \ 304127664Sbms | d10v-* | d30v-* | dlx-* \ 305127664Sbms | elxsi-* \ 306127664Sbms | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ 307127664Sbms | h8300-* | h8500-* \ 308127664Sbms | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 309127664Sbms | i*86-* | i860-* | i960-* | ia64-* \ 310127664Sbms | ip2k-* | iq2000-* \ 311127664Sbms | m32r-* \ 312127664Sbms | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 313127664Sbms | m88110-* | m88k-* | mcore-* \ 314127664Sbms | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 315127664Sbms | mips16-* \ 316127664Sbms | mips64-* | mips64el-* \ 317127664Sbms | mips64vr-* | mips64vrel-* \ 318127664Sbms | mips64orion-* | mips64orionel-* \ 319127664Sbms | mips64vr4100-* | mips64vr4100el-* \ 320127664Sbms | mips64vr4300-* | mips64vr4300el-* \ 321127664Sbms | mips64vr5000-* | mips64vr5000el-* \ 322127664Sbms | mipsisa32-* | mipsisa32el-* \ 323127664Sbms | mipsisa32r2-* | mipsisa32r2el-* \ 324127664Sbms | mipsisa64-* | mipsisa64el-* \ 325127664Sbms | mipsisa64r2-* | mipsisa64r2el-* \ 326127664Sbms | mipsisa64sb1-* | mipsisa64sb1el-* \ 327127664Sbms | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 328127664Sbms | mipstx39-* | mipstx39el-* \ 329127664Sbms | msp430-* \ 330127664Sbms | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ 331127664Sbms | orion-* \ 332127664Sbms | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 333127664Sbms | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 334127664Sbms | pyramid-* \ 335127664Sbms | romp-* | rs6000-* \ 336127664Sbms | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ 337127664Sbms | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 338127664Sbms | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ 339127664Sbms | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ 340127664Sbms | tahoe-* | thumb-* \ 341127664Sbms | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 342127664Sbms | tron-* \ 343127664Sbms | v850-* | v850e-* | vax-* \ 344127664Sbms | we32k-* \ 345127664Sbms | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ 346127664Sbms | xtensa-* \ 347127664Sbms | ymp-* \ 348127664Sbms | z8k-*) 34917683Spst ;; 35017683Spst # Recognize the various machine names and aliases which stand 35117683Spst # for a CPU type and a company and sometimes even an OS. 35275107Sfenner 386bsd) 35375107Sfenner basic_machine=i386-unknown 35475107Sfenner os=-bsd 35575107Sfenner ;; 35617683Spst 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 35717683Spst basic_machine=m68000-att 35817683Spst ;; 35917683Spst 3b*) 36017683Spst basic_machine=we32k-att 36117683Spst ;; 36275107Sfenner a29khif) 36375107Sfenner basic_machine=a29k-amd 36475107Sfenner os=-udi 36575107Sfenner ;; 36675107Sfenner adobe68k) 36775107Sfenner basic_machine=m68010-adobe 36875107Sfenner os=-scout 36975107Sfenner ;; 37017683Spst alliant | fx80) 37117683Spst basic_machine=fx80-alliant 37217683Spst ;; 37317683Spst altos | altos3068) 37417683Spst basic_machine=m68k-altos 37517683Spst ;; 37617683Spst am29k) 37717683Spst basic_machine=a29k-none 37817683Spst os=-bsd 37917683Spst ;; 380127664Sbms amd64) 381127664Sbms basic_machine=x86_64-pc 382127664Sbms ;; 38317683Spst amdahl) 38417683Spst basic_machine=580-amdahl 38517683Spst os=-sysv 38617683Spst ;; 38717683Spst amiga | amiga-*) 38875107Sfenner basic_machine=m68k-unknown 38917683Spst ;; 39075107Sfenner amigaos | amigados) 39175107Sfenner basic_machine=m68k-unknown 39275107Sfenner os=-amigaos 39317683Spst ;; 39417683Spst amigaunix | amix) 39575107Sfenner basic_machine=m68k-unknown 39617683Spst os=-sysv4 39717683Spst ;; 39817683Spst apollo68) 39917683Spst basic_machine=m68k-apollo 40017683Spst os=-sysv 40117683Spst ;; 40275107Sfenner apollo68bsd) 40375107Sfenner basic_machine=m68k-apollo 40475107Sfenner os=-bsd 40575107Sfenner ;; 40626175Sfenner aux) 40726175Sfenner basic_machine=m68k-apple 40826175Sfenner os=-aux 40926175Sfenner ;; 41017683Spst balance) 41117683Spst basic_machine=ns32k-sequent 41217683Spst os=-dynix 41317683Spst ;; 414127664Sbms c90) 415127664Sbms basic_machine=c90-cray 416127664Sbms os=-unicos 417127664Sbms ;; 41817683Spst convex-c1) 41917683Spst basic_machine=c1-convex 42017683Spst os=-bsd 42117683Spst ;; 42217683Spst convex-c2) 42317683Spst basic_machine=c2-convex 42417683Spst os=-bsd 42517683Spst ;; 42617683Spst convex-c32) 42717683Spst basic_machine=c32-convex 42817683Spst os=-bsd 42917683Spst ;; 43017683Spst convex-c34) 43117683Spst basic_machine=c34-convex 43217683Spst os=-bsd 43317683Spst ;; 43417683Spst convex-c38) 43517683Spst basic_machine=c38-convex 43617683Spst os=-bsd 43717683Spst ;; 438127664Sbms cray | j90) 439127664Sbms basic_machine=j90-cray 44017683Spst os=-unicos 44117683Spst ;; 44217683Spst crds | unos) 44317683Spst basic_machine=m68k-crds 44417683Spst ;; 44575107Sfenner cris | cris-* | etrax*) 44675107Sfenner basic_machine=cris-axis 44775107Sfenner ;; 44817683Spst da30 | da30-*) 44917683Spst basic_machine=m68k-da30 45017683Spst ;; 45117683Spst decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 45217683Spst basic_machine=mips-dec 45317683Spst ;; 454127664Sbms decsystem10* | dec10*) 455127664Sbms basic_machine=pdp10-dec 456127664Sbms os=-tops10 457127664Sbms ;; 458127664Sbms decsystem20* | dec20*) 459127664Sbms basic_machine=pdp10-dec 460127664Sbms os=-tops20 461127664Sbms ;; 46217683Spst delta | 3300 | motorola-3300 | motorola-delta \ 46317683Spst | 3300-motorola | delta-motorola) 46417683Spst basic_machine=m68k-motorola 46517683Spst ;; 46617683Spst delta88) 46717683Spst basic_machine=m88k-motorola 46817683Spst os=-sysv3 46917683Spst ;; 47017683Spst dpx20 | dpx20-*) 47117683Spst basic_machine=rs6000-bull 47217683Spst os=-bosx 47317683Spst ;; 47417683Spst dpx2* | dpx2*-bull) 47517683Spst basic_machine=m68k-bull 47617683Spst os=-sysv3 47717683Spst ;; 47817683Spst ebmon29k) 47917683Spst basic_machine=a29k-amd 48017683Spst os=-ebmon 48117683Spst ;; 48217683Spst elxsi) 48317683Spst basic_machine=elxsi-elxsi 48417683Spst os=-bsd 48517683Spst ;; 48617683Spst encore | umax | mmax) 48717683Spst basic_machine=ns32k-encore 48817683Spst ;; 48975107Sfenner es1800 | OSE68k | ose68k | ose | OSE) 49075107Sfenner basic_machine=m68k-ericsson 49175107Sfenner os=-ose 49275107Sfenner ;; 49317683Spst fx2800) 49417683Spst basic_machine=i860-alliant 49517683Spst ;; 49617683Spst genix) 49717683Spst basic_machine=ns32k-ns 49817683Spst ;; 49917683Spst gmicro) 50017683Spst basic_machine=tron-gmicro 50117683Spst os=-sysv 50217683Spst ;; 50398530Sfenner go32) 50498530Sfenner basic_machine=i386-pc 50598530Sfenner os=-go32 50698530Sfenner ;; 50717683Spst h3050r* | hiux*) 50817683Spst basic_machine=hppa1.1-hitachi 50917683Spst os=-hiuxwe2 51017683Spst ;; 51117683Spst h8300hms) 51217683Spst basic_machine=h8300-hitachi 51317683Spst os=-hms 51417683Spst ;; 51575107Sfenner h8300xray) 51675107Sfenner basic_machine=h8300-hitachi 51775107Sfenner os=-xray 51875107Sfenner ;; 51975107Sfenner h8500hms) 52075107Sfenner basic_machine=h8500-hitachi 52175107Sfenner os=-hms 52275107Sfenner ;; 52317683Spst harris) 52417683Spst basic_machine=m88k-harris 52517683Spst os=-sysv3 52617683Spst ;; 52717683Spst hp300-*) 52817683Spst basic_machine=m68k-hp 52917683Spst ;; 53017683Spst hp300bsd) 53117683Spst basic_machine=m68k-hp 53217683Spst os=-bsd 53317683Spst ;; 53417683Spst hp300hpux) 53517683Spst basic_machine=m68k-hp 53617683Spst os=-hpux 53717683Spst ;; 53875107Sfenner hp3k9[0-9][0-9] | hp9[0-9][0-9]) 53975107Sfenner basic_machine=hppa1.0-hp 54075107Sfenner ;; 54117683Spst hp9k2[0-9][0-9] | hp9k31[0-9]) 54217683Spst basic_machine=m68000-hp 54317683Spst ;; 54417683Spst hp9k3[2-9][0-9]) 54517683Spst basic_machine=m68k-hp 54617683Spst ;; 54775107Sfenner hp9k6[0-9][0-9] | hp6[0-9][0-9]) 54875107Sfenner basic_machine=hppa1.0-hp 54975107Sfenner ;; 55075107Sfenner hp9k7[0-79][0-9] | hp7[0-79][0-9]) 55117683Spst basic_machine=hppa1.1-hp 55217683Spst ;; 55375107Sfenner hp9k78[0-9] | hp78[0-9]) 55475107Sfenner # FIXME: really hppa2.0-hp 55575107Sfenner basic_machine=hppa1.1-hp 55675107Sfenner ;; 55775107Sfenner hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 55875107Sfenner # FIXME: really hppa2.0-hp 55975107Sfenner basic_machine=hppa1.1-hp 56075107Sfenner ;; 56175107Sfenner hp9k8[0-9][13679] | hp8[0-9][13679]) 56275107Sfenner basic_machine=hppa1.1-hp 56375107Sfenner ;; 56417683Spst hp9k8[0-9][0-9] | hp8[0-9][0-9]) 56517683Spst basic_machine=hppa1.0-hp 56617683Spst ;; 56726175Sfenner hppa-next) 56826175Sfenner os=-nextstep3 56926175Sfenner ;; 57075107Sfenner hppaosf) 57175107Sfenner basic_machine=hppa1.1-hp 57275107Sfenner os=-osf 57375107Sfenner ;; 57475107Sfenner hppro) 57575107Sfenner basic_machine=hppa1.1-hp 57675107Sfenner os=-proelf 57775107Sfenner ;; 57817683Spst i370-ibm* | ibm*) 57917683Spst basic_machine=i370-ibm 58017683Spst ;; 58117683Spst# I'm not sure what "Sysv32" means. Should this be sysv3.2? 58298530Sfenner i*86v32) 58326175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 58417683Spst os=-sysv32 58517683Spst ;; 58698530Sfenner i*86v4*) 58726175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 58817683Spst os=-sysv4 58917683Spst ;; 59098530Sfenner i*86v) 59126175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 59217683Spst os=-sysv 59317683Spst ;; 59498530Sfenner i*86sol2) 59526175Sfenner basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 59617683Spst os=-solaris2 59717683Spst ;; 59875107Sfenner i386mach) 59975107Sfenner basic_machine=i386-mach 60075107Sfenner os=-mach 60175107Sfenner ;; 60275107Sfenner i386-vsta | vsta) 60375107Sfenner basic_machine=i386-unknown 60475107Sfenner os=-vsta 60575107Sfenner ;; 60617683Spst iris | iris4d) 60717683Spst basic_machine=mips-sgi 60817683Spst case $os in 60917683Spst -irix*) 61017683Spst ;; 61117683Spst *) 61217683Spst os=-irix4 61317683Spst ;; 61417683Spst esac 61517683Spst ;; 61617683Spst isi68 | isi) 61717683Spst basic_machine=m68k-isi 61817683Spst os=-sysv 61917683Spst ;; 62017683Spst m88k-omron*) 62117683Spst basic_machine=m88k-omron 62217683Spst ;; 62317683Spst magnum | m3230) 62417683Spst basic_machine=mips-mips 62517683Spst os=-sysv 62617683Spst ;; 62717683Spst merlin) 62817683Spst basic_machine=ns32k-utek 62917683Spst os=-sysv 63017683Spst ;; 63198530Sfenner mingw32) 63298530Sfenner basic_machine=i386-pc 63398530Sfenner os=-mingw32 63498530Sfenner ;; 63517683Spst miniframe) 63617683Spst basic_machine=m68000-convergent 63717683Spst ;; 63875107Sfenner *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 63975107Sfenner basic_machine=m68k-atari 64075107Sfenner os=-mint 64175107Sfenner ;; 64217683Spst mips3*-*) 64317683Spst basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 64417683Spst ;; 64517683Spst mips3*) 64617683Spst basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 64717683Spst ;; 64875107Sfenner mmix*) 64975107Sfenner basic_machine=mmix-knuth 65075107Sfenner os=-mmixware 65175107Sfenner ;; 65275107Sfenner monitor) 65375107Sfenner basic_machine=m68k-rom68k 65475107Sfenner os=-coff 65575107Sfenner ;; 656127664Sbms morphos) 657127664Sbms basic_machine=powerpc-unknown 658127664Sbms os=-morphos 659127664Sbms ;; 66075107Sfenner msdos) 66198530Sfenner basic_machine=i386-pc 66275107Sfenner os=-msdos 66375107Sfenner ;; 66475107Sfenner mvs) 66575107Sfenner basic_machine=i370-ibm 66675107Sfenner os=-mvs 66775107Sfenner ;; 66817683Spst ncr3000) 66917683Spst basic_machine=i486-ncr 67017683Spst os=-sysv4 67117683Spst ;; 67275107Sfenner netbsd386) 67375107Sfenner basic_machine=i386-unknown 67475107Sfenner os=-netbsd 67575107Sfenner ;; 67675107Sfenner netwinder) 67775107Sfenner basic_machine=armv4l-rebel 67875107Sfenner os=-linux 67975107Sfenner ;; 68017683Spst news | news700 | news800 | news900) 68117683Spst basic_machine=m68k-sony 68217683Spst os=-newsos 68317683Spst ;; 68417683Spst news1000) 68517683Spst basic_machine=m68030-sony 68617683Spst os=-newsos 68717683Spst ;; 68817683Spst news-3600 | risc-news) 68917683Spst basic_machine=mips-sony 69017683Spst os=-newsos 69117683Spst ;; 69275107Sfenner necv70) 69375107Sfenner basic_machine=v70-nec 69475107Sfenner os=-sysv 69575107Sfenner ;; 69617683Spst next | m*-next ) 69717683Spst basic_machine=m68k-next 69817683Spst case $os in 69917683Spst -nextstep* ) 70017683Spst ;; 70117683Spst -ns2*) 70217683Spst os=-nextstep2 70317683Spst ;; 70417683Spst *) 70517683Spst os=-nextstep3 70617683Spst ;; 70717683Spst esac 70817683Spst ;; 70917683Spst nh3000) 71017683Spst basic_machine=m68k-harris 71117683Spst os=-cxux 71217683Spst ;; 71317683Spst nh[45]000) 71417683Spst basic_machine=m88k-harris 71517683Spst os=-cxux 71617683Spst ;; 71717683Spst nindy960) 71817683Spst basic_machine=i960-intel 71917683Spst os=-nindy 72017683Spst ;; 72175107Sfenner mon960) 72275107Sfenner basic_machine=i960-intel 72375107Sfenner os=-mon960 72475107Sfenner ;; 72575107Sfenner nonstopux) 72675107Sfenner basic_machine=mips-compaq 72775107Sfenner os=-nonstopux 72875107Sfenner ;; 72917683Spst np1) 73017683Spst basic_machine=np1-gould 73117683Spst ;; 732127664Sbms nv1) 733127664Sbms basic_machine=nv1-cray 734127664Sbms os=-unicosmp 735127664Sbms ;; 73675107Sfenner nsr-tandem) 73775107Sfenner basic_machine=nsr-tandem 73875107Sfenner ;; 73975107Sfenner op50n-* | op60c-*) 74075107Sfenner basic_machine=hppa1.1-oki 74175107Sfenner os=-proelf 74275107Sfenner ;; 743127664Sbms or32 | or32-*) 744127664Sbms basic_machine=or32-unknown 745127664Sbms os=-coff 746127664Sbms ;; 747127664Sbms os400) 748127664Sbms basic_machine=powerpc-ibm 749127664Sbms os=-os400 750127664Sbms ;; 75175107Sfenner OSE68000 | ose68000) 75275107Sfenner basic_machine=m68000-ericsson 75375107Sfenner os=-ose 75475107Sfenner ;; 75575107Sfenner os68k) 75675107Sfenner basic_machine=m68k-none 75775107Sfenner os=-os68k 75875107Sfenner ;; 75917683Spst pa-hitachi) 76017683Spst basic_machine=hppa1.1-hitachi 76117683Spst os=-hiuxwe2 76217683Spst ;; 76317683Spst paragon) 76417683Spst basic_machine=i860-intel 76517683Spst os=-osf 76617683Spst ;; 76717683Spst pbd) 76817683Spst basic_machine=sparc-tti 76917683Spst ;; 77017683Spst pbb) 77117683Spst basic_machine=m68k-tti 77217683Spst ;; 773127664Sbms pc532 | pc532-*) 77417683Spst basic_machine=ns32k-pc532 77517683Spst ;; 776127664Sbms pentium | p5 | k5 | k6 | nexgen | viac3) 77775107Sfenner basic_machine=i586-pc 77817683Spst ;; 779127664Sbms pentiumpro | p6 | 6x86 | athlon | athlon_*) 78075107Sfenner basic_machine=i686-pc 78126175Sfenner ;; 782127664Sbms pentiumii | pentium2 | pentiumiii | pentium3) 78375107Sfenner basic_machine=i686-pc 78475107Sfenner ;; 785127664Sbms pentium4) 786127664Sbms basic_machine=i786-pc 787127664Sbms ;; 788127664Sbms pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 78917683Spst basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 79017683Spst ;; 79175107Sfenner pentiumpro-* | p6-* | 6x86-* | athlon-*) 79226175Sfenner basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 79326175Sfenner ;; 794127664Sbms pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 79575107Sfenner basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 79617683Spst ;; 797127664Sbms pentium4-*) 798127664Sbms basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 799127664Sbms ;; 80017683Spst pn) 80117683Spst basic_machine=pn-gould 80217683Spst ;; 80375107Sfenner power) basic_machine=power-ibm 80417683Spst ;; 80517683Spst ppc) basic_machine=powerpc-unknown 806127664Sbms ;; 80717683Spst ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 80817683Spst ;; 80917683Spst ppcle | powerpclittle | ppc-le | powerpc-little) 81017683Spst basic_machine=powerpcle-unknown 811127664Sbms ;; 81217683Spst ppcle-* | powerpclittle-*) 81317683Spst basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 81417683Spst ;; 815127664Sbms ppc64) basic_machine=powerpc64-unknown 816127664Sbms ;; 817127664Sbms ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 818127664Sbms ;; 819127664Sbms ppc64le | powerpc64little | ppc64-le | powerpc64-little) 820127664Sbms basic_machine=powerpc64le-unknown 821127664Sbms ;; 822127664Sbms ppc64le-* | powerpc64little-*) 823127664Sbms basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 824127664Sbms ;; 82517683Spst ps2) 82617683Spst basic_machine=i386-ibm 82717683Spst ;; 82898530Sfenner pw32) 82998530Sfenner basic_machine=i586-unknown 83098530Sfenner os=-pw32 83198530Sfenner ;; 83275107Sfenner rom68k) 83375107Sfenner basic_machine=m68k-rom68k 83475107Sfenner os=-coff 83575107Sfenner ;; 83617683Spst rm[46]00) 83717683Spst basic_machine=mips-siemens 83817683Spst ;; 83917683Spst rtpc | rtpc-*) 84017683Spst basic_machine=romp-ibm 84117683Spst ;; 842127664Sbms s390 | s390-*) 843127664Sbms basic_machine=s390-ibm 844127664Sbms ;; 845127664Sbms s390x | s390x-*) 846127664Sbms basic_machine=s390x-ibm 847127664Sbms ;; 84875107Sfenner sa29200) 84975107Sfenner basic_machine=a29k-amd 85075107Sfenner os=-udi 85175107Sfenner ;; 852127664Sbms sb1) 853127664Sbms basic_machine=mipsisa64sb1-unknown 854127664Sbms ;; 855127664Sbms sb1el) 856127664Sbms basic_machine=mipsisa64sb1el-unknown 857127664Sbms ;; 858127664Sbms sei) 859127664Sbms basic_machine=mips-sei 860127664Sbms os=-seiux 861127664Sbms ;; 86217683Spst sequent) 86317683Spst basic_machine=i386-sequent 86417683Spst ;; 86517683Spst sh) 86617683Spst basic_machine=sh-hitachi 86717683Spst os=-hms 86817683Spst ;; 869127664Sbms sh64) 870127664Sbms basic_machine=sh64-unknown 871127664Sbms ;; 872127664Sbms sparclite-wrs | simso-wrs) 87375107Sfenner basic_machine=sparclite-wrs 87475107Sfenner os=-vxworks 87575107Sfenner ;; 87617683Spst sps7) 87717683Spst basic_machine=m68k-bull 87817683Spst os=-sysv2 87917683Spst ;; 88017683Spst spur) 88117683Spst basic_machine=spur-unknown 88217683Spst ;; 88375107Sfenner st2000) 88475107Sfenner basic_machine=m68k-tandem 88575107Sfenner ;; 88675107Sfenner stratus) 88775107Sfenner basic_machine=i860-stratus 88875107Sfenner os=-sysv4 88975107Sfenner ;; 89017683Spst sun2) 89117683Spst basic_machine=m68000-sun 89217683Spst ;; 89317683Spst sun2os3) 89417683Spst basic_machine=m68000-sun 89517683Spst os=-sunos3 89617683Spst ;; 89717683Spst sun2os4) 89817683Spst basic_machine=m68000-sun 89917683Spst os=-sunos4 90017683Spst ;; 90117683Spst sun3os3) 90217683Spst basic_machine=m68k-sun 90317683Spst os=-sunos3 90417683Spst ;; 90517683Spst sun3os4) 90617683Spst basic_machine=m68k-sun 90717683Spst os=-sunos4 90817683Spst ;; 90917683Spst sun4os3) 91017683Spst basic_machine=sparc-sun 91117683Spst os=-sunos3 91217683Spst ;; 91317683Spst sun4os4) 91417683Spst basic_machine=sparc-sun 91517683Spst os=-sunos4 91617683Spst ;; 91717683Spst sun4sol2) 91817683Spst basic_machine=sparc-sun 91917683Spst os=-solaris2 92017683Spst ;; 92117683Spst sun3 | sun3-*) 92217683Spst basic_machine=m68k-sun 92317683Spst ;; 92417683Spst sun4) 92517683Spst basic_machine=sparc-sun 92617683Spst ;; 92717683Spst sun386 | sun386i | roadrunner) 92817683Spst basic_machine=i386-sun 92917683Spst ;; 93075107Sfenner sv1) 93175107Sfenner basic_machine=sv1-cray 93275107Sfenner os=-unicos 93375107Sfenner ;; 93417683Spst symmetry) 93517683Spst basic_machine=i386-sequent 93617683Spst os=-dynix 93717683Spst ;; 93875107Sfenner t3e) 939127664Sbms basic_machine=alphaev5-cray 94075107Sfenner os=-unicos 94175107Sfenner ;; 942127664Sbms t90) 943127664Sbms basic_machine=t90-cray 944127664Sbms os=-unicos 945127664Sbms ;; 94675107Sfenner tic54x | c54x*) 94775107Sfenner basic_machine=tic54x-unknown 94875107Sfenner os=-coff 94975107Sfenner ;; 950127664Sbms tic55x | c55x*) 951127664Sbms basic_machine=tic55x-unknown 952127664Sbms os=-coff 953127664Sbms ;; 954127664Sbms tic6x | c6x*) 955127664Sbms basic_machine=tic6x-unknown 956127664Sbms os=-coff 957127664Sbms ;; 95875107Sfenner tx39) 95975107Sfenner basic_machine=mipstx39-unknown 96075107Sfenner ;; 96175107Sfenner tx39el) 96275107Sfenner basic_machine=mipstx39el-unknown 96375107Sfenner ;; 964127664Sbms toad1) 965127664Sbms basic_machine=pdp10-xkl 966127664Sbms os=-tops20 967127664Sbms ;; 96817683Spst tower | tower-32) 96917683Spst basic_machine=m68k-ncr 97017683Spst ;; 971127664Sbms tpf) 972127664Sbms basic_machine=s390x-ibm 973127664Sbms os=-tpf 974127664Sbms ;; 97517683Spst udi29k) 97617683Spst basic_machine=a29k-amd 97717683Spst os=-udi 97817683Spst ;; 97917683Spst ultra3) 98017683Spst basic_machine=a29k-nyu 98117683Spst os=-sym1 98217683Spst ;; 98375107Sfenner v810 | necv810) 98475107Sfenner basic_machine=v810-nec 98575107Sfenner os=-none 98675107Sfenner ;; 98717683Spst vaxv) 98817683Spst basic_machine=vax-dec 98917683Spst os=-sysv 99017683Spst ;; 99117683Spst vms) 99217683Spst basic_machine=vax-dec 99317683Spst os=-vms 99417683Spst ;; 99575107Sfenner vpp*|vx|vx-*) 996127664Sbms basic_machine=f301-fujitsu 997127664Sbms ;; 99817683Spst vxworks960) 99917683Spst basic_machine=i960-wrs 100017683Spst os=-vxworks 100117683Spst ;; 100217683Spst vxworks68) 100317683Spst basic_machine=m68k-wrs 100417683Spst os=-vxworks 100517683Spst ;; 100617683Spst vxworks29k) 100717683Spst basic_machine=a29k-wrs 100817683Spst os=-vxworks 100917683Spst ;; 101075107Sfenner w65*) 101175107Sfenner basic_machine=w65-wdc 101275107Sfenner os=-none 101375107Sfenner ;; 101475107Sfenner w89k-*) 101575107Sfenner basic_machine=hppa1.1-winbond 101675107Sfenner os=-proelf 101775107Sfenner ;; 1018127664Sbms xps | xps100) 1019127664Sbms basic_machine=xps100-honeywell 1020127664Sbms ;; 1021127664Sbms ymp) 1022127664Sbms basic_machine=ymp-cray 102317683Spst os=-unicos 102417683Spst ;; 102575107Sfenner z8k-*-coff) 102675107Sfenner basic_machine=z8k-unknown 102775107Sfenner os=-sim 102875107Sfenner ;; 102917683Spst none) 103017683Spst basic_machine=none-none 103117683Spst os=-none 103217683Spst ;; 103317683Spst 103417683Spst# Here we handle the default manufacturer of certain CPU types. It is in 103517683Spst# some cases the only manufacturer, in others, it is the most popular. 103675107Sfenner w89k) 103775107Sfenner basic_machine=hppa1.1-winbond 103875107Sfenner ;; 103975107Sfenner op50n) 104075107Sfenner basic_machine=hppa1.1-oki 104175107Sfenner ;; 104275107Sfenner op60c) 104375107Sfenner basic_machine=hppa1.1-oki 104475107Sfenner ;; 104517683Spst romp) 104617683Spst basic_machine=romp-ibm 104717683Spst ;; 104817683Spst rs6000) 104917683Spst basic_machine=rs6000-ibm 105017683Spst ;; 105117683Spst vax) 105217683Spst basic_machine=vax-dec 105317683Spst ;; 105498530Sfenner pdp10) 105598530Sfenner # there are many clones, so DEC is not a safe bet 105698530Sfenner basic_machine=pdp10-unknown 105798530Sfenner ;; 105817683Spst pdp11) 105917683Spst basic_machine=pdp11-dec 106017683Spst ;; 106117683Spst we32k) 106217683Spst basic_machine=we32k-att 106317683Spst ;; 1064127664Sbms sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) 106575107Sfenner basic_machine=sh-unknown 106675107Sfenner ;; 1067127664Sbms sh64) 1068127664Sbms basic_machine=sh64-unknown 1069127664Sbms ;; 107098530Sfenner sparc | sparcv9 | sparcv9b) 107117683Spst basic_machine=sparc-sun 107217683Spst ;; 1073127664Sbms cydra) 107417683Spst basic_machine=cydra-cydrome 107517683Spst ;; 107617683Spst orion) 107717683Spst basic_machine=orion-highlevel 107817683Spst ;; 107917683Spst orion105) 108017683Spst basic_machine=clipper-highlevel 108117683Spst ;; 108275107Sfenner mac | mpw | mac-mpw) 108375107Sfenner basic_machine=m68k-apple 108475107Sfenner ;; 108575107Sfenner pmac | pmac-mpw) 108675107Sfenner basic_machine=powerpc-apple 108775107Sfenner ;; 108898530Sfenner *-unknown) 108998530Sfenner # Make sure to match an already-canonicalized machine name. 109098530Sfenner ;; 109117683Spst *) 109217683Spst echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 109317683Spst exit 1 109417683Spst ;; 109517683Spstesac 109617683Spst 109717683Spst# Here we canonicalize certain aliases for manufacturers. 109817683Spstcase $basic_machine in 109917683Spst *-digital*) 110017683Spst basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 110117683Spst ;; 110217683Spst *-commodore*) 110317683Spst basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 110417683Spst ;; 110517683Spst *) 110617683Spst ;; 110717683Spstesac 110817683Spst 110917683Spst# Decode manufacturer-specific aliases for certain operating systems. 111017683Spst 111117683Spstif [ x"$os" != x"" ] 111217683Spstthen 111317683Spstcase $os in 111426175Sfenner # First match some system type aliases 111526175Sfenner # that might get confused with valid system types. 111617683Spst # -solaris* is a basic system type, with this one exception. 111717683Spst -solaris1 | -solaris1.*) 111817683Spst os=`echo $os | sed -e 's|solaris1|sunos4|'` 111917683Spst ;; 112017683Spst -solaris) 112117683Spst os=-solaris2 112217683Spst ;; 112375107Sfenner -svr4*) 112417683Spst os=-sysv4 112517683Spst ;; 112675107Sfenner -unixware*) 112775107Sfenner os=-sysv4.2uw 112875107Sfenner ;; 112917683Spst -gnu/linux*) 113026175Sfenner os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 113117683Spst ;; 113217683Spst # First accept the basic system types. 113317683Spst # The portable systems comes first. 113417683Spst # Each alternative MUST END IN A *, to match a version number. 113517683Spst # -sysv* is not here because it comes later, after sysvr4. 113617683Spst -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 113726175Sfenner | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 113817683Spst | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 113975107Sfenner | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 114075107Sfenner | -aos* \ 114126175Sfenner | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 114226175Sfenner | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1143127664Sbms | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ 114475107Sfenner | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 114517683Spst | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 114626175Sfenner | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1147127664Sbms | -chorusos* | -chorusrdb* \ 114875107Sfenner | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1149127664Sbms | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ 1150127664Sbms | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 115198530Sfenner | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1152127664Sbms | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1153127664Sbms | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1154127664Sbms | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1155127664Sbms | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) 115617683Spst # Remember, each alternative MUST END IN *, to match a version number. 115717683Spst ;; 115875107Sfenner -qnx*) 115975107Sfenner case $basic_machine in 116098530Sfenner x86-* | i*86-*) 116175107Sfenner ;; 116275107Sfenner *) 116375107Sfenner os=-nto$os 116475107Sfenner ;; 116575107Sfenner esac 116675107Sfenner ;; 1167127664Sbms -nto-qnx*) 1168127664Sbms ;; 116975107Sfenner -nto*) 1170127664Sbms os=`echo $os | sed -e 's|nto|nto-qnx|'` 117175107Sfenner ;; 117275107Sfenner -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 117375107Sfenner | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ 117475107Sfenner | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 117575107Sfenner ;; 117675107Sfenner -mac*) 117775107Sfenner os=`echo $os | sed -e 's|mac|macos|'` 117875107Sfenner ;; 1179127664Sbms -linux-dietlibc) 1180127664Sbms os=-linux-dietlibc 1181127664Sbms ;; 118226175Sfenner -linux*) 118326175Sfenner os=`echo $os | sed -e 's|linux|linux-gnu|'` 118426175Sfenner ;; 118517683Spst -sunos5*) 118617683Spst os=`echo $os | sed -e 's|sunos5|solaris2|'` 118717683Spst ;; 118817683Spst -sunos6*) 118917683Spst os=`echo $os | sed -e 's|sunos6|solaris3|'` 119017683Spst ;; 119175107Sfenner -opened*) 119275107Sfenner os=-openedition 119375107Sfenner ;; 1194127664Sbms -os400*) 1195127664Sbms os=-os400 1196127664Sbms ;; 119775107Sfenner -wince*) 119875107Sfenner os=-wince 119975107Sfenner ;; 120017683Spst -osfrose*) 120117683Spst os=-osfrose 120217683Spst ;; 120317683Spst -osf*) 120417683Spst os=-osf 120517683Spst ;; 120617683Spst -utek*) 120717683Spst os=-bsd 120817683Spst ;; 120917683Spst -dynix*) 121017683Spst os=-bsd 121117683Spst ;; 121217683Spst -acis*) 121317683Spst os=-aos 121417683Spst ;; 1215127664Sbms -atheos*) 1216127664Sbms os=-atheos 1217127664Sbms ;; 121875107Sfenner -386bsd) 121975107Sfenner os=-bsd 122075107Sfenner ;; 122117683Spst -ctix* | -uts*) 122217683Spst os=-sysv 122317683Spst ;; 1224127664Sbms -nova*) 1225127664Sbms os=-rtmk-nova 1226127664Sbms ;; 122726175Sfenner -ns2 ) 1228127664Sbms os=-nextstep2 122926175Sfenner ;; 123075107Sfenner -nsk*) 123175107Sfenner os=-nsk 123275107Sfenner ;; 123317683Spst # Preserve the version number of sinix5. 123417683Spst -sinix5.*) 123517683Spst os=`echo $os | sed -e 's|sinix|sysv|'` 123617683Spst ;; 123717683Spst -sinix*) 123817683Spst os=-sysv4 123917683Spst ;; 1240127664Sbms -tpf*) 1241127664Sbms os=-tpf 1242127664Sbms ;; 124317683Spst -triton*) 124417683Spst os=-sysv3 124517683Spst ;; 124617683Spst -oss*) 124717683Spst os=-sysv3 124817683Spst ;; 124917683Spst -svr4) 125017683Spst os=-sysv4 125117683Spst ;; 125217683Spst -svr3) 125317683Spst os=-sysv3 125417683Spst ;; 125517683Spst -sysvr4) 125617683Spst os=-sysv4 125717683Spst ;; 125817683Spst # This must come after -sysvr4. 125917683Spst -sysv*) 126017683Spst ;; 126175107Sfenner -ose*) 126275107Sfenner os=-ose 126375107Sfenner ;; 126475107Sfenner -es1800*) 126575107Sfenner os=-ose 126675107Sfenner ;; 126717683Spst -xenix) 126817683Spst os=-xenix 126917683Spst ;; 1270127664Sbms -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1271127664Sbms os=-mint 127275107Sfenner ;; 1273127664Sbms -aros*) 1274127664Sbms os=-aros 1275127664Sbms ;; 1276127664Sbms -kaos*) 1277127664Sbms os=-kaos 1278127664Sbms ;; 127917683Spst -none) 128017683Spst ;; 128117683Spst *) 128217683Spst # Get rid of the `-' at the beginning of $os. 128317683Spst os=`echo $os | sed 's/[^-]*-//'` 128417683Spst echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 128517683Spst exit 1 128617683Spst ;; 128717683Spstesac 128817683Spstelse 128917683Spst 129017683Spst# Here we handle the default operating systems that come with various machines. 129117683Spst# The value should be what the vendor currently ships out the door with their 129217683Spst# machine or put another way, the most popular os provided with the machine. 129317683Spst 129417683Spst# Note that if you're going to try to match "-MANUFACTURER" here (say, 129517683Spst# "-sun"), then you have to tell the case statement up towards the top 129617683Spst# that MANUFACTURER isn't an operating system. Otherwise, code above 129717683Spst# will signal an error saying that MANUFACTURER isn't an operating 129817683Spst# system, and we'll never get to this point. 129917683Spst 130017683Spstcase $basic_machine in 130117683Spst *-acorn) 130217683Spst os=-riscix1.2 130317683Spst ;; 130475107Sfenner arm*-rebel) 130575107Sfenner os=-linux 130675107Sfenner ;; 130717683Spst arm*-semi) 130817683Spst os=-aout 130917683Spst ;; 1310127664Sbms c4x-* | tic4x-*) 1311127664Sbms os=-coff 1312127664Sbms ;; 1313127664Sbms # This must come before the *-dec entry. 131498530Sfenner pdp10-*) 131598530Sfenner os=-tops20 131698530Sfenner ;; 1317127664Sbms pdp11-*) 131817683Spst os=-none 131917683Spst ;; 132017683Spst *-dec | vax-*) 132117683Spst os=-ultrix4.2 132217683Spst ;; 132317683Spst m68*-apollo) 132417683Spst os=-domain 132517683Spst ;; 132617683Spst i386-sun) 132717683Spst os=-sunos4.0.2 132817683Spst ;; 132917683Spst m68000-sun) 133017683Spst os=-sunos3 133117683Spst # This also exists in the configure program, but was not the 133217683Spst # default. 133317683Spst # os=-sunos4 133417683Spst ;; 133575107Sfenner m68*-cisco) 133675107Sfenner os=-aout 133775107Sfenner ;; 133875107Sfenner mips*-cisco) 133975107Sfenner os=-elf 134075107Sfenner ;; 134175107Sfenner mips*-*) 134275107Sfenner os=-elf 134375107Sfenner ;; 1344127664Sbms or32-*) 1345127664Sbms os=-coff 1346127664Sbms ;; 134717683Spst *-tti) # must be before sparc entry or we get the wrong os. 134817683Spst os=-sysv3 134917683Spst ;; 135017683Spst sparc-* | *-sun) 135117683Spst os=-sunos4.1.1 135217683Spst ;; 135375107Sfenner *-be) 135475107Sfenner os=-beos 135575107Sfenner ;; 135617683Spst *-ibm) 135717683Spst os=-aix 135817683Spst ;; 135975107Sfenner *-wec) 136075107Sfenner os=-proelf 136175107Sfenner ;; 136275107Sfenner *-winbond) 136375107Sfenner os=-proelf 136475107Sfenner ;; 136575107Sfenner *-oki) 136675107Sfenner os=-proelf 136775107Sfenner ;; 136817683Spst *-hp) 136917683Spst os=-hpux 137017683Spst ;; 137117683Spst *-hitachi) 137217683Spst os=-hiux 137317683Spst ;; 137417683Spst i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 137517683Spst os=-sysv 137617683Spst ;; 137717683Spst *-cbm) 137875107Sfenner os=-amigaos 137917683Spst ;; 138017683Spst *-dg) 138117683Spst os=-dgux 138217683Spst ;; 138317683Spst *-dolphin) 138417683Spst os=-sysv3 138517683Spst ;; 138617683Spst m68k-ccur) 138717683Spst os=-rtu 138817683Spst ;; 138917683Spst m88k-omron*) 139017683Spst os=-luna 139117683Spst ;; 139226175Sfenner *-next ) 139326175Sfenner os=-nextstep 139426175Sfenner ;; 139517683Spst *-sequent) 139617683Spst os=-ptx 139717683Spst ;; 139817683Spst *-crds) 139917683Spst os=-unos 140017683Spst ;; 140117683Spst *-ns) 140217683Spst os=-genix 140317683Spst ;; 140417683Spst i370-*) 140517683Spst os=-mvs 140617683Spst ;; 140717683Spst *-next) 140817683Spst os=-nextstep3 140917683Spst ;; 1410127664Sbms *-gould) 141117683Spst os=-sysv 141217683Spst ;; 1413127664Sbms *-highlevel) 141417683Spst os=-bsd 141517683Spst ;; 141617683Spst *-encore) 141717683Spst os=-bsd 141817683Spst ;; 1419127664Sbms *-sgi) 142017683Spst os=-irix 142117683Spst ;; 1422127664Sbms *-siemens) 142317683Spst os=-sysv4 142417683Spst ;; 142517683Spst *-masscomp) 142617683Spst os=-rtu 142717683Spst ;; 142898530Sfenner f30[01]-fujitsu | f700-fujitsu) 142926175Sfenner os=-uxpv 143026175Sfenner ;; 143175107Sfenner *-rom68k) 143275107Sfenner os=-coff 143375107Sfenner ;; 143475107Sfenner *-*bug) 143575107Sfenner os=-coff 143675107Sfenner ;; 143775107Sfenner *-apple) 143875107Sfenner os=-macos 143975107Sfenner ;; 144075107Sfenner *-atari*) 144175107Sfenner os=-mint 144275107Sfenner ;; 144317683Spst *) 144417683Spst os=-none 144517683Spst ;; 144617683Spstesac 144717683Spstfi 144817683Spst 144917683Spst# Here we handle the case where we know the os, and the CPU type, but not the 145017683Spst# manufacturer. We pick the logical manufacturer. 145117683Spstvendor=unknown 145217683Spstcase $basic_machine in 145317683Spst *-unknown) 145417683Spst case $os in 145517683Spst -riscix*) 145617683Spst vendor=acorn 145717683Spst ;; 145817683Spst -sunos*) 145917683Spst vendor=sun 146017683Spst ;; 146117683Spst -aix*) 146217683Spst vendor=ibm 146317683Spst ;; 146475107Sfenner -beos*) 146575107Sfenner vendor=be 146675107Sfenner ;; 146717683Spst -hpux*) 146817683Spst vendor=hp 146917683Spst ;; 147075107Sfenner -mpeix*) 147175107Sfenner vendor=hp 147275107Sfenner ;; 147317683Spst -hiux*) 147417683Spst vendor=hitachi 147517683Spst ;; 147617683Spst -unos*) 147717683Spst vendor=crds 147817683Spst ;; 147917683Spst -dgux*) 148017683Spst vendor=dg 148117683Spst ;; 148217683Spst -luna*) 148317683Spst vendor=omron 148417683Spst ;; 148517683Spst -genix*) 148617683Spst vendor=ns 148717683Spst ;; 148875107Sfenner -mvs* | -opened*) 148917683Spst vendor=ibm 149017683Spst ;; 1491127664Sbms -os400*) 1492127664Sbms vendor=ibm 1493127664Sbms ;; 149417683Spst -ptx*) 149517683Spst vendor=sequent 149617683Spst ;; 1497127664Sbms -tpf*) 1498127664Sbms vendor=ibm 1499127664Sbms ;; 1500127664Sbms -vxsim* | -vxworks* | -windiss*) 150117683Spst vendor=wrs 150217683Spst ;; 150326175Sfenner -aux*) 150426175Sfenner vendor=apple 150526175Sfenner ;; 150675107Sfenner -hms*) 150775107Sfenner vendor=hitachi 150875107Sfenner ;; 150975107Sfenner -mpw* | -macos*) 151075107Sfenner vendor=apple 151175107Sfenner ;; 151298530Sfenner -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 151375107Sfenner vendor=atari 151475107Sfenner ;; 1515127664Sbms -vos*) 1516127664Sbms vendor=stratus 1517127664Sbms ;; 151817683Spst esac 151917683Spst basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 152017683Spst ;; 152117683Spstesac 152217683Spst 152317683Spstecho $basic_machine$os 152475107Sfennerexit 0 152575107Sfenner 152675107Sfenner# Local variables: 152775107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp) 152875107Sfenner# time-stamp-start: "timestamp='" 152975107Sfenner# time-stamp-format: "%:y-%02m-%02d" 153075107Sfenner# time-stamp-end: "'" 153175107Sfenner# End: 1532