config.sub revision 414bd68f
1ee3138f1Smrg#! /bin/sh 2ee3138f1Smrg# Configuration validation subroutine script. 3414bd68fSmrg# Copyright 1992-2015 Free Software Foundation, Inc. 4ee3138f1Smrg 5414bd68fSmrgtimestamp='2015-01-01' 6ee3138f1Smrg 7414bd68fSmrg# This file is free software; you can redistribute it and/or modify it 8414bd68fSmrg# under the terms of the GNU General Public License as published by 9414bd68fSmrg# the Free Software Foundation; either version 3 of the License, or 10ee3138f1Smrg# (at your option) any later version. 11ee3138f1Smrg# 12414bd68fSmrg# This program is distributed in the hope that it will be useful, but 13414bd68fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14414bd68fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15414bd68fSmrg# General Public License for more details. 16ee3138f1Smrg# 17ee3138f1Smrg# You should have received a copy of the GNU General Public License 183e72ca8cSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 19ee3138f1Smrg# 20ee3138f1Smrg# As a special exception to the GNU General Public License, if you 21ee3138f1Smrg# distribute this file as part of a program that contains a 22ee3138f1Smrg# configuration script generated by Autoconf, you may include it under 23414bd68fSmrg# the same distribution terms that you use for the rest of that 24414bd68fSmrg# program. This Exception is an additional permission under section 7 25414bd68fSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26ee3138f1Smrg 27ee3138f1Smrg 28414bd68fSmrg# Please send patches to <config-patches@gnu.org>. 29ee3138f1Smrg# 30ee3138f1Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31ee3138f1Smrg# Supply the specified configuration type as an argument. 32ee3138f1Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33ee3138f1Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34ee3138f1Smrg 35b425557eSmrg# You can get the latest version of this script from: 36b425557eSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 37b425557eSmrg 38ee3138f1Smrg# This file is supposed to be the same for all GNU packages 39ee3138f1Smrg# and recognize all the CPU types, system types and aliases 40ee3138f1Smrg# that are meaningful with *any* GNU software. 41ee3138f1Smrg# Each package is responsible for reporting which valid configurations 42ee3138f1Smrg# it does not support. The user should be able to distinguish 43ee3138f1Smrg# a failure to support a valid configuration from a meaningless 44ee3138f1Smrg# configuration. 45ee3138f1Smrg 46ee3138f1Smrg# The goal of this file is to map all the various variations of a given 47ee3138f1Smrg# machine specification into a single specification in the form: 48ee3138f1Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49ee3138f1Smrg# or in some cases, the newer four-part form: 50ee3138f1Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51ee3138f1Smrg# It is wrong to echo any other type of specification. 52ee3138f1Smrg 53ee3138f1Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54ee3138f1Smrg 55ee3138f1Smrgusage="\ 56ee3138f1SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 57ee3138f1Smrg $0 [OPTION] ALIAS 58ee3138f1Smrg 59ee3138f1SmrgCanonicalize a configuration name. 60ee3138f1Smrg 61ee3138f1SmrgOperation modes: 62ee3138f1Smrg -h, --help print this help, then exit 63ee3138f1Smrg -t, --time-stamp print date of last modification, then exit 64ee3138f1Smrg -v, --version print version number, then exit 65ee3138f1Smrg 66ee3138f1SmrgReport bugs and patches to <config-patches@gnu.org>." 67ee3138f1Smrg 68ee3138f1Smrgversion="\ 69ee3138f1SmrgGNU config.sub ($timestamp) 70ee3138f1Smrg 71414bd68fSmrgCopyright 1992-2015 Free Software Foundation, Inc. 72ee3138f1Smrg 73ee3138f1SmrgThis is free software; see the source for copying conditions. There is NO 74ee3138f1Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75ee3138f1Smrg 76ee3138f1Smrghelp=" 77ee3138f1SmrgTry \`$me --help' for more information." 78ee3138f1Smrg 79ee3138f1Smrg# Parse command line 80ee3138f1Smrgwhile test $# -gt 0 ; do 81ee3138f1Smrg case $1 in 82ee3138f1Smrg --time-stamp | --time* | -t ) 83ee3138f1Smrg echo "$timestamp" ; exit ;; 84ee3138f1Smrg --version | -v ) 85ee3138f1Smrg echo "$version" ; exit ;; 86ee3138f1Smrg --help | --h* | -h ) 87ee3138f1Smrg echo "$usage"; exit ;; 88ee3138f1Smrg -- ) # Stop option processing 89ee3138f1Smrg shift; break ;; 90ee3138f1Smrg - ) # Use stdin as input. 91ee3138f1Smrg break ;; 92ee3138f1Smrg -* ) 93ee3138f1Smrg echo "$me: invalid option $1$help" 94ee3138f1Smrg exit 1 ;; 95ee3138f1Smrg 96ee3138f1Smrg *local*) 97ee3138f1Smrg # First pass through any local machine types. 98ee3138f1Smrg echo $1 99ee3138f1Smrg exit ;; 100ee3138f1Smrg 101ee3138f1Smrg * ) 102ee3138f1Smrg break ;; 103ee3138f1Smrg esac 104ee3138f1Smrgdone 105ee3138f1Smrg 106ee3138f1Smrgcase $# in 107ee3138f1Smrg 0) echo "$me: missing argument$help" >&2 108ee3138f1Smrg exit 1;; 109ee3138f1Smrg 1) ;; 110ee3138f1Smrg *) echo "$me: too many arguments$help" >&2 111ee3138f1Smrg exit 1;; 112ee3138f1Smrgesac 113ee3138f1Smrg 114ee3138f1Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115ee3138f1Smrg# Here we must recognize all the valid KERNEL-OS combinations. 116ee3138f1Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117ee3138f1Smrgcase $maybe_os in 1183e72ca8cSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 119414bd68fSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1203e72ca8cSmrg knetbsd*-gnu* | netbsd*-gnu* | \ 12134977a2fSmrg kopensolaris*-gnu* | \ 122ee3138f1Smrg storm-chaos* | os2-emx* | rtmk-nova*) 123ee3138f1Smrg os=-$maybe_os 124ee3138f1Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125ee3138f1Smrg ;; 1263e72ca8cSmrg android-linux) 1273e72ca8cSmrg os=-linux-android 1283e72ca8cSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1293e72ca8cSmrg ;; 130ee3138f1Smrg *) 131ee3138f1Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132ee3138f1Smrg if [ $basic_machine != $1 ] 133ee3138f1Smrg then os=`echo $1 | sed 's/.*-/-/'` 134ee3138f1Smrg else os=; fi 135ee3138f1Smrg ;; 136ee3138f1Smrgesac 137ee3138f1Smrg 138ee3138f1Smrg### Let's recognize common machines as not being operating systems so 139ee3138f1Smrg### that things like config.sub decstation-3100 work. We also 140ee3138f1Smrg### recognize some manufacturers as not being operating systems, so we 141ee3138f1Smrg### can provide default operating systems below. 142ee3138f1Smrgcase $os in 143ee3138f1Smrg -sun*os*) 144ee3138f1Smrg # Prevent following clause from handling this invalid input. 145ee3138f1Smrg ;; 146ee3138f1Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147ee3138f1Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148ee3138f1Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149ee3138f1Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150ee3138f1Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151ee3138f1Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 152414bd68fSmrg -apple | -axis | -knuth | -cray | -microblaze*) 153ee3138f1Smrg os= 154ee3138f1Smrg basic_machine=$1 155ee3138f1Smrg ;; 1563e72ca8cSmrg -bluegene*) 1573e72ca8cSmrg os=-cnk 158b425557eSmrg ;; 159ee3138f1Smrg -sim | -cisco | -oki | -wec | -winbond) 160ee3138f1Smrg os= 161ee3138f1Smrg basic_machine=$1 162ee3138f1Smrg ;; 163ee3138f1Smrg -scout) 164ee3138f1Smrg ;; 165ee3138f1Smrg -wrs) 166ee3138f1Smrg os=-vxworks 167ee3138f1Smrg basic_machine=$1 168ee3138f1Smrg ;; 169ee3138f1Smrg -chorusos*) 170ee3138f1Smrg os=-chorusos 171ee3138f1Smrg basic_machine=$1 172ee3138f1Smrg ;; 1733e72ca8cSmrg -chorusrdb) 1743e72ca8cSmrg os=-chorusrdb 175ee3138f1Smrg basic_machine=$1 1763e72ca8cSmrg ;; 177ee3138f1Smrg -hiux*) 178ee3138f1Smrg os=-hiuxwe2 179ee3138f1Smrg ;; 180ee3138f1Smrg -sco6) 181ee3138f1Smrg os=-sco5v6 182ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 183ee3138f1Smrg ;; 184ee3138f1Smrg -sco5) 185ee3138f1Smrg os=-sco3.2v5 186ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187ee3138f1Smrg ;; 188ee3138f1Smrg -sco4) 189ee3138f1Smrg os=-sco3.2v4 190ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191ee3138f1Smrg ;; 192ee3138f1Smrg -sco3.2.[4-9]*) 193ee3138f1Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195ee3138f1Smrg ;; 196ee3138f1Smrg -sco3.2v[4-9]*) 197ee3138f1Smrg # Don't forget version if it is 3.2v4 or newer. 198ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199ee3138f1Smrg ;; 200ee3138f1Smrg -sco5v6*) 201ee3138f1Smrg # Don't forget version if it is 3.2v4 or newer. 202ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203ee3138f1Smrg ;; 204ee3138f1Smrg -sco*) 205ee3138f1Smrg os=-sco3.2v2 206ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207ee3138f1Smrg ;; 208ee3138f1Smrg -udk*) 209ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210ee3138f1Smrg ;; 211ee3138f1Smrg -isc) 212ee3138f1Smrg os=-isc2.2 213ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214ee3138f1Smrg ;; 215ee3138f1Smrg -clix*) 216ee3138f1Smrg basic_machine=clipper-intergraph 217ee3138f1Smrg ;; 218ee3138f1Smrg -isc*) 219ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220ee3138f1Smrg ;; 2213e72ca8cSmrg -lynx*178) 2223e72ca8cSmrg os=-lynxos178 2233e72ca8cSmrg ;; 2243e72ca8cSmrg -lynx*5) 2253e72ca8cSmrg os=-lynxos5 2263e72ca8cSmrg ;; 227ee3138f1Smrg -lynx*) 228ee3138f1Smrg os=-lynxos 229ee3138f1Smrg ;; 230ee3138f1Smrg -ptx*) 231ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232ee3138f1Smrg ;; 233ee3138f1Smrg -windowsnt*) 234ee3138f1Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 235ee3138f1Smrg ;; 236ee3138f1Smrg -psos*) 237ee3138f1Smrg os=-psos 238ee3138f1Smrg ;; 239ee3138f1Smrg -mint | -mint[0-9]*) 240ee3138f1Smrg basic_machine=m68k-atari 241ee3138f1Smrg os=-mint 242ee3138f1Smrg ;; 243ee3138f1Smrgesac 244ee3138f1Smrg 245ee3138f1Smrg# Decode aliases for certain CPU-COMPANY combinations. 246ee3138f1Smrgcase $basic_machine in 247ee3138f1Smrg # Recognize the basic CPU types without company name. 248ee3138f1Smrg # Some are omitted here because they have special meanings below. 249ee3138f1Smrg 1750a | 580 \ 250ee3138f1Smrg | a29k \ 2513e72ca8cSmrg | aarch64 | aarch64_be \ 252ee3138f1Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253ee3138f1Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 254ee3138f1Smrg | am33_2.0 \ 255414bd68fSmrg | arc | arceb \ 256414bd68fSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 257414bd68fSmrg | avr | avr32 \ 258414bd68fSmrg | be32 | be64 \ 259ee3138f1Smrg | bfin \ 260414bd68fSmrg | c4x | c8051 | clipper \ 261ee3138f1Smrg | d10v | d30v | dlx | dsp16xx \ 2623e72ca8cSmrg | epiphany \ 263414bd68fSmrg | fido | fr30 | frv | ft32 \ 264ee3138f1Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2653e72ca8cSmrg | hexagon \ 266ee3138f1Smrg | i370 | i860 | i960 | ia64 \ 267ee3138f1Smrg | ip2k | iq2000 \ 268414bd68fSmrg | k1om \ 2693e72ca8cSmrg | le32 | le64 \ 27034977a2fSmrg | lm32 \ 271ee3138f1Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 272414bd68fSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273ee3138f1Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 274ee3138f1Smrg | mips16 \ 275ee3138f1Smrg | mips64 | mips64el \ 27634977a2fSmrg | mips64octeon | mips64octeonel \ 277ee3138f1Smrg | mips64orion | mips64orionel \ 27834977a2fSmrg | mips64r5900 | mips64r5900el \ 27934977a2fSmrg | mips64vr | mips64vrel \ 280ee3138f1Smrg | mips64vr4100 | mips64vr4100el \ 281ee3138f1Smrg | mips64vr4300 | mips64vr4300el \ 282ee3138f1Smrg | mips64vr5000 | mips64vr5000el \ 283ee3138f1Smrg | mips64vr5900 | mips64vr5900el \ 284ee3138f1Smrg | mipsisa32 | mipsisa32el \ 285ee3138f1Smrg | mipsisa32r2 | mipsisa32r2el \ 286414bd68fSmrg | mipsisa32r6 | mipsisa32r6el \ 287ee3138f1Smrg | mipsisa64 | mipsisa64el \ 288ee3138f1Smrg | mipsisa64r2 | mipsisa64r2el \ 289414bd68fSmrg | mipsisa64r6 | mipsisa64r6el \ 290ee3138f1Smrg | mipsisa64sb1 | mipsisa64sb1el \ 291ee3138f1Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 292414bd68fSmrg | mipsr5900 | mipsr5900el \ 293ee3138f1Smrg | mipstx39 | mipstx39el \ 294ee3138f1Smrg | mn10200 | mn10300 \ 29534977a2fSmrg | moxie \ 296ee3138f1Smrg | mt \ 297ee3138f1Smrg | msp430 \ 2983e72ca8cSmrg | nds32 | nds32le | nds32be \ 299414bd68fSmrg | nios | nios2 | nios2eb | nios2el \ 300ee3138f1Smrg | ns16k | ns32k \ 301414bd68fSmrg | open8 | or1k | or1knd | or32 \ 302ee3138f1Smrg | pdp10 | pdp11 | pj | pjl \ 3033e72ca8cSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 304ee3138f1Smrg | pyramid \ 305414bd68fSmrg | riscv32 | riscv64 \ 3063e72ca8cSmrg | rl78 | rx \ 307ee3138f1Smrg | score \ 30834977a2fSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 309ee3138f1Smrg | sh64 | sh64le \ 310ee3138f1Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 311ee3138f1Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3123e72ca8cSmrg | spu \ 3133e72ca8cSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 314b425557eSmrg | ubicom32 \ 3153e72ca8cSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 316414bd68fSmrg | visium \ 317ee3138f1Smrg | we32k \ 3183e72ca8cSmrg | x86 | xc16x | xstormy16 | xtensa \ 31934977a2fSmrg | z8k | z80) 320ee3138f1Smrg basic_machine=$basic_machine-unknown 321ee3138f1Smrg ;; 3223e72ca8cSmrg c54x) 3233e72ca8cSmrg basic_machine=tic54x-unknown 3243e72ca8cSmrg ;; 3253e72ca8cSmrg c55x) 3263e72ca8cSmrg basic_machine=tic55x-unknown 3273e72ca8cSmrg ;; 3283e72ca8cSmrg c6x) 3293e72ca8cSmrg basic_machine=tic6x-unknown 3303e72ca8cSmrg ;; 331414bd68fSmrg leon|leon[3-9]) 332414bd68fSmrg basic_machine=sparc-$basic_machine 333414bd68fSmrg ;; 334414bd68fSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 335ee3138f1Smrg basic_machine=$basic_machine-unknown 336ee3138f1Smrg os=-none 337ee3138f1Smrg ;; 338ee3138f1Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 339ee3138f1Smrg ;; 340ee3138f1Smrg ms1) 341ee3138f1Smrg basic_machine=mt-unknown 342ee3138f1Smrg ;; 343ee3138f1Smrg 3443e72ca8cSmrg strongarm | thumb | xscale) 3453e72ca8cSmrg basic_machine=arm-unknown 3463e72ca8cSmrg ;; 3473e72ca8cSmrg xgate) 3483e72ca8cSmrg basic_machine=$basic_machine-unknown 3493e72ca8cSmrg os=-none 3503e72ca8cSmrg ;; 3513e72ca8cSmrg xscaleeb) 3523e72ca8cSmrg basic_machine=armeb-unknown 3533e72ca8cSmrg ;; 3543e72ca8cSmrg 3553e72ca8cSmrg xscaleel) 3563e72ca8cSmrg basic_machine=armel-unknown 3573e72ca8cSmrg ;; 3583e72ca8cSmrg 359ee3138f1Smrg # We use `pc' rather than `unknown' 360ee3138f1Smrg # because (1) that's what they normally are, and 361ee3138f1Smrg # (2) the word "unknown" tends to confuse beginning users. 362ee3138f1Smrg i*86 | x86_64) 363ee3138f1Smrg basic_machine=$basic_machine-pc 364ee3138f1Smrg ;; 365ee3138f1Smrg # Object if more than one company name word. 366ee3138f1Smrg *-*-*) 367ee3138f1Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 368ee3138f1Smrg exit 1 369ee3138f1Smrg ;; 370ee3138f1Smrg # Recognize the basic CPU types with company name. 371ee3138f1Smrg 580-* \ 372ee3138f1Smrg | a29k-* \ 3733e72ca8cSmrg | aarch64-* | aarch64_be-* \ 374ee3138f1Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 375ee3138f1Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 376414bd68fSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 377ee3138f1Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 378ee3138f1Smrg | avr-* | avr32-* \ 3793e72ca8cSmrg | be32-* | be64-* \ 380ee3138f1Smrg | bfin-* | bs2000-* \ 3813e72ca8cSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 382414bd68fSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 383ee3138f1Smrg | d10v-* | d30v-* | dlx-* \ 384ee3138f1Smrg | elxsi-* \ 385ee3138f1Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 386ee3138f1Smrg | h8300-* | h8500-* \ 387ee3138f1Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3883e72ca8cSmrg | hexagon-* \ 389ee3138f1Smrg | i*86-* | i860-* | i960-* | ia64-* \ 390ee3138f1Smrg | ip2k-* | iq2000-* \ 391414bd68fSmrg | k1om-* \ 3923e72ca8cSmrg | le32-* | le64-* \ 39334977a2fSmrg | lm32-* \ 394ee3138f1Smrg | m32c-* | m32r-* | m32rle-* \ 395ee3138f1Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 396414bd68fSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 397414bd68fSmrg | microblaze-* | microblazeel-* \ 398ee3138f1Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 399ee3138f1Smrg | mips16-* \ 400ee3138f1Smrg | mips64-* | mips64el-* \ 40134977a2fSmrg | mips64octeon-* | mips64octeonel-* \ 402ee3138f1Smrg | mips64orion-* | mips64orionel-* \ 40334977a2fSmrg | mips64r5900-* | mips64r5900el-* \ 40434977a2fSmrg | mips64vr-* | mips64vrel-* \ 405ee3138f1Smrg | mips64vr4100-* | mips64vr4100el-* \ 406ee3138f1Smrg | mips64vr4300-* | mips64vr4300el-* \ 407ee3138f1Smrg | mips64vr5000-* | mips64vr5000el-* \ 408ee3138f1Smrg | mips64vr5900-* | mips64vr5900el-* \ 409ee3138f1Smrg | mipsisa32-* | mipsisa32el-* \ 410ee3138f1Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 411414bd68fSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 412ee3138f1Smrg | mipsisa64-* | mipsisa64el-* \ 413ee3138f1Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 414414bd68fSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 415ee3138f1Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 416ee3138f1Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 417414bd68fSmrg | mipsr5900-* | mipsr5900el-* \ 418ee3138f1Smrg | mipstx39-* | mipstx39el-* \ 419ee3138f1Smrg | mmix-* \ 420ee3138f1Smrg | mt-* \ 421ee3138f1Smrg | msp430-* \ 4223e72ca8cSmrg | nds32-* | nds32le-* | nds32be-* \ 423414bd68fSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 424ee3138f1Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4253e72ca8cSmrg | open8-* \ 426414bd68fSmrg | or1k*-* \ 427ee3138f1Smrg | orion-* \ 428ee3138f1Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4293e72ca8cSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 430ee3138f1Smrg | pyramid-* \ 4313e72ca8cSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 43234977a2fSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 433ee3138f1Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 434ee3138f1Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 435ee3138f1Smrg | sparclite-* \ 4363e72ca8cSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4373e72ca8cSmrg | tahoe-* \ 4383e72ca8cSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4393e72ca8cSmrg | tile*-* \ 440ee3138f1Smrg | tron-* \ 441b425557eSmrg | ubicom32-* \ 4423e72ca8cSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4433e72ca8cSmrg | vax-* \ 444414bd68fSmrg | visium-* \ 445ee3138f1Smrg | we32k-* \ 4463e72ca8cSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 44779a8a9c6Smrg | xstormy16-* | xtensa*-* \ 448ee3138f1Smrg | ymp-* \ 44934977a2fSmrg | z8k-* | z80-*) 450ee3138f1Smrg ;; 45179a8a9c6Smrg # Recognize the basic CPU types without company name, with glob match. 45279a8a9c6Smrg xtensa*) 45379a8a9c6Smrg basic_machine=$basic_machine-unknown 45479a8a9c6Smrg ;; 455ee3138f1Smrg # Recognize the various machine names and aliases which stand 456ee3138f1Smrg # for a CPU type and a company and sometimes even an OS. 457ee3138f1Smrg 386bsd) 458ee3138f1Smrg basic_machine=i386-unknown 459ee3138f1Smrg os=-bsd 460ee3138f1Smrg ;; 461ee3138f1Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 462ee3138f1Smrg basic_machine=m68000-att 463ee3138f1Smrg ;; 464ee3138f1Smrg 3b*) 465ee3138f1Smrg basic_machine=we32k-att 466ee3138f1Smrg ;; 467ee3138f1Smrg a29khif) 468ee3138f1Smrg basic_machine=a29k-amd 469ee3138f1Smrg os=-udi 470ee3138f1Smrg ;; 4713e72ca8cSmrg abacus) 472ee3138f1Smrg basic_machine=abacus-unknown 473ee3138f1Smrg ;; 474ee3138f1Smrg adobe68k) 475ee3138f1Smrg basic_machine=m68010-adobe 476ee3138f1Smrg os=-scout 477ee3138f1Smrg ;; 478ee3138f1Smrg alliant | fx80) 479ee3138f1Smrg basic_machine=fx80-alliant 480ee3138f1Smrg ;; 481ee3138f1Smrg altos | altos3068) 482ee3138f1Smrg basic_machine=m68k-altos 483ee3138f1Smrg ;; 484ee3138f1Smrg am29k) 485ee3138f1Smrg basic_machine=a29k-none 486ee3138f1Smrg os=-bsd 487ee3138f1Smrg ;; 488ee3138f1Smrg amd64) 489ee3138f1Smrg basic_machine=x86_64-pc 490ee3138f1Smrg ;; 491ee3138f1Smrg amd64-*) 492ee3138f1Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 493ee3138f1Smrg ;; 494ee3138f1Smrg amdahl) 495ee3138f1Smrg basic_machine=580-amdahl 496ee3138f1Smrg os=-sysv 497ee3138f1Smrg ;; 498ee3138f1Smrg amiga | amiga-*) 499ee3138f1Smrg basic_machine=m68k-unknown 500ee3138f1Smrg ;; 501ee3138f1Smrg amigaos | amigados) 502ee3138f1Smrg basic_machine=m68k-unknown 503ee3138f1Smrg os=-amigaos 504ee3138f1Smrg ;; 505ee3138f1Smrg amigaunix | amix) 506ee3138f1Smrg basic_machine=m68k-unknown 507ee3138f1Smrg os=-sysv4 508ee3138f1Smrg ;; 509ee3138f1Smrg apollo68) 510ee3138f1Smrg basic_machine=m68k-apollo 511ee3138f1Smrg os=-sysv 512ee3138f1Smrg ;; 513ee3138f1Smrg apollo68bsd) 514ee3138f1Smrg basic_machine=m68k-apollo 515ee3138f1Smrg os=-bsd 516ee3138f1Smrg ;; 51734977a2fSmrg aros) 51834977a2fSmrg basic_machine=i386-pc 51934977a2fSmrg os=-aros 52034977a2fSmrg ;; 521ee3138f1Smrg aux) 522ee3138f1Smrg basic_machine=m68k-apple 523ee3138f1Smrg os=-aux 524ee3138f1Smrg ;; 525ee3138f1Smrg balance) 526ee3138f1Smrg basic_machine=ns32k-sequent 527ee3138f1Smrg os=-dynix 528ee3138f1Smrg ;; 52979a8a9c6Smrg blackfin) 53079a8a9c6Smrg basic_machine=bfin-unknown 53179a8a9c6Smrg os=-linux 53279a8a9c6Smrg ;; 53379a8a9c6Smrg blackfin-*) 53479a8a9c6Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 53579a8a9c6Smrg os=-linux 53679a8a9c6Smrg ;; 537b425557eSmrg bluegene*) 538b425557eSmrg basic_machine=powerpc-ibm 539b425557eSmrg os=-cnk 540b425557eSmrg ;; 5413e72ca8cSmrg c54x-*) 5423e72ca8cSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5433e72ca8cSmrg ;; 5443e72ca8cSmrg c55x-*) 5453e72ca8cSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5463e72ca8cSmrg ;; 5473e72ca8cSmrg c6x-*) 5483e72ca8cSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5493e72ca8cSmrg ;; 550ee3138f1Smrg c90) 551ee3138f1Smrg basic_machine=c90-cray 552ee3138f1Smrg os=-unicos 553ee3138f1Smrg ;; 5543e72ca8cSmrg cegcc) 55534977a2fSmrg basic_machine=arm-unknown 55634977a2fSmrg os=-cegcc 55734977a2fSmrg ;; 558ee3138f1Smrg convex-c1) 559ee3138f1Smrg basic_machine=c1-convex 560ee3138f1Smrg os=-bsd 561ee3138f1Smrg ;; 562ee3138f1Smrg convex-c2) 563ee3138f1Smrg basic_machine=c2-convex 564ee3138f1Smrg os=-bsd 565ee3138f1Smrg ;; 566ee3138f1Smrg convex-c32) 567ee3138f1Smrg basic_machine=c32-convex 568ee3138f1Smrg os=-bsd 569ee3138f1Smrg ;; 570ee3138f1Smrg convex-c34) 571ee3138f1Smrg basic_machine=c34-convex 572ee3138f1Smrg os=-bsd 573ee3138f1Smrg ;; 574ee3138f1Smrg convex-c38) 575ee3138f1Smrg basic_machine=c38-convex 576ee3138f1Smrg os=-bsd 577ee3138f1Smrg ;; 578ee3138f1Smrg cray | j90) 579ee3138f1Smrg basic_machine=j90-cray 580ee3138f1Smrg os=-unicos 581ee3138f1Smrg ;; 582ee3138f1Smrg craynv) 583ee3138f1Smrg basic_machine=craynv-cray 584ee3138f1Smrg os=-unicosmp 585ee3138f1Smrg ;; 5863e72ca8cSmrg cr16 | cr16-*) 58779a8a9c6Smrg basic_machine=cr16-unknown 588ee3138f1Smrg os=-elf 589ee3138f1Smrg ;; 590ee3138f1Smrg crds | unos) 591ee3138f1Smrg basic_machine=m68k-crds 592ee3138f1Smrg ;; 593ee3138f1Smrg crisv32 | crisv32-* | etraxfs*) 594ee3138f1Smrg basic_machine=crisv32-axis 595ee3138f1Smrg ;; 596ee3138f1Smrg cris | cris-* | etrax*) 597ee3138f1Smrg basic_machine=cris-axis 598ee3138f1Smrg ;; 599ee3138f1Smrg crx) 600ee3138f1Smrg basic_machine=crx-unknown 601ee3138f1Smrg os=-elf 602ee3138f1Smrg ;; 603ee3138f1Smrg da30 | da30-*) 604ee3138f1Smrg basic_machine=m68k-da30 605ee3138f1Smrg ;; 606ee3138f1Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 607ee3138f1Smrg basic_machine=mips-dec 608ee3138f1Smrg ;; 609ee3138f1Smrg decsystem10* | dec10*) 610ee3138f1Smrg basic_machine=pdp10-dec 611ee3138f1Smrg os=-tops10 612ee3138f1Smrg ;; 613ee3138f1Smrg decsystem20* | dec20*) 614ee3138f1Smrg basic_machine=pdp10-dec 615ee3138f1Smrg os=-tops20 616ee3138f1Smrg ;; 617ee3138f1Smrg delta | 3300 | motorola-3300 | motorola-delta \ 618ee3138f1Smrg | 3300-motorola | delta-motorola) 619ee3138f1Smrg basic_machine=m68k-motorola 620ee3138f1Smrg ;; 621ee3138f1Smrg delta88) 622ee3138f1Smrg basic_machine=m88k-motorola 623ee3138f1Smrg os=-sysv3 624ee3138f1Smrg ;; 62534977a2fSmrg dicos) 62634977a2fSmrg basic_machine=i686-pc 62734977a2fSmrg os=-dicos 62834977a2fSmrg ;; 629ee3138f1Smrg djgpp) 630ee3138f1Smrg basic_machine=i586-pc 631ee3138f1Smrg os=-msdosdjgpp 632ee3138f1Smrg ;; 633ee3138f1Smrg dpx20 | dpx20-*) 634ee3138f1Smrg basic_machine=rs6000-bull 635ee3138f1Smrg os=-bosx 636ee3138f1Smrg ;; 637ee3138f1Smrg dpx2* | dpx2*-bull) 638ee3138f1Smrg basic_machine=m68k-bull 639ee3138f1Smrg os=-sysv3 640ee3138f1Smrg ;; 641ee3138f1Smrg ebmon29k) 642ee3138f1Smrg basic_machine=a29k-amd 643ee3138f1Smrg os=-ebmon 644ee3138f1Smrg ;; 645ee3138f1Smrg elxsi) 646ee3138f1Smrg basic_machine=elxsi-elxsi 647ee3138f1Smrg os=-bsd 648ee3138f1Smrg ;; 649ee3138f1Smrg encore | umax | mmax) 650ee3138f1Smrg basic_machine=ns32k-encore 651ee3138f1Smrg ;; 652ee3138f1Smrg es1800 | OSE68k | ose68k | ose | OSE) 653ee3138f1Smrg basic_machine=m68k-ericsson 654ee3138f1Smrg os=-ose 655ee3138f1Smrg ;; 656ee3138f1Smrg fx2800) 657ee3138f1Smrg basic_machine=i860-alliant 658ee3138f1Smrg ;; 659ee3138f1Smrg genix) 660ee3138f1Smrg basic_machine=ns32k-ns 661ee3138f1Smrg ;; 662ee3138f1Smrg gmicro) 663ee3138f1Smrg basic_machine=tron-gmicro 664ee3138f1Smrg os=-sysv 665ee3138f1Smrg ;; 666ee3138f1Smrg go32) 667ee3138f1Smrg basic_machine=i386-pc 668ee3138f1Smrg os=-go32 669ee3138f1Smrg ;; 670ee3138f1Smrg h3050r* | hiux*) 671ee3138f1Smrg basic_machine=hppa1.1-hitachi 672ee3138f1Smrg os=-hiuxwe2 673ee3138f1Smrg ;; 674ee3138f1Smrg h8300hms) 675ee3138f1Smrg basic_machine=h8300-hitachi 676ee3138f1Smrg os=-hms 677ee3138f1Smrg ;; 678ee3138f1Smrg h8300xray) 679ee3138f1Smrg basic_machine=h8300-hitachi 680ee3138f1Smrg os=-xray 681ee3138f1Smrg ;; 682ee3138f1Smrg h8500hms) 683ee3138f1Smrg basic_machine=h8500-hitachi 684ee3138f1Smrg os=-hms 685ee3138f1Smrg ;; 686ee3138f1Smrg harris) 687ee3138f1Smrg basic_machine=m88k-harris 688ee3138f1Smrg os=-sysv3 689ee3138f1Smrg ;; 690ee3138f1Smrg hp300-*) 691ee3138f1Smrg basic_machine=m68k-hp 692ee3138f1Smrg ;; 693ee3138f1Smrg hp300bsd) 694ee3138f1Smrg basic_machine=m68k-hp 695ee3138f1Smrg os=-bsd 696ee3138f1Smrg ;; 697ee3138f1Smrg hp300hpux) 698ee3138f1Smrg basic_machine=m68k-hp 699ee3138f1Smrg os=-hpux 700ee3138f1Smrg ;; 701ee3138f1Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 702ee3138f1Smrg basic_machine=hppa1.0-hp 703ee3138f1Smrg ;; 704ee3138f1Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 705ee3138f1Smrg basic_machine=m68000-hp 706ee3138f1Smrg ;; 707ee3138f1Smrg hp9k3[2-9][0-9]) 708ee3138f1Smrg basic_machine=m68k-hp 709ee3138f1Smrg ;; 710ee3138f1Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 711ee3138f1Smrg basic_machine=hppa1.0-hp 712ee3138f1Smrg ;; 713ee3138f1Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 714ee3138f1Smrg basic_machine=hppa1.1-hp 715ee3138f1Smrg ;; 716ee3138f1Smrg hp9k78[0-9] | hp78[0-9]) 717ee3138f1Smrg # FIXME: really hppa2.0-hp 718ee3138f1Smrg basic_machine=hppa1.1-hp 719ee3138f1Smrg ;; 720ee3138f1Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 721ee3138f1Smrg # FIXME: really hppa2.0-hp 722ee3138f1Smrg basic_machine=hppa1.1-hp 723ee3138f1Smrg ;; 724ee3138f1Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 725ee3138f1Smrg basic_machine=hppa1.1-hp 726ee3138f1Smrg ;; 727ee3138f1Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 728ee3138f1Smrg basic_machine=hppa1.0-hp 729ee3138f1Smrg ;; 730ee3138f1Smrg hppa-next) 731ee3138f1Smrg os=-nextstep3 732ee3138f1Smrg ;; 733ee3138f1Smrg hppaosf) 734ee3138f1Smrg basic_machine=hppa1.1-hp 735ee3138f1Smrg os=-osf 736ee3138f1Smrg ;; 737ee3138f1Smrg hppro) 738ee3138f1Smrg basic_machine=hppa1.1-hp 739ee3138f1Smrg os=-proelf 740ee3138f1Smrg ;; 741ee3138f1Smrg i370-ibm* | ibm*) 742ee3138f1Smrg basic_machine=i370-ibm 743ee3138f1Smrg ;; 744ee3138f1Smrg i*86v32) 745ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 746ee3138f1Smrg os=-sysv32 747ee3138f1Smrg ;; 748ee3138f1Smrg i*86v4*) 749ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 750ee3138f1Smrg os=-sysv4 751ee3138f1Smrg ;; 752ee3138f1Smrg i*86v) 753ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 754ee3138f1Smrg os=-sysv 755ee3138f1Smrg ;; 756ee3138f1Smrg i*86sol2) 757ee3138f1Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 758ee3138f1Smrg os=-solaris2 759ee3138f1Smrg ;; 760ee3138f1Smrg i386mach) 761ee3138f1Smrg basic_machine=i386-mach 762ee3138f1Smrg os=-mach 763ee3138f1Smrg ;; 764ee3138f1Smrg i386-vsta | vsta) 765ee3138f1Smrg basic_machine=i386-unknown 766ee3138f1Smrg os=-vsta 767ee3138f1Smrg ;; 768ee3138f1Smrg iris | iris4d) 769ee3138f1Smrg basic_machine=mips-sgi 770ee3138f1Smrg case $os in 771ee3138f1Smrg -irix*) 772ee3138f1Smrg ;; 773ee3138f1Smrg *) 774ee3138f1Smrg os=-irix4 775ee3138f1Smrg ;; 776ee3138f1Smrg esac 777ee3138f1Smrg ;; 778ee3138f1Smrg isi68 | isi) 779ee3138f1Smrg basic_machine=m68k-isi 780ee3138f1Smrg os=-sysv 781ee3138f1Smrg ;; 782414bd68fSmrg leon-*|leon[3-9]-*) 783414bd68fSmrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 784414bd68fSmrg ;; 78579a8a9c6Smrg m68knommu) 78679a8a9c6Smrg basic_machine=m68k-unknown 78779a8a9c6Smrg os=-linux 78879a8a9c6Smrg ;; 78979a8a9c6Smrg m68knommu-*) 79079a8a9c6Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 79179a8a9c6Smrg os=-linux 79279a8a9c6Smrg ;; 793ee3138f1Smrg m88k-omron*) 794ee3138f1Smrg basic_machine=m88k-omron 795ee3138f1Smrg ;; 796ee3138f1Smrg magnum | m3230) 797ee3138f1Smrg basic_machine=mips-mips 798ee3138f1Smrg os=-sysv 799ee3138f1Smrg ;; 800ee3138f1Smrg merlin) 801ee3138f1Smrg basic_machine=ns32k-utek 802ee3138f1Smrg os=-sysv 803ee3138f1Smrg ;; 804414bd68fSmrg microblaze*) 805b425557eSmrg basic_machine=microblaze-xilinx 806b425557eSmrg ;; 807414bd68fSmrg mingw64) 808414bd68fSmrg basic_machine=x86_64-pc 809414bd68fSmrg os=-mingw64 810414bd68fSmrg ;; 811ee3138f1Smrg mingw32) 812414bd68fSmrg basic_machine=i686-pc 813ee3138f1Smrg os=-mingw32 814ee3138f1Smrg ;; 815ee3138f1Smrg mingw32ce) 816ee3138f1Smrg basic_machine=arm-unknown 817ee3138f1Smrg os=-mingw32ce 818ee3138f1Smrg ;; 819ee3138f1Smrg miniframe) 820ee3138f1Smrg basic_machine=m68000-convergent 821ee3138f1Smrg ;; 822ee3138f1Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 823ee3138f1Smrg basic_machine=m68k-atari 824ee3138f1Smrg os=-mint 825ee3138f1Smrg ;; 826ee3138f1Smrg mips3*-*) 827ee3138f1Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 828ee3138f1Smrg ;; 829ee3138f1Smrg mips3*) 830ee3138f1Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 831ee3138f1Smrg ;; 832ee3138f1Smrg monitor) 833ee3138f1Smrg basic_machine=m68k-rom68k 834ee3138f1Smrg os=-coff 835ee3138f1Smrg ;; 836ee3138f1Smrg morphos) 837ee3138f1Smrg basic_machine=powerpc-unknown 838ee3138f1Smrg os=-morphos 839ee3138f1Smrg ;; 840414bd68fSmrg moxiebox) 841414bd68fSmrg basic_machine=moxie-unknown 842414bd68fSmrg os=-moxiebox 843414bd68fSmrg ;; 844ee3138f1Smrg msdos) 845ee3138f1Smrg basic_machine=i386-pc 846ee3138f1Smrg os=-msdos 847ee3138f1Smrg ;; 848ee3138f1Smrg ms1-*) 849ee3138f1Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 850ee3138f1Smrg ;; 8513e72ca8cSmrg msys) 852414bd68fSmrg basic_machine=i686-pc 8533e72ca8cSmrg os=-msys 8543e72ca8cSmrg ;; 855ee3138f1Smrg mvs) 856ee3138f1Smrg basic_machine=i370-ibm 857ee3138f1Smrg os=-mvs 858ee3138f1Smrg ;; 8593e72ca8cSmrg nacl) 8603e72ca8cSmrg basic_machine=le32-unknown 8613e72ca8cSmrg os=-nacl 8623e72ca8cSmrg ;; 863ee3138f1Smrg ncr3000) 864ee3138f1Smrg basic_machine=i486-ncr 865ee3138f1Smrg os=-sysv4 866ee3138f1Smrg ;; 867ee3138f1Smrg netbsd386) 868ee3138f1Smrg basic_machine=i386-unknown 869ee3138f1Smrg os=-netbsd 870ee3138f1Smrg ;; 871ee3138f1Smrg netwinder) 872ee3138f1Smrg basic_machine=armv4l-rebel 873ee3138f1Smrg os=-linux 874ee3138f1Smrg ;; 875ee3138f1Smrg news | news700 | news800 | news900) 876ee3138f1Smrg basic_machine=m68k-sony 877ee3138f1Smrg os=-newsos 878ee3138f1Smrg ;; 879ee3138f1Smrg news1000) 880ee3138f1Smrg basic_machine=m68030-sony 881ee3138f1Smrg os=-newsos 882ee3138f1Smrg ;; 883ee3138f1Smrg news-3600 | risc-news) 884ee3138f1Smrg basic_machine=mips-sony 885ee3138f1Smrg os=-newsos 886ee3138f1Smrg ;; 887ee3138f1Smrg necv70) 888ee3138f1Smrg basic_machine=v70-nec 889ee3138f1Smrg os=-sysv 890ee3138f1Smrg ;; 891ee3138f1Smrg next | m*-next ) 892ee3138f1Smrg basic_machine=m68k-next 893ee3138f1Smrg case $os in 894ee3138f1Smrg -nextstep* ) 895ee3138f1Smrg ;; 896ee3138f1Smrg -ns2*) 897ee3138f1Smrg os=-nextstep2 898ee3138f1Smrg ;; 899ee3138f1Smrg *) 900ee3138f1Smrg os=-nextstep3 901ee3138f1Smrg ;; 902ee3138f1Smrg esac 903ee3138f1Smrg ;; 904ee3138f1Smrg nh3000) 905ee3138f1Smrg basic_machine=m68k-harris 906ee3138f1Smrg os=-cxux 907ee3138f1Smrg ;; 908ee3138f1Smrg nh[45]000) 909ee3138f1Smrg basic_machine=m88k-harris 910ee3138f1Smrg os=-cxux 911ee3138f1Smrg ;; 912ee3138f1Smrg nindy960) 913ee3138f1Smrg basic_machine=i960-intel 914ee3138f1Smrg os=-nindy 915ee3138f1Smrg ;; 916ee3138f1Smrg mon960) 917ee3138f1Smrg basic_machine=i960-intel 918ee3138f1Smrg os=-mon960 919ee3138f1Smrg ;; 920ee3138f1Smrg nonstopux) 921ee3138f1Smrg basic_machine=mips-compaq 922ee3138f1Smrg os=-nonstopux 923ee3138f1Smrg ;; 924ee3138f1Smrg np1) 925ee3138f1Smrg basic_machine=np1-gould 926ee3138f1Smrg ;; 9273e72ca8cSmrg neo-tandem) 9283e72ca8cSmrg basic_machine=neo-tandem 9293e72ca8cSmrg ;; 9303e72ca8cSmrg nse-tandem) 9313e72ca8cSmrg basic_machine=nse-tandem 9323e72ca8cSmrg ;; 933ee3138f1Smrg nsr-tandem) 934ee3138f1Smrg basic_machine=nsr-tandem 935ee3138f1Smrg ;; 936ee3138f1Smrg op50n-* | op60c-*) 937ee3138f1Smrg basic_machine=hppa1.1-oki 938ee3138f1Smrg os=-proelf 939ee3138f1Smrg ;; 940ee3138f1Smrg openrisc | openrisc-*) 941ee3138f1Smrg basic_machine=or32-unknown 942ee3138f1Smrg ;; 943ee3138f1Smrg os400) 944ee3138f1Smrg basic_machine=powerpc-ibm 945ee3138f1Smrg os=-os400 946ee3138f1Smrg ;; 947ee3138f1Smrg OSE68000 | ose68000) 948ee3138f1Smrg basic_machine=m68000-ericsson 949ee3138f1Smrg os=-ose 950ee3138f1Smrg ;; 951ee3138f1Smrg os68k) 952ee3138f1Smrg basic_machine=m68k-none 953ee3138f1Smrg os=-os68k 954ee3138f1Smrg ;; 955ee3138f1Smrg pa-hitachi) 956ee3138f1Smrg basic_machine=hppa1.1-hitachi 957ee3138f1Smrg os=-hiuxwe2 958ee3138f1Smrg ;; 959ee3138f1Smrg paragon) 960ee3138f1Smrg basic_machine=i860-intel 961ee3138f1Smrg os=-osf 962ee3138f1Smrg ;; 96379a8a9c6Smrg parisc) 96479a8a9c6Smrg basic_machine=hppa-unknown 96579a8a9c6Smrg os=-linux 96679a8a9c6Smrg ;; 96779a8a9c6Smrg parisc-*) 96879a8a9c6Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 96979a8a9c6Smrg os=-linux 97079a8a9c6Smrg ;; 971ee3138f1Smrg pbd) 972ee3138f1Smrg basic_machine=sparc-tti 973ee3138f1Smrg ;; 974ee3138f1Smrg pbb) 975ee3138f1Smrg basic_machine=m68k-tti 976ee3138f1Smrg ;; 977ee3138f1Smrg pc532 | pc532-*) 978ee3138f1Smrg basic_machine=ns32k-pc532 979ee3138f1Smrg ;; 980ee3138f1Smrg pc98) 981ee3138f1Smrg basic_machine=i386-pc 982ee3138f1Smrg ;; 983ee3138f1Smrg pc98-*) 984ee3138f1Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 985ee3138f1Smrg ;; 986ee3138f1Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 987ee3138f1Smrg basic_machine=i586-pc 988ee3138f1Smrg ;; 989ee3138f1Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 990ee3138f1Smrg basic_machine=i686-pc 991ee3138f1Smrg ;; 992ee3138f1Smrg pentiumii | pentium2 | pentiumiii | pentium3) 993ee3138f1Smrg basic_machine=i686-pc 994ee3138f1Smrg ;; 995ee3138f1Smrg pentium4) 996ee3138f1Smrg basic_machine=i786-pc 997ee3138f1Smrg ;; 998ee3138f1Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 999ee3138f1Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1000ee3138f1Smrg ;; 1001ee3138f1Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1002ee3138f1Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1003ee3138f1Smrg ;; 1004ee3138f1Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1005ee3138f1Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1006ee3138f1Smrg ;; 1007ee3138f1Smrg pentium4-*) 1008ee3138f1Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1009ee3138f1Smrg ;; 1010ee3138f1Smrg pn) 1011ee3138f1Smrg basic_machine=pn-gould 1012ee3138f1Smrg ;; 1013ee3138f1Smrg power) basic_machine=power-ibm 1014ee3138f1Smrg ;; 10153e72ca8cSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1016ee3138f1Smrg ;; 10173e72ca8cSmrg ppc-* | ppcbe-*) 10183e72ca8cSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1019ee3138f1Smrg ;; 1020ee3138f1Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1021ee3138f1Smrg basic_machine=powerpcle-unknown 1022ee3138f1Smrg ;; 1023ee3138f1Smrg ppcle-* | powerpclittle-*) 1024ee3138f1Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1025ee3138f1Smrg ;; 1026ee3138f1Smrg ppc64) basic_machine=powerpc64-unknown 1027ee3138f1Smrg ;; 1028414bd68fSmrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1029ee3138f1Smrg ;; 1030ee3138f1Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1031ee3138f1Smrg basic_machine=powerpc64le-unknown 1032ee3138f1Smrg ;; 1033ee3138f1Smrg ppc64le-* | powerpc64little-*) 1034ee3138f1Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1035ee3138f1Smrg ;; 1036ee3138f1Smrg ps2) 1037ee3138f1Smrg basic_machine=i386-ibm 1038ee3138f1Smrg ;; 1039ee3138f1Smrg pw32) 1040ee3138f1Smrg basic_machine=i586-unknown 1041ee3138f1Smrg os=-pw32 1042ee3138f1Smrg ;; 1043414bd68fSmrg rdos | rdos64) 1044414bd68fSmrg basic_machine=x86_64-pc 1045414bd68fSmrg os=-rdos 1046414bd68fSmrg ;; 1047414bd68fSmrg rdos32) 1048ee3138f1Smrg basic_machine=i386-pc 1049ee3138f1Smrg os=-rdos 1050ee3138f1Smrg ;; 1051ee3138f1Smrg rom68k) 1052ee3138f1Smrg basic_machine=m68k-rom68k 1053ee3138f1Smrg os=-coff 1054ee3138f1Smrg ;; 1055ee3138f1Smrg rm[46]00) 1056ee3138f1Smrg basic_machine=mips-siemens 1057ee3138f1Smrg ;; 1058ee3138f1Smrg rtpc | rtpc-*) 1059ee3138f1Smrg basic_machine=romp-ibm 1060ee3138f1Smrg ;; 1061ee3138f1Smrg s390 | s390-*) 1062ee3138f1Smrg basic_machine=s390-ibm 1063ee3138f1Smrg ;; 1064ee3138f1Smrg s390x | s390x-*) 1065ee3138f1Smrg basic_machine=s390x-ibm 1066ee3138f1Smrg ;; 1067ee3138f1Smrg sa29200) 1068ee3138f1Smrg basic_machine=a29k-amd 1069ee3138f1Smrg os=-udi 1070ee3138f1Smrg ;; 1071ee3138f1Smrg sb1) 1072ee3138f1Smrg basic_machine=mipsisa64sb1-unknown 1073ee3138f1Smrg ;; 1074ee3138f1Smrg sb1el) 1075ee3138f1Smrg basic_machine=mipsisa64sb1el-unknown 1076ee3138f1Smrg ;; 1077ee3138f1Smrg sde) 1078ee3138f1Smrg basic_machine=mipsisa32-sde 1079ee3138f1Smrg os=-elf 1080ee3138f1Smrg ;; 1081ee3138f1Smrg sei) 1082ee3138f1Smrg basic_machine=mips-sei 1083ee3138f1Smrg os=-seiux 1084ee3138f1Smrg ;; 1085ee3138f1Smrg sequent) 1086ee3138f1Smrg basic_machine=i386-sequent 1087ee3138f1Smrg ;; 1088ee3138f1Smrg sh) 1089ee3138f1Smrg basic_machine=sh-hitachi 1090ee3138f1Smrg os=-hms 1091ee3138f1Smrg ;; 1092ee3138f1Smrg sh5el) 1093ee3138f1Smrg basic_machine=sh5le-unknown 1094ee3138f1Smrg ;; 1095ee3138f1Smrg sh64) 1096ee3138f1Smrg basic_machine=sh64-unknown 1097ee3138f1Smrg ;; 1098ee3138f1Smrg sparclite-wrs | simso-wrs) 1099ee3138f1Smrg basic_machine=sparclite-wrs 1100ee3138f1Smrg os=-vxworks 1101ee3138f1Smrg ;; 1102ee3138f1Smrg sps7) 1103ee3138f1Smrg basic_machine=m68k-bull 1104ee3138f1Smrg os=-sysv2 1105ee3138f1Smrg ;; 1106ee3138f1Smrg spur) 1107ee3138f1Smrg basic_machine=spur-unknown 1108ee3138f1Smrg ;; 1109ee3138f1Smrg st2000) 1110ee3138f1Smrg basic_machine=m68k-tandem 1111ee3138f1Smrg ;; 1112ee3138f1Smrg stratus) 1113ee3138f1Smrg basic_machine=i860-stratus 1114ee3138f1Smrg os=-sysv4 1115ee3138f1Smrg ;; 11163e72ca8cSmrg strongarm-* | thumb-*) 11173e72ca8cSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11183e72ca8cSmrg ;; 1119ee3138f1Smrg sun2) 1120ee3138f1Smrg basic_machine=m68000-sun 1121ee3138f1Smrg ;; 1122ee3138f1Smrg sun2os3) 1123ee3138f1Smrg basic_machine=m68000-sun 1124ee3138f1Smrg os=-sunos3 1125ee3138f1Smrg ;; 1126ee3138f1Smrg sun2os4) 1127ee3138f1Smrg basic_machine=m68000-sun 1128ee3138f1Smrg os=-sunos4 1129ee3138f1Smrg ;; 1130ee3138f1Smrg sun3os3) 1131ee3138f1Smrg basic_machine=m68k-sun 1132ee3138f1Smrg os=-sunos3 1133ee3138f1Smrg ;; 1134ee3138f1Smrg sun3os4) 1135ee3138f1Smrg basic_machine=m68k-sun 1136ee3138f1Smrg os=-sunos4 1137ee3138f1Smrg ;; 1138ee3138f1Smrg sun4os3) 1139ee3138f1Smrg basic_machine=sparc-sun 1140ee3138f1Smrg os=-sunos3 1141ee3138f1Smrg ;; 1142ee3138f1Smrg sun4os4) 1143ee3138f1Smrg basic_machine=sparc-sun 1144ee3138f1Smrg os=-sunos4 1145ee3138f1Smrg ;; 1146ee3138f1Smrg sun4sol2) 1147ee3138f1Smrg basic_machine=sparc-sun 1148ee3138f1Smrg os=-solaris2 1149ee3138f1Smrg ;; 1150ee3138f1Smrg sun3 | sun3-*) 1151ee3138f1Smrg basic_machine=m68k-sun 1152ee3138f1Smrg ;; 1153ee3138f1Smrg sun4) 1154ee3138f1Smrg basic_machine=sparc-sun 1155ee3138f1Smrg ;; 1156ee3138f1Smrg sun386 | sun386i | roadrunner) 1157ee3138f1Smrg basic_machine=i386-sun 1158ee3138f1Smrg ;; 1159ee3138f1Smrg sv1) 1160ee3138f1Smrg basic_machine=sv1-cray 1161ee3138f1Smrg os=-unicos 1162ee3138f1Smrg ;; 1163ee3138f1Smrg symmetry) 1164ee3138f1Smrg basic_machine=i386-sequent 1165ee3138f1Smrg os=-dynix 1166ee3138f1Smrg ;; 1167ee3138f1Smrg t3e) 1168ee3138f1Smrg basic_machine=alphaev5-cray 1169ee3138f1Smrg os=-unicos 1170ee3138f1Smrg ;; 1171ee3138f1Smrg t90) 1172ee3138f1Smrg basic_machine=t90-cray 1173ee3138f1Smrg os=-unicos 1174ee3138f1Smrg ;; 117579a8a9c6Smrg tile*) 11763e72ca8cSmrg basic_machine=$basic_machine-unknown 117779a8a9c6Smrg os=-linux-gnu 117879a8a9c6Smrg ;; 1179ee3138f1Smrg tx39) 1180ee3138f1Smrg basic_machine=mipstx39-unknown 1181ee3138f1Smrg ;; 1182ee3138f1Smrg tx39el) 1183ee3138f1Smrg basic_machine=mipstx39el-unknown 1184ee3138f1Smrg ;; 1185ee3138f1Smrg toad1) 1186ee3138f1Smrg basic_machine=pdp10-xkl 1187ee3138f1Smrg os=-tops20 1188ee3138f1Smrg ;; 1189ee3138f1Smrg tower | tower-32) 1190ee3138f1Smrg basic_machine=m68k-ncr 1191ee3138f1Smrg ;; 1192ee3138f1Smrg tpf) 1193ee3138f1Smrg basic_machine=s390x-ibm 1194ee3138f1Smrg os=-tpf 1195ee3138f1Smrg ;; 1196ee3138f1Smrg udi29k) 1197ee3138f1Smrg basic_machine=a29k-amd 1198ee3138f1Smrg os=-udi 1199ee3138f1Smrg ;; 1200ee3138f1Smrg ultra3) 1201ee3138f1Smrg basic_machine=a29k-nyu 1202ee3138f1Smrg os=-sym1 1203ee3138f1Smrg ;; 1204ee3138f1Smrg v810 | necv810) 1205ee3138f1Smrg basic_machine=v810-nec 1206ee3138f1Smrg os=-none 1207ee3138f1Smrg ;; 1208ee3138f1Smrg vaxv) 1209ee3138f1Smrg basic_machine=vax-dec 1210ee3138f1Smrg os=-sysv 1211ee3138f1Smrg ;; 1212ee3138f1Smrg vms) 1213ee3138f1Smrg basic_machine=vax-dec 1214ee3138f1Smrg os=-vms 1215ee3138f1Smrg ;; 1216ee3138f1Smrg vpp*|vx|vx-*) 1217ee3138f1Smrg basic_machine=f301-fujitsu 1218ee3138f1Smrg ;; 1219ee3138f1Smrg vxworks960) 1220ee3138f1Smrg basic_machine=i960-wrs 1221ee3138f1Smrg os=-vxworks 1222ee3138f1Smrg ;; 1223ee3138f1Smrg vxworks68) 1224ee3138f1Smrg basic_machine=m68k-wrs 1225ee3138f1Smrg os=-vxworks 1226ee3138f1Smrg ;; 1227ee3138f1Smrg vxworks29k) 1228ee3138f1Smrg basic_machine=a29k-wrs 1229ee3138f1Smrg os=-vxworks 1230ee3138f1Smrg ;; 1231ee3138f1Smrg w65*) 1232ee3138f1Smrg basic_machine=w65-wdc 1233ee3138f1Smrg os=-none 1234ee3138f1Smrg ;; 1235ee3138f1Smrg w89k-*) 1236ee3138f1Smrg basic_machine=hppa1.1-winbond 1237ee3138f1Smrg os=-proelf 1238ee3138f1Smrg ;; 1239ee3138f1Smrg xbox) 1240ee3138f1Smrg basic_machine=i686-pc 1241ee3138f1Smrg os=-mingw32 1242ee3138f1Smrg ;; 1243ee3138f1Smrg xps | xps100) 1244ee3138f1Smrg basic_machine=xps100-honeywell 1245ee3138f1Smrg ;; 12463e72ca8cSmrg xscale-* | xscalee[bl]-*) 12473e72ca8cSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12483e72ca8cSmrg ;; 1249ee3138f1Smrg ymp) 1250ee3138f1Smrg basic_machine=ymp-cray 1251ee3138f1Smrg os=-unicos 1252ee3138f1Smrg ;; 1253ee3138f1Smrg z8k-*-coff) 1254ee3138f1Smrg basic_machine=z8k-unknown 1255ee3138f1Smrg os=-sim 1256ee3138f1Smrg ;; 125734977a2fSmrg z80-*-coff) 125834977a2fSmrg basic_machine=z80-unknown 125934977a2fSmrg os=-sim 126034977a2fSmrg ;; 1261ee3138f1Smrg none) 1262ee3138f1Smrg basic_machine=none-none 1263ee3138f1Smrg os=-none 1264ee3138f1Smrg ;; 1265ee3138f1Smrg 1266ee3138f1Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1267ee3138f1Smrg# some cases the only manufacturer, in others, it is the most popular. 1268ee3138f1Smrg w89k) 1269ee3138f1Smrg basic_machine=hppa1.1-winbond 1270ee3138f1Smrg ;; 1271ee3138f1Smrg op50n) 1272ee3138f1Smrg basic_machine=hppa1.1-oki 1273ee3138f1Smrg ;; 1274ee3138f1Smrg op60c) 1275ee3138f1Smrg basic_machine=hppa1.1-oki 1276ee3138f1Smrg ;; 1277ee3138f1Smrg romp) 1278ee3138f1Smrg basic_machine=romp-ibm 1279ee3138f1Smrg ;; 1280ee3138f1Smrg mmix) 1281ee3138f1Smrg basic_machine=mmix-knuth 1282ee3138f1Smrg ;; 1283ee3138f1Smrg rs6000) 1284ee3138f1Smrg basic_machine=rs6000-ibm 1285ee3138f1Smrg ;; 1286ee3138f1Smrg vax) 1287ee3138f1Smrg basic_machine=vax-dec 1288ee3138f1Smrg ;; 1289ee3138f1Smrg pdp10) 1290ee3138f1Smrg # there are many clones, so DEC is not a safe bet 1291ee3138f1Smrg basic_machine=pdp10-unknown 1292ee3138f1Smrg ;; 1293ee3138f1Smrg pdp11) 1294ee3138f1Smrg basic_machine=pdp11-dec 1295ee3138f1Smrg ;; 1296ee3138f1Smrg we32k) 1297ee3138f1Smrg basic_machine=we32k-att 1298ee3138f1Smrg ;; 129934977a2fSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1300ee3138f1Smrg basic_machine=sh-unknown 1301ee3138f1Smrg ;; 1302ee3138f1Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1303ee3138f1Smrg basic_machine=sparc-sun 1304ee3138f1Smrg ;; 1305ee3138f1Smrg cydra) 1306ee3138f1Smrg basic_machine=cydra-cydrome 1307ee3138f1Smrg ;; 1308ee3138f1Smrg orion) 1309ee3138f1Smrg basic_machine=orion-highlevel 1310ee3138f1Smrg ;; 1311ee3138f1Smrg orion105) 1312ee3138f1Smrg basic_machine=clipper-highlevel 1313ee3138f1Smrg ;; 1314ee3138f1Smrg mac | mpw | mac-mpw) 1315ee3138f1Smrg basic_machine=m68k-apple 1316ee3138f1Smrg ;; 1317ee3138f1Smrg pmac | pmac-mpw) 1318ee3138f1Smrg basic_machine=powerpc-apple 1319ee3138f1Smrg ;; 1320ee3138f1Smrg *-unknown) 1321ee3138f1Smrg # Make sure to match an already-canonicalized machine name. 1322ee3138f1Smrg ;; 1323ee3138f1Smrg *) 1324ee3138f1Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1325ee3138f1Smrg exit 1 1326ee3138f1Smrg ;; 1327ee3138f1Smrgesac 1328ee3138f1Smrg 1329ee3138f1Smrg# Here we canonicalize certain aliases for manufacturers. 1330ee3138f1Smrgcase $basic_machine in 1331ee3138f1Smrg *-digital*) 1332ee3138f1Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1333ee3138f1Smrg ;; 1334ee3138f1Smrg *-commodore*) 1335ee3138f1Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1336ee3138f1Smrg ;; 1337ee3138f1Smrg *) 1338ee3138f1Smrg ;; 1339ee3138f1Smrgesac 1340ee3138f1Smrg 1341ee3138f1Smrg# Decode manufacturer-specific aliases for certain operating systems. 1342ee3138f1Smrg 1343ee3138f1Smrgif [ x"$os" != x"" ] 1344ee3138f1Smrgthen 1345ee3138f1Smrgcase $os in 13463e72ca8cSmrg # First match some system type aliases 13473e72ca8cSmrg # that might get confused with valid system types. 1348ee3138f1Smrg # -solaris* is a basic system type, with this one exception. 13493e72ca8cSmrg -auroraux) 13503e72ca8cSmrg os=-auroraux 1351b425557eSmrg ;; 1352ee3138f1Smrg -solaris1 | -solaris1.*) 1353ee3138f1Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1354ee3138f1Smrg ;; 1355ee3138f1Smrg -solaris) 1356ee3138f1Smrg os=-solaris2 1357ee3138f1Smrg ;; 1358ee3138f1Smrg -svr4*) 1359ee3138f1Smrg os=-sysv4 1360ee3138f1Smrg ;; 1361ee3138f1Smrg -unixware*) 1362ee3138f1Smrg os=-sysv4.2uw 1363ee3138f1Smrg ;; 1364ee3138f1Smrg -gnu/linux*) 1365ee3138f1Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1366ee3138f1Smrg ;; 1367ee3138f1Smrg # First accept the basic system types. 1368ee3138f1Smrg # The portable systems comes first. 1369ee3138f1Smrg # Each alternative MUST END IN A *, to match a version number. 1370ee3138f1Smrg # -sysv* is not here because it comes later, after sysvr4. 1371ee3138f1Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1372b425557eSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1373b425557eSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1374414bd68fSmrg | -sym* | -kopensolaris* | -plan9* \ 1375ee3138f1Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137634977a2fSmrg | -aos* | -aros* \ 1377ee3138f1Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1378ee3138f1Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1379ee3138f1Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1380414bd68fSmrg | -bitrig* | -openbsd* | -solidbsd* \ 1381ee3138f1Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1382ee3138f1Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1383ee3138f1Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1384ee3138f1Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 138534977a2fSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13863e72ca8cSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1387414bd68fSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1388414bd68fSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1389414bd68fSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1390ee3138f1Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1391ee3138f1Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1392ee3138f1Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1393ee3138f1Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1394ee3138f1Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1395ee3138f1Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1396414bd68fSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 1397ee3138f1Smrg # Remember, each alternative MUST END IN *, to match a version number. 1398ee3138f1Smrg ;; 1399ee3138f1Smrg -qnx*) 1400ee3138f1Smrg case $basic_machine in 1401ee3138f1Smrg x86-* | i*86-*) 1402ee3138f1Smrg ;; 1403ee3138f1Smrg *) 1404ee3138f1Smrg os=-nto$os 1405ee3138f1Smrg ;; 1406ee3138f1Smrg esac 1407ee3138f1Smrg ;; 1408ee3138f1Smrg -nto-qnx*) 1409ee3138f1Smrg ;; 1410ee3138f1Smrg -nto*) 1411ee3138f1Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1412ee3138f1Smrg ;; 1413ee3138f1Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1414ee3138f1Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1415ee3138f1Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1416ee3138f1Smrg ;; 1417ee3138f1Smrg -mac*) 1418ee3138f1Smrg os=`echo $os | sed -e 's|mac|macos|'` 1419ee3138f1Smrg ;; 1420ee3138f1Smrg -linux-dietlibc) 1421ee3138f1Smrg os=-linux-dietlibc 1422ee3138f1Smrg ;; 1423ee3138f1Smrg -linux*) 1424ee3138f1Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1425ee3138f1Smrg ;; 1426ee3138f1Smrg -sunos5*) 1427ee3138f1Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1428ee3138f1Smrg ;; 1429ee3138f1Smrg -sunos6*) 1430ee3138f1Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1431ee3138f1Smrg ;; 1432ee3138f1Smrg -opened*) 1433ee3138f1Smrg os=-openedition 1434ee3138f1Smrg ;; 14353e72ca8cSmrg -os400*) 1436ee3138f1Smrg os=-os400 1437ee3138f1Smrg ;; 1438ee3138f1Smrg -wince*) 1439ee3138f1Smrg os=-wince 1440ee3138f1Smrg ;; 1441ee3138f1Smrg -osfrose*) 1442ee3138f1Smrg os=-osfrose 1443ee3138f1Smrg ;; 1444ee3138f1Smrg -osf*) 1445ee3138f1Smrg os=-osf 1446ee3138f1Smrg ;; 1447ee3138f1Smrg -utek*) 1448ee3138f1Smrg os=-bsd 1449ee3138f1Smrg ;; 1450ee3138f1Smrg -dynix*) 1451ee3138f1Smrg os=-bsd 1452ee3138f1Smrg ;; 1453ee3138f1Smrg -acis*) 1454ee3138f1Smrg os=-aos 1455ee3138f1Smrg ;; 1456ee3138f1Smrg -atheos*) 1457ee3138f1Smrg os=-atheos 1458ee3138f1Smrg ;; 1459ee3138f1Smrg -syllable*) 1460ee3138f1Smrg os=-syllable 1461ee3138f1Smrg ;; 1462ee3138f1Smrg -386bsd) 1463ee3138f1Smrg os=-bsd 1464ee3138f1Smrg ;; 1465ee3138f1Smrg -ctix* | -uts*) 1466ee3138f1Smrg os=-sysv 1467ee3138f1Smrg ;; 1468ee3138f1Smrg -nova*) 1469ee3138f1Smrg os=-rtmk-nova 1470ee3138f1Smrg ;; 1471ee3138f1Smrg -ns2 ) 1472ee3138f1Smrg os=-nextstep2 1473ee3138f1Smrg ;; 1474ee3138f1Smrg -nsk*) 1475ee3138f1Smrg os=-nsk 1476ee3138f1Smrg ;; 1477ee3138f1Smrg # Preserve the version number of sinix5. 1478ee3138f1Smrg -sinix5.*) 1479ee3138f1Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1480ee3138f1Smrg ;; 1481ee3138f1Smrg -sinix*) 1482ee3138f1Smrg os=-sysv4 1483ee3138f1Smrg ;; 14843e72ca8cSmrg -tpf*) 1485ee3138f1Smrg os=-tpf 1486ee3138f1Smrg ;; 1487ee3138f1Smrg -triton*) 1488ee3138f1Smrg os=-sysv3 1489ee3138f1Smrg ;; 1490ee3138f1Smrg -oss*) 1491ee3138f1Smrg os=-sysv3 1492ee3138f1Smrg ;; 1493ee3138f1Smrg -svr4) 1494ee3138f1Smrg os=-sysv4 1495ee3138f1Smrg ;; 1496ee3138f1Smrg -svr3) 1497ee3138f1Smrg os=-sysv3 1498ee3138f1Smrg ;; 1499ee3138f1Smrg -sysvr4) 1500ee3138f1Smrg os=-sysv4 1501ee3138f1Smrg ;; 1502ee3138f1Smrg # This must come after -sysvr4. 1503ee3138f1Smrg -sysv*) 1504ee3138f1Smrg ;; 1505ee3138f1Smrg -ose*) 1506ee3138f1Smrg os=-ose 1507ee3138f1Smrg ;; 1508ee3138f1Smrg -es1800*) 1509ee3138f1Smrg os=-ose 1510ee3138f1Smrg ;; 1511ee3138f1Smrg -xenix) 1512ee3138f1Smrg os=-xenix 1513ee3138f1Smrg ;; 1514ee3138f1Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1515ee3138f1Smrg os=-mint 1516ee3138f1Smrg ;; 1517ee3138f1Smrg -aros*) 1518ee3138f1Smrg os=-aros 1519ee3138f1Smrg ;; 1520ee3138f1Smrg -zvmoe) 1521ee3138f1Smrg os=-zvmoe 1522ee3138f1Smrg ;; 152334977a2fSmrg -dicos*) 152434977a2fSmrg os=-dicos 152534977a2fSmrg ;; 15263e72ca8cSmrg -nacl*) 15273e72ca8cSmrg ;; 1528ee3138f1Smrg -none) 1529ee3138f1Smrg ;; 1530ee3138f1Smrg *) 1531ee3138f1Smrg # Get rid of the `-' at the beginning of $os. 1532ee3138f1Smrg os=`echo $os | sed 's/[^-]*-//'` 1533ee3138f1Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1534ee3138f1Smrg exit 1 1535ee3138f1Smrg ;; 1536ee3138f1Smrgesac 1537ee3138f1Smrgelse 1538ee3138f1Smrg 1539ee3138f1Smrg# Here we handle the default operating systems that come with various machines. 1540ee3138f1Smrg# The value should be what the vendor currently ships out the door with their 1541ee3138f1Smrg# machine or put another way, the most popular os provided with the machine. 1542ee3138f1Smrg 1543ee3138f1Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1544ee3138f1Smrg# "-sun"), then you have to tell the case statement up towards the top 1545ee3138f1Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1546ee3138f1Smrg# will signal an error saying that MANUFACTURER isn't an operating 1547ee3138f1Smrg# system, and we'll never get to this point. 1548ee3138f1Smrg 1549ee3138f1Smrgcase $basic_machine in 15503e72ca8cSmrg score-*) 1551ee3138f1Smrg os=-elf 1552ee3138f1Smrg ;; 15533e72ca8cSmrg spu-*) 1554ee3138f1Smrg os=-elf 1555ee3138f1Smrg ;; 1556ee3138f1Smrg *-acorn) 1557ee3138f1Smrg os=-riscix1.2 1558ee3138f1Smrg ;; 1559ee3138f1Smrg arm*-rebel) 1560ee3138f1Smrg os=-linux 1561ee3138f1Smrg ;; 1562ee3138f1Smrg arm*-semi) 1563ee3138f1Smrg os=-aout 1564ee3138f1Smrg ;; 15653e72ca8cSmrg c4x-* | tic4x-*) 15663e72ca8cSmrg os=-coff 15673e72ca8cSmrg ;; 1568414bd68fSmrg c8051-*) 1569414bd68fSmrg os=-elf 1570414bd68fSmrg ;; 15713e72ca8cSmrg hexagon-*) 15723e72ca8cSmrg os=-elf 15733e72ca8cSmrg ;; 15743e72ca8cSmrg tic54x-*) 15753e72ca8cSmrg os=-coff 15763e72ca8cSmrg ;; 15773e72ca8cSmrg tic55x-*) 15783e72ca8cSmrg os=-coff 15793e72ca8cSmrg ;; 15803e72ca8cSmrg tic6x-*) 15813e72ca8cSmrg os=-coff 1582ee3138f1Smrg ;; 1583ee3138f1Smrg # This must come before the *-dec entry. 1584ee3138f1Smrg pdp10-*) 1585ee3138f1Smrg os=-tops20 1586ee3138f1Smrg ;; 1587ee3138f1Smrg pdp11-*) 1588ee3138f1Smrg os=-none 1589ee3138f1Smrg ;; 1590ee3138f1Smrg *-dec | vax-*) 1591ee3138f1Smrg os=-ultrix4.2 1592ee3138f1Smrg ;; 1593ee3138f1Smrg m68*-apollo) 1594ee3138f1Smrg os=-domain 1595ee3138f1Smrg ;; 1596ee3138f1Smrg i386-sun) 1597ee3138f1Smrg os=-sunos4.0.2 1598ee3138f1Smrg ;; 1599ee3138f1Smrg m68000-sun) 1600ee3138f1Smrg os=-sunos3 1601ee3138f1Smrg ;; 1602ee3138f1Smrg m68*-cisco) 1603ee3138f1Smrg os=-aout 1604ee3138f1Smrg ;; 16053e72ca8cSmrg mep-*) 1606ee3138f1Smrg os=-elf 1607ee3138f1Smrg ;; 1608ee3138f1Smrg mips*-cisco) 1609ee3138f1Smrg os=-elf 1610ee3138f1Smrg ;; 1611ee3138f1Smrg mips*-*) 1612ee3138f1Smrg os=-elf 1613ee3138f1Smrg ;; 1614ee3138f1Smrg or32-*) 1615ee3138f1Smrg os=-coff 1616ee3138f1Smrg ;; 1617ee3138f1Smrg *-tti) # must be before sparc entry or we get the wrong os. 1618ee3138f1Smrg os=-sysv3 1619ee3138f1Smrg ;; 1620ee3138f1Smrg sparc-* | *-sun) 1621ee3138f1Smrg os=-sunos4.1.1 1622ee3138f1Smrg ;; 1623ee3138f1Smrg *-be) 1624ee3138f1Smrg os=-beos 1625ee3138f1Smrg ;; 1626ee3138f1Smrg *-haiku) 1627ee3138f1Smrg os=-haiku 1628ee3138f1Smrg ;; 1629ee3138f1Smrg *-ibm) 1630ee3138f1Smrg os=-aix 1631ee3138f1Smrg ;; 16323e72ca8cSmrg *-knuth) 1633ee3138f1Smrg os=-mmixware 1634ee3138f1Smrg ;; 1635ee3138f1Smrg *-wec) 1636ee3138f1Smrg os=-proelf 1637ee3138f1Smrg ;; 1638ee3138f1Smrg *-winbond) 1639ee3138f1Smrg os=-proelf 1640ee3138f1Smrg ;; 1641ee3138f1Smrg *-oki) 1642ee3138f1Smrg os=-proelf 1643ee3138f1Smrg ;; 1644ee3138f1Smrg *-hp) 1645ee3138f1Smrg os=-hpux 1646ee3138f1Smrg ;; 1647ee3138f1Smrg *-hitachi) 1648ee3138f1Smrg os=-hiux 1649ee3138f1Smrg ;; 1650ee3138f1Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1651ee3138f1Smrg os=-sysv 1652ee3138f1Smrg ;; 1653ee3138f1Smrg *-cbm) 1654ee3138f1Smrg os=-amigaos 1655ee3138f1Smrg ;; 1656ee3138f1Smrg *-dg) 1657ee3138f1Smrg os=-dgux 1658ee3138f1Smrg ;; 1659ee3138f1Smrg *-dolphin) 1660ee3138f1Smrg os=-sysv3 1661ee3138f1Smrg ;; 1662ee3138f1Smrg m68k-ccur) 1663ee3138f1Smrg os=-rtu 1664ee3138f1Smrg ;; 1665ee3138f1Smrg m88k-omron*) 1666ee3138f1Smrg os=-luna 1667ee3138f1Smrg ;; 1668ee3138f1Smrg *-next ) 1669ee3138f1Smrg os=-nextstep 1670ee3138f1Smrg ;; 1671ee3138f1Smrg *-sequent) 1672ee3138f1Smrg os=-ptx 1673ee3138f1Smrg ;; 1674ee3138f1Smrg *-crds) 1675ee3138f1Smrg os=-unos 1676ee3138f1Smrg ;; 1677ee3138f1Smrg *-ns) 1678ee3138f1Smrg os=-genix 1679ee3138f1Smrg ;; 1680ee3138f1Smrg i370-*) 1681ee3138f1Smrg os=-mvs 1682ee3138f1Smrg ;; 1683ee3138f1Smrg *-next) 1684ee3138f1Smrg os=-nextstep3 1685ee3138f1Smrg ;; 1686ee3138f1Smrg *-gould) 1687ee3138f1Smrg os=-sysv 1688ee3138f1Smrg ;; 1689ee3138f1Smrg *-highlevel) 1690ee3138f1Smrg os=-bsd 1691ee3138f1Smrg ;; 1692ee3138f1Smrg *-encore) 1693ee3138f1Smrg os=-bsd 1694ee3138f1Smrg ;; 1695ee3138f1Smrg *-sgi) 1696ee3138f1Smrg os=-irix 1697ee3138f1Smrg ;; 1698ee3138f1Smrg *-siemens) 1699ee3138f1Smrg os=-sysv4 1700ee3138f1Smrg ;; 1701ee3138f1Smrg *-masscomp) 1702ee3138f1Smrg os=-rtu 1703ee3138f1Smrg ;; 1704ee3138f1Smrg f30[01]-fujitsu | f700-fujitsu) 1705ee3138f1Smrg os=-uxpv 1706ee3138f1Smrg ;; 1707ee3138f1Smrg *-rom68k) 1708ee3138f1Smrg os=-coff 1709ee3138f1Smrg ;; 1710ee3138f1Smrg *-*bug) 1711ee3138f1Smrg os=-coff 1712ee3138f1Smrg ;; 1713ee3138f1Smrg *-apple) 1714ee3138f1Smrg os=-macos 1715ee3138f1Smrg ;; 1716ee3138f1Smrg *-atari*) 1717ee3138f1Smrg os=-mint 1718ee3138f1Smrg ;; 1719ee3138f1Smrg *) 1720ee3138f1Smrg os=-none 1721ee3138f1Smrg ;; 1722ee3138f1Smrgesac 1723ee3138f1Smrgfi 1724ee3138f1Smrg 1725ee3138f1Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1726ee3138f1Smrg# manufacturer. We pick the logical manufacturer. 1727ee3138f1Smrgvendor=unknown 1728ee3138f1Smrgcase $basic_machine in 1729ee3138f1Smrg *-unknown) 1730ee3138f1Smrg case $os in 1731ee3138f1Smrg -riscix*) 1732ee3138f1Smrg vendor=acorn 1733ee3138f1Smrg ;; 1734ee3138f1Smrg -sunos*) 1735ee3138f1Smrg vendor=sun 1736ee3138f1Smrg ;; 1737b425557eSmrg -cnk*|-aix*) 1738ee3138f1Smrg vendor=ibm 1739ee3138f1Smrg ;; 1740ee3138f1Smrg -beos*) 1741ee3138f1Smrg vendor=be 1742ee3138f1Smrg ;; 1743ee3138f1Smrg -hpux*) 1744ee3138f1Smrg vendor=hp 1745ee3138f1Smrg ;; 1746ee3138f1Smrg -mpeix*) 1747ee3138f1Smrg vendor=hp 1748ee3138f1Smrg ;; 1749ee3138f1Smrg -hiux*) 1750ee3138f1Smrg vendor=hitachi 1751ee3138f1Smrg ;; 1752ee3138f1Smrg -unos*) 1753ee3138f1Smrg vendor=crds 1754ee3138f1Smrg ;; 1755ee3138f1Smrg -dgux*) 1756ee3138f1Smrg vendor=dg 1757ee3138f1Smrg ;; 1758ee3138f1Smrg -luna*) 1759ee3138f1Smrg vendor=omron 1760ee3138f1Smrg ;; 1761ee3138f1Smrg -genix*) 1762ee3138f1Smrg vendor=ns 1763ee3138f1Smrg ;; 1764ee3138f1Smrg -mvs* | -opened*) 1765ee3138f1Smrg vendor=ibm 1766ee3138f1Smrg ;; 1767ee3138f1Smrg -os400*) 1768ee3138f1Smrg vendor=ibm 1769ee3138f1Smrg ;; 1770ee3138f1Smrg -ptx*) 1771ee3138f1Smrg vendor=sequent 1772ee3138f1Smrg ;; 1773ee3138f1Smrg -tpf*) 1774ee3138f1Smrg vendor=ibm 1775ee3138f1Smrg ;; 1776ee3138f1Smrg -vxsim* | -vxworks* | -windiss*) 1777ee3138f1Smrg vendor=wrs 1778ee3138f1Smrg ;; 1779ee3138f1Smrg -aux*) 1780ee3138f1Smrg vendor=apple 1781ee3138f1Smrg ;; 1782ee3138f1Smrg -hms*) 1783ee3138f1Smrg vendor=hitachi 1784ee3138f1Smrg ;; 1785ee3138f1Smrg -mpw* | -macos*) 1786ee3138f1Smrg vendor=apple 1787ee3138f1Smrg ;; 1788ee3138f1Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1789ee3138f1Smrg vendor=atari 1790ee3138f1Smrg ;; 1791ee3138f1Smrg -vos*) 1792ee3138f1Smrg vendor=stratus 1793ee3138f1Smrg ;; 1794ee3138f1Smrg esac 1795ee3138f1Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1796ee3138f1Smrg ;; 1797ee3138f1Smrgesac 1798ee3138f1Smrg 1799ee3138f1Smrgecho $basic_machine$os 1800ee3138f1Smrgexit 1801ee3138f1Smrg 1802ee3138f1Smrg# Local variables: 1803ee3138f1Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1804ee3138f1Smrg# time-stamp-start: "timestamp='" 1805ee3138f1Smrg# time-stamp-format: "%:y-%02m-%02d" 1806ee3138f1Smrg# time-stamp-end: "'" 1807ee3138f1Smrg# End: 1808