config.sub revision e8a5466a
1caade7ccSmrg#! /bin/sh 2caade7ccSmrg# Configuration validation subroutine script. 3caade7ccSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4e8a5466aSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5485f0483Smrg# Free Software Foundation, Inc. 6caade7ccSmrg 7e8a5466aSmrgtimestamp='2010-09-11' 8caade7ccSmrg 9caade7ccSmrg# This file is (in principle) common to ALL GNU software. 10caade7ccSmrg# The presence of a machine in this file suggests that SOME GNU software 11caade7ccSmrg# can handle that machine. It does not imply ALL GNU software can. 12caade7ccSmrg# 13caade7ccSmrg# This file is free software; you can redistribute it and/or modify 14caade7ccSmrg# it under the terms of the GNU General Public License as published by 15caade7ccSmrg# the Free Software Foundation; either version 2 of the License, or 16caade7ccSmrg# (at your option) any later version. 17caade7ccSmrg# 18caade7ccSmrg# This program is distributed in the hope that it will be useful, 19caade7ccSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20caade7ccSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21caade7ccSmrg# GNU General Public License for more details. 22caade7ccSmrg# 23caade7ccSmrg# You should have received a copy of the GNU General Public License 24caade7ccSmrg# along with this program; if not, write to the Free Software 25caade7ccSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26caade7ccSmrg# 02110-1301, USA. 27caade7ccSmrg# 28caade7ccSmrg# As a special exception to the GNU General Public License, if you 29caade7ccSmrg# distribute this file as part of a program that contains a 30caade7ccSmrg# configuration script generated by Autoconf, you may include it under 31caade7ccSmrg# the same distribution terms that you use for the rest of that program. 32caade7ccSmrg 33caade7ccSmrg 34caade7ccSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 35b9b4fd27Smrg# diff and a properly formatted GNU ChangeLog entry. 36caade7ccSmrg# 37caade7ccSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38caade7ccSmrg# Supply the specified configuration type as an argument. 39caade7ccSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40caade7ccSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41caade7ccSmrg 42b9b4fd27Smrg# You can get the latest version of this script from: 43b9b4fd27Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 44b9b4fd27Smrg 45caade7ccSmrg# This file is supposed to be the same for all GNU packages 46caade7ccSmrg# and recognize all the CPU types, system types and aliases 47caade7ccSmrg# that are meaningful with *any* GNU software. 48caade7ccSmrg# Each package is responsible for reporting which valid configurations 49caade7ccSmrg# it does not support. The user should be able to distinguish 50caade7ccSmrg# a failure to support a valid configuration from a meaningless 51caade7ccSmrg# configuration. 52caade7ccSmrg 53caade7ccSmrg# The goal of this file is to map all the various variations of a given 54caade7ccSmrg# machine specification into a single specification in the form: 55caade7ccSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56caade7ccSmrg# or in some cases, the newer four-part form: 57caade7ccSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58caade7ccSmrg# It is wrong to echo any other type of specification. 59caade7ccSmrg 60caade7ccSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61caade7ccSmrg 62caade7ccSmrgusage="\ 63caade7ccSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64caade7ccSmrg $0 [OPTION] ALIAS 65caade7ccSmrg 66caade7ccSmrgCanonicalize a configuration name. 67caade7ccSmrg 68caade7ccSmrgOperation modes: 69caade7ccSmrg -h, --help print this help, then exit 70caade7ccSmrg -t, --time-stamp print date of last modification, then exit 71caade7ccSmrg -v, --version print version number, then exit 72caade7ccSmrg 73caade7ccSmrgReport bugs and patches to <config-patches@gnu.org>." 74caade7ccSmrg 75caade7ccSmrgversion="\ 76caade7ccSmrgGNU config.sub ($timestamp) 77caade7ccSmrg 78e8a5466aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 79e8a5466aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 80e8a5466aSmrgSoftware Foundation, Inc. 81caade7ccSmrg 82caade7ccSmrgThis is free software; see the source for copying conditions. There is NO 83caade7ccSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84caade7ccSmrg 85caade7ccSmrghelp=" 86caade7ccSmrgTry \`$me --help' for more information." 87caade7ccSmrg 88caade7ccSmrg# Parse command line 89caade7ccSmrgwhile test $# -gt 0 ; do 90caade7ccSmrg case $1 in 91caade7ccSmrg --time-stamp | --time* | -t ) 92caade7ccSmrg echo "$timestamp" ; exit ;; 93caade7ccSmrg --version | -v ) 94caade7ccSmrg echo "$version" ; exit ;; 95caade7ccSmrg --help | --h* | -h ) 96caade7ccSmrg echo "$usage"; exit ;; 97caade7ccSmrg -- ) # Stop option processing 98caade7ccSmrg shift; break ;; 99caade7ccSmrg - ) # Use stdin as input. 100caade7ccSmrg break ;; 101caade7ccSmrg -* ) 102caade7ccSmrg echo "$me: invalid option $1$help" 103caade7ccSmrg exit 1 ;; 104caade7ccSmrg 105caade7ccSmrg *local*) 106caade7ccSmrg # First pass through any local machine types. 107caade7ccSmrg echo $1 108caade7ccSmrg exit ;; 109caade7ccSmrg 110caade7ccSmrg * ) 111caade7ccSmrg break ;; 112caade7ccSmrg esac 113caade7ccSmrgdone 114caade7ccSmrg 115caade7ccSmrgcase $# in 116caade7ccSmrg 0) echo "$me: missing argument$help" >&2 117caade7ccSmrg exit 1;; 118caade7ccSmrg 1) ;; 119caade7ccSmrg *) echo "$me: too many arguments$help" >&2 120caade7ccSmrg exit 1;; 121caade7ccSmrgesac 122caade7ccSmrg 123caade7ccSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124caade7ccSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125caade7ccSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126caade7ccSmrgcase $maybe_os in 127e8a5466aSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 128e8a5466aSmrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 129e8a5466aSmrg knetbsd*-gnu* | netbsd*-gnu* | \ 130b9b4fd27Smrg kopensolaris*-gnu* | \ 131caade7ccSmrg storm-chaos* | os2-emx* | rtmk-nova*) 132caade7ccSmrg os=-$maybe_os 133caade7ccSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134caade7ccSmrg ;; 135caade7ccSmrg *) 136caade7ccSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137caade7ccSmrg if [ $basic_machine != $1 ] 138caade7ccSmrg then os=`echo $1 | sed 's/.*-/-/'` 139caade7ccSmrg else os=; fi 140caade7ccSmrg ;; 141caade7ccSmrgesac 142caade7ccSmrg 143caade7ccSmrg### Let's recognize common machines as not being operating systems so 144caade7ccSmrg### that things like config.sub decstation-3100 work. We also 145caade7ccSmrg### recognize some manufacturers as not being operating systems, so we 146caade7ccSmrg### can provide default operating systems below. 147caade7ccSmrgcase $os in 148caade7ccSmrg -sun*os*) 149caade7ccSmrg # Prevent following clause from handling this invalid input. 150caade7ccSmrg ;; 151caade7ccSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152caade7ccSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153caade7ccSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154caade7ccSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155caade7ccSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156caade7ccSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 157b9b4fd27Smrg -apple | -axis | -knuth | -cray | -microblaze) 158caade7ccSmrg os= 159caade7ccSmrg basic_machine=$1 160caade7ccSmrg ;; 161b9b4fd27Smrg -bluegene*) 162b9b4fd27Smrg os=-cnk 163b9b4fd27Smrg ;; 164caade7ccSmrg -sim | -cisco | -oki | -wec | -winbond) 165caade7ccSmrg os= 166caade7ccSmrg basic_machine=$1 167caade7ccSmrg ;; 168caade7ccSmrg -scout) 169caade7ccSmrg ;; 170caade7ccSmrg -wrs) 171caade7ccSmrg os=-vxworks 172caade7ccSmrg basic_machine=$1 173caade7ccSmrg ;; 174caade7ccSmrg -chorusos*) 175caade7ccSmrg os=-chorusos 176caade7ccSmrg basic_machine=$1 177caade7ccSmrg ;; 178caade7ccSmrg -chorusrdb) 179caade7ccSmrg os=-chorusrdb 180caade7ccSmrg basic_machine=$1 181caade7ccSmrg ;; 182caade7ccSmrg -hiux*) 183caade7ccSmrg os=-hiuxwe2 184caade7ccSmrg ;; 185caade7ccSmrg -sco6) 186caade7ccSmrg os=-sco5v6 187caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188caade7ccSmrg ;; 189caade7ccSmrg -sco5) 190caade7ccSmrg os=-sco3.2v5 191caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192caade7ccSmrg ;; 193caade7ccSmrg -sco4) 194caade7ccSmrg os=-sco3.2v4 195caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196caade7ccSmrg ;; 197caade7ccSmrg -sco3.2.[4-9]*) 198caade7ccSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200caade7ccSmrg ;; 201caade7ccSmrg -sco3.2v[4-9]*) 202caade7ccSmrg # Don't forget version if it is 3.2v4 or newer. 203caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204caade7ccSmrg ;; 205caade7ccSmrg -sco5v6*) 206caade7ccSmrg # Don't forget version if it is 3.2v4 or newer. 207caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 208caade7ccSmrg ;; 209caade7ccSmrg -sco*) 210caade7ccSmrg os=-sco3.2v2 211caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212caade7ccSmrg ;; 213caade7ccSmrg -udk*) 214caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215caade7ccSmrg ;; 216caade7ccSmrg -isc) 217caade7ccSmrg os=-isc2.2 218caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219caade7ccSmrg ;; 220caade7ccSmrg -clix*) 221caade7ccSmrg basic_machine=clipper-intergraph 222caade7ccSmrg ;; 223caade7ccSmrg -isc*) 224caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225caade7ccSmrg ;; 226caade7ccSmrg -lynx*) 227caade7ccSmrg os=-lynxos 228caade7ccSmrg ;; 229caade7ccSmrg -ptx*) 230caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231caade7ccSmrg ;; 232caade7ccSmrg -windowsnt*) 233caade7ccSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234caade7ccSmrg ;; 235caade7ccSmrg -psos*) 236caade7ccSmrg os=-psos 237caade7ccSmrg ;; 238caade7ccSmrg -mint | -mint[0-9]*) 239caade7ccSmrg basic_machine=m68k-atari 240caade7ccSmrg os=-mint 241caade7ccSmrg ;; 242caade7ccSmrgesac 243caade7ccSmrg 244caade7ccSmrg# Decode aliases for certain CPU-COMPANY combinations. 245caade7ccSmrgcase $basic_machine in 246caade7ccSmrg # Recognize the basic CPU types without company name. 247caade7ccSmrg # Some are omitted here because they have special meanings below. 248caade7ccSmrg 1750a | 580 \ 249caade7ccSmrg | a29k \ 250caade7ccSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251caade7ccSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 252caade7ccSmrg | am33_2.0 \ 253485f0483Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 254caade7ccSmrg | bfin \ 255caade7ccSmrg | c4x | clipper \ 256caade7ccSmrg | d10v | d30v | dlx | dsp16xx \ 257485f0483Smrg | fido | fr30 | frv \ 258caade7ccSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 259caade7ccSmrg | i370 | i860 | i960 | ia64 \ 260caade7ccSmrg | ip2k | iq2000 \ 261b9b4fd27Smrg | lm32 \ 262485f0483Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 263b9b4fd27Smrg | maxq | mb | microblaze | mcore | mep | metag \ 264caade7ccSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 265caade7ccSmrg | mips16 \ 266caade7ccSmrg | mips64 | mips64el \ 267b9b4fd27Smrg | mips64octeon | mips64octeonel \ 268caade7ccSmrg | mips64orion | mips64orionel \ 269b9b4fd27Smrg | mips64r5900 | mips64r5900el \ 270b9b4fd27Smrg | mips64vr | mips64vrel \ 271caade7ccSmrg | mips64vr4100 | mips64vr4100el \ 272caade7ccSmrg | mips64vr4300 | mips64vr4300el \ 273caade7ccSmrg | mips64vr5000 | mips64vr5000el \ 274caade7ccSmrg | mips64vr5900 | mips64vr5900el \ 275caade7ccSmrg | mipsisa32 | mipsisa32el \ 276caade7ccSmrg | mipsisa32r2 | mipsisa32r2el \ 277caade7ccSmrg | mipsisa64 | mipsisa64el \ 278caade7ccSmrg | mipsisa64r2 | mipsisa64r2el \ 279caade7ccSmrg | mipsisa64sb1 | mipsisa64sb1el \ 280caade7ccSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 281caade7ccSmrg | mipstx39 | mipstx39el \ 282caade7ccSmrg | mn10200 | mn10300 \ 283b9b4fd27Smrg | moxie \ 284caade7ccSmrg | mt \ 285caade7ccSmrg | msp430 \ 286e8a5466aSmrg | nds32 | nds32le | nds32be \ 287485f0483Smrg | nios | nios2 \ 288caade7ccSmrg | ns16k | ns32k \ 289caade7ccSmrg | or32 \ 290caade7ccSmrg | pdp10 | pdp11 | pj | pjl \ 291caade7ccSmrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 292caade7ccSmrg | pyramid \ 293b9b4fd27Smrg | rx \ 294485f0483Smrg | score \ 295b9b4fd27Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 296caade7ccSmrg | sh64 | sh64le \ 297485f0483Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 298485f0483Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 299485f0483Smrg | spu | strongarm \ 300e8a5466aSmrg | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 301b9b4fd27Smrg | ubicom32 \ 302caade7ccSmrg | v850 | v850e \ 303caade7ccSmrg | we32k \ 304485f0483Smrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 305b9b4fd27Smrg | z8k | z80) 306caade7ccSmrg basic_machine=$basic_machine-unknown 307caade7ccSmrg ;; 308e8a5466aSmrg c54x) 309e8a5466aSmrg basic_machine=tic54x-unknown 310e8a5466aSmrg ;; 311e8a5466aSmrg c55x) 312e8a5466aSmrg basic_machine=tic55x-unknown 313e8a5466aSmrg ;; 314e8a5466aSmrg c6x) 315e8a5466aSmrg basic_machine=tic6x-unknown 316e8a5466aSmrg ;; 317b9b4fd27Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 318caade7ccSmrg # Motorola 68HC11/12. 319caade7ccSmrg basic_machine=$basic_machine-unknown 320caade7ccSmrg os=-none 321caade7ccSmrg ;; 322caade7ccSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 323caade7ccSmrg ;; 324caade7ccSmrg ms1) 325caade7ccSmrg basic_machine=mt-unknown 326caade7ccSmrg ;; 327caade7ccSmrg 328caade7ccSmrg # We use `pc' rather than `unknown' 329caade7ccSmrg # because (1) that's what they normally are, and 330caade7ccSmrg # (2) the word "unknown" tends to confuse beginning users. 331caade7ccSmrg i*86 | x86_64) 332caade7ccSmrg basic_machine=$basic_machine-pc 333caade7ccSmrg ;; 334caade7ccSmrg # Object if more than one company name word. 335caade7ccSmrg *-*-*) 336caade7ccSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 337caade7ccSmrg exit 1 338caade7ccSmrg ;; 339caade7ccSmrg # Recognize the basic CPU types with company name. 340caade7ccSmrg 580-* \ 341caade7ccSmrg | a29k-* \ 342caade7ccSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 343caade7ccSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 344caade7ccSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 345caade7ccSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 346485f0483Smrg | avr-* | avr32-* \ 347caade7ccSmrg | bfin-* | bs2000-* \ 348e8a5466aSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 349caade7ccSmrg | clipper-* | craynv-* | cydra-* \ 350caade7ccSmrg | d10v-* | d30v-* | dlx-* \ 351caade7ccSmrg | elxsi-* \ 352485f0483Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 353caade7ccSmrg | h8300-* | h8500-* \ 354caade7ccSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 355caade7ccSmrg | i*86-* | i860-* | i960-* | ia64-* \ 356caade7ccSmrg | ip2k-* | iq2000-* \ 357b9b4fd27Smrg | lm32-* \ 358485f0483Smrg | m32c-* | m32r-* | m32rle-* \ 359caade7ccSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 360b9b4fd27Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 361caade7ccSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 362caade7ccSmrg | mips16-* \ 363caade7ccSmrg | mips64-* | mips64el-* \ 364b9b4fd27Smrg | mips64octeon-* | mips64octeonel-* \ 365caade7ccSmrg | mips64orion-* | mips64orionel-* \ 366b9b4fd27Smrg | mips64r5900-* | mips64r5900el-* \ 367b9b4fd27Smrg | mips64vr-* | mips64vrel-* \ 368caade7ccSmrg | mips64vr4100-* | mips64vr4100el-* \ 369caade7ccSmrg | mips64vr4300-* | mips64vr4300el-* \ 370caade7ccSmrg | mips64vr5000-* | mips64vr5000el-* \ 371caade7ccSmrg | mips64vr5900-* | mips64vr5900el-* \ 372caade7ccSmrg | mipsisa32-* | mipsisa32el-* \ 373caade7ccSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 374caade7ccSmrg | mipsisa64-* | mipsisa64el-* \ 375caade7ccSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 376caade7ccSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 377caade7ccSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 378caade7ccSmrg | mipstx39-* | mipstx39el-* \ 379caade7ccSmrg | mmix-* \ 380caade7ccSmrg | mt-* \ 381caade7ccSmrg | msp430-* \ 382e8a5466aSmrg | nds32-* | nds32le-* | nds32be-* \ 383485f0483Smrg | nios-* | nios2-* \ 384caade7ccSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 385caade7ccSmrg | orion-* \ 386caade7ccSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 387caade7ccSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 388caade7ccSmrg | pyramid-* \ 389b9b4fd27Smrg | romp-* | rs6000-* | rx-* \ 390b9b4fd27Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 391caade7ccSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 392485f0483Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 393caade7ccSmrg | sparclite-* \ 394485f0483Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 395caade7ccSmrg | tahoe-* | thumb-* \ 396e8a5466aSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 397e8a5466aSmrg | tile-* | tilegx-* \ 398caade7ccSmrg | tron-* \ 399b9b4fd27Smrg | ubicom32-* \ 400caade7ccSmrg | v850-* | v850e-* | vax-* \ 401caade7ccSmrg | we32k-* \ 402485f0483Smrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 403485f0483Smrg | xstormy16-* | xtensa*-* \ 404caade7ccSmrg | ymp-* \ 405b9b4fd27Smrg | z8k-* | z80-*) 406caade7ccSmrg ;; 407485f0483Smrg # Recognize the basic CPU types without company name, with glob match. 408485f0483Smrg xtensa*) 409485f0483Smrg basic_machine=$basic_machine-unknown 410caade7ccSmrg ;; 411caade7ccSmrg # Recognize the various machine names and aliases which stand 412caade7ccSmrg # for a CPU type and a company and sometimes even an OS. 413caade7ccSmrg 386bsd) 414caade7ccSmrg basic_machine=i386-unknown 415caade7ccSmrg os=-bsd 416caade7ccSmrg ;; 417caade7ccSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 418caade7ccSmrg basic_machine=m68000-att 419caade7ccSmrg ;; 420caade7ccSmrg 3b*) 421caade7ccSmrg basic_machine=we32k-att 422caade7ccSmrg ;; 423caade7ccSmrg a29khif) 424caade7ccSmrg basic_machine=a29k-amd 425caade7ccSmrg os=-udi 426caade7ccSmrg ;; 427caade7ccSmrg abacus) 428caade7ccSmrg basic_machine=abacus-unknown 429caade7ccSmrg ;; 430caade7ccSmrg adobe68k) 431caade7ccSmrg basic_machine=m68010-adobe 432caade7ccSmrg os=-scout 433caade7ccSmrg ;; 434caade7ccSmrg alliant | fx80) 435caade7ccSmrg basic_machine=fx80-alliant 436caade7ccSmrg ;; 437caade7ccSmrg altos | altos3068) 438caade7ccSmrg basic_machine=m68k-altos 439caade7ccSmrg ;; 440caade7ccSmrg am29k) 441caade7ccSmrg basic_machine=a29k-none 442caade7ccSmrg os=-bsd 443caade7ccSmrg ;; 444caade7ccSmrg amd64) 445caade7ccSmrg basic_machine=x86_64-pc 446caade7ccSmrg ;; 447caade7ccSmrg amd64-*) 448caade7ccSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 449caade7ccSmrg ;; 450caade7ccSmrg amdahl) 451caade7ccSmrg basic_machine=580-amdahl 452caade7ccSmrg os=-sysv 453caade7ccSmrg ;; 454caade7ccSmrg amiga | amiga-*) 455caade7ccSmrg basic_machine=m68k-unknown 456caade7ccSmrg ;; 457caade7ccSmrg amigaos | amigados) 458caade7ccSmrg basic_machine=m68k-unknown 459caade7ccSmrg os=-amigaos 460caade7ccSmrg ;; 461caade7ccSmrg amigaunix | amix) 462caade7ccSmrg basic_machine=m68k-unknown 463caade7ccSmrg os=-sysv4 464caade7ccSmrg ;; 465caade7ccSmrg apollo68) 466caade7ccSmrg basic_machine=m68k-apollo 467caade7ccSmrg os=-sysv 468caade7ccSmrg ;; 469caade7ccSmrg apollo68bsd) 470caade7ccSmrg basic_machine=m68k-apollo 471caade7ccSmrg os=-bsd 472caade7ccSmrg ;; 473b9b4fd27Smrg aros) 474b9b4fd27Smrg basic_machine=i386-pc 475b9b4fd27Smrg os=-aros 476b9b4fd27Smrg ;; 477caade7ccSmrg aux) 478caade7ccSmrg basic_machine=m68k-apple 479caade7ccSmrg os=-aux 480caade7ccSmrg ;; 481caade7ccSmrg balance) 482caade7ccSmrg basic_machine=ns32k-sequent 483caade7ccSmrg os=-dynix 484caade7ccSmrg ;; 485485f0483Smrg blackfin) 486485f0483Smrg basic_machine=bfin-unknown 487485f0483Smrg os=-linux 488485f0483Smrg ;; 489485f0483Smrg blackfin-*) 490485f0483Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 491485f0483Smrg os=-linux 492485f0483Smrg ;; 493b9b4fd27Smrg bluegene*) 494b9b4fd27Smrg basic_machine=powerpc-ibm 495b9b4fd27Smrg os=-cnk 496b9b4fd27Smrg ;; 497e8a5466aSmrg c54x-*) 498e8a5466aSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 499e8a5466aSmrg ;; 500e8a5466aSmrg c55x-*) 501e8a5466aSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 502e8a5466aSmrg ;; 503e8a5466aSmrg c6x-*) 504e8a5466aSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 505e8a5466aSmrg ;; 506caade7ccSmrg c90) 507caade7ccSmrg basic_machine=c90-cray 508caade7ccSmrg os=-unicos 509caade7ccSmrg ;; 510b9b4fd27Smrg cegcc) 511b9b4fd27Smrg basic_machine=arm-unknown 512b9b4fd27Smrg os=-cegcc 513b9b4fd27Smrg ;; 514caade7ccSmrg convex-c1) 515caade7ccSmrg basic_machine=c1-convex 516caade7ccSmrg os=-bsd 517caade7ccSmrg ;; 518caade7ccSmrg convex-c2) 519caade7ccSmrg basic_machine=c2-convex 520caade7ccSmrg os=-bsd 521caade7ccSmrg ;; 522caade7ccSmrg convex-c32) 523caade7ccSmrg basic_machine=c32-convex 524caade7ccSmrg os=-bsd 525caade7ccSmrg ;; 526caade7ccSmrg convex-c34) 527caade7ccSmrg basic_machine=c34-convex 528caade7ccSmrg os=-bsd 529caade7ccSmrg ;; 530caade7ccSmrg convex-c38) 531caade7ccSmrg basic_machine=c38-convex 532caade7ccSmrg os=-bsd 533caade7ccSmrg ;; 534caade7ccSmrg cray | j90) 535caade7ccSmrg basic_machine=j90-cray 536caade7ccSmrg os=-unicos 537caade7ccSmrg ;; 538caade7ccSmrg craynv) 539caade7ccSmrg basic_machine=craynv-cray 540caade7ccSmrg os=-unicosmp 541caade7ccSmrg ;; 542485f0483Smrg cr16) 543485f0483Smrg basic_machine=cr16-unknown 544caade7ccSmrg os=-elf 545caade7ccSmrg ;; 546caade7ccSmrg crds | unos) 547caade7ccSmrg basic_machine=m68k-crds 548caade7ccSmrg ;; 549caade7ccSmrg crisv32 | crisv32-* | etraxfs*) 550caade7ccSmrg basic_machine=crisv32-axis 551caade7ccSmrg ;; 552caade7ccSmrg cris | cris-* | etrax*) 553caade7ccSmrg basic_machine=cris-axis 554caade7ccSmrg ;; 555caade7ccSmrg crx) 556caade7ccSmrg basic_machine=crx-unknown 557caade7ccSmrg os=-elf 558caade7ccSmrg ;; 559caade7ccSmrg da30 | da30-*) 560caade7ccSmrg basic_machine=m68k-da30 561caade7ccSmrg ;; 562caade7ccSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 563caade7ccSmrg basic_machine=mips-dec 564caade7ccSmrg ;; 565caade7ccSmrg decsystem10* | dec10*) 566caade7ccSmrg basic_machine=pdp10-dec 567caade7ccSmrg os=-tops10 568caade7ccSmrg ;; 569caade7ccSmrg decsystem20* | dec20*) 570caade7ccSmrg basic_machine=pdp10-dec 571caade7ccSmrg os=-tops20 572caade7ccSmrg ;; 573caade7ccSmrg delta | 3300 | motorola-3300 | motorola-delta \ 574caade7ccSmrg | 3300-motorola | delta-motorola) 575caade7ccSmrg basic_machine=m68k-motorola 576caade7ccSmrg ;; 577caade7ccSmrg delta88) 578caade7ccSmrg basic_machine=m88k-motorola 579caade7ccSmrg os=-sysv3 580caade7ccSmrg ;; 581b9b4fd27Smrg dicos) 582b9b4fd27Smrg basic_machine=i686-pc 583b9b4fd27Smrg os=-dicos 584b9b4fd27Smrg ;; 585caade7ccSmrg djgpp) 586caade7ccSmrg basic_machine=i586-pc 587caade7ccSmrg os=-msdosdjgpp 588caade7ccSmrg ;; 589caade7ccSmrg dpx20 | dpx20-*) 590caade7ccSmrg basic_machine=rs6000-bull 591caade7ccSmrg os=-bosx 592caade7ccSmrg ;; 593caade7ccSmrg dpx2* | dpx2*-bull) 594caade7ccSmrg basic_machine=m68k-bull 595caade7ccSmrg os=-sysv3 596caade7ccSmrg ;; 597caade7ccSmrg ebmon29k) 598caade7ccSmrg basic_machine=a29k-amd 599caade7ccSmrg os=-ebmon 600caade7ccSmrg ;; 601caade7ccSmrg elxsi) 602caade7ccSmrg basic_machine=elxsi-elxsi 603caade7ccSmrg os=-bsd 604caade7ccSmrg ;; 605caade7ccSmrg encore | umax | mmax) 606caade7ccSmrg basic_machine=ns32k-encore 607caade7ccSmrg ;; 608caade7ccSmrg es1800 | OSE68k | ose68k | ose | OSE) 609caade7ccSmrg basic_machine=m68k-ericsson 610caade7ccSmrg os=-ose 611caade7ccSmrg ;; 612caade7ccSmrg fx2800) 613caade7ccSmrg basic_machine=i860-alliant 614caade7ccSmrg ;; 615caade7ccSmrg genix) 616caade7ccSmrg basic_machine=ns32k-ns 617caade7ccSmrg ;; 618caade7ccSmrg gmicro) 619caade7ccSmrg basic_machine=tron-gmicro 620caade7ccSmrg os=-sysv 621caade7ccSmrg ;; 622caade7ccSmrg go32) 623caade7ccSmrg basic_machine=i386-pc 624caade7ccSmrg os=-go32 625caade7ccSmrg ;; 626caade7ccSmrg h3050r* | hiux*) 627caade7ccSmrg basic_machine=hppa1.1-hitachi 628caade7ccSmrg os=-hiuxwe2 629caade7ccSmrg ;; 630caade7ccSmrg h8300hms) 631caade7ccSmrg basic_machine=h8300-hitachi 632caade7ccSmrg os=-hms 633caade7ccSmrg ;; 634caade7ccSmrg h8300xray) 635caade7ccSmrg basic_machine=h8300-hitachi 636caade7ccSmrg os=-xray 637caade7ccSmrg ;; 638caade7ccSmrg h8500hms) 639caade7ccSmrg basic_machine=h8500-hitachi 640caade7ccSmrg os=-hms 641caade7ccSmrg ;; 642caade7ccSmrg harris) 643caade7ccSmrg basic_machine=m88k-harris 644caade7ccSmrg os=-sysv3 645caade7ccSmrg ;; 646caade7ccSmrg hp300-*) 647caade7ccSmrg basic_machine=m68k-hp 648caade7ccSmrg ;; 649caade7ccSmrg hp300bsd) 650caade7ccSmrg basic_machine=m68k-hp 651caade7ccSmrg os=-bsd 652caade7ccSmrg ;; 653caade7ccSmrg hp300hpux) 654caade7ccSmrg basic_machine=m68k-hp 655caade7ccSmrg os=-hpux 656caade7ccSmrg ;; 657caade7ccSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 658caade7ccSmrg basic_machine=hppa1.0-hp 659caade7ccSmrg ;; 660caade7ccSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 661caade7ccSmrg basic_machine=m68000-hp 662caade7ccSmrg ;; 663caade7ccSmrg hp9k3[2-9][0-9]) 664caade7ccSmrg basic_machine=m68k-hp 665caade7ccSmrg ;; 666caade7ccSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 667caade7ccSmrg basic_machine=hppa1.0-hp 668caade7ccSmrg ;; 669caade7ccSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 670caade7ccSmrg basic_machine=hppa1.1-hp 671caade7ccSmrg ;; 672caade7ccSmrg hp9k78[0-9] | hp78[0-9]) 673caade7ccSmrg # FIXME: really hppa2.0-hp 674caade7ccSmrg basic_machine=hppa1.1-hp 675caade7ccSmrg ;; 676caade7ccSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 677caade7ccSmrg # FIXME: really hppa2.0-hp 678caade7ccSmrg basic_machine=hppa1.1-hp 679caade7ccSmrg ;; 680caade7ccSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 681caade7ccSmrg basic_machine=hppa1.1-hp 682caade7ccSmrg ;; 683caade7ccSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 684caade7ccSmrg basic_machine=hppa1.0-hp 685caade7ccSmrg ;; 686caade7ccSmrg hppa-next) 687caade7ccSmrg os=-nextstep3 688caade7ccSmrg ;; 689caade7ccSmrg hppaosf) 690caade7ccSmrg basic_machine=hppa1.1-hp 691caade7ccSmrg os=-osf 692caade7ccSmrg ;; 693caade7ccSmrg hppro) 694caade7ccSmrg basic_machine=hppa1.1-hp 695caade7ccSmrg os=-proelf 696caade7ccSmrg ;; 697caade7ccSmrg i370-ibm* | ibm*) 698caade7ccSmrg basic_machine=i370-ibm 699caade7ccSmrg ;; 700caade7ccSmrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 701caade7ccSmrg i*86v32) 702caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 703caade7ccSmrg os=-sysv32 704caade7ccSmrg ;; 705caade7ccSmrg i*86v4*) 706caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 707caade7ccSmrg os=-sysv4 708caade7ccSmrg ;; 709caade7ccSmrg i*86v) 710caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 711caade7ccSmrg os=-sysv 712caade7ccSmrg ;; 713caade7ccSmrg i*86sol2) 714caade7ccSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 715caade7ccSmrg os=-solaris2 716caade7ccSmrg ;; 717caade7ccSmrg i386mach) 718caade7ccSmrg basic_machine=i386-mach 719caade7ccSmrg os=-mach 720caade7ccSmrg ;; 721caade7ccSmrg i386-vsta | vsta) 722caade7ccSmrg basic_machine=i386-unknown 723caade7ccSmrg os=-vsta 724caade7ccSmrg ;; 725caade7ccSmrg iris | iris4d) 726caade7ccSmrg basic_machine=mips-sgi 727caade7ccSmrg case $os in 728caade7ccSmrg -irix*) 729caade7ccSmrg ;; 730caade7ccSmrg *) 731caade7ccSmrg os=-irix4 732caade7ccSmrg ;; 733caade7ccSmrg esac 734caade7ccSmrg ;; 735caade7ccSmrg isi68 | isi) 736caade7ccSmrg basic_machine=m68k-isi 737caade7ccSmrg os=-sysv 738caade7ccSmrg ;; 739485f0483Smrg m68knommu) 740485f0483Smrg basic_machine=m68k-unknown 741485f0483Smrg os=-linux 742485f0483Smrg ;; 743485f0483Smrg m68knommu-*) 744485f0483Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 745485f0483Smrg os=-linux 746485f0483Smrg ;; 747caade7ccSmrg m88k-omron*) 748caade7ccSmrg basic_machine=m88k-omron 749caade7ccSmrg ;; 750caade7ccSmrg magnum | m3230) 751caade7ccSmrg basic_machine=mips-mips 752caade7ccSmrg os=-sysv 753caade7ccSmrg ;; 754caade7ccSmrg merlin) 755caade7ccSmrg basic_machine=ns32k-utek 756caade7ccSmrg os=-sysv 757caade7ccSmrg ;; 758b9b4fd27Smrg microblaze) 759b9b4fd27Smrg basic_machine=microblaze-xilinx 760b9b4fd27Smrg ;; 761caade7ccSmrg mingw32) 762caade7ccSmrg basic_machine=i386-pc 763caade7ccSmrg os=-mingw32 764caade7ccSmrg ;; 765485f0483Smrg mingw32ce) 766485f0483Smrg basic_machine=arm-unknown 767485f0483Smrg os=-mingw32ce 768485f0483Smrg ;; 769caade7ccSmrg miniframe) 770caade7ccSmrg basic_machine=m68000-convergent 771caade7ccSmrg ;; 772caade7ccSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 773caade7ccSmrg basic_machine=m68k-atari 774caade7ccSmrg os=-mint 775caade7ccSmrg ;; 776caade7ccSmrg mips3*-*) 777caade7ccSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 778caade7ccSmrg ;; 779caade7ccSmrg mips3*) 780caade7ccSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 781caade7ccSmrg ;; 782caade7ccSmrg monitor) 783caade7ccSmrg basic_machine=m68k-rom68k 784caade7ccSmrg os=-coff 785caade7ccSmrg ;; 786caade7ccSmrg morphos) 787caade7ccSmrg basic_machine=powerpc-unknown 788caade7ccSmrg os=-morphos 789caade7ccSmrg ;; 790caade7ccSmrg msdos) 791caade7ccSmrg basic_machine=i386-pc 792caade7ccSmrg os=-msdos 793caade7ccSmrg ;; 794caade7ccSmrg ms1-*) 795caade7ccSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 796caade7ccSmrg ;; 797caade7ccSmrg mvs) 798caade7ccSmrg basic_machine=i370-ibm 799caade7ccSmrg os=-mvs 800caade7ccSmrg ;; 801caade7ccSmrg ncr3000) 802caade7ccSmrg basic_machine=i486-ncr 803caade7ccSmrg os=-sysv4 804caade7ccSmrg ;; 805caade7ccSmrg netbsd386) 806caade7ccSmrg basic_machine=i386-unknown 807caade7ccSmrg os=-netbsd 808caade7ccSmrg ;; 809caade7ccSmrg netwinder) 810caade7ccSmrg basic_machine=armv4l-rebel 811caade7ccSmrg os=-linux 812caade7ccSmrg ;; 813caade7ccSmrg news | news700 | news800 | news900) 814caade7ccSmrg basic_machine=m68k-sony 815caade7ccSmrg os=-newsos 816caade7ccSmrg ;; 817caade7ccSmrg news1000) 818caade7ccSmrg basic_machine=m68030-sony 819caade7ccSmrg os=-newsos 820caade7ccSmrg ;; 821caade7ccSmrg news-3600 | risc-news) 822caade7ccSmrg basic_machine=mips-sony 823caade7ccSmrg os=-newsos 824caade7ccSmrg ;; 825caade7ccSmrg necv70) 826caade7ccSmrg basic_machine=v70-nec 827caade7ccSmrg os=-sysv 828caade7ccSmrg ;; 829caade7ccSmrg next | m*-next ) 830caade7ccSmrg basic_machine=m68k-next 831caade7ccSmrg case $os in 832caade7ccSmrg -nextstep* ) 833caade7ccSmrg ;; 834caade7ccSmrg -ns2*) 835caade7ccSmrg os=-nextstep2 836caade7ccSmrg ;; 837caade7ccSmrg *) 838caade7ccSmrg os=-nextstep3 839caade7ccSmrg ;; 840caade7ccSmrg esac 841caade7ccSmrg ;; 842caade7ccSmrg nh3000) 843caade7ccSmrg basic_machine=m68k-harris 844caade7ccSmrg os=-cxux 845caade7ccSmrg ;; 846caade7ccSmrg nh[45]000) 847caade7ccSmrg basic_machine=m88k-harris 848caade7ccSmrg os=-cxux 849caade7ccSmrg ;; 850caade7ccSmrg nindy960) 851caade7ccSmrg basic_machine=i960-intel 852caade7ccSmrg os=-nindy 853caade7ccSmrg ;; 854caade7ccSmrg mon960) 855caade7ccSmrg basic_machine=i960-intel 856caade7ccSmrg os=-mon960 857caade7ccSmrg ;; 858caade7ccSmrg nonstopux) 859caade7ccSmrg basic_machine=mips-compaq 860caade7ccSmrg os=-nonstopux 861caade7ccSmrg ;; 862caade7ccSmrg np1) 863caade7ccSmrg basic_machine=np1-gould 864caade7ccSmrg ;; 865e8a5466aSmrg neo-tandem) 866e8a5466aSmrg basic_machine=neo-tandem 867e8a5466aSmrg ;; 868e8a5466aSmrg nse-tandem) 869e8a5466aSmrg basic_machine=nse-tandem 870e8a5466aSmrg ;; 871caade7ccSmrg nsr-tandem) 872caade7ccSmrg basic_machine=nsr-tandem 873caade7ccSmrg ;; 874caade7ccSmrg op50n-* | op60c-*) 875caade7ccSmrg basic_machine=hppa1.1-oki 876caade7ccSmrg os=-proelf 877caade7ccSmrg ;; 878caade7ccSmrg openrisc | openrisc-*) 879caade7ccSmrg basic_machine=or32-unknown 880caade7ccSmrg ;; 881caade7ccSmrg os400) 882caade7ccSmrg basic_machine=powerpc-ibm 883caade7ccSmrg os=-os400 884caade7ccSmrg ;; 885caade7ccSmrg OSE68000 | ose68000) 886caade7ccSmrg basic_machine=m68000-ericsson 887caade7ccSmrg os=-ose 888caade7ccSmrg ;; 889caade7ccSmrg os68k) 890caade7ccSmrg basic_machine=m68k-none 891caade7ccSmrg os=-os68k 892caade7ccSmrg ;; 893caade7ccSmrg pa-hitachi) 894caade7ccSmrg basic_machine=hppa1.1-hitachi 895caade7ccSmrg os=-hiuxwe2 896caade7ccSmrg ;; 897caade7ccSmrg paragon) 898caade7ccSmrg basic_machine=i860-intel 899caade7ccSmrg os=-osf 900caade7ccSmrg ;; 901485f0483Smrg parisc) 902485f0483Smrg basic_machine=hppa-unknown 903485f0483Smrg os=-linux 904485f0483Smrg ;; 905485f0483Smrg parisc-*) 906485f0483Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 907485f0483Smrg os=-linux 908485f0483Smrg ;; 909caade7ccSmrg pbd) 910caade7ccSmrg basic_machine=sparc-tti 911caade7ccSmrg ;; 912caade7ccSmrg pbb) 913caade7ccSmrg basic_machine=m68k-tti 914caade7ccSmrg ;; 915caade7ccSmrg pc532 | pc532-*) 916caade7ccSmrg basic_machine=ns32k-pc532 917caade7ccSmrg ;; 918485f0483Smrg pc98) 919485f0483Smrg basic_machine=i386-pc 920485f0483Smrg ;; 921485f0483Smrg pc98-*) 922485f0483Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 923485f0483Smrg ;; 924caade7ccSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 925caade7ccSmrg basic_machine=i586-pc 926caade7ccSmrg ;; 927caade7ccSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 928caade7ccSmrg basic_machine=i686-pc 929caade7ccSmrg ;; 930caade7ccSmrg pentiumii | pentium2 | pentiumiii | pentium3) 931caade7ccSmrg basic_machine=i686-pc 932caade7ccSmrg ;; 933caade7ccSmrg pentium4) 934caade7ccSmrg basic_machine=i786-pc 935caade7ccSmrg ;; 936caade7ccSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 937caade7ccSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 938caade7ccSmrg ;; 939caade7ccSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 940caade7ccSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 941caade7ccSmrg ;; 942caade7ccSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 943caade7ccSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 944caade7ccSmrg ;; 945caade7ccSmrg pentium4-*) 946caade7ccSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 947caade7ccSmrg ;; 948caade7ccSmrg pn) 949caade7ccSmrg basic_machine=pn-gould 950caade7ccSmrg ;; 951caade7ccSmrg power) basic_machine=power-ibm 952caade7ccSmrg ;; 953caade7ccSmrg ppc) basic_machine=powerpc-unknown 954caade7ccSmrg ;; 955caade7ccSmrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 956caade7ccSmrg ;; 957caade7ccSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 958caade7ccSmrg basic_machine=powerpcle-unknown 959caade7ccSmrg ;; 960caade7ccSmrg ppcle-* | powerpclittle-*) 961caade7ccSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 962caade7ccSmrg ;; 963caade7ccSmrg ppc64) basic_machine=powerpc64-unknown 964caade7ccSmrg ;; 965caade7ccSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 966caade7ccSmrg ;; 967caade7ccSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 968caade7ccSmrg basic_machine=powerpc64le-unknown 969caade7ccSmrg ;; 970caade7ccSmrg ppc64le-* | powerpc64little-*) 971caade7ccSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 972caade7ccSmrg ;; 973caade7ccSmrg ps2) 974caade7ccSmrg basic_machine=i386-ibm 975caade7ccSmrg ;; 976caade7ccSmrg pw32) 977caade7ccSmrg basic_machine=i586-unknown 978caade7ccSmrg os=-pw32 979caade7ccSmrg ;; 980caade7ccSmrg rdos) 981caade7ccSmrg basic_machine=i386-pc 982caade7ccSmrg os=-rdos 983caade7ccSmrg ;; 984caade7ccSmrg rom68k) 985caade7ccSmrg basic_machine=m68k-rom68k 986caade7ccSmrg os=-coff 987caade7ccSmrg ;; 988caade7ccSmrg rm[46]00) 989caade7ccSmrg basic_machine=mips-siemens 990caade7ccSmrg ;; 991caade7ccSmrg rtpc | rtpc-*) 992caade7ccSmrg basic_machine=romp-ibm 993caade7ccSmrg ;; 994caade7ccSmrg s390 | s390-*) 995caade7ccSmrg basic_machine=s390-ibm 996caade7ccSmrg ;; 997caade7ccSmrg s390x | s390x-*) 998caade7ccSmrg basic_machine=s390x-ibm 999caade7ccSmrg ;; 1000caade7ccSmrg sa29200) 1001caade7ccSmrg basic_machine=a29k-amd 1002caade7ccSmrg os=-udi 1003caade7ccSmrg ;; 1004caade7ccSmrg sb1) 1005caade7ccSmrg basic_machine=mipsisa64sb1-unknown 1006caade7ccSmrg ;; 1007caade7ccSmrg sb1el) 1008caade7ccSmrg basic_machine=mipsisa64sb1el-unknown 1009caade7ccSmrg ;; 1010485f0483Smrg sde) 1011485f0483Smrg basic_machine=mipsisa32-sde 1012485f0483Smrg os=-elf 1013485f0483Smrg ;; 1014caade7ccSmrg sei) 1015caade7ccSmrg basic_machine=mips-sei 1016caade7ccSmrg os=-seiux 1017caade7ccSmrg ;; 1018caade7ccSmrg sequent) 1019caade7ccSmrg basic_machine=i386-sequent 1020caade7ccSmrg ;; 1021caade7ccSmrg sh) 1022caade7ccSmrg basic_machine=sh-hitachi 1023caade7ccSmrg os=-hms 1024caade7ccSmrg ;; 1025485f0483Smrg sh5el) 1026485f0483Smrg basic_machine=sh5le-unknown 1027485f0483Smrg ;; 1028caade7ccSmrg sh64) 1029caade7ccSmrg basic_machine=sh64-unknown 1030caade7ccSmrg ;; 1031caade7ccSmrg sparclite-wrs | simso-wrs) 1032caade7ccSmrg basic_machine=sparclite-wrs 1033caade7ccSmrg os=-vxworks 1034caade7ccSmrg ;; 1035caade7ccSmrg sps7) 1036caade7ccSmrg basic_machine=m68k-bull 1037caade7ccSmrg os=-sysv2 1038caade7ccSmrg ;; 1039caade7ccSmrg spur) 1040caade7ccSmrg basic_machine=spur-unknown 1041caade7ccSmrg ;; 1042caade7ccSmrg st2000) 1043caade7ccSmrg basic_machine=m68k-tandem 1044caade7ccSmrg ;; 1045caade7ccSmrg stratus) 1046caade7ccSmrg basic_machine=i860-stratus 1047caade7ccSmrg os=-sysv4 1048caade7ccSmrg ;; 1049caade7ccSmrg sun2) 1050caade7ccSmrg basic_machine=m68000-sun 1051caade7ccSmrg ;; 1052caade7ccSmrg sun2os3) 1053caade7ccSmrg basic_machine=m68000-sun 1054caade7ccSmrg os=-sunos3 1055caade7ccSmrg ;; 1056caade7ccSmrg sun2os4) 1057caade7ccSmrg basic_machine=m68000-sun 1058caade7ccSmrg os=-sunos4 1059caade7ccSmrg ;; 1060caade7ccSmrg sun3os3) 1061caade7ccSmrg basic_machine=m68k-sun 1062caade7ccSmrg os=-sunos3 1063caade7ccSmrg ;; 1064caade7ccSmrg sun3os4) 1065caade7ccSmrg basic_machine=m68k-sun 1066caade7ccSmrg os=-sunos4 1067caade7ccSmrg ;; 1068caade7ccSmrg sun4os3) 1069caade7ccSmrg basic_machine=sparc-sun 1070caade7ccSmrg os=-sunos3 1071caade7ccSmrg ;; 1072caade7ccSmrg sun4os4) 1073caade7ccSmrg basic_machine=sparc-sun 1074caade7ccSmrg os=-sunos4 1075caade7ccSmrg ;; 1076caade7ccSmrg sun4sol2) 1077caade7ccSmrg basic_machine=sparc-sun 1078caade7ccSmrg os=-solaris2 1079caade7ccSmrg ;; 1080caade7ccSmrg sun3 | sun3-*) 1081caade7ccSmrg basic_machine=m68k-sun 1082caade7ccSmrg ;; 1083caade7ccSmrg sun4) 1084caade7ccSmrg basic_machine=sparc-sun 1085caade7ccSmrg ;; 1086caade7ccSmrg sun386 | sun386i | roadrunner) 1087caade7ccSmrg basic_machine=i386-sun 1088caade7ccSmrg ;; 1089caade7ccSmrg sv1) 1090caade7ccSmrg basic_machine=sv1-cray 1091caade7ccSmrg os=-unicos 1092caade7ccSmrg ;; 1093caade7ccSmrg symmetry) 1094caade7ccSmrg basic_machine=i386-sequent 1095caade7ccSmrg os=-dynix 1096caade7ccSmrg ;; 1097caade7ccSmrg t3e) 1098caade7ccSmrg basic_machine=alphaev5-cray 1099caade7ccSmrg os=-unicos 1100caade7ccSmrg ;; 1101caade7ccSmrg t90) 1102caade7ccSmrg basic_machine=t90-cray 1103caade7ccSmrg os=-unicos 1104caade7ccSmrg ;; 1105e8a5466aSmrg # This must be matched before tile*. 1106e8a5466aSmrg tilegx*) 1107e8a5466aSmrg basic_machine=tilegx-unknown 1108e8a5466aSmrg os=-linux-gnu 1109caade7ccSmrg ;; 1110485f0483Smrg tile*) 1111485f0483Smrg basic_machine=tile-unknown 1112485f0483Smrg os=-linux-gnu 1113485f0483Smrg ;; 1114caade7ccSmrg tx39) 1115caade7ccSmrg basic_machine=mipstx39-unknown 1116caade7ccSmrg ;; 1117caade7ccSmrg tx39el) 1118caade7ccSmrg basic_machine=mipstx39el-unknown 1119caade7ccSmrg ;; 1120caade7ccSmrg toad1) 1121caade7ccSmrg basic_machine=pdp10-xkl 1122caade7ccSmrg os=-tops20 1123caade7ccSmrg ;; 1124caade7ccSmrg tower | tower-32) 1125caade7ccSmrg basic_machine=m68k-ncr 1126caade7ccSmrg ;; 1127caade7ccSmrg tpf) 1128caade7ccSmrg basic_machine=s390x-ibm 1129caade7ccSmrg os=-tpf 1130caade7ccSmrg ;; 1131caade7ccSmrg udi29k) 1132caade7ccSmrg basic_machine=a29k-amd 1133caade7ccSmrg os=-udi 1134caade7ccSmrg ;; 1135caade7ccSmrg ultra3) 1136caade7ccSmrg basic_machine=a29k-nyu 1137caade7ccSmrg os=-sym1 1138caade7ccSmrg ;; 1139caade7ccSmrg v810 | necv810) 1140caade7ccSmrg basic_machine=v810-nec 1141caade7ccSmrg os=-none 1142caade7ccSmrg ;; 1143caade7ccSmrg vaxv) 1144caade7ccSmrg basic_machine=vax-dec 1145caade7ccSmrg os=-sysv 1146caade7ccSmrg ;; 1147caade7ccSmrg vms) 1148caade7ccSmrg basic_machine=vax-dec 1149caade7ccSmrg os=-vms 1150caade7ccSmrg ;; 1151caade7ccSmrg vpp*|vx|vx-*) 1152caade7ccSmrg basic_machine=f301-fujitsu 1153caade7ccSmrg ;; 1154caade7ccSmrg vxworks960) 1155caade7ccSmrg basic_machine=i960-wrs 1156caade7ccSmrg os=-vxworks 1157caade7ccSmrg ;; 1158caade7ccSmrg vxworks68) 1159caade7ccSmrg basic_machine=m68k-wrs 1160caade7ccSmrg os=-vxworks 1161caade7ccSmrg ;; 1162caade7ccSmrg vxworks29k) 1163caade7ccSmrg basic_machine=a29k-wrs 1164caade7ccSmrg os=-vxworks 1165caade7ccSmrg ;; 1166caade7ccSmrg w65*) 1167caade7ccSmrg basic_machine=w65-wdc 1168caade7ccSmrg os=-none 1169caade7ccSmrg ;; 1170caade7ccSmrg w89k-*) 1171caade7ccSmrg basic_machine=hppa1.1-winbond 1172caade7ccSmrg os=-proelf 1173caade7ccSmrg ;; 1174caade7ccSmrg xbox) 1175caade7ccSmrg basic_machine=i686-pc 1176caade7ccSmrg os=-mingw32 1177caade7ccSmrg ;; 1178caade7ccSmrg xps | xps100) 1179caade7ccSmrg basic_machine=xps100-honeywell 1180caade7ccSmrg ;; 1181caade7ccSmrg ymp) 1182caade7ccSmrg basic_machine=ymp-cray 1183caade7ccSmrg os=-unicos 1184caade7ccSmrg ;; 1185caade7ccSmrg z8k-*-coff) 1186caade7ccSmrg basic_machine=z8k-unknown 1187caade7ccSmrg os=-sim 1188caade7ccSmrg ;; 1189b9b4fd27Smrg z80-*-coff) 1190b9b4fd27Smrg basic_machine=z80-unknown 1191b9b4fd27Smrg os=-sim 1192b9b4fd27Smrg ;; 1193caade7ccSmrg none) 1194caade7ccSmrg basic_machine=none-none 1195caade7ccSmrg os=-none 1196caade7ccSmrg ;; 1197caade7ccSmrg 1198caade7ccSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1199caade7ccSmrg# some cases the only manufacturer, in others, it is the most popular. 1200caade7ccSmrg w89k) 1201caade7ccSmrg basic_machine=hppa1.1-winbond 1202caade7ccSmrg ;; 1203caade7ccSmrg op50n) 1204caade7ccSmrg basic_machine=hppa1.1-oki 1205caade7ccSmrg ;; 1206caade7ccSmrg op60c) 1207caade7ccSmrg basic_machine=hppa1.1-oki 1208caade7ccSmrg ;; 1209caade7ccSmrg romp) 1210caade7ccSmrg basic_machine=romp-ibm 1211caade7ccSmrg ;; 1212caade7ccSmrg mmix) 1213caade7ccSmrg basic_machine=mmix-knuth 1214caade7ccSmrg ;; 1215caade7ccSmrg rs6000) 1216caade7ccSmrg basic_machine=rs6000-ibm 1217caade7ccSmrg ;; 1218caade7ccSmrg vax) 1219caade7ccSmrg basic_machine=vax-dec 1220caade7ccSmrg ;; 1221caade7ccSmrg pdp10) 1222caade7ccSmrg # there are many clones, so DEC is not a safe bet 1223caade7ccSmrg basic_machine=pdp10-unknown 1224caade7ccSmrg ;; 1225caade7ccSmrg pdp11) 1226caade7ccSmrg basic_machine=pdp11-dec 1227caade7ccSmrg ;; 1228caade7ccSmrg we32k) 1229caade7ccSmrg basic_machine=we32k-att 1230caade7ccSmrg ;; 1231b9b4fd27Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1232caade7ccSmrg basic_machine=sh-unknown 1233caade7ccSmrg ;; 1234485f0483Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1235caade7ccSmrg basic_machine=sparc-sun 1236caade7ccSmrg ;; 1237caade7ccSmrg cydra) 1238caade7ccSmrg basic_machine=cydra-cydrome 1239caade7ccSmrg ;; 1240caade7ccSmrg orion) 1241caade7ccSmrg basic_machine=orion-highlevel 1242caade7ccSmrg ;; 1243caade7ccSmrg orion105) 1244caade7ccSmrg basic_machine=clipper-highlevel 1245caade7ccSmrg ;; 1246caade7ccSmrg mac | mpw | mac-mpw) 1247caade7ccSmrg basic_machine=m68k-apple 1248caade7ccSmrg ;; 1249caade7ccSmrg pmac | pmac-mpw) 1250caade7ccSmrg basic_machine=powerpc-apple 1251caade7ccSmrg ;; 1252caade7ccSmrg *-unknown) 1253caade7ccSmrg # Make sure to match an already-canonicalized machine name. 1254caade7ccSmrg ;; 1255caade7ccSmrg *) 1256caade7ccSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1257caade7ccSmrg exit 1 1258caade7ccSmrg ;; 1259caade7ccSmrgesac 1260caade7ccSmrg 1261caade7ccSmrg# Here we canonicalize certain aliases for manufacturers. 1262caade7ccSmrgcase $basic_machine in 1263caade7ccSmrg *-digital*) 1264caade7ccSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1265caade7ccSmrg ;; 1266caade7ccSmrg *-commodore*) 1267caade7ccSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1268caade7ccSmrg ;; 1269caade7ccSmrg *) 1270caade7ccSmrg ;; 1271caade7ccSmrgesac 1272caade7ccSmrg 1273caade7ccSmrg# Decode manufacturer-specific aliases for certain operating systems. 1274caade7ccSmrg 1275caade7ccSmrgif [ x"$os" != x"" ] 1276caade7ccSmrgthen 1277caade7ccSmrgcase $os in 1278caade7ccSmrg # First match some system type aliases 1279caade7ccSmrg # that might get confused with valid system types. 1280caade7ccSmrg # -solaris* is a basic system type, with this one exception. 1281b9b4fd27Smrg -auroraux) 1282b9b4fd27Smrg os=-auroraux 1283b9b4fd27Smrg ;; 1284caade7ccSmrg -solaris1 | -solaris1.*) 1285caade7ccSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1286caade7ccSmrg ;; 1287caade7ccSmrg -solaris) 1288caade7ccSmrg os=-solaris2 1289caade7ccSmrg ;; 1290caade7ccSmrg -svr4*) 1291caade7ccSmrg os=-sysv4 1292caade7ccSmrg ;; 1293caade7ccSmrg -unixware*) 1294caade7ccSmrg os=-sysv4.2uw 1295caade7ccSmrg ;; 1296caade7ccSmrg -gnu/linux*) 1297caade7ccSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1298caade7ccSmrg ;; 1299caade7ccSmrg # First accept the basic system types. 1300caade7ccSmrg # The portable systems comes first. 1301caade7ccSmrg # Each alternative MUST END IN A *, to match a version number. 1302caade7ccSmrg # -sysv* is not here because it comes later, after sysvr4. 1303caade7ccSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1304b9b4fd27Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1305b9b4fd27Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1306b9b4fd27Smrg | -sym* | -kopensolaris* \ 1307caade7ccSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1308b9b4fd27Smrg | -aos* | -aros* \ 1309caade7ccSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1310caade7ccSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1311485f0483Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1312485f0483Smrg | -openbsd* | -solidbsd* \ 1313caade7ccSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1314caade7ccSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1315caade7ccSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1316caade7ccSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1317b9b4fd27Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1318caade7ccSmrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1319e8a5466aSmrg | -mingw32* | -linux-gnu* | -linux-android* \ 1320e8a5466aSmrg | -linux-newlib* | -linux-uclibc* \ 1321caade7ccSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1322caade7ccSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1323caade7ccSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1324caade7ccSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1325caade7ccSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1326caade7ccSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1327caade7ccSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1328b9b4fd27Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1329caade7ccSmrg # Remember, each alternative MUST END IN *, to match a version number. 1330caade7ccSmrg ;; 1331caade7ccSmrg -qnx*) 1332caade7ccSmrg case $basic_machine in 1333caade7ccSmrg x86-* | i*86-*) 1334caade7ccSmrg ;; 1335caade7ccSmrg *) 1336caade7ccSmrg os=-nto$os 1337caade7ccSmrg ;; 1338caade7ccSmrg esac 1339caade7ccSmrg ;; 1340caade7ccSmrg -nto-qnx*) 1341caade7ccSmrg ;; 1342caade7ccSmrg -nto*) 1343caade7ccSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1344caade7ccSmrg ;; 1345caade7ccSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1346caade7ccSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1347caade7ccSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1348caade7ccSmrg ;; 1349caade7ccSmrg -mac*) 1350caade7ccSmrg os=`echo $os | sed -e 's|mac|macos|'` 1351caade7ccSmrg ;; 1352caade7ccSmrg -linux-dietlibc) 1353caade7ccSmrg os=-linux-dietlibc 1354caade7ccSmrg ;; 1355caade7ccSmrg -linux*) 1356caade7ccSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1357caade7ccSmrg ;; 1358caade7ccSmrg -sunos5*) 1359caade7ccSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1360caade7ccSmrg ;; 1361caade7ccSmrg -sunos6*) 1362caade7ccSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1363caade7ccSmrg ;; 1364caade7ccSmrg -opened*) 1365caade7ccSmrg os=-openedition 1366caade7ccSmrg ;; 1367caade7ccSmrg -os400*) 1368caade7ccSmrg os=-os400 1369caade7ccSmrg ;; 1370caade7ccSmrg -wince*) 1371caade7ccSmrg os=-wince 1372caade7ccSmrg ;; 1373caade7ccSmrg -osfrose*) 1374caade7ccSmrg os=-osfrose 1375caade7ccSmrg ;; 1376caade7ccSmrg -osf*) 1377caade7ccSmrg os=-osf 1378caade7ccSmrg ;; 1379caade7ccSmrg -utek*) 1380caade7ccSmrg os=-bsd 1381caade7ccSmrg ;; 1382caade7ccSmrg -dynix*) 1383caade7ccSmrg os=-bsd 1384caade7ccSmrg ;; 1385caade7ccSmrg -acis*) 1386caade7ccSmrg os=-aos 1387caade7ccSmrg ;; 1388caade7ccSmrg -atheos*) 1389caade7ccSmrg os=-atheos 1390caade7ccSmrg ;; 1391caade7ccSmrg -syllable*) 1392caade7ccSmrg os=-syllable 1393caade7ccSmrg ;; 1394caade7ccSmrg -386bsd) 1395caade7ccSmrg os=-bsd 1396caade7ccSmrg ;; 1397caade7ccSmrg -ctix* | -uts*) 1398caade7ccSmrg os=-sysv 1399caade7ccSmrg ;; 1400caade7ccSmrg -nova*) 1401caade7ccSmrg os=-rtmk-nova 1402caade7ccSmrg ;; 1403caade7ccSmrg -ns2 ) 1404caade7ccSmrg os=-nextstep2 1405caade7ccSmrg ;; 1406caade7ccSmrg -nsk*) 1407caade7ccSmrg os=-nsk 1408caade7ccSmrg ;; 1409caade7ccSmrg # Preserve the version number of sinix5. 1410caade7ccSmrg -sinix5.*) 1411caade7ccSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1412caade7ccSmrg ;; 1413caade7ccSmrg -sinix*) 1414caade7ccSmrg os=-sysv4 1415caade7ccSmrg ;; 1416caade7ccSmrg -tpf*) 1417caade7ccSmrg os=-tpf 1418caade7ccSmrg ;; 1419caade7ccSmrg -triton*) 1420caade7ccSmrg os=-sysv3 1421caade7ccSmrg ;; 1422caade7ccSmrg -oss*) 1423caade7ccSmrg os=-sysv3 1424caade7ccSmrg ;; 1425caade7ccSmrg -svr4) 1426caade7ccSmrg os=-sysv4 1427caade7ccSmrg ;; 1428caade7ccSmrg -svr3) 1429caade7ccSmrg os=-sysv3 1430caade7ccSmrg ;; 1431caade7ccSmrg -sysvr4) 1432caade7ccSmrg os=-sysv4 1433caade7ccSmrg ;; 1434caade7ccSmrg # This must come after -sysvr4. 1435caade7ccSmrg -sysv*) 1436caade7ccSmrg ;; 1437caade7ccSmrg -ose*) 1438caade7ccSmrg os=-ose 1439caade7ccSmrg ;; 1440caade7ccSmrg -es1800*) 1441caade7ccSmrg os=-ose 1442caade7ccSmrg ;; 1443caade7ccSmrg -xenix) 1444caade7ccSmrg os=-xenix 1445caade7ccSmrg ;; 1446caade7ccSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1447caade7ccSmrg os=-mint 1448caade7ccSmrg ;; 1449caade7ccSmrg -aros*) 1450caade7ccSmrg os=-aros 1451caade7ccSmrg ;; 1452caade7ccSmrg -kaos*) 1453caade7ccSmrg os=-kaos 1454caade7ccSmrg ;; 1455caade7ccSmrg -zvmoe) 1456caade7ccSmrg os=-zvmoe 1457caade7ccSmrg ;; 1458b9b4fd27Smrg -dicos*) 1459b9b4fd27Smrg os=-dicos 1460b9b4fd27Smrg ;; 1461e8a5466aSmrg -nacl*) 1462e8a5466aSmrg ;; 1463caade7ccSmrg -none) 1464caade7ccSmrg ;; 1465caade7ccSmrg *) 1466caade7ccSmrg # Get rid of the `-' at the beginning of $os. 1467caade7ccSmrg os=`echo $os | sed 's/[^-]*-//'` 1468caade7ccSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1469caade7ccSmrg exit 1 1470caade7ccSmrg ;; 1471caade7ccSmrgesac 1472caade7ccSmrgelse 1473caade7ccSmrg 1474caade7ccSmrg# Here we handle the default operating systems that come with various machines. 1475caade7ccSmrg# The value should be what the vendor currently ships out the door with their 1476caade7ccSmrg# machine or put another way, the most popular os provided with the machine. 1477caade7ccSmrg 1478caade7ccSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1479caade7ccSmrg# "-sun"), then you have to tell the case statement up towards the top 1480caade7ccSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1481caade7ccSmrg# will signal an error saying that MANUFACTURER isn't an operating 1482caade7ccSmrg# system, and we'll never get to this point. 1483caade7ccSmrg 1484caade7ccSmrgcase $basic_machine in 1485485f0483Smrg score-*) 1486485f0483Smrg os=-elf 1487485f0483Smrg ;; 1488485f0483Smrg spu-*) 1489485f0483Smrg os=-elf 1490485f0483Smrg ;; 1491caade7ccSmrg *-acorn) 1492caade7ccSmrg os=-riscix1.2 1493caade7ccSmrg ;; 1494caade7ccSmrg arm*-rebel) 1495caade7ccSmrg os=-linux 1496caade7ccSmrg ;; 1497caade7ccSmrg arm*-semi) 1498caade7ccSmrg os=-aout 1499caade7ccSmrg ;; 1500485f0483Smrg c4x-* | tic4x-*) 1501485f0483Smrg os=-coff 1502485f0483Smrg ;; 1503e8a5466aSmrg tic54x-*) 1504e8a5466aSmrg os=-coff 1505e8a5466aSmrg ;; 1506e8a5466aSmrg tic55x-*) 1507e8a5466aSmrg os=-coff 1508e8a5466aSmrg ;; 1509e8a5466aSmrg tic6x-*) 1510e8a5466aSmrg os=-coff 1511e8a5466aSmrg ;; 1512caade7ccSmrg # This must come before the *-dec entry. 1513caade7ccSmrg pdp10-*) 1514caade7ccSmrg os=-tops20 1515caade7ccSmrg ;; 1516caade7ccSmrg pdp11-*) 1517caade7ccSmrg os=-none 1518caade7ccSmrg ;; 1519caade7ccSmrg *-dec | vax-*) 1520caade7ccSmrg os=-ultrix4.2 1521caade7ccSmrg ;; 1522caade7ccSmrg m68*-apollo) 1523caade7ccSmrg os=-domain 1524caade7ccSmrg ;; 1525caade7ccSmrg i386-sun) 1526caade7ccSmrg os=-sunos4.0.2 1527caade7ccSmrg ;; 1528caade7ccSmrg m68000-sun) 1529caade7ccSmrg os=-sunos3 1530caade7ccSmrg # This also exists in the configure program, but was not the 1531caade7ccSmrg # default. 1532caade7ccSmrg # os=-sunos4 1533caade7ccSmrg ;; 1534caade7ccSmrg m68*-cisco) 1535caade7ccSmrg os=-aout 1536caade7ccSmrg ;; 1537485f0483Smrg mep-*) 1538485f0483Smrg os=-elf 1539485f0483Smrg ;; 1540caade7ccSmrg mips*-cisco) 1541caade7ccSmrg os=-elf 1542caade7ccSmrg ;; 1543caade7ccSmrg mips*-*) 1544caade7ccSmrg os=-elf 1545caade7ccSmrg ;; 1546caade7ccSmrg or32-*) 1547caade7ccSmrg os=-coff 1548caade7ccSmrg ;; 1549caade7ccSmrg *-tti) # must be before sparc entry or we get the wrong os. 1550caade7ccSmrg os=-sysv3 1551caade7ccSmrg ;; 1552caade7ccSmrg sparc-* | *-sun) 1553caade7ccSmrg os=-sunos4.1.1 1554caade7ccSmrg ;; 1555caade7ccSmrg *-be) 1556caade7ccSmrg os=-beos 1557caade7ccSmrg ;; 1558caade7ccSmrg *-haiku) 1559caade7ccSmrg os=-haiku 1560caade7ccSmrg ;; 1561caade7ccSmrg *-ibm) 1562caade7ccSmrg os=-aix 1563caade7ccSmrg ;; 1564caade7ccSmrg *-knuth) 1565caade7ccSmrg os=-mmixware 1566caade7ccSmrg ;; 1567caade7ccSmrg *-wec) 1568caade7ccSmrg os=-proelf 1569caade7ccSmrg ;; 1570caade7ccSmrg *-winbond) 1571caade7ccSmrg os=-proelf 1572caade7ccSmrg ;; 1573caade7ccSmrg *-oki) 1574caade7ccSmrg os=-proelf 1575caade7ccSmrg ;; 1576caade7ccSmrg *-hp) 1577caade7ccSmrg os=-hpux 1578caade7ccSmrg ;; 1579caade7ccSmrg *-hitachi) 1580caade7ccSmrg os=-hiux 1581caade7ccSmrg ;; 1582caade7ccSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1583caade7ccSmrg os=-sysv 1584caade7ccSmrg ;; 1585caade7ccSmrg *-cbm) 1586caade7ccSmrg os=-amigaos 1587caade7ccSmrg ;; 1588caade7ccSmrg *-dg) 1589caade7ccSmrg os=-dgux 1590caade7ccSmrg ;; 1591caade7ccSmrg *-dolphin) 1592caade7ccSmrg os=-sysv3 1593caade7ccSmrg ;; 1594caade7ccSmrg m68k-ccur) 1595caade7ccSmrg os=-rtu 1596caade7ccSmrg ;; 1597caade7ccSmrg m88k-omron*) 1598caade7ccSmrg os=-luna 1599caade7ccSmrg ;; 1600caade7ccSmrg *-next ) 1601caade7ccSmrg os=-nextstep 1602caade7ccSmrg ;; 1603caade7ccSmrg *-sequent) 1604caade7ccSmrg os=-ptx 1605caade7ccSmrg ;; 1606caade7ccSmrg *-crds) 1607caade7ccSmrg os=-unos 1608caade7ccSmrg ;; 1609caade7ccSmrg *-ns) 1610caade7ccSmrg os=-genix 1611caade7ccSmrg ;; 1612caade7ccSmrg i370-*) 1613caade7ccSmrg os=-mvs 1614caade7ccSmrg ;; 1615caade7ccSmrg *-next) 1616caade7ccSmrg os=-nextstep3 1617caade7ccSmrg ;; 1618caade7ccSmrg *-gould) 1619caade7ccSmrg os=-sysv 1620caade7ccSmrg ;; 1621caade7ccSmrg *-highlevel) 1622caade7ccSmrg os=-bsd 1623caade7ccSmrg ;; 1624caade7ccSmrg *-encore) 1625caade7ccSmrg os=-bsd 1626caade7ccSmrg ;; 1627caade7ccSmrg *-sgi) 1628caade7ccSmrg os=-irix 1629caade7ccSmrg ;; 1630caade7ccSmrg *-siemens) 1631caade7ccSmrg os=-sysv4 1632caade7ccSmrg ;; 1633caade7ccSmrg *-masscomp) 1634caade7ccSmrg os=-rtu 1635caade7ccSmrg ;; 1636caade7ccSmrg f30[01]-fujitsu | f700-fujitsu) 1637caade7ccSmrg os=-uxpv 1638caade7ccSmrg ;; 1639caade7ccSmrg *-rom68k) 1640caade7ccSmrg os=-coff 1641caade7ccSmrg ;; 1642caade7ccSmrg *-*bug) 1643caade7ccSmrg os=-coff 1644caade7ccSmrg ;; 1645caade7ccSmrg *-apple) 1646caade7ccSmrg os=-macos 1647caade7ccSmrg ;; 1648caade7ccSmrg *-atari*) 1649caade7ccSmrg os=-mint 1650caade7ccSmrg ;; 1651caade7ccSmrg *) 1652caade7ccSmrg os=-none 1653caade7ccSmrg ;; 1654caade7ccSmrgesac 1655caade7ccSmrgfi 1656caade7ccSmrg 1657caade7ccSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1658caade7ccSmrg# manufacturer. We pick the logical manufacturer. 1659caade7ccSmrgvendor=unknown 1660caade7ccSmrgcase $basic_machine in 1661caade7ccSmrg *-unknown) 1662caade7ccSmrg case $os in 1663caade7ccSmrg -riscix*) 1664caade7ccSmrg vendor=acorn 1665caade7ccSmrg ;; 1666caade7ccSmrg -sunos*) 1667caade7ccSmrg vendor=sun 1668caade7ccSmrg ;; 1669b9b4fd27Smrg -cnk*|-aix*) 1670caade7ccSmrg vendor=ibm 1671caade7ccSmrg ;; 1672caade7ccSmrg -beos*) 1673caade7ccSmrg vendor=be 1674caade7ccSmrg ;; 1675caade7ccSmrg -hpux*) 1676caade7ccSmrg vendor=hp 1677caade7ccSmrg ;; 1678caade7ccSmrg -mpeix*) 1679caade7ccSmrg vendor=hp 1680caade7ccSmrg ;; 1681caade7ccSmrg -hiux*) 1682caade7ccSmrg vendor=hitachi 1683caade7ccSmrg ;; 1684caade7ccSmrg -unos*) 1685caade7ccSmrg vendor=crds 1686caade7ccSmrg ;; 1687caade7ccSmrg -dgux*) 1688caade7ccSmrg vendor=dg 1689caade7ccSmrg ;; 1690caade7ccSmrg -luna*) 1691caade7ccSmrg vendor=omron 1692caade7ccSmrg ;; 1693caade7ccSmrg -genix*) 1694caade7ccSmrg vendor=ns 1695caade7ccSmrg ;; 1696caade7ccSmrg -mvs* | -opened*) 1697caade7ccSmrg vendor=ibm 1698caade7ccSmrg ;; 1699caade7ccSmrg -os400*) 1700caade7ccSmrg vendor=ibm 1701caade7ccSmrg ;; 1702caade7ccSmrg -ptx*) 1703caade7ccSmrg vendor=sequent 1704caade7ccSmrg ;; 1705caade7ccSmrg -tpf*) 1706caade7ccSmrg vendor=ibm 1707caade7ccSmrg ;; 1708caade7ccSmrg -vxsim* | -vxworks* | -windiss*) 1709caade7ccSmrg vendor=wrs 1710caade7ccSmrg ;; 1711caade7ccSmrg -aux*) 1712caade7ccSmrg vendor=apple 1713caade7ccSmrg ;; 1714caade7ccSmrg -hms*) 1715caade7ccSmrg vendor=hitachi 1716caade7ccSmrg ;; 1717caade7ccSmrg -mpw* | -macos*) 1718caade7ccSmrg vendor=apple 1719caade7ccSmrg ;; 1720caade7ccSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1721caade7ccSmrg vendor=atari 1722caade7ccSmrg ;; 1723caade7ccSmrg -vos*) 1724caade7ccSmrg vendor=stratus 1725caade7ccSmrg ;; 1726caade7ccSmrg esac 1727caade7ccSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1728caade7ccSmrg ;; 1729caade7ccSmrgesac 1730caade7ccSmrg 1731caade7ccSmrgecho $basic_machine$os 1732caade7ccSmrgexit 1733caade7ccSmrg 1734caade7ccSmrg# Local variables: 1735caade7ccSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1736caade7ccSmrg# time-stamp-start: "timestamp='" 1737caade7ccSmrg# time-stamp-format: "%:y-%02m-%02d" 1738caade7ccSmrg# time-stamp-end: "'" 1739caade7ccSmrg# End: 1740