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