config.sub revision 5ffd6003
1145b7b3cSmrg#! /bin/sh 2145b7b3cSmrg# Configuration validation subroutine script. 3145b7b3cSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 45ffd6003Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5578741aaSmrg# Free Software Foundation, Inc. 6145b7b3cSmrg 75ffd6003Smrgtimestamp='2010-01-22' 8145b7b3cSmrg 9145b7b3cSmrg# This file is (in principle) common to ALL GNU software. 10145b7b3cSmrg# The presence of a machine in this file suggests that SOME GNU software 11145b7b3cSmrg# can handle that machine. It does not imply ALL GNU software can. 12145b7b3cSmrg# 13145b7b3cSmrg# This file is free software; you can redistribute it and/or modify 14145b7b3cSmrg# it under the terms of the GNU General Public License as published by 15145b7b3cSmrg# the Free Software Foundation; either version 2 of the License, or 16145b7b3cSmrg# (at your option) any later version. 17145b7b3cSmrg# 18145b7b3cSmrg# This program is distributed in the hope that it will be useful, 19145b7b3cSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20145b7b3cSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21145b7b3cSmrg# GNU General Public License for more details. 22145b7b3cSmrg# 23145b7b3cSmrg# You should have received a copy of the GNU General Public License 24145b7b3cSmrg# along with this program; if not, write to the Free Software 25145b7b3cSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26145b7b3cSmrg# 02110-1301, USA. 27145b7b3cSmrg# 28145b7b3cSmrg# As a special exception to the GNU General Public License, if you 29145b7b3cSmrg# distribute this file as part of a program that contains a 30145b7b3cSmrg# configuration script generated by Autoconf, you may include it under 31145b7b3cSmrg# the same distribution terms that you use for the rest of that program. 32145b7b3cSmrg 33145b7b3cSmrg 34145b7b3cSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 355ffd6003Smrg# diff and a properly formatted GNU ChangeLog entry. 36145b7b3cSmrg# 37145b7b3cSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38145b7b3cSmrg# Supply the specified configuration type as an argument. 39145b7b3cSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40145b7b3cSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41145b7b3cSmrg 425ffd6003Smrg# You can get the latest version of this script from: 435ffd6003Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 445ffd6003Smrg 45145b7b3cSmrg# This file is supposed to be the same for all GNU packages 46145b7b3cSmrg# and recognize all the CPU types, system types and aliases 47145b7b3cSmrg# that are meaningful with *any* GNU software. 48145b7b3cSmrg# Each package is responsible for reporting which valid configurations 49145b7b3cSmrg# it does not support. The user should be able to distinguish 50145b7b3cSmrg# a failure to support a valid configuration from a meaningless 51145b7b3cSmrg# configuration. 52145b7b3cSmrg 53145b7b3cSmrg# The goal of this file is to map all the various variations of a given 54145b7b3cSmrg# machine specification into a single specification in the form: 55145b7b3cSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56145b7b3cSmrg# or in some cases, the newer four-part form: 57145b7b3cSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58145b7b3cSmrg# It is wrong to echo any other type of specification. 59145b7b3cSmrg 60145b7b3cSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61145b7b3cSmrg 62145b7b3cSmrgusage="\ 63145b7b3cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64145b7b3cSmrg $0 [OPTION] ALIAS 65145b7b3cSmrg 66145b7b3cSmrgCanonicalize a configuration name. 67145b7b3cSmrg 68145b7b3cSmrgOperation modes: 69145b7b3cSmrg -h, --help print this help, then exit 70145b7b3cSmrg -t, --time-stamp print date of last modification, then exit 71145b7b3cSmrg -v, --version print version number, then exit 72145b7b3cSmrg 73145b7b3cSmrgReport bugs and patches to <config-patches@gnu.org>." 74145b7b3cSmrg 75145b7b3cSmrgversion="\ 76145b7b3cSmrgGNU config.sub ($timestamp) 77145b7b3cSmrg 785ffd6003SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 795ffd6003Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 805ffd6003SmrgSoftware Foundation, Inc. 81145b7b3cSmrg 82145b7b3cSmrgThis is free software; see the source for copying conditions. There is NO 83145b7b3cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84145b7b3cSmrg 85145b7b3cSmrghelp=" 86145b7b3cSmrgTry \`$me --help' for more information." 87145b7b3cSmrg 88145b7b3cSmrg# Parse command line 89145b7b3cSmrgwhile test $# -gt 0 ; do 90145b7b3cSmrg case $1 in 91145b7b3cSmrg --time-stamp | --time* | -t ) 92145b7b3cSmrg echo "$timestamp" ; exit ;; 93145b7b3cSmrg --version | -v ) 94145b7b3cSmrg echo "$version" ; exit ;; 95145b7b3cSmrg --help | --h* | -h ) 96145b7b3cSmrg echo "$usage"; exit ;; 97145b7b3cSmrg -- ) # Stop option processing 98145b7b3cSmrg shift; break ;; 99145b7b3cSmrg - ) # Use stdin as input. 100145b7b3cSmrg break ;; 101145b7b3cSmrg -* ) 102145b7b3cSmrg echo "$me: invalid option $1$help" 103145b7b3cSmrg exit 1 ;; 104145b7b3cSmrg 105145b7b3cSmrg *local*) 106145b7b3cSmrg # First pass through any local machine types. 107145b7b3cSmrg echo $1 108145b7b3cSmrg exit ;; 109145b7b3cSmrg 110145b7b3cSmrg * ) 111145b7b3cSmrg break ;; 112145b7b3cSmrg esac 113145b7b3cSmrgdone 114145b7b3cSmrg 115145b7b3cSmrgcase $# in 116145b7b3cSmrg 0) echo "$me: missing argument$help" >&2 117145b7b3cSmrg exit 1;; 118145b7b3cSmrg 1) ;; 119145b7b3cSmrg *) echo "$me: too many arguments$help" >&2 120145b7b3cSmrg exit 1;; 121145b7b3cSmrgesac 122145b7b3cSmrg 123145b7b3cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124145b7b3cSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125145b7b3cSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126145b7b3cSmrgcase $maybe_os in 127145b7b3cSmrg nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 128145b7b3cSmrg uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 1295ffd6003Smrg kopensolaris*-gnu* | \ 130145b7b3cSmrg storm-chaos* | os2-emx* | rtmk-nova*) 131145b7b3cSmrg os=-$maybe_os 132145b7b3cSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 133145b7b3cSmrg ;; 134145b7b3cSmrg *) 135145b7b3cSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 136145b7b3cSmrg if [ $basic_machine != $1 ] 137145b7b3cSmrg then os=`echo $1 | sed 's/.*-/-/'` 138145b7b3cSmrg else os=; fi 139145b7b3cSmrg ;; 140145b7b3cSmrgesac 141145b7b3cSmrg 142145b7b3cSmrg### Let's recognize common machines as not being operating systems so 143145b7b3cSmrg### that things like config.sub decstation-3100 work. We also 144145b7b3cSmrg### recognize some manufacturers as not being operating systems, so we 145145b7b3cSmrg### can provide default operating systems below. 146145b7b3cSmrgcase $os in 147145b7b3cSmrg -sun*os*) 148145b7b3cSmrg # Prevent following clause from handling this invalid input. 149145b7b3cSmrg ;; 150145b7b3cSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 151145b7b3cSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 152145b7b3cSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 153145b7b3cSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 154145b7b3cSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 155145b7b3cSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1565ffd6003Smrg -apple | -axis | -knuth | -cray | -microblaze) 157145b7b3cSmrg os= 158145b7b3cSmrg basic_machine=$1 159145b7b3cSmrg ;; 1605ffd6003Smrg -bluegene*) 1615ffd6003Smrg os=-cnk 1625ffd6003Smrg ;; 163145b7b3cSmrg -sim | -cisco | -oki | -wec | -winbond) 164145b7b3cSmrg os= 165145b7b3cSmrg basic_machine=$1 166145b7b3cSmrg ;; 167145b7b3cSmrg -scout) 168145b7b3cSmrg ;; 169145b7b3cSmrg -wrs) 170145b7b3cSmrg os=-vxworks 171145b7b3cSmrg basic_machine=$1 172145b7b3cSmrg ;; 173145b7b3cSmrg -chorusos*) 174145b7b3cSmrg os=-chorusos 175145b7b3cSmrg basic_machine=$1 176145b7b3cSmrg ;; 177145b7b3cSmrg -chorusrdb) 178145b7b3cSmrg os=-chorusrdb 179145b7b3cSmrg basic_machine=$1 180145b7b3cSmrg ;; 181145b7b3cSmrg -hiux*) 182145b7b3cSmrg os=-hiuxwe2 183145b7b3cSmrg ;; 184145b7b3cSmrg -sco6) 185145b7b3cSmrg os=-sco5v6 186145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187145b7b3cSmrg ;; 188145b7b3cSmrg -sco5) 189145b7b3cSmrg os=-sco3.2v5 190145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191145b7b3cSmrg ;; 192145b7b3cSmrg -sco4) 193145b7b3cSmrg os=-sco3.2v4 194145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195145b7b3cSmrg ;; 196145b7b3cSmrg -sco3.2.[4-9]*) 197145b7b3cSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 198145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199145b7b3cSmrg ;; 200145b7b3cSmrg -sco3.2v[4-9]*) 201145b7b3cSmrg # Don't forget version if it is 3.2v4 or newer. 202145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203145b7b3cSmrg ;; 204145b7b3cSmrg -sco5v6*) 205145b7b3cSmrg # Don't forget version if it is 3.2v4 or newer. 206145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207145b7b3cSmrg ;; 208145b7b3cSmrg -sco*) 209145b7b3cSmrg os=-sco3.2v2 210145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 211145b7b3cSmrg ;; 212145b7b3cSmrg -udk*) 213145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214145b7b3cSmrg ;; 215145b7b3cSmrg -isc) 216145b7b3cSmrg os=-isc2.2 217145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 218145b7b3cSmrg ;; 219145b7b3cSmrg -clix*) 220145b7b3cSmrg basic_machine=clipper-intergraph 221145b7b3cSmrg ;; 222145b7b3cSmrg -isc*) 223145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 224145b7b3cSmrg ;; 225145b7b3cSmrg -lynx*) 226145b7b3cSmrg os=-lynxos 227145b7b3cSmrg ;; 228145b7b3cSmrg -ptx*) 229145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 230145b7b3cSmrg ;; 231145b7b3cSmrg -windowsnt*) 232145b7b3cSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 233145b7b3cSmrg ;; 234145b7b3cSmrg -psos*) 235145b7b3cSmrg os=-psos 236145b7b3cSmrg ;; 237145b7b3cSmrg -mint | -mint[0-9]*) 238145b7b3cSmrg basic_machine=m68k-atari 239145b7b3cSmrg os=-mint 240145b7b3cSmrg ;; 241145b7b3cSmrgesac 242145b7b3cSmrg 243145b7b3cSmrg# Decode aliases for certain CPU-COMPANY combinations. 244145b7b3cSmrgcase $basic_machine in 245145b7b3cSmrg # Recognize the basic CPU types without company name. 246145b7b3cSmrg # Some are omitted here because they have special meanings below. 247145b7b3cSmrg 1750a | 580 \ 248145b7b3cSmrg | a29k \ 249145b7b3cSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 250145b7b3cSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 251145b7b3cSmrg | am33_2.0 \ 252578741aaSmrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 253145b7b3cSmrg | bfin \ 254145b7b3cSmrg | c4x | clipper \ 255145b7b3cSmrg | d10v | d30v | dlx | dsp16xx \ 256578741aaSmrg | fido | fr30 | frv \ 257145b7b3cSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 258145b7b3cSmrg | i370 | i860 | i960 | ia64 \ 259145b7b3cSmrg | ip2k | iq2000 \ 2605ffd6003Smrg | lm32 \ 261578741aaSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2625ffd6003Smrg | maxq | mb | microblaze | mcore | mep | metag \ 263145b7b3cSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 264145b7b3cSmrg | mips16 \ 265145b7b3cSmrg | mips64 | mips64el \ 2665ffd6003Smrg | mips64octeon | mips64octeonel \ 267145b7b3cSmrg | mips64orion | mips64orionel \ 2685ffd6003Smrg | mips64r5900 | mips64r5900el \ 2695ffd6003Smrg | mips64vr | mips64vrel \ 270145b7b3cSmrg | mips64vr4100 | mips64vr4100el \ 271145b7b3cSmrg | mips64vr4300 | mips64vr4300el \ 272145b7b3cSmrg | mips64vr5000 | mips64vr5000el \ 273145b7b3cSmrg | mips64vr5900 | mips64vr5900el \ 274145b7b3cSmrg | mipsisa32 | mipsisa32el \ 275145b7b3cSmrg | mipsisa32r2 | mipsisa32r2el \ 276145b7b3cSmrg | mipsisa64 | mipsisa64el \ 277145b7b3cSmrg | mipsisa64r2 | mipsisa64r2el \ 278145b7b3cSmrg | mipsisa64sb1 | mipsisa64sb1el \ 279145b7b3cSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 280145b7b3cSmrg | mipstx39 | mipstx39el \ 281145b7b3cSmrg | mn10200 | mn10300 \ 2825ffd6003Smrg | moxie \ 283145b7b3cSmrg | mt \ 284145b7b3cSmrg | msp430 \ 285578741aaSmrg | nios | nios2 \ 286145b7b3cSmrg | ns16k | ns32k \ 287145b7b3cSmrg | or32 \ 288145b7b3cSmrg | pdp10 | pdp11 | pj | pjl \ 289145b7b3cSmrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 290145b7b3cSmrg | pyramid \ 2915ffd6003Smrg | rx \ 292578741aaSmrg | score \ 2935ffd6003Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 294145b7b3cSmrg | sh64 | sh64le \ 295578741aaSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 296578741aaSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 297578741aaSmrg | spu | strongarm \ 298145b7b3cSmrg | tahoe | thumb | tic4x | tic80 | tron \ 2995ffd6003Smrg | ubicom32 \ 300145b7b3cSmrg | v850 | v850e \ 301145b7b3cSmrg | we32k \ 302578741aaSmrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 3035ffd6003Smrg | z8k | z80) 304145b7b3cSmrg basic_machine=$basic_machine-unknown 305145b7b3cSmrg ;; 3065ffd6003Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 307145b7b3cSmrg # Motorola 68HC11/12. 308145b7b3cSmrg basic_machine=$basic_machine-unknown 309145b7b3cSmrg os=-none 310145b7b3cSmrg ;; 311145b7b3cSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 312145b7b3cSmrg ;; 313145b7b3cSmrg ms1) 314145b7b3cSmrg basic_machine=mt-unknown 315145b7b3cSmrg ;; 316145b7b3cSmrg 317145b7b3cSmrg # We use `pc' rather than `unknown' 318145b7b3cSmrg # because (1) that's what they normally are, and 319145b7b3cSmrg # (2) the word "unknown" tends to confuse beginning users. 320145b7b3cSmrg i*86 | x86_64) 321145b7b3cSmrg basic_machine=$basic_machine-pc 322145b7b3cSmrg ;; 323145b7b3cSmrg # Object if more than one company name word. 324145b7b3cSmrg *-*-*) 325145b7b3cSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 326145b7b3cSmrg exit 1 327145b7b3cSmrg ;; 328145b7b3cSmrg # Recognize the basic CPU types with company name. 329145b7b3cSmrg 580-* \ 330145b7b3cSmrg | a29k-* \ 331145b7b3cSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 332145b7b3cSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 333145b7b3cSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 334145b7b3cSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 335578741aaSmrg | avr-* | avr32-* \ 336145b7b3cSmrg | bfin-* | bs2000-* \ 337145b7b3cSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 338145b7b3cSmrg | clipper-* | craynv-* | cydra-* \ 339145b7b3cSmrg | d10v-* | d30v-* | dlx-* \ 340145b7b3cSmrg | elxsi-* \ 341578741aaSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 342145b7b3cSmrg | h8300-* | h8500-* \ 343145b7b3cSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 344145b7b3cSmrg | i*86-* | i860-* | i960-* | ia64-* \ 345145b7b3cSmrg | ip2k-* | iq2000-* \ 3465ffd6003Smrg | lm32-* \ 347578741aaSmrg | m32c-* | m32r-* | m32rle-* \ 348145b7b3cSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3495ffd6003Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 350145b7b3cSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 351145b7b3cSmrg | mips16-* \ 352145b7b3cSmrg | mips64-* | mips64el-* \ 3535ffd6003Smrg | mips64octeon-* | mips64octeonel-* \ 354145b7b3cSmrg | mips64orion-* | mips64orionel-* \ 3555ffd6003Smrg | mips64r5900-* | mips64r5900el-* \ 3565ffd6003Smrg | mips64vr-* | mips64vrel-* \ 357145b7b3cSmrg | mips64vr4100-* | mips64vr4100el-* \ 358145b7b3cSmrg | mips64vr4300-* | mips64vr4300el-* \ 359145b7b3cSmrg | mips64vr5000-* | mips64vr5000el-* \ 360145b7b3cSmrg | mips64vr5900-* | mips64vr5900el-* \ 361145b7b3cSmrg | mipsisa32-* | mipsisa32el-* \ 362145b7b3cSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 363145b7b3cSmrg | mipsisa64-* | mipsisa64el-* \ 364145b7b3cSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 365145b7b3cSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 366145b7b3cSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 367145b7b3cSmrg | mipstx39-* | mipstx39el-* \ 368145b7b3cSmrg | mmix-* \ 369145b7b3cSmrg | mt-* \ 370145b7b3cSmrg | msp430-* \ 371578741aaSmrg | nios-* | nios2-* \ 372145b7b3cSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 373145b7b3cSmrg | orion-* \ 374145b7b3cSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 375145b7b3cSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 376145b7b3cSmrg | pyramid-* \ 3775ffd6003Smrg | romp-* | rs6000-* | rx-* \ 3785ffd6003Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 379145b7b3cSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 380578741aaSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 381145b7b3cSmrg | sparclite-* \ 382578741aaSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 383145b7b3cSmrg | tahoe-* | thumb-* \ 384145b7b3cSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 3855ffd6003Smrg | tile-* | tilegx-* \ 386145b7b3cSmrg | tron-* \ 3875ffd6003Smrg | ubicom32-* \ 388145b7b3cSmrg | v850-* | v850e-* | vax-* \ 389145b7b3cSmrg | we32k-* \ 390578741aaSmrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 391578741aaSmrg | xstormy16-* | xtensa*-* \ 392145b7b3cSmrg | ymp-* \ 3935ffd6003Smrg | z8k-* | z80-*) 394145b7b3cSmrg ;; 395578741aaSmrg # Recognize the basic CPU types without company name, with glob match. 396578741aaSmrg xtensa*) 397578741aaSmrg basic_machine=$basic_machine-unknown 398145b7b3cSmrg ;; 399145b7b3cSmrg # Recognize the various machine names and aliases which stand 400145b7b3cSmrg # for a CPU type and a company and sometimes even an OS. 401145b7b3cSmrg 386bsd) 402145b7b3cSmrg basic_machine=i386-unknown 403145b7b3cSmrg os=-bsd 404145b7b3cSmrg ;; 405145b7b3cSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 406145b7b3cSmrg basic_machine=m68000-att 407145b7b3cSmrg ;; 408145b7b3cSmrg 3b*) 409145b7b3cSmrg basic_machine=we32k-att 410145b7b3cSmrg ;; 411145b7b3cSmrg a29khif) 412145b7b3cSmrg basic_machine=a29k-amd 413145b7b3cSmrg os=-udi 414145b7b3cSmrg ;; 415145b7b3cSmrg abacus) 416145b7b3cSmrg basic_machine=abacus-unknown 417145b7b3cSmrg ;; 418145b7b3cSmrg adobe68k) 419145b7b3cSmrg basic_machine=m68010-adobe 420145b7b3cSmrg os=-scout 421145b7b3cSmrg ;; 422145b7b3cSmrg alliant | fx80) 423145b7b3cSmrg basic_machine=fx80-alliant 424145b7b3cSmrg ;; 425145b7b3cSmrg altos | altos3068) 426145b7b3cSmrg basic_machine=m68k-altos 427145b7b3cSmrg ;; 428145b7b3cSmrg am29k) 429145b7b3cSmrg basic_machine=a29k-none 430145b7b3cSmrg os=-bsd 431145b7b3cSmrg ;; 432145b7b3cSmrg amd64) 433145b7b3cSmrg basic_machine=x86_64-pc 434145b7b3cSmrg ;; 435145b7b3cSmrg amd64-*) 436145b7b3cSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 437145b7b3cSmrg ;; 438145b7b3cSmrg amdahl) 439145b7b3cSmrg basic_machine=580-amdahl 440145b7b3cSmrg os=-sysv 441145b7b3cSmrg ;; 442145b7b3cSmrg amiga | amiga-*) 443145b7b3cSmrg basic_machine=m68k-unknown 444145b7b3cSmrg ;; 445145b7b3cSmrg amigaos | amigados) 446145b7b3cSmrg basic_machine=m68k-unknown 447145b7b3cSmrg os=-amigaos 448145b7b3cSmrg ;; 449145b7b3cSmrg amigaunix | amix) 450145b7b3cSmrg basic_machine=m68k-unknown 451145b7b3cSmrg os=-sysv4 452145b7b3cSmrg ;; 453145b7b3cSmrg apollo68) 454145b7b3cSmrg basic_machine=m68k-apollo 455145b7b3cSmrg os=-sysv 456145b7b3cSmrg ;; 457145b7b3cSmrg apollo68bsd) 458145b7b3cSmrg basic_machine=m68k-apollo 459145b7b3cSmrg os=-bsd 460145b7b3cSmrg ;; 4615ffd6003Smrg aros) 4625ffd6003Smrg basic_machine=i386-pc 4635ffd6003Smrg os=-aros 4645ffd6003Smrg ;; 465145b7b3cSmrg aux) 466145b7b3cSmrg basic_machine=m68k-apple 467145b7b3cSmrg os=-aux 468145b7b3cSmrg ;; 469145b7b3cSmrg balance) 470145b7b3cSmrg basic_machine=ns32k-sequent 471145b7b3cSmrg os=-dynix 472145b7b3cSmrg ;; 473578741aaSmrg blackfin) 474578741aaSmrg basic_machine=bfin-unknown 475578741aaSmrg os=-linux 476578741aaSmrg ;; 477578741aaSmrg blackfin-*) 478578741aaSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 479578741aaSmrg os=-linux 480578741aaSmrg ;; 4815ffd6003Smrg bluegene*) 4825ffd6003Smrg basic_machine=powerpc-ibm 4835ffd6003Smrg os=-cnk 4845ffd6003Smrg ;; 485145b7b3cSmrg c90) 486145b7b3cSmrg basic_machine=c90-cray 487145b7b3cSmrg os=-unicos 488145b7b3cSmrg ;; 4895ffd6003Smrg cegcc) 4905ffd6003Smrg basic_machine=arm-unknown 4915ffd6003Smrg os=-cegcc 4925ffd6003Smrg ;; 493145b7b3cSmrg convex-c1) 494145b7b3cSmrg basic_machine=c1-convex 495145b7b3cSmrg os=-bsd 496145b7b3cSmrg ;; 497145b7b3cSmrg convex-c2) 498145b7b3cSmrg basic_machine=c2-convex 499145b7b3cSmrg os=-bsd 500145b7b3cSmrg ;; 501145b7b3cSmrg convex-c32) 502145b7b3cSmrg basic_machine=c32-convex 503145b7b3cSmrg os=-bsd 504145b7b3cSmrg ;; 505145b7b3cSmrg convex-c34) 506145b7b3cSmrg basic_machine=c34-convex 507145b7b3cSmrg os=-bsd 508145b7b3cSmrg ;; 509145b7b3cSmrg convex-c38) 510145b7b3cSmrg basic_machine=c38-convex 511145b7b3cSmrg os=-bsd 512145b7b3cSmrg ;; 513145b7b3cSmrg cray | j90) 514145b7b3cSmrg basic_machine=j90-cray 515145b7b3cSmrg os=-unicos 516145b7b3cSmrg ;; 517145b7b3cSmrg craynv) 518145b7b3cSmrg basic_machine=craynv-cray 519145b7b3cSmrg os=-unicosmp 520145b7b3cSmrg ;; 521578741aaSmrg cr16) 522578741aaSmrg basic_machine=cr16-unknown 523145b7b3cSmrg os=-elf 524145b7b3cSmrg ;; 525145b7b3cSmrg crds | unos) 526145b7b3cSmrg basic_machine=m68k-crds 527145b7b3cSmrg ;; 528145b7b3cSmrg crisv32 | crisv32-* | etraxfs*) 529145b7b3cSmrg basic_machine=crisv32-axis 530145b7b3cSmrg ;; 531145b7b3cSmrg cris | cris-* | etrax*) 532145b7b3cSmrg basic_machine=cris-axis 533145b7b3cSmrg ;; 534145b7b3cSmrg crx) 535145b7b3cSmrg basic_machine=crx-unknown 536145b7b3cSmrg os=-elf 537145b7b3cSmrg ;; 538145b7b3cSmrg da30 | da30-*) 539145b7b3cSmrg basic_machine=m68k-da30 540145b7b3cSmrg ;; 541145b7b3cSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 542145b7b3cSmrg basic_machine=mips-dec 543145b7b3cSmrg ;; 544145b7b3cSmrg decsystem10* | dec10*) 545145b7b3cSmrg basic_machine=pdp10-dec 546145b7b3cSmrg os=-tops10 547145b7b3cSmrg ;; 548145b7b3cSmrg decsystem20* | dec20*) 549145b7b3cSmrg basic_machine=pdp10-dec 550145b7b3cSmrg os=-tops20 551145b7b3cSmrg ;; 552145b7b3cSmrg delta | 3300 | motorola-3300 | motorola-delta \ 553145b7b3cSmrg | 3300-motorola | delta-motorola) 554145b7b3cSmrg basic_machine=m68k-motorola 555145b7b3cSmrg ;; 556145b7b3cSmrg delta88) 557145b7b3cSmrg basic_machine=m88k-motorola 558145b7b3cSmrg os=-sysv3 559145b7b3cSmrg ;; 5605ffd6003Smrg dicos) 5615ffd6003Smrg basic_machine=i686-pc 5625ffd6003Smrg os=-dicos 5635ffd6003Smrg ;; 564145b7b3cSmrg djgpp) 565145b7b3cSmrg basic_machine=i586-pc 566145b7b3cSmrg os=-msdosdjgpp 567145b7b3cSmrg ;; 568145b7b3cSmrg dpx20 | dpx20-*) 569145b7b3cSmrg basic_machine=rs6000-bull 570145b7b3cSmrg os=-bosx 571145b7b3cSmrg ;; 572145b7b3cSmrg dpx2* | dpx2*-bull) 573145b7b3cSmrg basic_machine=m68k-bull 574145b7b3cSmrg os=-sysv3 575145b7b3cSmrg ;; 576145b7b3cSmrg ebmon29k) 577145b7b3cSmrg basic_machine=a29k-amd 578145b7b3cSmrg os=-ebmon 579145b7b3cSmrg ;; 580145b7b3cSmrg elxsi) 581145b7b3cSmrg basic_machine=elxsi-elxsi 582145b7b3cSmrg os=-bsd 583145b7b3cSmrg ;; 584145b7b3cSmrg encore | umax | mmax) 585145b7b3cSmrg basic_machine=ns32k-encore 586145b7b3cSmrg ;; 587145b7b3cSmrg es1800 | OSE68k | ose68k | ose | OSE) 588145b7b3cSmrg basic_machine=m68k-ericsson 589145b7b3cSmrg os=-ose 590145b7b3cSmrg ;; 591145b7b3cSmrg fx2800) 592145b7b3cSmrg basic_machine=i860-alliant 593145b7b3cSmrg ;; 594145b7b3cSmrg genix) 595145b7b3cSmrg basic_machine=ns32k-ns 596145b7b3cSmrg ;; 597145b7b3cSmrg gmicro) 598145b7b3cSmrg basic_machine=tron-gmicro 599145b7b3cSmrg os=-sysv 600145b7b3cSmrg ;; 601145b7b3cSmrg go32) 602145b7b3cSmrg basic_machine=i386-pc 603145b7b3cSmrg os=-go32 604145b7b3cSmrg ;; 605145b7b3cSmrg h3050r* | hiux*) 606145b7b3cSmrg basic_machine=hppa1.1-hitachi 607145b7b3cSmrg os=-hiuxwe2 608145b7b3cSmrg ;; 609145b7b3cSmrg h8300hms) 610145b7b3cSmrg basic_machine=h8300-hitachi 611145b7b3cSmrg os=-hms 612145b7b3cSmrg ;; 613145b7b3cSmrg h8300xray) 614145b7b3cSmrg basic_machine=h8300-hitachi 615145b7b3cSmrg os=-xray 616145b7b3cSmrg ;; 617145b7b3cSmrg h8500hms) 618145b7b3cSmrg basic_machine=h8500-hitachi 619145b7b3cSmrg os=-hms 620145b7b3cSmrg ;; 621145b7b3cSmrg harris) 622145b7b3cSmrg basic_machine=m88k-harris 623145b7b3cSmrg os=-sysv3 624145b7b3cSmrg ;; 625145b7b3cSmrg hp300-*) 626145b7b3cSmrg basic_machine=m68k-hp 627145b7b3cSmrg ;; 628145b7b3cSmrg hp300bsd) 629145b7b3cSmrg basic_machine=m68k-hp 630145b7b3cSmrg os=-bsd 631145b7b3cSmrg ;; 632145b7b3cSmrg hp300hpux) 633145b7b3cSmrg basic_machine=m68k-hp 634145b7b3cSmrg os=-hpux 635145b7b3cSmrg ;; 636145b7b3cSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 637145b7b3cSmrg basic_machine=hppa1.0-hp 638145b7b3cSmrg ;; 639145b7b3cSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 640145b7b3cSmrg basic_machine=m68000-hp 641145b7b3cSmrg ;; 642145b7b3cSmrg hp9k3[2-9][0-9]) 643145b7b3cSmrg basic_machine=m68k-hp 644145b7b3cSmrg ;; 645145b7b3cSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 646145b7b3cSmrg basic_machine=hppa1.0-hp 647145b7b3cSmrg ;; 648145b7b3cSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 649145b7b3cSmrg basic_machine=hppa1.1-hp 650145b7b3cSmrg ;; 651145b7b3cSmrg hp9k78[0-9] | hp78[0-9]) 652145b7b3cSmrg # FIXME: really hppa2.0-hp 653145b7b3cSmrg basic_machine=hppa1.1-hp 654145b7b3cSmrg ;; 655145b7b3cSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 656145b7b3cSmrg # FIXME: really hppa2.0-hp 657145b7b3cSmrg basic_machine=hppa1.1-hp 658145b7b3cSmrg ;; 659145b7b3cSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 660145b7b3cSmrg basic_machine=hppa1.1-hp 661145b7b3cSmrg ;; 662145b7b3cSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 663145b7b3cSmrg basic_machine=hppa1.0-hp 664145b7b3cSmrg ;; 665145b7b3cSmrg hppa-next) 666145b7b3cSmrg os=-nextstep3 667145b7b3cSmrg ;; 668145b7b3cSmrg hppaosf) 669145b7b3cSmrg basic_machine=hppa1.1-hp 670145b7b3cSmrg os=-osf 671145b7b3cSmrg ;; 672145b7b3cSmrg hppro) 673145b7b3cSmrg basic_machine=hppa1.1-hp 674145b7b3cSmrg os=-proelf 675145b7b3cSmrg ;; 676145b7b3cSmrg i370-ibm* | ibm*) 677145b7b3cSmrg basic_machine=i370-ibm 678145b7b3cSmrg ;; 679145b7b3cSmrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 680145b7b3cSmrg i*86v32) 681145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 682145b7b3cSmrg os=-sysv32 683145b7b3cSmrg ;; 684145b7b3cSmrg i*86v4*) 685145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 686145b7b3cSmrg os=-sysv4 687145b7b3cSmrg ;; 688145b7b3cSmrg i*86v) 689145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 690145b7b3cSmrg os=-sysv 691145b7b3cSmrg ;; 692145b7b3cSmrg i*86sol2) 693145b7b3cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 694145b7b3cSmrg os=-solaris2 695145b7b3cSmrg ;; 696145b7b3cSmrg i386mach) 697145b7b3cSmrg basic_machine=i386-mach 698145b7b3cSmrg os=-mach 699145b7b3cSmrg ;; 700145b7b3cSmrg i386-vsta | vsta) 701145b7b3cSmrg basic_machine=i386-unknown 702145b7b3cSmrg os=-vsta 703145b7b3cSmrg ;; 704145b7b3cSmrg iris | iris4d) 705145b7b3cSmrg basic_machine=mips-sgi 706145b7b3cSmrg case $os in 707145b7b3cSmrg -irix*) 708145b7b3cSmrg ;; 709145b7b3cSmrg *) 710145b7b3cSmrg os=-irix4 711145b7b3cSmrg ;; 712145b7b3cSmrg esac 713145b7b3cSmrg ;; 714145b7b3cSmrg isi68 | isi) 715145b7b3cSmrg basic_machine=m68k-isi 716145b7b3cSmrg os=-sysv 717145b7b3cSmrg ;; 718578741aaSmrg m68knommu) 719578741aaSmrg basic_machine=m68k-unknown 720578741aaSmrg os=-linux 721578741aaSmrg ;; 722578741aaSmrg m68knommu-*) 723578741aaSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 724578741aaSmrg os=-linux 725578741aaSmrg ;; 726145b7b3cSmrg m88k-omron*) 727145b7b3cSmrg basic_machine=m88k-omron 728145b7b3cSmrg ;; 729145b7b3cSmrg magnum | m3230) 730145b7b3cSmrg basic_machine=mips-mips 731145b7b3cSmrg os=-sysv 732145b7b3cSmrg ;; 733145b7b3cSmrg merlin) 734145b7b3cSmrg basic_machine=ns32k-utek 735145b7b3cSmrg os=-sysv 736145b7b3cSmrg ;; 7375ffd6003Smrg microblaze) 7385ffd6003Smrg basic_machine=microblaze-xilinx 7395ffd6003Smrg ;; 740145b7b3cSmrg mingw32) 741145b7b3cSmrg basic_machine=i386-pc 742145b7b3cSmrg os=-mingw32 743145b7b3cSmrg ;; 744578741aaSmrg mingw32ce) 745578741aaSmrg basic_machine=arm-unknown 746578741aaSmrg os=-mingw32ce 747578741aaSmrg ;; 748145b7b3cSmrg miniframe) 749145b7b3cSmrg basic_machine=m68000-convergent 750145b7b3cSmrg ;; 751145b7b3cSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 752145b7b3cSmrg basic_machine=m68k-atari 753145b7b3cSmrg os=-mint 754145b7b3cSmrg ;; 755145b7b3cSmrg mips3*-*) 756145b7b3cSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 757145b7b3cSmrg ;; 758145b7b3cSmrg mips3*) 759145b7b3cSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 760145b7b3cSmrg ;; 761145b7b3cSmrg monitor) 762145b7b3cSmrg basic_machine=m68k-rom68k 763145b7b3cSmrg os=-coff 764145b7b3cSmrg ;; 765145b7b3cSmrg morphos) 766145b7b3cSmrg basic_machine=powerpc-unknown 767145b7b3cSmrg os=-morphos 768145b7b3cSmrg ;; 769145b7b3cSmrg msdos) 770145b7b3cSmrg basic_machine=i386-pc 771145b7b3cSmrg os=-msdos 772145b7b3cSmrg ;; 773145b7b3cSmrg ms1-*) 774145b7b3cSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 775145b7b3cSmrg ;; 776145b7b3cSmrg mvs) 777145b7b3cSmrg basic_machine=i370-ibm 778145b7b3cSmrg os=-mvs 779145b7b3cSmrg ;; 780145b7b3cSmrg ncr3000) 781145b7b3cSmrg basic_machine=i486-ncr 782145b7b3cSmrg os=-sysv4 783145b7b3cSmrg ;; 784145b7b3cSmrg netbsd386) 785145b7b3cSmrg basic_machine=i386-unknown 786145b7b3cSmrg os=-netbsd 787145b7b3cSmrg ;; 788145b7b3cSmrg netwinder) 789145b7b3cSmrg basic_machine=armv4l-rebel 790145b7b3cSmrg os=-linux 791145b7b3cSmrg ;; 792145b7b3cSmrg news | news700 | news800 | news900) 793145b7b3cSmrg basic_machine=m68k-sony 794145b7b3cSmrg os=-newsos 795145b7b3cSmrg ;; 796145b7b3cSmrg news1000) 797145b7b3cSmrg basic_machine=m68030-sony 798145b7b3cSmrg os=-newsos 799145b7b3cSmrg ;; 800145b7b3cSmrg news-3600 | risc-news) 801145b7b3cSmrg basic_machine=mips-sony 802145b7b3cSmrg os=-newsos 803145b7b3cSmrg ;; 804145b7b3cSmrg necv70) 805145b7b3cSmrg basic_machine=v70-nec 806145b7b3cSmrg os=-sysv 807145b7b3cSmrg ;; 808145b7b3cSmrg next | m*-next ) 809145b7b3cSmrg basic_machine=m68k-next 810145b7b3cSmrg case $os in 811145b7b3cSmrg -nextstep* ) 812145b7b3cSmrg ;; 813145b7b3cSmrg -ns2*) 814145b7b3cSmrg os=-nextstep2 815145b7b3cSmrg ;; 816145b7b3cSmrg *) 817145b7b3cSmrg os=-nextstep3 818145b7b3cSmrg ;; 819145b7b3cSmrg esac 820145b7b3cSmrg ;; 821145b7b3cSmrg nh3000) 822145b7b3cSmrg basic_machine=m68k-harris 823145b7b3cSmrg os=-cxux 824145b7b3cSmrg ;; 825145b7b3cSmrg nh[45]000) 826145b7b3cSmrg basic_machine=m88k-harris 827145b7b3cSmrg os=-cxux 828145b7b3cSmrg ;; 829145b7b3cSmrg nindy960) 830145b7b3cSmrg basic_machine=i960-intel 831145b7b3cSmrg os=-nindy 832145b7b3cSmrg ;; 833145b7b3cSmrg mon960) 834145b7b3cSmrg basic_machine=i960-intel 835145b7b3cSmrg os=-mon960 836145b7b3cSmrg ;; 837145b7b3cSmrg nonstopux) 838145b7b3cSmrg basic_machine=mips-compaq 839145b7b3cSmrg os=-nonstopux 840145b7b3cSmrg ;; 841145b7b3cSmrg np1) 842145b7b3cSmrg basic_machine=np1-gould 843145b7b3cSmrg ;; 844145b7b3cSmrg nsr-tandem) 845145b7b3cSmrg basic_machine=nsr-tandem 846145b7b3cSmrg ;; 847145b7b3cSmrg op50n-* | op60c-*) 848145b7b3cSmrg basic_machine=hppa1.1-oki 849145b7b3cSmrg os=-proelf 850145b7b3cSmrg ;; 851145b7b3cSmrg openrisc | openrisc-*) 852145b7b3cSmrg basic_machine=or32-unknown 853145b7b3cSmrg ;; 854145b7b3cSmrg os400) 855145b7b3cSmrg basic_machine=powerpc-ibm 856145b7b3cSmrg os=-os400 857145b7b3cSmrg ;; 858145b7b3cSmrg OSE68000 | ose68000) 859145b7b3cSmrg basic_machine=m68000-ericsson 860145b7b3cSmrg os=-ose 861145b7b3cSmrg ;; 862145b7b3cSmrg os68k) 863145b7b3cSmrg basic_machine=m68k-none 864145b7b3cSmrg os=-os68k 865145b7b3cSmrg ;; 866145b7b3cSmrg pa-hitachi) 867145b7b3cSmrg basic_machine=hppa1.1-hitachi 868145b7b3cSmrg os=-hiuxwe2 869145b7b3cSmrg ;; 870145b7b3cSmrg paragon) 871145b7b3cSmrg basic_machine=i860-intel 872145b7b3cSmrg os=-osf 873145b7b3cSmrg ;; 874578741aaSmrg parisc) 875578741aaSmrg basic_machine=hppa-unknown 876578741aaSmrg os=-linux 877578741aaSmrg ;; 878578741aaSmrg parisc-*) 879578741aaSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 880578741aaSmrg os=-linux 881578741aaSmrg ;; 882145b7b3cSmrg pbd) 883145b7b3cSmrg basic_machine=sparc-tti 884145b7b3cSmrg ;; 885145b7b3cSmrg pbb) 886145b7b3cSmrg basic_machine=m68k-tti 887145b7b3cSmrg ;; 888145b7b3cSmrg pc532 | pc532-*) 889145b7b3cSmrg basic_machine=ns32k-pc532 890145b7b3cSmrg ;; 891578741aaSmrg pc98) 892578741aaSmrg basic_machine=i386-pc 893578741aaSmrg ;; 894578741aaSmrg pc98-*) 895578741aaSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 896578741aaSmrg ;; 897145b7b3cSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 898145b7b3cSmrg basic_machine=i586-pc 899145b7b3cSmrg ;; 900145b7b3cSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 901145b7b3cSmrg basic_machine=i686-pc 902145b7b3cSmrg ;; 903145b7b3cSmrg pentiumii | pentium2 | pentiumiii | pentium3) 904145b7b3cSmrg basic_machine=i686-pc 905145b7b3cSmrg ;; 906145b7b3cSmrg pentium4) 907145b7b3cSmrg basic_machine=i786-pc 908145b7b3cSmrg ;; 909145b7b3cSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 910145b7b3cSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 911145b7b3cSmrg ;; 912145b7b3cSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 913145b7b3cSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 914145b7b3cSmrg ;; 915145b7b3cSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 916145b7b3cSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 917145b7b3cSmrg ;; 918145b7b3cSmrg pentium4-*) 919145b7b3cSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 920145b7b3cSmrg ;; 921145b7b3cSmrg pn) 922145b7b3cSmrg basic_machine=pn-gould 923145b7b3cSmrg ;; 924145b7b3cSmrg power) basic_machine=power-ibm 925145b7b3cSmrg ;; 926145b7b3cSmrg ppc) basic_machine=powerpc-unknown 927145b7b3cSmrg ;; 928145b7b3cSmrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 929145b7b3cSmrg ;; 930145b7b3cSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 931145b7b3cSmrg basic_machine=powerpcle-unknown 932145b7b3cSmrg ;; 933145b7b3cSmrg ppcle-* | powerpclittle-*) 934145b7b3cSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 935145b7b3cSmrg ;; 936145b7b3cSmrg ppc64) basic_machine=powerpc64-unknown 937145b7b3cSmrg ;; 938145b7b3cSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 939145b7b3cSmrg ;; 940145b7b3cSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 941145b7b3cSmrg basic_machine=powerpc64le-unknown 942145b7b3cSmrg ;; 943145b7b3cSmrg ppc64le-* | powerpc64little-*) 944145b7b3cSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 945145b7b3cSmrg ;; 946145b7b3cSmrg ps2) 947145b7b3cSmrg basic_machine=i386-ibm 948145b7b3cSmrg ;; 949145b7b3cSmrg pw32) 950145b7b3cSmrg basic_machine=i586-unknown 951145b7b3cSmrg os=-pw32 952145b7b3cSmrg ;; 953145b7b3cSmrg rdos) 954145b7b3cSmrg basic_machine=i386-pc 955145b7b3cSmrg os=-rdos 956145b7b3cSmrg ;; 957145b7b3cSmrg rom68k) 958145b7b3cSmrg basic_machine=m68k-rom68k 959145b7b3cSmrg os=-coff 960145b7b3cSmrg ;; 961145b7b3cSmrg rm[46]00) 962145b7b3cSmrg basic_machine=mips-siemens 963145b7b3cSmrg ;; 964145b7b3cSmrg rtpc | rtpc-*) 965145b7b3cSmrg basic_machine=romp-ibm 966145b7b3cSmrg ;; 967145b7b3cSmrg s390 | s390-*) 968145b7b3cSmrg basic_machine=s390-ibm 969145b7b3cSmrg ;; 970145b7b3cSmrg s390x | s390x-*) 971145b7b3cSmrg basic_machine=s390x-ibm 972145b7b3cSmrg ;; 973145b7b3cSmrg sa29200) 974145b7b3cSmrg basic_machine=a29k-amd 975145b7b3cSmrg os=-udi 976145b7b3cSmrg ;; 977145b7b3cSmrg sb1) 978145b7b3cSmrg basic_machine=mipsisa64sb1-unknown 979145b7b3cSmrg ;; 980145b7b3cSmrg sb1el) 981145b7b3cSmrg basic_machine=mipsisa64sb1el-unknown 982145b7b3cSmrg ;; 983578741aaSmrg sde) 984578741aaSmrg basic_machine=mipsisa32-sde 985578741aaSmrg os=-elf 986578741aaSmrg ;; 987145b7b3cSmrg sei) 988145b7b3cSmrg basic_machine=mips-sei 989145b7b3cSmrg os=-seiux 990145b7b3cSmrg ;; 991145b7b3cSmrg sequent) 992145b7b3cSmrg basic_machine=i386-sequent 993145b7b3cSmrg ;; 994145b7b3cSmrg sh) 995145b7b3cSmrg basic_machine=sh-hitachi 996145b7b3cSmrg os=-hms 997145b7b3cSmrg ;; 998578741aaSmrg sh5el) 999578741aaSmrg basic_machine=sh5le-unknown 1000578741aaSmrg ;; 1001145b7b3cSmrg sh64) 1002145b7b3cSmrg basic_machine=sh64-unknown 1003145b7b3cSmrg ;; 1004145b7b3cSmrg sparclite-wrs | simso-wrs) 1005145b7b3cSmrg basic_machine=sparclite-wrs 1006145b7b3cSmrg os=-vxworks 1007145b7b3cSmrg ;; 1008145b7b3cSmrg sps7) 1009145b7b3cSmrg basic_machine=m68k-bull 1010145b7b3cSmrg os=-sysv2 1011145b7b3cSmrg ;; 1012145b7b3cSmrg spur) 1013145b7b3cSmrg basic_machine=spur-unknown 1014145b7b3cSmrg ;; 1015145b7b3cSmrg st2000) 1016145b7b3cSmrg basic_machine=m68k-tandem 1017145b7b3cSmrg ;; 1018145b7b3cSmrg stratus) 1019145b7b3cSmrg basic_machine=i860-stratus 1020145b7b3cSmrg os=-sysv4 1021145b7b3cSmrg ;; 1022145b7b3cSmrg sun2) 1023145b7b3cSmrg basic_machine=m68000-sun 1024145b7b3cSmrg ;; 1025145b7b3cSmrg sun2os3) 1026145b7b3cSmrg basic_machine=m68000-sun 1027145b7b3cSmrg os=-sunos3 1028145b7b3cSmrg ;; 1029145b7b3cSmrg sun2os4) 1030145b7b3cSmrg basic_machine=m68000-sun 1031145b7b3cSmrg os=-sunos4 1032145b7b3cSmrg ;; 1033145b7b3cSmrg sun3os3) 1034145b7b3cSmrg basic_machine=m68k-sun 1035145b7b3cSmrg os=-sunos3 1036145b7b3cSmrg ;; 1037145b7b3cSmrg sun3os4) 1038145b7b3cSmrg basic_machine=m68k-sun 1039145b7b3cSmrg os=-sunos4 1040145b7b3cSmrg ;; 1041145b7b3cSmrg sun4os3) 1042145b7b3cSmrg basic_machine=sparc-sun 1043145b7b3cSmrg os=-sunos3 1044145b7b3cSmrg ;; 1045145b7b3cSmrg sun4os4) 1046145b7b3cSmrg basic_machine=sparc-sun 1047145b7b3cSmrg os=-sunos4 1048145b7b3cSmrg ;; 1049145b7b3cSmrg sun4sol2) 1050145b7b3cSmrg basic_machine=sparc-sun 1051145b7b3cSmrg os=-solaris2 1052145b7b3cSmrg ;; 1053145b7b3cSmrg sun3 | sun3-*) 1054145b7b3cSmrg basic_machine=m68k-sun 1055145b7b3cSmrg ;; 1056145b7b3cSmrg sun4) 1057145b7b3cSmrg basic_machine=sparc-sun 1058145b7b3cSmrg ;; 1059145b7b3cSmrg sun386 | sun386i | roadrunner) 1060145b7b3cSmrg basic_machine=i386-sun 1061145b7b3cSmrg ;; 1062145b7b3cSmrg sv1) 1063145b7b3cSmrg basic_machine=sv1-cray 1064145b7b3cSmrg os=-unicos 1065145b7b3cSmrg ;; 1066145b7b3cSmrg symmetry) 1067145b7b3cSmrg basic_machine=i386-sequent 1068145b7b3cSmrg os=-dynix 1069145b7b3cSmrg ;; 1070145b7b3cSmrg t3e) 1071145b7b3cSmrg basic_machine=alphaev5-cray 1072145b7b3cSmrg os=-unicos 1073145b7b3cSmrg ;; 1074145b7b3cSmrg t90) 1075145b7b3cSmrg basic_machine=t90-cray 1076145b7b3cSmrg os=-unicos 1077145b7b3cSmrg ;; 1078145b7b3cSmrg tic54x | c54x*) 1079145b7b3cSmrg basic_machine=tic54x-unknown 1080145b7b3cSmrg os=-coff 1081145b7b3cSmrg ;; 1082145b7b3cSmrg tic55x | c55x*) 1083145b7b3cSmrg basic_machine=tic55x-unknown 1084145b7b3cSmrg os=-coff 1085145b7b3cSmrg ;; 1086145b7b3cSmrg tic6x | c6x*) 1087145b7b3cSmrg basic_machine=tic6x-unknown 1088145b7b3cSmrg os=-coff 1089145b7b3cSmrg ;; 10905ffd6003Smrg # This must be matched before tile*. 10915ffd6003Smrg tilegx*) 10925ffd6003Smrg basic_machine=tilegx-unknown 10935ffd6003Smrg os=-linux-gnu 10945ffd6003Smrg ;; 1095578741aaSmrg tile*) 1096578741aaSmrg basic_machine=tile-unknown 1097578741aaSmrg os=-linux-gnu 1098578741aaSmrg ;; 1099145b7b3cSmrg tx39) 1100145b7b3cSmrg basic_machine=mipstx39-unknown 1101145b7b3cSmrg ;; 1102145b7b3cSmrg tx39el) 1103145b7b3cSmrg basic_machine=mipstx39el-unknown 1104145b7b3cSmrg ;; 1105145b7b3cSmrg toad1) 1106145b7b3cSmrg basic_machine=pdp10-xkl 1107145b7b3cSmrg os=-tops20 1108145b7b3cSmrg ;; 1109145b7b3cSmrg tower | tower-32) 1110145b7b3cSmrg basic_machine=m68k-ncr 1111145b7b3cSmrg ;; 1112145b7b3cSmrg tpf) 1113145b7b3cSmrg basic_machine=s390x-ibm 1114145b7b3cSmrg os=-tpf 1115145b7b3cSmrg ;; 1116145b7b3cSmrg udi29k) 1117145b7b3cSmrg basic_machine=a29k-amd 1118145b7b3cSmrg os=-udi 1119145b7b3cSmrg ;; 1120145b7b3cSmrg ultra3) 1121145b7b3cSmrg basic_machine=a29k-nyu 1122145b7b3cSmrg os=-sym1 1123145b7b3cSmrg ;; 1124145b7b3cSmrg v810 | necv810) 1125145b7b3cSmrg basic_machine=v810-nec 1126145b7b3cSmrg os=-none 1127145b7b3cSmrg ;; 1128145b7b3cSmrg vaxv) 1129145b7b3cSmrg basic_machine=vax-dec 1130145b7b3cSmrg os=-sysv 1131145b7b3cSmrg ;; 1132145b7b3cSmrg vms) 1133145b7b3cSmrg basic_machine=vax-dec 1134145b7b3cSmrg os=-vms 1135145b7b3cSmrg ;; 1136145b7b3cSmrg vpp*|vx|vx-*) 1137145b7b3cSmrg basic_machine=f301-fujitsu 1138145b7b3cSmrg ;; 1139145b7b3cSmrg vxworks960) 1140145b7b3cSmrg basic_machine=i960-wrs 1141145b7b3cSmrg os=-vxworks 1142145b7b3cSmrg ;; 1143145b7b3cSmrg vxworks68) 1144145b7b3cSmrg basic_machine=m68k-wrs 1145145b7b3cSmrg os=-vxworks 1146145b7b3cSmrg ;; 1147145b7b3cSmrg vxworks29k) 1148145b7b3cSmrg basic_machine=a29k-wrs 1149145b7b3cSmrg os=-vxworks 1150145b7b3cSmrg ;; 1151145b7b3cSmrg w65*) 1152145b7b3cSmrg basic_machine=w65-wdc 1153145b7b3cSmrg os=-none 1154145b7b3cSmrg ;; 1155145b7b3cSmrg w89k-*) 1156145b7b3cSmrg basic_machine=hppa1.1-winbond 1157145b7b3cSmrg os=-proelf 1158145b7b3cSmrg ;; 1159145b7b3cSmrg xbox) 1160145b7b3cSmrg basic_machine=i686-pc 1161145b7b3cSmrg os=-mingw32 1162145b7b3cSmrg ;; 1163145b7b3cSmrg xps | xps100) 1164145b7b3cSmrg basic_machine=xps100-honeywell 1165145b7b3cSmrg ;; 1166145b7b3cSmrg ymp) 1167145b7b3cSmrg basic_machine=ymp-cray 1168145b7b3cSmrg os=-unicos 1169145b7b3cSmrg ;; 1170145b7b3cSmrg z8k-*-coff) 1171145b7b3cSmrg basic_machine=z8k-unknown 1172145b7b3cSmrg os=-sim 1173145b7b3cSmrg ;; 11745ffd6003Smrg z80-*-coff) 11755ffd6003Smrg basic_machine=z80-unknown 11765ffd6003Smrg os=-sim 11775ffd6003Smrg ;; 1178145b7b3cSmrg none) 1179145b7b3cSmrg basic_machine=none-none 1180145b7b3cSmrg os=-none 1181145b7b3cSmrg ;; 1182145b7b3cSmrg 1183145b7b3cSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1184145b7b3cSmrg# some cases the only manufacturer, in others, it is the most popular. 1185145b7b3cSmrg w89k) 1186145b7b3cSmrg basic_machine=hppa1.1-winbond 1187145b7b3cSmrg ;; 1188145b7b3cSmrg op50n) 1189145b7b3cSmrg basic_machine=hppa1.1-oki 1190145b7b3cSmrg ;; 1191145b7b3cSmrg op60c) 1192145b7b3cSmrg basic_machine=hppa1.1-oki 1193145b7b3cSmrg ;; 1194145b7b3cSmrg romp) 1195145b7b3cSmrg basic_machine=romp-ibm 1196145b7b3cSmrg ;; 1197145b7b3cSmrg mmix) 1198145b7b3cSmrg basic_machine=mmix-knuth 1199145b7b3cSmrg ;; 1200145b7b3cSmrg rs6000) 1201145b7b3cSmrg basic_machine=rs6000-ibm 1202145b7b3cSmrg ;; 1203145b7b3cSmrg vax) 1204145b7b3cSmrg basic_machine=vax-dec 1205145b7b3cSmrg ;; 1206145b7b3cSmrg pdp10) 1207145b7b3cSmrg # there are many clones, so DEC is not a safe bet 1208145b7b3cSmrg basic_machine=pdp10-unknown 1209145b7b3cSmrg ;; 1210145b7b3cSmrg pdp11) 1211145b7b3cSmrg basic_machine=pdp11-dec 1212145b7b3cSmrg ;; 1213145b7b3cSmrg we32k) 1214145b7b3cSmrg basic_machine=we32k-att 1215145b7b3cSmrg ;; 12165ffd6003Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1217145b7b3cSmrg basic_machine=sh-unknown 1218145b7b3cSmrg ;; 1219578741aaSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1220145b7b3cSmrg basic_machine=sparc-sun 1221145b7b3cSmrg ;; 1222145b7b3cSmrg cydra) 1223145b7b3cSmrg basic_machine=cydra-cydrome 1224145b7b3cSmrg ;; 1225145b7b3cSmrg orion) 1226145b7b3cSmrg basic_machine=orion-highlevel 1227145b7b3cSmrg ;; 1228145b7b3cSmrg orion105) 1229145b7b3cSmrg basic_machine=clipper-highlevel 1230145b7b3cSmrg ;; 1231145b7b3cSmrg mac | mpw | mac-mpw) 1232145b7b3cSmrg basic_machine=m68k-apple 1233145b7b3cSmrg ;; 1234145b7b3cSmrg pmac | pmac-mpw) 1235145b7b3cSmrg basic_machine=powerpc-apple 1236145b7b3cSmrg ;; 1237145b7b3cSmrg *-unknown) 1238145b7b3cSmrg # Make sure to match an already-canonicalized machine name. 1239145b7b3cSmrg ;; 1240145b7b3cSmrg *) 1241145b7b3cSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1242145b7b3cSmrg exit 1 1243145b7b3cSmrg ;; 1244145b7b3cSmrgesac 1245145b7b3cSmrg 1246145b7b3cSmrg# Here we canonicalize certain aliases for manufacturers. 1247145b7b3cSmrgcase $basic_machine in 1248145b7b3cSmrg *-digital*) 1249145b7b3cSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1250145b7b3cSmrg ;; 1251145b7b3cSmrg *-commodore*) 1252145b7b3cSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1253145b7b3cSmrg ;; 1254145b7b3cSmrg *) 1255145b7b3cSmrg ;; 1256145b7b3cSmrgesac 1257145b7b3cSmrg 1258145b7b3cSmrg# Decode manufacturer-specific aliases for certain operating systems. 1259145b7b3cSmrg 1260145b7b3cSmrgif [ x"$os" != x"" ] 1261145b7b3cSmrgthen 1262145b7b3cSmrgcase $os in 1263145b7b3cSmrg # First match some system type aliases 1264145b7b3cSmrg # that might get confused with valid system types. 1265145b7b3cSmrg # -solaris* is a basic system type, with this one exception. 12665ffd6003Smrg -auroraux) 12675ffd6003Smrg os=-auroraux 12685ffd6003Smrg ;; 1269145b7b3cSmrg -solaris1 | -solaris1.*) 1270145b7b3cSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1271145b7b3cSmrg ;; 1272145b7b3cSmrg -solaris) 1273145b7b3cSmrg os=-solaris2 1274145b7b3cSmrg ;; 1275145b7b3cSmrg -svr4*) 1276145b7b3cSmrg os=-sysv4 1277145b7b3cSmrg ;; 1278145b7b3cSmrg -unixware*) 1279145b7b3cSmrg os=-sysv4.2uw 1280145b7b3cSmrg ;; 1281145b7b3cSmrg -gnu/linux*) 1282145b7b3cSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1283145b7b3cSmrg ;; 1284145b7b3cSmrg # First accept the basic system types. 1285145b7b3cSmrg # The portable systems comes first. 1286145b7b3cSmrg # Each alternative MUST END IN A *, to match a version number. 1287145b7b3cSmrg # -sysv* is not here because it comes later, after sysvr4. 1288145b7b3cSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 12895ffd6003Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 12905ffd6003Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 12915ffd6003Smrg | -sym* | -kopensolaris* \ 1292145b7b3cSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 12935ffd6003Smrg | -aos* | -aros* \ 1294145b7b3cSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1295145b7b3cSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1296578741aaSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1297578741aaSmrg | -openbsd* | -solidbsd* \ 1298145b7b3cSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1299145b7b3cSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1300145b7b3cSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1301145b7b3cSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13025ffd6003Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1303145b7b3cSmrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1304145b7b3cSmrg | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ 1305145b7b3cSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1306145b7b3cSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1307145b7b3cSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1308145b7b3cSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1309145b7b3cSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1310145b7b3cSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1311145b7b3cSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13125ffd6003Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1313145b7b3cSmrg # Remember, each alternative MUST END IN *, to match a version number. 1314145b7b3cSmrg ;; 1315145b7b3cSmrg -qnx*) 1316145b7b3cSmrg case $basic_machine in 1317145b7b3cSmrg x86-* | i*86-*) 1318145b7b3cSmrg ;; 1319145b7b3cSmrg *) 1320145b7b3cSmrg os=-nto$os 1321145b7b3cSmrg ;; 1322145b7b3cSmrg esac 1323145b7b3cSmrg ;; 1324145b7b3cSmrg -nto-qnx*) 1325145b7b3cSmrg ;; 1326145b7b3cSmrg -nto*) 1327145b7b3cSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1328145b7b3cSmrg ;; 1329145b7b3cSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1330145b7b3cSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1331145b7b3cSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1332145b7b3cSmrg ;; 1333145b7b3cSmrg -mac*) 1334145b7b3cSmrg os=`echo $os | sed -e 's|mac|macos|'` 1335145b7b3cSmrg ;; 1336145b7b3cSmrg -linux-dietlibc) 1337145b7b3cSmrg os=-linux-dietlibc 1338145b7b3cSmrg ;; 1339145b7b3cSmrg -linux*) 1340145b7b3cSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1341145b7b3cSmrg ;; 1342145b7b3cSmrg -sunos5*) 1343145b7b3cSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1344145b7b3cSmrg ;; 1345145b7b3cSmrg -sunos6*) 1346145b7b3cSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1347145b7b3cSmrg ;; 1348145b7b3cSmrg -opened*) 1349145b7b3cSmrg os=-openedition 1350145b7b3cSmrg ;; 1351145b7b3cSmrg -os400*) 1352145b7b3cSmrg os=-os400 1353145b7b3cSmrg ;; 1354145b7b3cSmrg -wince*) 1355145b7b3cSmrg os=-wince 1356145b7b3cSmrg ;; 1357145b7b3cSmrg -osfrose*) 1358145b7b3cSmrg os=-osfrose 1359145b7b3cSmrg ;; 1360145b7b3cSmrg -osf*) 1361145b7b3cSmrg os=-osf 1362145b7b3cSmrg ;; 1363145b7b3cSmrg -utek*) 1364145b7b3cSmrg os=-bsd 1365145b7b3cSmrg ;; 1366145b7b3cSmrg -dynix*) 1367145b7b3cSmrg os=-bsd 1368145b7b3cSmrg ;; 1369145b7b3cSmrg -acis*) 1370145b7b3cSmrg os=-aos 1371145b7b3cSmrg ;; 1372145b7b3cSmrg -atheos*) 1373145b7b3cSmrg os=-atheos 1374145b7b3cSmrg ;; 1375145b7b3cSmrg -syllable*) 1376145b7b3cSmrg os=-syllable 1377145b7b3cSmrg ;; 1378145b7b3cSmrg -386bsd) 1379145b7b3cSmrg os=-bsd 1380145b7b3cSmrg ;; 1381145b7b3cSmrg -ctix* | -uts*) 1382145b7b3cSmrg os=-sysv 1383145b7b3cSmrg ;; 1384145b7b3cSmrg -nova*) 1385145b7b3cSmrg os=-rtmk-nova 1386145b7b3cSmrg ;; 1387145b7b3cSmrg -ns2 ) 1388145b7b3cSmrg os=-nextstep2 1389145b7b3cSmrg ;; 1390145b7b3cSmrg -nsk*) 1391145b7b3cSmrg os=-nsk 1392145b7b3cSmrg ;; 1393145b7b3cSmrg # Preserve the version number of sinix5. 1394145b7b3cSmrg -sinix5.*) 1395145b7b3cSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1396145b7b3cSmrg ;; 1397145b7b3cSmrg -sinix*) 1398145b7b3cSmrg os=-sysv4 1399145b7b3cSmrg ;; 1400145b7b3cSmrg -tpf*) 1401145b7b3cSmrg os=-tpf 1402145b7b3cSmrg ;; 1403145b7b3cSmrg -triton*) 1404145b7b3cSmrg os=-sysv3 1405145b7b3cSmrg ;; 1406145b7b3cSmrg -oss*) 1407145b7b3cSmrg os=-sysv3 1408145b7b3cSmrg ;; 1409145b7b3cSmrg -svr4) 1410145b7b3cSmrg os=-sysv4 1411145b7b3cSmrg ;; 1412145b7b3cSmrg -svr3) 1413145b7b3cSmrg os=-sysv3 1414145b7b3cSmrg ;; 1415145b7b3cSmrg -sysvr4) 1416145b7b3cSmrg os=-sysv4 1417145b7b3cSmrg ;; 1418145b7b3cSmrg # This must come after -sysvr4. 1419145b7b3cSmrg -sysv*) 1420145b7b3cSmrg ;; 1421145b7b3cSmrg -ose*) 1422145b7b3cSmrg os=-ose 1423145b7b3cSmrg ;; 1424145b7b3cSmrg -es1800*) 1425145b7b3cSmrg os=-ose 1426145b7b3cSmrg ;; 1427145b7b3cSmrg -xenix) 1428145b7b3cSmrg os=-xenix 1429145b7b3cSmrg ;; 1430145b7b3cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1431145b7b3cSmrg os=-mint 1432145b7b3cSmrg ;; 1433145b7b3cSmrg -aros*) 1434145b7b3cSmrg os=-aros 1435145b7b3cSmrg ;; 1436145b7b3cSmrg -kaos*) 1437145b7b3cSmrg os=-kaos 1438145b7b3cSmrg ;; 1439145b7b3cSmrg -zvmoe) 1440145b7b3cSmrg os=-zvmoe 1441145b7b3cSmrg ;; 14425ffd6003Smrg -dicos*) 14435ffd6003Smrg os=-dicos 14445ffd6003Smrg ;; 14455ffd6003Smrg -nacl*) 14465ffd6003Smrg ;; 1447145b7b3cSmrg -none) 1448145b7b3cSmrg ;; 1449145b7b3cSmrg *) 1450145b7b3cSmrg # Get rid of the `-' at the beginning of $os. 1451145b7b3cSmrg os=`echo $os | sed 's/[^-]*-//'` 1452145b7b3cSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1453145b7b3cSmrg exit 1 1454145b7b3cSmrg ;; 1455145b7b3cSmrgesac 1456145b7b3cSmrgelse 1457145b7b3cSmrg 1458145b7b3cSmrg# Here we handle the default operating systems that come with various machines. 1459145b7b3cSmrg# The value should be what the vendor currently ships out the door with their 1460145b7b3cSmrg# machine or put another way, the most popular os provided with the machine. 1461145b7b3cSmrg 1462145b7b3cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1463145b7b3cSmrg# "-sun"), then you have to tell the case statement up towards the top 1464145b7b3cSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1465145b7b3cSmrg# will signal an error saying that MANUFACTURER isn't an operating 1466145b7b3cSmrg# system, and we'll never get to this point. 1467145b7b3cSmrg 1468145b7b3cSmrgcase $basic_machine in 1469578741aaSmrg score-*) 1470578741aaSmrg os=-elf 1471578741aaSmrg ;; 1472578741aaSmrg spu-*) 1473578741aaSmrg os=-elf 1474578741aaSmrg ;; 1475145b7b3cSmrg *-acorn) 1476145b7b3cSmrg os=-riscix1.2 1477145b7b3cSmrg ;; 1478145b7b3cSmrg arm*-rebel) 1479145b7b3cSmrg os=-linux 1480145b7b3cSmrg ;; 1481145b7b3cSmrg arm*-semi) 1482145b7b3cSmrg os=-aout 1483145b7b3cSmrg ;; 1484578741aaSmrg c4x-* | tic4x-*) 1485578741aaSmrg os=-coff 1486578741aaSmrg ;; 1487145b7b3cSmrg # This must come before the *-dec entry. 1488145b7b3cSmrg pdp10-*) 1489145b7b3cSmrg os=-tops20 1490145b7b3cSmrg ;; 1491145b7b3cSmrg pdp11-*) 1492145b7b3cSmrg os=-none 1493145b7b3cSmrg ;; 1494145b7b3cSmrg *-dec | vax-*) 1495145b7b3cSmrg os=-ultrix4.2 1496145b7b3cSmrg ;; 1497145b7b3cSmrg m68*-apollo) 1498145b7b3cSmrg os=-domain 1499145b7b3cSmrg ;; 1500145b7b3cSmrg i386-sun) 1501145b7b3cSmrg os=-sunos4.0.2 1502145b7b3cSmrg ;; 1503145b7b3cSmrg m68000-sun) 1504145b7b3cSmrg os=-sunos3 1505145b7b3cSmrg # This also exists in the configure program, but was not the 1506145b7b3cSmrg # default. 1507145b7b3cSmrg # os=-sunos4 1508145b7b3cSmrg ;; 1509145b7b3cSmrg m68*-cisco) 1510145b7b3cSmrg os=-aout 1511145b7b3cSmrg ;; 1512578741aaSmrg mep-*) 1513578741aaSmrg os=-elf 1514578741aaSmrg ;; 1515145b7b3cSmrg mips*-cisco) 1516145b7b3cSmrg os=-elf 1517145b7b3cSmrg ;; 1518145b7b3cSmrg mips*-*) 1519145b7b3cSmrg os=-elf 1520145b7b3cSmrg ;; 1521145b7b3cSmrg or32-*) 1522145b7b3cSmrg os=-coff 1523145b7b3cSmrg ;; 1524145b7b3cSmrg *-tti) # must be before sparc entry or we get the wrong os. 1525145b7b3cSmrg os=-sysv3 1526145b7b3cSmrg ;; 1527145b7b3cSmrg sparc-* | *-sun) 1528145b7b3cSmrg os=-sunos4.1.1 1529145b7b3cSmrg ;; 1530145b7b3cSmrg *-be) 1531145b7b3cSmrg os=-beos 1532145b7b3cSmrg ;; 1533145b7b3cSmrg *-haiku) 1534145b7b3cSmrg os=-haiku 1535145b7b3cSmrg ;; 1536145b7b3cSmrg *-ibm) 1537145b7b3cSmrg os=-aix 1538145b7b3cSmrg ;; 1539145b7b3cSmrg *-knuth) 1540145b7b3cSmrg os=-mmixware 1541145b7b3cSmrg ;; 1542145b7b3cSmrg *-wec) 1543145b7b3cSmrg os=-proelf 1544145b7b3cSmrg ;; 1545145b7b3cSmrg *-winbond) 1546145b7b3cSmrg os=-proelf 1547145b7b3cSmrg ;; 1548145b7b3cSmrg *-oki) 1549145b7b3cSmrg os=-proelf 1550145b7b3cSmrg ;; 1551145b7b3cSmrg *-hp) 1552145b7b3cSmrg os=-hpux 1553145b7b3cSmrg ;; 1554145b7b3cSmrg *-hitachi) 1555145b7b3cSmrg os=-hiux 1556145b7b3cSmrg ;; 1557145b7b3cSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1558145b7b3cSmrg os=-sysv 1559145b7b3cSmrg ;; 1560145b7b3cSmrg *-cbm) 1561145b7b3cSmrg os=-amigaos 1562145b7b3cSmrg ;; 1563145b7b3cSmrg *-dg) 1564145b7b3cSmrg os=-dgux 1565145b7b3cSmrg ;; 1566145b7b3cSmrg *-dolphin) 1567145b7b3cSmrg os=-sysv3 1568145b7b3cSmrg ;; 1569145b7b3cSmrg m68k-ccur) 1570145b7b3cSmrg os=-rtu 1571145b7b3cSmrg ;; 1572145b7b3cSmrg m88k-omron*) 1573145b7b3cSmrg os=-luna 1574145b7b3cSmrg ;; 1575145b7b3cSmrg *-next ) 1576145b7b3cSmrg os=-nextstep 1577145b7b3cSmrg ;; 1578145b7b3cSmrg *-sequent) 1579145b7b3cSmrg os=-ptx 1580145b7b3cSmrg ;; 1581145b7b3cSmrg *-crds) 1582145b7b3cSmrg os=-unos 1583145b7b3cSmrg ;; 1584145b7b3cSmrg *-ns) 1585145b7b3cSmrg os=-genix 1586145b7b3cSmrg ;; 1587145b7b3cSmrg i370-*) 1588145b7b3cSmrg os=-mvs 1589145b7b3cSmrg ;; 1590145b7b3cSmrg *-next) 1591145b7b3cSmrg os=-nextstep3 1592145b7b3cSmrg ;; 1593145b7b3cSmrg *-gould) 1594145b7b3cSmrg os=-sysv 1595145b7b3cSmrg ;; 1596145b7b3cSmrg *-highlevel) 1597145b7b3cSmrg os=-bsd 1598145b7b3cSmrg ;; 1599145b7b3cSmrg *-encore) 1600145b7b3cSmrg os=-bsd 1601145b7b3cSmrg ;; 1602145b7b3cSmrg *-sgi) 1603145b7b3cSmrg os=-irix 1604145b7b3cSmrg ;; 1605145b7b3cSmrg *-siemens) 1606145b7b3cSmrg os=-sysv4 1607145b7b3cSmrg ;; 1608145b7b3cSmrg *-masscomp) 1609145b7b3cSmrg os=-rtu 1610145b7b3cSmrg ;; 1611145b7b3cSmrg f30[01]-fujitsu | f700-fujitsu) 1612145b7b3cSmrg os=-uxpv 1613145b7b3cSmrg ;; 1614145b7b3cSmrg *-rom68k) 1615145b7b3cSmrg os=-coff 1616145b7b3cSmrg ;; 1617145b7b3cSmrg *-*bug) 1618145b7b3cSmrg os=-coff 1619145b7b3cSmrg ;; 1620145b7b3cSmrg *-apple) 1621145b7b3cSmrg os=-macos 1622145b7b3cSmrg ;; 1623145b7b3cSmrg *-atari*) 1624145b7b3cSmrg os=-mint 1625145b7b3cSmrg ;; 1626145b7b3cSmrg *) 1627145b7b3cSmrg os=-none 1628145b7b3cSmrg ;; 1629145b7b3cSmrgesac 1630145b7b3cSmrgfi 1631145b7b3cSmrg 1632145b7b3cSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1633145b7b3cSmrg# manufacturer. We pick the logical manufacturer. 1634145b7b3cSmrgvendor=unknown 1635145b7b3cSmrgcase $basic_machine in 1636145b7b3cSmrg *-unknown) 1637145b7b3cSmrg case $os in 1638145b7b3cSmrg -riscix*) 1639145b7b3cSmrg vendor=acorn 1640145b7b3cSmrg ;; 1641145b7b3cSmrg -sunos*) 1642145b7b3cSmrg vendor=sun 1643145b7b3cSmrg ;; 16445ffd6003Smrg -cnk*|-aix*) 1645145b7b3cSmrg vendor=ibm 1646145b7b3cSmrg ;; 1647145b7b3cSmrg -beos*) 1648145b7b3cSmrg vendor=be 1649145b7b3cSmrg ;; 1650145b7b3cSmrg -hpux*) 1651145b7b3cSmrg vendor=hp 1652145b7b3cSmrg ;; 1653145b7b3cSmrg -mpeix*) 1654145b7b3cSmrg vendor=hp 1655145b7b3cSmrg ;; 1656145b7b3cSmrg -hiux*) 1657145b7b3cSmrg vendor=hitachi 1658145b7b3cSmrg ;; 1659145b7b3cSmrg -unos*) 1660145b7b3cSmrg vendor=crds 1661145b7b3cSmrg ;; 1662145b7b3cSmrg -dgux*) 1663145b7b3cSmrg vendor=dg 1664145b7b3cSmrg ;; 1665145b7b3cSmrg -luna*) 1666145b7b3cSmrg vendor=omron 1667145b7b3cSmrg ;; 1668145b7b3cSmrg -genix*) 1669145b7b3cSmrg vendor=ns 1670145b7b3cSmrg ;; 1671145b7b3cSmrg -mvs* | -opened*) 1672145b7b3cSmrg vendor=ibm 1673145b7b3cSmrg ;; 1674145b7b3cSmrg -os400*) 1675145b7b3cSmrg vendor=ibm 1676145b7b3cSmrg ;; 1677145b7b3cSmrg -ptx*) 1678145b7b3cSmrg vendor=sequent 1679145b7b3cSmrg ;; 1680145b7b3cSmrg -tpf*) 1681145b7b3cSmrg vendor=ibm 1682145b7b3cSmrg ;; 1683145b7b3cSmrg -vxsim* | -vxworks* | -windiss*) 1684145b7b3cSmrg vendor=wrs 1685145b7b3cSmrg ;; 1686145b7b3cSmrg -aux*) 1687145b7b3cSmrg vendor=apple 1688145b7b3cSmrg ;; 1689145b7b3cSmrg -hms*) 1690145b7b3cSmrg vendor=hitachi 1691145b7b3cSmrg ;; 1692145b7b3cSmrg -mpw* | -macos*) 1693145b7b3cSmrg vendor=apple 1694145b7b3cSmrg ;; 1695145b7b3cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1696145b7b3cSmrg vendor=atari 1697145b7b3cSmrg ;; 1698145b7b3cSmrg -vos*) 1699145b7b3cSmrg vendor=stratus 1700145b7b3cSmrg ;; 1701145b7b3cSmrg esac 1702145b7b3cSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1703145b7b3cSmrg ;; 1704145b7b3cSmrgesac 1705145b7b3cSmrg 1706145b7b3cSmrgecho $basic_machine$os 1707145b7b3cSmrgexit 1708145b7b3cSmrg 1709145b7b3cSmrg# Local variables: 1710145b7b3cSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1711145b7b3cSmrg# time-stamp-start: "timestamp='" 1712145b7b3cSmrg# time-stamp-format: "%:y-%02m-%02d" 1713145b7b3cSmrg# time-stamp-end: "'" 1714145b7b3cSmrg# End: 1715