config.sub revision 89afc689
1bccedf53Smrg#! /bin/sh 2bccedf53Smrg# Configuration validation subroutine script. 389afc689Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 4bccedf53Smrg 589afc689Smrgtimestamp='2018-02-28' 6bccedf53Smrg 789afc689Smrg# This file is free software; you can redistribute it and/or modify it 889afc689Smrg# under the terms of the GNU General Public License as published by 989afc689Smrg# the Free Software Foundation; either version 3 of the License, or 10bccedf53Smrg# (at your option) any later version. 11bccedf53Smrg# 1289afc689Smrg# This program is distributed in the hope that it will be useful, but 1389afc689Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1489afc689Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1589afc689Smrg# General Public License for more details. 16bccedf53Smrg# 17bccedf53Smrg# You should have received a copy of the GNU General Public License 1889afc689Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 197c5f6000Smrg# 20bccedf53Smrg# As a special exception to the GNU General Public License, if you 21bccedf53Smrg# distribute this file as part of a program that contains a 22bccedf53Smrg# configuration script generated by Autoconf, you may include it under 2389afc689Smrg# the same distribution terms that you use for the rest of that 2489afc689Smrg# program. This Exception is an additional permission under section 7 2589afc689Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26bccedf53Smrg 277c5f6000Smrg 2889afc689Smrg# Please send patches to <config-patches@gnu.org>. 29bccedf53Smrg# 30bccedf53Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31bccedf53Smrg# Supply the specified configuration type as an argument. 32bccedf53Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33bccedf53Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34bccedf53Smrg 35f7ada8ddSmrg# You can get the latest version of this script from: 3689afc689Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37f7ada8ddSmrg 38bccedf53Smrg# This file is supposed to be the same for all GNU packages 39bccedf53Smrg# and recognize all the CPU types, system types and aliases 40bccedf53Smrg# that are meaningful with *any* GNU software. 41bccedf53Smrg# Each package is responsible for reporting which valid configurations 42bccedf53Smrg# it does not support. The user should be able to distinguish 43bccedf53Smrg# a failure to support a valid configuration from a meaningless 44bccedf53Smrg# configuration. 45bccedf53Smrg 46bccedf53Smrg# The goal of this file is to map all the various variations of a given 47bccedf53Smrg# machine specification into a single specification in the form: 48bccedf53Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49bccedf53Smrg# or in some cases, the newer four-part form: 50bccedf53Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51bccedf53Smrg# It is wrong to echo any other type of specification. 52bccedf53Smrg 53bccedf53Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54bccedf53Smrg 55bccedf53Smrgusage="\ 5689afc689SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57bccedf53Smrg 58bccedf53SmrgCanonicalize a configuration name. 59bccedf53Smrg 6089afc689SmrgOptions: 61bccedf53Smrg -h, --help print this help, then exit 62bccedf53Smrg -t, --time-stamp print date of last modification, then exit 63bccedf53Smrg -v, --version print version number, then exit 64bccedf53Smrg 65bccedf53SmrgReport bugs and patches to <config-patches@gnu.org>." 66bccedf53Smrg 67bccedf53Smrgversion="\ 68bccedf53SmrgGNU config.sub ($timestamp) 69bccedf53Smrg 7089afc689SmrgCopyright 1992-2018 Free Software Foundation, Inc. 71bccedf53Smrg 72bccedf53SmrgThis is free software; see the source for copying conditions. There is NO 73bccedf53Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74bccedf53Smrg 75bccedf53Smrghelp=" 76bccedf53SmrgTry \`$me --help' for more information." 77bccedf53Smrg 78bccedf53Smrg# Parse command line 79bccedf53Smrgwhile test $# -gt 0 ; do 80bccedf53Smrg case $1 in 81bccedf53Smrg --time-stamp | --time* | -t ) 827c5f6000Smrg echo "$timestamp" ; exit ;; 83bccedf53Smrg --version | -v ) 847c5f6000Smrg echo "$version" ; exit ;; 85bccedf53Smrg --help | --h* | -h ) 867c5f6000Smrg echo "$usage"; exit ;; 87bccedf53Smrg -- ) # Stop option processing 88bccedf53Smrg shift; break ;; 89bccedf53Smrg - ) # Use stdin as input. 90bccedf53Smrg break ;; 91bccedf53Smrg -* ) 92bccedf53Smrg echo "$me: invalid option $1$help" 93bccedf53Smrg exit 1 ;; 94bccedf53Smrg 95bccedf53Smrg *local*) 96bccedf53Smrg # First pass through any local machine types. 9789afc689Smrg echo "$1" 987c5f6000Smrg exit ;; 99bccedf53Smrg 100bccedf53Smrg * ) 101bccedf53Smrg break ;; 102bccedf53Smrg esac 103bccedf53Smrgdone 104bccedf53Smrg 105bccedf53Smrgcase $# in 106bccedf53Smrg 0) echo "$me: missing argument$help" >&2 107bccedf53Smrg exit 1;; 108bccedf53Smrg 1) ;; 109bccedf53Smrg *) echo "$me: too many arguments$help" >&2 110bccedf53Smrg exit 1;; 111bccedf53Smrgesac 112bccedf53Smrg 113bccedf53Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114bccedf53Smrg# Here we must recognize all the valid KERNEL-OS combinations. 11589afc689Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116bccedf53Smrgcase $maybe_os in 117f7ada8ddSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11889afc689Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11989afc689Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 12089afc689Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1217c5f6000Smrg storm-chaos* | os2-emx* | rtmk-nova*) 122bccedf53Smrg os=-$maybe_os 12389afc689Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12489afc689Smrg ;; 12589afc689Smrg android-linux) 12689afc689Smrg os=-linux-android 12789afc689Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 128bccedf53Smrg ;; 129bccedf53Smrg *) 13089afc689Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 13189afc689Smrg if [ "$basic_machine" != "$1" ] 13289afc689Smrg then os=`echo "$1" | sed 's/.*-/-/'` 133bccedf53Smrg else os=; fi 134bccedf53Smrg ;; 135bccedf53Smrgesac 136bccedf53Smrg 137bccedf53Smrg### Let's recognize common machines as not being operating systems so 138bccedf53Smrg### that things like config.sub decstation-3100 work. We also 139bccedf53Smrg### recognize some manufacturers as not being operating systems, so we 140bccedf53Smrg### can provide default operating systems below. 141bccedf53Smrgcase $os in 142bccedf53Smrg -sun*os*) 143bccedf53Smrg # Prevent following clause from handling this invalid input. 144bccedf53Smrg ;; 145bccedf53Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146bccedf53Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147bccedf53Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148bccedf53Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149bccedf53Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150bccedf53Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15189afc689Smrg -apple | -axis | -knuth | -cray | -microblaze*) 152bccedf53Smrg os= 153bccedf53Smrg basic_machine=$1 154bccedf53Smrg ;; 1551b1389eeSmrg -bluegene*) 1561b1389eeSmrg os=-cnk 157f7ada8ddSmrg ;; 158bccedf53Smrg -sim | -cisco | -oki | -wec | -winbond) 159bccedf53Smrg os= 160bccedf53Smrg basic_machine=$1 161bccedf53Smrg ;; 162bccedf53Smrg -scout) 163bccedf53Smrg ;; 164bccedf53Smrg -wrs) 165bccedf53Smrg os=-vxworks 166bccedf53Smrg basic_machine=$1 167bccedf53Smrg ;; 168bccedf53Smrg -chorusos*) 169bccedf53Smrg os=-chorusos 170bccedf53Smrg basic_machine=$1 171bccedf53Smrg ;; 1721b1389eeSmrg -chorusrdb) 1731b1389eeSmrg os=-chorusrdb 174bccedf53Smrg basic_machine=$1 1751b1389eeSmrg ;; 176bccedf53Smrg -hiux*) 177bccedf53Smrg os=-hiuxwe2 178bccedf53Smrg ;; 1797c5f6000Smrg -sco6) 1807c5f6000Smrg os=-sco5v6 18189afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1827c5f6000Smrg ;; 183bccedf53Smrg -sco5) 184bccedf53Smrg os=-sco3.2v5 18589afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186bccedf53Smrg ;; 187bccedf53Smrg -sco4) 188bccedf53Smrg os=-sco3.2v4 18989afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190bccedf53Smrg ;; 191bccedf53Smrg -sco3.2.[4-9]*) 192bccedf53Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19389afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194bccedf53Smrg ;; 195bccedf53Smrg -sco3.2v[4-9]*) 196bccedf53Smrg # Don't forget version if it is 3.2v4 or newer. 19789afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198bccedf53Smrg ;; 1997c5f6000Smrg -sco5v6*) 2007c5f6000Smrg # Don't forget version if it is 3.2v4 or newer. 20189afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2027c5f6000Smrg ;; 203bccedf53Smrg -sco*) 204bccedf53Smrg os=-sco3.2v2 20589afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206bccedf53Smrg ;; 207bccedf53Smrg -udk*) 20889afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209bccedf53Smrg ;; 210bccedf53Smrg -isc) 211bccedf53Smrg os=-isc2.2 21289afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213bccedf53Smrg ;; 214bccedf53Smrg -clix*) 215bccedf53Smrg basic_machine=clipper-intergraph 216bccedf53Smrg ;; 217bccedf53Smrg -isc*) 21889afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 21989afc689Smrg ;; 22089afc689Smrg -lynx*178) 22189afc689Smrg os=-lynxos178 22289afc689Smrg ;; 22389afc689Smrg -lynx*5) 22489afc689Smrg os=-lynxos5 225bccedf53Smrg ;; 226bccedf53Smrg -lynx*) 227bccedf53Smrg os=-lynxos 228bccedf53Smrg ;; 229bccedf53Smrg -ptx*) 23089afc689Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231bccedf53Smrg ;; 232bccedf53Smrg -psos*) 233bccedf53Smrg os=-psos 234bccedf53Smrg ;; 235bccedf53Smrg -mint | -mint[0-9]*) 236bccedf53Smrg basic_machine=m68k-atari 237bccedf53Smrg os=-mint 238bccedf53Smrg ;; 239bccedf53Smrgesac 240bccedf53Smrg 241bccedf53Smrg# Decode aliases for certain CPU-COMPANY combinations. 242bccedf53Smrgcase $basic_machine in 243bccedf53Smrg # Recognize the basic CPU types without company name. 244bccedf53Smrg # Some are omitted here because they have special meanings below. 245bccedf53Smrg 1750a | 580 \ 246bccedf53Smrg | a29k \ 24789afc689Smrg | aarch64 | aarch64_be \ 248bccedf53Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249bccedf53Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2507c5f6000Smrg | am33_2.0 \ 25189afc689Smrg | arc | arceb \ 25289afc689Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25389afc689Smrg | avr | avr32 \ 25489afc689Smrg | ba \ 25589afc689Smrg | be32 | be64 \ 2567c5f6000Smrg | bfin \ 25789afc689Smrg | c4x | c8051 | clipper \ 258bccedf53Smrg | d10v | d30v | dlx | dsp16xx \ 25989afc689Smrg | e2k | epiphany \ 26089afc689Smrg | fido | fr30 | frv | ft32 \ 261bccedf53Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2621b1389eeSmrg | hexagon \ 26389afc689Smrg | i370 | i860 | i960 | ia16 | ia64 \ 2647c5f6000Smrg | ip2k | iq2000 \ 26589afc689Smrg | k1om \ 2661b1389eeSmrg | le32 | le64 \ 2677c5f6000Smrg | lm32 \ 2687c5f6000Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26989afc689Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270bccedf53Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271bccedf53Smrg | mips16 \ 272bccedf53Smrg | mips64 | mips64el \ 2737c5f6000Smrg | mips64octeon | mips64octeonel \ 274bccedf53Smrg | mips64orion | mips64orionel \ 2757c5f6000Smrg | mips64r5900 | mips64r5900el \ 2767c5f6000Smrg | mips64vr | mips64vrel \ 277bccedf53Smrg | mips64vr4100 | mips64vr4100el \ 278bccedf53Smrg | mips64vr4300 | mips64vr4300el \ 279bccedf53Smrg | mips64vr5000 | mips64vr5000el \ 2807c5f6000Smrg | mips64vr5900 | mips64vr5900el \ 281bccedf53Smrg | mipsisa32 | mipsisa32el \ 282bccedf53Smrg | mipsisa32r2 | mipsisa32r2el \ 28389afc689Smrg | mipsisa32r6 | mipsisa32r6el \ 284bccedf53Smrg | mipsisa64 | mipsisa64el \ 2857c5f6000Smrg | mipsisa64r2 | mipsisa64r2el \ 28689afc689Smrg | mipsisa64r6 | mipsisa64r6el \ 287bccedf53Smrg | mipsisa64sb1 | mipsisa64sb1el \ 288bccedf53Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 28989afc689Smrg | mipsr5900 | mipsr5900el \ 290bccedf53Smrg | mipstx39 | mipstx39el \ 291bccedf53Smrg | mn10200 | mn10300 \ 2927c5f6000Smrg | moxie \ 2937c5f6000Smrg | mt \ 294bccedf53Smrg | msp430 \ 295f7ada8ddSmrg | nds32 | nds32le | nds32be \ 29689afc689Smrg | nios | nios2 | nios2eb | nios2el \ 297bccedf53Smrg | ns16k | ns32k \ 29889afc689Smrg | open8 | or1k | or1knd | or32 \ 29989afc689Smrg | pdp10 | pj | pjl \ 3001b1389eeSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30189afc689Smrg | pru \ 302bccedf53Smrg | pyramid \ 30389afc689Smrg | riscv32 | riscv64 \ 3041b1389eeSmrg | rl78 | rx \ 3057c5f6000Smrg | score \ 30689afc689Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307bccedf53Smrg | sh64 | sh64le \ 3087c5f6000Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3097c5f6000Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3101b1389eeSmrg | spu \ 3111b1389eeSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312f7ada8ddSmrg | ubicom32 \ 3131b1389eeSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31489afc689Smrg | visium \ 31589afc689Smrg | wasm32 \ 3161b1389eeSmrg | x86 | xc16x | xstormy16 | xtensa \ 3177c5f6000Smrg | z8k | z80) 318bccedf53Smrg basic_machine=$basic_machine-unknown 319bccedf53Smrg ;; 320f7ada8ddSmrg c54x) 321f7ada8ddSmrg basic_machine=tic54x-unknown 322f7ada8ddSmrg ;; 323f7ada8ddSmrg c55x) 324f7ada8ddSmrg basic_machine=tic55x-unknown 325f7ada8ddSmrg ;; 326f7ada8ddSmrg c6x) 327f7ada8ddSmrg basic_machine=tic6x-unknown 328f7ada8ddSmrg ;; 32989afc689Smrg leon|leon[3-9]) 33089afc689Smrg basic_machine=sparc-$basic_machine 33189afc689Smrg ;; 33289afc689Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333bccedf53Smrg basic_machine=$basic_machine-unknown 334bccedf53Smrg os=-none 335bccedf53Smrg ;; 33689afc689Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337bccedf53Smrg ;; 3387c5f6000Smrg ms1) 3397c5f6000Smrg basic_machine=mt-unknown 3407c5f6000Smrg ;; 341bccedf53Smrg 3421b1389eeSmrg strongarm | thumb | xscale) 3431b1389eeSmrg basic_machine=arm-unknown 3441b1389eeSmrg ;; 34589afc689Smrg xgate) 34689afc689Smrg basic_machine=$basic_machine-unknown 34789afc689Smrg os=-none 34889afc689Smrg ;; 3491b1389eeSmrg xscaleeb) 3501b1389eeSmrg basic_machine=armeb-unknown 3511b1389eeSmrg ;; 3521b1389eeSmrg 3531b1389eeSmrg xscaleel) 3541b1389eeSmrg basic_machine=armel-unknown 3551b1389eeSmrg ;; 3561b1389eeSmrg 357bccedf53Smrg # We use `pc' rather than `unknown' 358bccedf53Smrg # because (1) that's what they normally are, and 359bccedf53Smrg # (2) the word "unknown" tends to confuse beginning users. 360bccedf53Smrg i*86 | x86_64) 361bccedf53Smrg basic_machine=$basic_machine-pc 362bccedf53Smrg ;; 363bccedf53Smrg # Object if more than one company name word. 364bccedf53Smrg *-*-*) 36589afc689Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366bccedf53Smrg exit 1 367bccedf53Smrg ;; 368bccedf53Smrg # Recognize the basic CPU types with company name. 369bccedf53Smrg 580-* \ 370bccedf53Smrg | a29k-* \ 37189afc689Smrg | aarch64-* | aarch64_be-* \ 372bccedf53Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373bccedf53Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37489afc689Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375bccedf53Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3767c5f6000Smrg | avr-* | avr32-* \ 37789afc689Smrg | ba-* \ 3781b1389eeSmrg | be32-* | be64-* \ 3797c5f6000Smrg | bfin-* | bs2000-* \ 380f7ada8ddSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38189afc689Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382bccedf53Smrg | d10v-* | d30v-* | dlx-* \ 38389afc689Smrg | e2k-* | elxsi-* \ 3847c5f6000Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385bccedf53Smrg | h8300-* | h8500-* \ 386bccedf53Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3871b1389eeSmrg | hexagon-* \ 38889afc689Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3897c5f6000Smrg | ip2k-* | iq2000-* \ 39089afc689Smrg | k1om-* \ 3911b1389eeSmrg | le32-* | le64-* \ 3927c5f6000Smrg | lm32-* \ 3937c5f6000Smrg | m32c-* | m32r-* | m32rle-* \ 394bccedf53Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39589afc689Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39689afc689Smrg | microblaze-* | microblazeel-* \ 397bccedf53Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398bccedf53Smrg | mips16-* \ 399bccedf53Smrg | mips64-* | mips64el-* \ 4007c5f6000Smrg | mips64octeon-* | mips64octeonel-* \ 401bccedf53Smrg | mips64orion-* | mips64orionel-* \ 4027c5f6000Smrg | mips64r5900-* | mips64r5900el-* \ 4037c5f6000Smrg | mips64vr-* | mips64vrel-* \ 404bccedf53Smrg | mips64vr4100-* | mips64vr4100el-* \ 405bccedf53Smrg | mips64vr4300-* | mips64vr4300el-* \ 406bccedf53Smrg | mips64vr5000-* | mips64vr5000el-* \ 4077c5f6000Smrg | mips64vr5900-* | mips64vr5900el-* \ 408bccedf53Smrg | mipsisa32-* | mipsisa32el-* \ 409bccedf53Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41089afc689Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 411bccedf53Smrg | mipsisa64-* | mipsisa64el-* \ 4127c5f6000Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41389afc689Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 414bccedf53Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415bccedf53Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41689afc689Smrg | mipsr5900-* | mipsr5900el-* \ 417bccedf53Smrg | mipstx39-* | mipstx39el-* \ 4187c5f6000Smrg | mmix-* \ 4197c5f6000Smrg | mt-* \ 420bccedf53Smrg | msp430-* \ 421f7ada8ddSmrg | nds32-* | nds32le-* | nds32be-* \ 42289afc689Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4237c5f6000Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4241b1389eeSmrg | open8-* \ 42589afc689Smrg | or1k*-* \ 426bccedf53Smrg | orion-* \ 427bccedf53Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4281b1389eeSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 42989afc689Smrg | pru-* \ 430bccedf53Smrg | pyramid-* \ 43189afc689Smrg | riscv32-* | riscv64-* \ 4321b1389eeSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 4337c5f6000Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434bccedf53Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4357c5f6000Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4367c5f6000Smrg | sparclite-* \ 43789afc689Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4381b1389eeSmrg | tahoe-* \ 439f7ada8ddSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4401b1389eeSmrg | tile*-* \ 441bccedf53Smrg | tron-* \ 442f7ada8ddSmrg | ubicom32-* \ 4431b1389eeSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4441b1389eeSmrg | vax-* \ 44589afc689Smrg | visium-* \ 44689afc689Smrg | wasm32-* \ 447bccedf53Smrg | we32k-* \ 4481b1389eeSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4497c5f6000Smrg | xstormy16-* | xtensa*-* \ 450bccedf53Smrg | ymp-* \ 4517c5f6000Smrg | z8k-* | z80-*) 4527c5f6000Smrg ;; 4537c5f6000Smrg # Recognize the basic CPU types without company name, with glob match. 4547c5f6000Smrg xtensa*) 4557c5f6000Smrg basic_machine=$basic_machine-unknown 456bccedf53Smrg ;; 457bccedf53Smrg # Recognize the various machine names and aliases which stand 458bccedf53Smrg # for a CPU type and a company and sometimes even an OS. 459bccedf53Smrg 386bsd) 46089afc689Smrg basic_machine=i386-pc 461bccedf53Smrg os=-bsd 462bccedf53Smrg ;; 463bccedf53Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464bccedf53Smrg basic_machine=m68000-att 465bccedf53Smrg ;; 466bccedf53Smrg 3b*) 467bccedf53Smrg basic_machine=we32k-att 468bccedf53Smrg ;; 469bccedf53Smrg a29khif) 470bccedf53Smrg basic_machine=a29k-amd 471bccedf53Smrg os=-udi 472bccedf53Smrg ;; 4731b1389eeSmrg abacus) 4747c5f6000Smrg basic_machine=abacus-unknown 4757c5f6000Smrg ;; 476bccedf53Smrg adobe68k) 477bccedf53Smrg basic_machine=m68010-adobe 478bccedf53Smrg os=-scout 479bccedf53Smrg ;; 480bccedf53Smrg alliant | fx80) 481bccedf53Smrg basic_machine=fx80-alliant 482bccedf53Smrg ;; 483bccedf53Smrg altos | altos3068) 484bccedf53Smrg basic_machine=m68k-altos 485bccedf53Smrg ;; 486bccedf53Smrg am29k) 487bccedf53Smrg basic_machine=a29k-none 488bccedf53Smrg os=-bsd 489bccedf53Smrg ;; 490bccedf53Smrg amd64) 491bccedf53Smrg basic_machine=x86_64-pc 492bccedf53Smrg ;; 4937c5f6000Smrg amd64-*) 49489afc689Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4957c5f6000Smrg ;; 496bccedf53Smrg amdahl) 497bccedf53Smrg basic_machine=580-amdahl 498bccedf53Smrg os=-sysv 499bccedf53Smrg ;; 500bccedf53Smrg amiga | amiga-*) 501bccedf53Smrg basic_machine=m68k-unknown 502bccedf53Smrg ;; 503bccedf53Smrg amigaos | amigados) 504bccedf53Smrg basic_machine=m68k-unknown 505bccedf53Smrg os=-amigaos 506bccedf53Smrg ;; 507bccedf53Smrg amigaunix | amix) 508bccedf53Smrg basic_machine=m68k-unknown 509bccedf53Smrg os=-sysv4 510bccedf53Smrg ;; 511bccedf53Smrg apollo68) 512bccedf53Smrg basic_machine=m68k-apollo 513bccedf53Smrg os=-sysv 514bccedf53Smrg ;; 515bccedf53Smrg apollo68bsd) 516bccedf53Smrg basic_machine=m68k-apollo 517bccedf53Smrg os=-bsd 518bccedf53Smrg ;; 5197c5f6000Smrg aros) 5207c5f6000Smrg basic_machine=i386-pc 5217c5f6000Smrg os=-aros 5227c5f6000Smrg ;; 52389afc689Smrg asmjs) 52489afc689Smrg basic_machine=asmjs-unknown 52589afc689Smrg ;; 526bccedf53Smrg aux) 527bccedf53Smrg basic_machine=m68k-apple 528bccedf53Smrg os=-aux 529bccedf53Smrg ;; 530bccedf53Smrg balance) 531bccedf53Smrg basic_machine=ns32k-sequent 532bccedf53Smrg os=-dynix 533bccedf53Smrg ;; 5347c5f6000Smrg blackfin) 5357c5f6000Smrg basic_machine=bfin-unknown 5367c5f6000Smrg os=-linux 5377c5f6000Smrg ;; 5387c5f6000Smrg blackfin-*) 53989afc689Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5407c5f6000Smrg os=-linux 5417c5f6000Smrg ;; 542f7ada8ddSmrg bluegene*) 543f7ada8ddSmrg basic_machine=powerpc-ibm 544f7ada8ddSmrg os=-cnk 545f7ada8ddSmrg ;; 546f7ada8ddSmrg c54x-*) 54789afc689Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548f7ada8ddSmrg ;; 549f7ada8ddSmrg c55x-*) 55089afc689Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551f7ada8ddSmrg ;; 552f7ada8ddSmrg c6x-*) 55389afc689Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554f7ada8ddSmrg ;; 555bccedf53Smrg c90) 556bccedf53Smrg basic_machine=c90-cray 557bccedf53Smrg os=-unicos 558bccedf53Smrg ;; 5591b1389eeSmrg cegcc) 5607c5f6000Smrg basic_machine=arm-unknown 5617c5f6000Smrg os=-cegcc 5627c5f6000Smrg ;; 563bccedf53Smrg convex-c1) 564bccedf53Smrg basic_machine=c1-convex 565bccedf53Smrg os=-bsd 566bccedf53Smrg ;; 567bccedf53Smrg convex-c2) 568bccedf53Smrg basic_machine=c2-convex 569bccedf53Smrg os=-bsd 570bccedf53Smrg ;; 571bccedf53Smrg convex-c32) 572bccedf53Smrg basic_machine=c32-convex 573bccedf53Smrg os=-bsd 574bccedf53Smrg ;; 575bccedf53Smrg convex-c34) 576bccedf53Smrg basic_machine=c34-convex 577bccedf53Smrg os=-bsd 578bccedf53Smrg ;; 579bccedf53Smrg convex-c38) 580bccedf53Smrg basic_machine=c38-convex 581bccedf53Smrg os=-bsd 582bccedf53Smrg ;; 583bccedf53Smrg cray | j90) 584bccedf53Smrg basic_machine=j90-cray 585bccedf53Smrg os=-unicos 586bccedf53Smrg ;; 5877c5f6000Smrg craynv) 5887c5f6000Smrg basic_machine=craynv-cray 5897c5f6000Smrg os=-unicosmp 5907c5f6000Smrg ;; 5911b1389eeSmrg cr16 | cr16-*) 5927c5f6000Smrg basic_machine=cr16-unknown 5937c5f6000Smrg os=-elf 5947c5f6000Smrg ;; 595bccedf53Smrg crds | unos) 596bccedf53Smrg basic_machine=m68k-crds 597bccedf53Smrg ;; 5987c5f6000Smrg crisv32 | crisv32-* | etraxfs*) 5997c5f6000Smrg basic_machine=crisv32-axis 6007c5f6000Smrg ;; 601bccedf53Smrg cris | cris-* | etrax*) 602bccedf53Smrg basic_machine=cris-axis 603bccedf53Smrg ;; 6047c5f6000Smrg crx) 6057c5f6000Smrg basic_machine=crx-unknown 6067c5f6000Smrg os=-elf 6077c5f6000Smrg ;; 608bccedf53Smrg da30 | da30-*) 609bccedf53Smrg basic_machine=m68k-da30 610bccedf53Smrg ;; 611bccedf53Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612bccedf53Smrg basic_machine=mips-dec 613bccedf53Smrg ;; 614bccedf53Smrg decsystem10* | dec10*) 615bccedf53Smrg basic_machine=pdp10-dec 616bccedf53Smrg os=-tops10 617bccedf53Smrg ;; 618bccedf53Smrg decsystem20* | dec20*) 619bccedf53Smrg basic_machine=pdp10-dec 620bccedf53Smrg os=-tops20 621bccedf53Smrg ;; 622bccedf53Smrg delta | 3300 | motorola-3300 | motorola-delta \ 623bccedf53Smrg | 3300-motorola | delta-motorola) 624bccedf53Smrg basic_machine=m68k-motorola 625bccedf53Smrg ;; 626bccedf53Smrg delta88) 627bccedf53Smrg basic_machine=m88k-motorola 628bccedf53Smrg os=-sysv3 629bccedf53Smrg ;; 6307c5f6000Smrg dicos) 6317c5f6000Smrg basic_machine=i686-pc 6327c5f6000Smrg os=-dicos 6337c5f6000Smrg ;; 6347c5f6000Smrg djgpp) 6357c5f6000Smrg basic_machine=i586-pc 6367c5f6000Smrg os=-msdosdjgpp 6377c5f6000Smrg ;; 638bccedf53Smrg dpx20 | dpx20-*) 639bccedf53Smrg basic_machine=rs6000-bull 640bccedf53Smrg os=-bosx 641bccedf53Smrg ;; 64289afc689Smrg dpx2*) 643bccedf53Smrg basic_machine=m68k-bull 644bccedf53Smrg os=-sysv3 645bccedf53Smrg ;; 64689afc689Smrg e500v[12]) 64789afc689Smrg basic_machine=powerpc-unknown 64889afc689Smrg os=$os"spe" 64989afc689Smrg ;; 65089afc689Smrg e500v[12]-*) 65189afc689Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 65289afc689Smrg os=$os"spe" 65389afc689Smrg ;; 654bccedf53Smrg ebmon29k) 655bccedf53Smrg basic_machine=a29k-amd 656bccedf53Smrg os=-ebmon 657bccedf53Smrg ;; 658bccedf53Smrg elxsi) 659bccedf53Smrg basic_machine=elxsi-elxsi 660bccedf53Smrg os=-bsd 661bccedf53Smrg ;; 662bccedf53Smrg encore | umax | mmax) 663bccedf53Smrg basic_machine=ns32k-encore 664bccedf53Smrg ;; 665bccedf53Smrg es1800 | OSE68k | ose68k | ose | OSE) 666bccedf53Smrg basic_machine=m68k-ericsson 667bccedf53Smrg os=-ose 668bccedf53Smrg ;; 669bccedf53Smrg fx2800) 670bccedf53Smrg basic_machine=i860-alliant 671bccedf53Smrg ;; 672bccedf53Smrg genix) 673bccedf53Smrg basic_machine=ns32k-ns 674bccedf53Smrg ;; 675bccedf53Smrg gmicro) 676bccedf53Smrg basic_machine=tron-gmicro 677bccedf53Smrg os=-sysv 678bccedf53Smrg ;; 679bccedf53Smrg go32) 680bccedf53Smrg basic_machine=i386-pc 681bccedf53Smrg os=-go32 682bccedf53Smrg ;; 683bccedf53Smrg h3050r* | hiux*) 684bccedf53Smrg basic_machine=hppa1.1-hitachi 685bccedf53Smrg os=-hiuxwe2 686bccedf53Smrg ;; 687bccedf53Smrg h8300hms) 688bccedf53Smrg basic_machine=h8300-hitachi 689bccedf53Smrg os=-hms 690bccedf53Smrg ;; 691bccedf53Smrg h8300xray) 692bccedf53Smrg basic_machine=h8300-hitachi 693bccedf53Smrg os=-xray 694bccedf53Smrg ;; 695bccedf53Smrg h8500hms) 696bccedf53Smrg basic_machine=h8500-hitachi 697bccedf53Smrg os=-hms 698bccedf53Smrg ;; 699bccedf53Smrg harris) 700bccedf53Smrg basic_machine=m88k-harris 701bccedf53Smrg os=-sysv3 702bccedf53Smrg ;; 703bccedf53Smrg hp300-*) 704bccedf53Smrg basic_machine=m68k-hp 705bccedf53Smrg ;; 706bccedf53Smrg hp300bsd) 707bccedf53Smrg basic_machine=m68k-hp 708bccedf53Smrg os=-bsd 709bccedf53Smrg ;; 710bccedf53Smrg hp300hpux) 711bccedf53Smrg basic_machine=m68k-hp 712bccedf53Smrg os=-hpux 713bccedf53Smrg ;; 714bccedf53Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715bccedf53Smrg basic_machine=hppa1.0-hp 716bccedf53Smrg ;; 717bccedf53Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718bccedf53Smrg basic_machine=m68000-hp 719bccedf53Smrg ;; 720bccedf53Smrg hp9k3[2-9][0-9]) 721bccedf53Smrg basic_machine=m68k-hp 722bccedf53Smrg ;; 723bccedf53Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724bccedf53Smrg basic_machine=hppa1.0-hp 725bccedf53Smrg ;; 726bccedf53Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727bccedf53Smrg basic_machine=hppa1.1-hp 728bccedf53Smrg ;; 729bccedf53Smrg hp9k78[0-9] | hp78[0-9]) 730bccedf53Smrg # FIXME: really hppa2.0-hp 731bccedf53Smrg basic_machine=hppa1.1-hp 732bccedf53Smrg ;; 733bccedf53Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734bccedf53Smrg # FIXME: really hppa2.0-hp 735bccedf53Smrg basic_machine=hppa1.1-hp 736bccedf53Smrg ;; 737bccedf53Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738bccedf53Smrg basic_machine=hppa1.1-hp 739bccedf53Smrg ;; 740bccedf53Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741bccedf53Smrg basic_machine=hppa1.0-hp 742bccedf53Smrg ;; 743bccedf53Smrg hppaosf) 744bccedf53Smrg basic_machine=hppa1.1-hp 745bccedf53Smrg os=-osf 746bccedf53Smrg ;; 747bccedf53Smrg hppro) 748bccedf53Smrg basic_machine=hppa1.1-hp 749bccedf53Smrg os=-proelf 750bccedf53Smrg ;; 751bccedf53Smrg i370-ibm* | ibm*) 752bccedf53Smrg basic_machine=i370-ibm 753bccedf53Smrg ;; 754bccedf53Smrg i*86v32) 75589afc689Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756bccedf53Smrg os=-sysv32 757bccedf53Smrg ;; 758bccedf53Smrg i*86v4*) 75989afc689Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760bccedf53Smrg os=-sysv4 761bccedf53Smrg ;; 762bccedf53Smrg i*86v) 76389afc689Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764bccedf53Smrg os=-sysv 765bccedf53Smrg ;; 766bccedf53Smrg i*86sol2) 76789afc689Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768bccedf53Smrg os=-solaris2 769bccedf53Smrg ;; 770bccedf53Smrg i386mach) 771bccedf53Smrg basic_machine=i386-mach 772bccedf53Smrg os=-mach 773bccedf53Smrg ;; 77489afc689Smrg vsta) 775bccedf53Smrg basic_machine=i386-unknown 776bccedf53Smrg os=-vsta 777bccedf53Smrg ;; 778bccedf53Smrg iris | iris4d) 779bccedf53Smrg basic_machine=mips-sgi 780bccedf53Smrg case $os in 781bccedf53Smrg -irix*) 782bccedf53Smrg ;; 783bccedf53Smrg *) 784bccedf53Smrg os=-irix4 785bccedf53Smrg ;; 786bccedf53Smrg esac 787bccedf53Smrg ;; 788bccedf53Smrg isi68 | isi) 789bccedf53Smrg basic_machine=m68k-isi 790bccedf53Smrg os=-sysv 791bccedf53Smrg ;; 79289afc689Smrg leon-*|leon[3-9]-*) 79389afc689Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 79489afc689Smrg ;; 7957c5f6000Smrg m68knommu) 7967c5f6000Smrg basic_machine=m68k-unknown 7977c5f6000Smrg os=-linux 7987c5f6000Smrg ;; 7997c5f6000Smrg m68knommu-*) 80089afc689Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 8017c5f6000Smrg os=-linux 8027c5f6000Smrg ;; 803bccedf53Smrg magnum | m3230) 804bccedf53Smrg basic_machine=mips-mips 805bccedf53Smrg os=-sysv 806bccedf53Smrg ;; 807bccedf53Smrg merlin) 808bccedf53Smrg basic_machine=ns32k-utek 809bccedf53Smrg os=-sysv 810bccedf53Smrg ;; 81189afc689Smrg microblaze*) 812f7ada8ddSmrg basic_machine=microblaze-xilinx 813f7ada8ddSmrg ;; 81489afc689Smrg mingw64) 81589afc689Smrg basic_machine=x86_64-pc 81689afc689Smrg os=-mingw64 81789afc689Smrg ;; 818bccedf53Smrg mingw32) 81989afc689Smrg basic_machine=i686-pc 820bccedf53Smrg os=-mingw32 821bccedf53Smrg ;; 8227c5f6000Smrg mingw32ce) 8237c5f6000Smrg basic_machine=arm-unknown 8247c5f6000Smrg os=-mingw32ce 8257c5f6000Smrg ;; 826bccedf53Smrg miniframe) 827bccedf53Smrg basic_machine=m68000-convergent 828bccedf53Smrg ;; 829bccedf53Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830bccedf53Smrg basic_machine=m68k-atari 831bccedf53Smrg os=-mint 832bccedf53Smrg ;; 833bccedf53Smrg mips3*-*) 83489afc689Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835bccedf53Smrg ;; 836bccedf53Smrg mips3*) 83789afc689Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838bccedf53Smrg ;; 839bccedf53Smrg monitor) 840bccedf53Smrg basic_machine=m68k-rom68k 841bccedf53Smrg os=-coff 842bccedf53Smrg ;; 843bccedf53Smrg morphos) 844bccedf53Smrg basic_machine=powerpc-unknown 845bccedf53Smrg os=-morphos 846bccedf53Smrg ;; 84789afc689Smrg moxiebox) 84889afc689Smrg basic_machine=moxie-unknown 84989afc689Smrg os=-moxiebox 85089afc689Smrg ;; 851bccedf53Smrg msdos) 852bccedf53Smrg basic_machine=i386-pc 853bccedf53Smrg os=-msdos 854bccedf53Smrg ;; 8557c5f6000Smrg ms1-*) 85689afc689Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8577c5f6000Smrg ;; 8581b1389eeSmrg msys) 85989afc689Smrg basic_machine=i686-pc 8601b1389eeSmrg os=-msys 8611b1389eeSmrg ;; 862bccedf53Smrg mvs) 863bccedf53Smrg basic_machine=i370-ibm 864bccedf53Smrg os=-mvs 865bccedf53Smrg ;; 8661b1389eeSmrg nacl) 8671b1389eeSmrg basic_machine=le32-unknown 8681b1389eeSmrg os=-nacl 8691b1389eeSmrg ;; 870bccedf53Smrg ncr3000) 871bccedf53Smrg basic_machine=i486-ncr 872bccedf53Smrg os=-sysv4 873bccedf53Smrg ;; 874bccedf53Smrg netbsd386) 875bccedf53Smrg basic_machine=i386-unknown 876bccedf53Smrg os=-netbsd 877bccedf53Smrg ;; 878bccedf53Smrg netwinder) 879bccedf53Smrg basic_machine=armv4l-rebel 880bccedf53Smrg os=-linux 881bccedf53Smrg ;; 882bccedf53Smrg news | news700 | news800 | news900) 883bccedf53Smrg basic_machine=m68k-sony 884bccedf53Smrg os=-newsos 885bccedf53Smrg ;; 886bccedf53Smrg news1000) 887bccedf53Smrg basic_machine=m68030-sony 888bccedf53Smrg os=-newsos 889bccedf53Smrg ;; 890bccedf53Smrg news-3600 | risc-news) 891bccedf53Smrg basic_machine=mips-sony 892bccedf53Smrg os=-newsos 893bccedf53Smrg ;; 894bccedf53Smrg necv70) 895bccedf53Smrg basic_machine=v70-nec 896bccedf53Smrg os=-sysv 897bccedf53Smrg ;; 89889afc689Smrg next | m*-next) 899bccedf53Smrg basic_machine=m68k-next 900bccedf53Smrg case $os in 901bccedf53Smrg -nextstep* ) 902bccedf53Smrg ;; 903bccedf53Smrg -ns2*) 904bccedf53Smrg os=-nextstep2 905bccedf53Smrg ;; 906bccedf53Smrg *) 907bccedf53Smrg os=-nextstep3 908bccedf53Smrg ;; 909bccedf53Smrg esac 910bccedf53Smrg ;; 911bccedf53Smrg nh3000) 912bccedf53Smrg basic_machine=m68k-harris 913bccedf53Smrg os=-cxux 914bccedf53Smrg ;; 915bccedf53Smrg nh[45]000) 916bccedf53Smrg basic_machine=m88k-harris 917bccedf53Smrg os=-cxux 918bccedf53Smrg ;; 919bccedf53Smrg nindy960) 920bccedf53Smrg basic_machine=i960-intel 921bccedf53Smrg os=-nindy 922bccedf53Smrg ;; 923bccedf53Smrg mon960) 924bccedf53Smrg basic_machine=i960-intel 925bccedf53Smrg os=-mon960 926bccedf53Smrg ;; 927bccedf53Smrg nonstopux) 928bccedf53Smrg basic_machine=mips-compaq 929bccedf53Smrg os=-nonstopux 930bccedf53Smrg ;; 931bccedf53Smrg np1) 932bccedf53Smrg basic_machine=np1-gould 933bccedf53Smrg ;; 9341b1389eeSmrg neo-tandem) 935f7ada8ddSmrg basic_machine=neo-tandem 936f7ada8ddSmrg ;; 9371b1389eeSmrg nse-tandem) 938f7ada8ddSmrg basic_machine=nse-tandem 939f7ada8ddSmrg ;; 940bccedf53Smrg nsr-tandem) 941bccedf53Smrg basic_machine=nsr-tandem 942bccedf53Smrg ;; 94389afc689Smrg nsv-tandem) 94489afc689Smrg basic_machine=nsv-tandem 94589afc689Smrg ;; 94689afc689Smrg nsx-tandem) 94789afc689Smrg basic_machine=nsx-tandem 94889afc689Smrg ;; 949bccedf53Smrg op50n-* | op60c-*) 950bccedf53Smrg basic_machine=hppa1.1-oki 951bccedf53Smrg os=-proelf 952bccedf53Smrg ;; 9537c5f6000Smrg openrisc | openrisc-*) 954bccedf53Smrg basic_machine=or32-unknown 9557c5f6000Smrg ;; 9567c5f6000Smrg os400) 9577c5f6000Smrg basic_machine=powerpc-ibm 9587c5f6000Smrg os=-os400 959bccedf53Smrg ;; 960bccedf53Smrg OSE68000 | ose68000) 961bccedf53Smrg basic_machine=m68000-ericsson 962bccedf53Smrg os=-ose 963bccedf53Smrg ;; 964bccedf53Smrg os68k) 965bccedf53Smrg basic_machine=m68k-none 966bccedf53Smrg os=-os68k 967bccedf53Smrg ;; 968bccedf53Smrg pa-hitachi) 969bccedf53Smrg basic_machine=hppa1.1-hitachi 970bccedf53Smrg os=-hiuxwe2 971bccedf53Smrg ;; 972bccedf53Smrg paragon) 973bccedf53Smrg basic_machine=i860-intel 974bccedf53Smrg os=-osf 975bccedf53Smrg ;; 9767c5f6000Smrg parisc) 9777c5f6000Smrg basic_machine=hppa-unknown 9787c5f6000Smrg os=-linux 9797c5f6000Smrg ;; 9807c5f6000Smrg parisc-*) 98189afc689Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9827c5f6000Smrg os=-linux 9837c5f6000Smrg ;; 984bccedf53Smrg pbd) 985bccedf53Smrg basic_machine=sparc-tti 986bccedf53Smrg ;; 987bccedf53Smrg pbb) 988bccedf53Smrg basic_machine=m68k-tti 989bccedf53Smrg ;; 990bccedf53Smrg pc532 | pc532-*) 991bccedf53Smrg basic_machine=ns32k-pc532 992bccedf53Smrg ;; 9937c5f6000Smrg pc98) 9947c5f6000Smrg basic_machine=i386-pc 9957c5f6000Smrg ;; 9967c5f6000Smrg pc98-*) 99789afc689Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9987c5f6000Smrg ;; 999bccedf53Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000bccedf53Smrg basic_machine=i586-pc 1001bccedf53Smrg ;; 1002bccedf53Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003bccedf53Smrg basic_machine=i686-pc 1004bccedf53Smrg ;; 1005bccedf53Smrg pentiumii | pentium2 | pentiumiii | pentium3) 1006bccedf53Smrg basic_machine=i686-pc 1007bccedf53Smrg ;; 1008bccedf53Smrg pentium4) 1009bccedf53Smrg basic_machine=i786-pc 1010bccedf53Smrg ;; 1011bccedf53Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101289afc689Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013bccedf53Smrg ;; 1014bccedf53Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 101589afc689Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016bccedf53Smrg ;; 1017bccedf53Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101889afc689Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019bccedf53Smrg ;; 1020bccedf53Smrg pentium4-*) 102189afc689Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022bccedf53Smrg ;; 1023bccedf53Smrg pn) 1024bccedf53Smrg basic_machine=pn-gould 1025bccedf53Smrg ;; 1026bccedf53Smrg power) basic_machine=power-ibm 1027bccedf53Smrg ;; 10281b1389eeSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1029bccedf53Smrg ;; 10301b1389eeSmrg ppc-* | ppcbe-*) 103189afc689Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032bccedf53Smrg ;; 103389afc689Smrg ppcle | powerpclittle) 1034bccedf53Smrg basic_machine=powerpcle-unknown 1035bccedf53Smrg ;; 1036bccedf53Smrg ppcle-* | powerpclittle-*) 103789afc689Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038bccedf53Smrg ;; 1039bccedf53Smrg ppc64) basic_machine=powerpc64-unknown 1040bccedf53Smrg ;; 104189afc689Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042bccedf53Smrg ;; 104389afc689Smrg ppc64le | powerpc64little) 1044bccedf53Smrg basic_machine=powerpc64le-unknown 1045bccedf53Smrg ;; 1046bccedf53Smrg ppc64le-* | powerpc64little-*) 104789afc689Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048bccedf53Smrg ;; 1049bccedf53Smrg ps2) 1050bccedf53Smrg basic_machine=i386-ibm 1051bccedf53Smrg ;; 1052bccedf53Smrg pw32) 1053bccedf53Smrg basic_machine=i586-unknown 1054bccedf53Smrg os=-pw32 1055bccedf53Smrg ;; 105689afc689Smrg rdos | rdos64) 105789afc689Smrg basic_machine=x86_64-pc 105889afc689Smrg os=-rdos 105989afc689Smrg ;; 106089afc689Smrg rdos32) 10617c5f6000Smrg basic_machine=i386-pc 10627c5f6000Smrg os=-rdos 10637c5f6000Smrg ;; 1064bccedf53Smrg rom68k) 1065bccedf53Smrg basic_machine=m68k-rom68k 1066bccedf53Smrg os=-coff 1067bccedf53Smrg ;; 1068bccedf53Smrg rm[46]00) 1069bccedf53Smrg basic_machine=mips-siemens 1070bccedf53Smrg ;; 1071bccedf53Smrg rtpc | rtpc-*) 1072bccedf53Smrg basic_machine=romp-ibm 1073bccedf53Smrg ;; 10747c5f6000Smrg s390 | s390-*) 10757c5f6000Smrg basic_machine=s390-ibm 10767c5f6000Smrg ;; 10777c5f6000Smrg s390x | s390x-*) 10787c5f6000Smrg basic_machine=s390x-ibm 10797c5f6000Smrg ;; 1080bccedf53Smrg sa29200) 1081bccedf53Smrg basic_machine=a29k-amd 1082bccedf53Smrg os=-udi 1083bccedf53Smrg ;; 1084bccedf53Smrg sb1) 1085bccedf53Smrg basic_machine=mipsisa64sb1-unknown 1086bccedf53Smrg ;; 1087bccedf53Smrg sb1el) 1088bccedf53Smrg basic_machine=mipsisa64sb1el-unknown 1089bccedf53Smrg ;; 10907c5f6000Smrg sde) 10917c5f6000Smrg basic_machine=mipsisa32-sde 10927c5f6000Smrg os=-elf 10937c5f6000Smrg ;; 1094bccedf53Smrg sei) 1095bccedf53Smrg basic_machine=mips-sei 1096bccedf53Smrg os=-seiux 1097bccedf53Smrg ;; 1098bccedf53Smrg sequent) 1099bccedf53Smrg basic_machine=i386-sequent 1100bccedf53Smrg ;; 11017c5f6000Smrg sh5el) 11027c5f6000Smrg basic_machine=sh5le-unknown 11037c5f6000Smrg ;; 110489afc689Smrg simso-wrs) 1105bccedf53Smrg basic_machine=sparclite-wrs 1106bccedf53Smrg os=-vxworks 1107bccedf53Smrg ;; 1108bccedf53Smrg sps7) 1109bccedf53Smrg basic_machine=m68k-bull 1110bccedf53Smrg os=-sysv2 1111bccedf53Smrg ;; 1112bccedf53Smrg spur) 1113bccedf53Smrg basic_machine=spur-unknown 1114bccedf53Smrg ;; 1115bccedf53Smrg st2000) 1116bccedf53Smrg basic_machine=m68k-tandem 1117bccedf53Smrg ;; 1118bccedf53Smrg stratus) 1119bccedf53Smrg basic_machine=i860-stratus 1120bccedf53Smrg os=-sysv4 1121bccedf53Smrg ;; 11221b1389eeSmrg strongarm-* | thumb-*) 112389afc689Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11241b1389eeSmrg ;; 1125bccedf53Smrg sun2) 1126bccedf53Smrg basic_machine=m68000-sun 1127bccedf53Smrg ;; 1128bccedf53Smrg sun2os3) 1129bccedf53Smrg basic_machine=m68000-sun 1130bccedf53Smrg os=-sunos3 1131bccedf53Smrg ;; 1132bccedf53Smrg sun2os4) 1133bccedf53Smrg basic_machine=m68000-sun 1134bccedf53Smrg os=-sunos4 1135bccedf53Smrg ;; 1136bccedf53Smrg sun3os3) 1137bccedf53Smrg basic_machine=m68k-sun 1138bccedf53Smrg os=-sunos3 1139bccedf53Smrg ;; 1140bccedf53Smrg sun3os4) 1141bccedf53Smrg basic_machine=m68k-sun 1142bccedf53Smrg os=-sunos4 1143bccedf53Smrg ;; 1144bccedf53Smrg sun4os3) 1145bccedf53Smrg basic_machine=sparc-sun 1146bccedf53Smrg os=-sunos3 1147bccedf53Smrg ;; 1148bccedf53Smrg sun4os4) 1149bccedf53Smrg basic_machine=sparc-sun 1150bccedf53Smrg os=-sunos4 1151bccedf53Smrg ;; 1152bccedf53Smrg sun4sol2) 1153bccedf53Smrg basic_machine=sparc-sun 1154bccedf53Smrg os=-solaris2 1155bccedf53Smrg ;; 1156bccedf53Smrg sun3 | sun3-*) 1157bccedf53Smrg basic_machine=m68k-sun 1158bccedf53Smrg ;; 1159bccedf53Smrg sun4) 1160bccedf53Smrg basic_machine=sparc-sun 1161bccedf53Smrg ;; 1162bccedf53Smrg sun386 | sun386i | roadrunner) 1163bccedf53Smrg basic_machine=i386-sun 1164bccedf53Smrg ;; 1165bccedf53Smrg sv1) 1166bccedf53Smrg basic_machine=sv1-cray 1167bccedf53Smrg os=-unicos 1168bccedf53Smrg ;; 1169bccedf53Smrg symmetry) 1170bccedf53Smrg basic_machine=i386-sequent 1171bccedf53Smrg os=-dynix 1172bccedf53Smrg ;; 1173bccedf53Smrg t3e) 1174bccedf53Smrg basic_machine=alphaev5-cray 1175bccedf53Smrg os=-unicos 1176bccedf53Smrg ;; 1177bccedf53Smrg t90) 1178bccedf53Smrg basic_machine=t90-cray 1179bccedf53Smrg os=-unicos 1180bccedf53Smrg ;; 11817c5f6000Smrg tile*) 11821b1389eeSmrg basic_machine=$basic_machine-unknown 11837c5f6000Smrg os=-linux-gnu 11847c5f6000Smrg ;; 1185bccedf53Smrg tx39) 1186bccedf53Smrg basic_machine=mipstx39-unknown 1187bccedf53Smrg ;; 1188bccedf53Smrg tx39el) 1189bccedf53Smrg basic_machine=mipstx39el-unknown 1190bccedf53Smrg ;; 1191bccedf53Smrg toad1) 1192bccedf53Smrg basic_machine=pdp10-xkl 1193bccedf53Smrg os=-tops20 1194bccedf53Smrg ;; 1195bccedf53Smrg tower | tower-32) 1196bccedf53Smrg basic_machine=m68k-ncr 1197bccedf53Smrg ;; 11987c5f6000Smrg tpf) 11997c5f6000Smrg basic_machine=s390x-ibm 12007c5f6000Smrg os=-tpf 12017c5f6000Smrg ;; 1202bccedf53Smrg udi29k) 1203bccedf53Smrg basic_machine=a29k-amd 1204bccedf53Smrg os=-udi 1205bccedf53Smrg ;; 1206bccedf53Smrg ultra3) 1207bccedf53Smrg basic_machine=a29k-nyu 1208bccedf53Smrg os=-sym1 1209bccedf53Smrg ;; 1210bccedf53Smrg v810 | necv810) 1211bccedf53Smrg basic_machine=v810-nec 1212bccedf53Smrg os=-none 1213bccedf53Smrg ;; 1214bccedf53Smrg vaxv) 1215bccedf53Smrg basic_machine=vax-dec 1216bccedf53Smrg os=-sysv 1217bccedf53Smrg ;; 1218bccedf53Smrg vms) 1219bccedf53Smrg basic_machine=vax-dec 1220bccedf53Smrg os=-vms 1221bccedf53Smrg ;; 1222bccedf53Smrg vpp*|vx|vx-*) 1223bccedf53Smrg basic_machine=f301-fujitsu 1224bccedf53Smrg ;; 1225bccedf53Smrg vxworks960) 1226bccedf53Smrg basic_machine=i960-wrs 1227bccedf53Smrg os=-vxworks 1228bccedf53Smrg ;; 1229bccedf53Smrg vxworks68) 1230bccedf53Smrg basic_machine=m68k-wrs 1231bccedf53Smrg os=-vxworks 1232bccedf53Smrg ;; 1233bccedf53Smrg vxworks29k) 1234bccedf53Smrg basic_machine=a29k-wrs 1235bccedf53Smrg os=-vxworks 1236bccedf53Smrg ;; 1237bccedf53Smrg w65*) 1238bccedf53Smrg basic_machine=w65-wdc 1239bccedf53Smrg os=-none 1240bccedf53Smrg ;; 1241bccedf53Smrg w89k-*) 1242bccedf53Smrg basic_machine=hppa1.1-winbond 1243bccedf53Smrg os=-proelf 1244bccedf53Smrg ;; 124589afc689Smrg x64) 124689afc689Smrg basic_machine=x86_64-pc 124789afc689Smrg ;; 12487c5f6000Smrg xbox) 12497c5f6000Smrg basic_machine=i686-pc 12507c5f6000Smrg os=-mingw32 12517c5f6000Smrg ;; 1252bccedf53Smrg xps | xps100) 1253bccedf53Smrg basic_machine=xps100-honeywell 1254bccedf53Smrg ;; 12551b1389eeSmrg xscale-* | xscalee[bl]-*) 125689afc689Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12571b1389eeSmrg ;; 1258bccedf53Smrg ymp) 1259bccedf53Smrg basic_machine=ymp-cray 1260bccedf53Smrg os=-unicos 1261bccedf53Smrg ;; 1262bccedf53Smrg none) 1263bccedf53Smrg basic_machine=none-none 1264bccedf53Smrg os=-none 1265bccedf53Smrg ;; 1266bccedf53Smrg 1267bccedf53Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1268bccedf53Smrg# some cases the only manufacturer, in others, it is the most popular. 1269bccedf53Smrg w89k) 1270bccedf53Smrg basic_machine=hppa1.1-winbond 1271bccedf53Smrg ;; 1272bccedf53Smrg op50n) 1273bccedf53Smrg basic_machine=hppa1.1-oki 1274bccedf53Smrg ;; 1275bccedf53Smrg op60c) 1276bccedf53Smrg basic_machine=hppa1.1-oki 1277bccedf53Smrg ;; 1278bccedf53Smrg romp) 1279bccedf53Smrg basic_machine=romp-ibm 1280bccedf53Smrg ;; 12817c5f6000Smrg mmix) 12827c5f6000Smrg basic_machine=mmix-knuth 12837c5f6000Smrg ;; 1284bccedf53Smrg rs6000) 1285bccedf53Smrg basic_machine=rs6000-ibm 1286bccedf53Smrg ;; 1287bccedf53Smrg vax) 1288bccedf53Smrg basic_machine=vax-dec 1289bccedf53Smrg ;; 1290bccedf53Smrg pdp11) 1291bccedf53Smrg basic_machine=pdp11-dec 1292bccedf53Smrg ;; 1293bccedf53Smrg we32k) 1294bccedf53Smrg basic_machine=we32k-att 1295bccedf53Smrg ;; 12967c5f6000Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297bccedf53Smrg basic_machine=sh-unknown 1298bccedf53Smrg ;; 1299bccedf53Smrg cydra) 1300bccedf53Smrg basic_machine=cydra-cydrome 1301bccedf53Smrg ;; 1302bccedf53Smrg orion) 1303bccedf53Smrg basic_machine=orion-highlevel 1304bccedf53Smrg ;; 1305bccedf53Smrg orion105) 1306bccedf53Smrg basic_machine=clipper-highlevel 1307bccedf53Smrg ;; 1308bccedf53Smrg mac | mpw | mac-mpw) 1309bccedf53Smrg basic_machine=m68k-apple 1310bccedf53Smrg ;; 1311bccedf53Smrg pmac | pmac-mpw) 1312bccedf53Smrg basic_machine=powerpc-apple 1313bccedf53Smrg ;; 1314bccedf53Smrg *-unknown) 1315bccedf53Smrg # Make sure to match an already-canonicalized machine name. 1316bccedf53Smrg ;; 1317bccedf53Smrg *) 131889afc689Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319bccedf53Smrg exit 1 1320bccedf53Smrg ;; 1321bccedf53Smrgesac 1322bccedf53Smrg 1323bccedf53Smrg# Here we canonicalize certain aliases for manufacturers. 1324bccedf53Smrgcase $basic_machine in 1325bccedf53Smrg *-digital*) 132689afc689Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327bccedf53Smrg ;; 1328bccedf53Smrg *-commodore*) 132989afc689Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330bccedf53Smrg ;; 1331bccedf53Smrg *) 1332bccedf53Smrg ;; 1333bccedf53Smrgesac 1334bccedf53Smrg 1335bccedf53Smrg# Decode manufacturer-specific aliases for certain operating systems. 1336bccedf53Smrg 1337bccedf53Smrgif [ x"$os" != x"" ] 1338bccedf53Smrgthen 1339bccedf53Smrgcase $os in 134089afc689Smrg # First match some system type aliases that might get confused 134189afc689Smrg # with valid system types. 1342bccedf53Smrg # -solaris* is a basic system type, with this one exception. 13431b1389eeSmrg -auroraux) 13441b1389eeSmrg os=-auroraux 1345f7ada8ddSmrg ;; 1346bccedf53Smrg -solaris1 | -solaris1.*) 1347bccedf53Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348bccedf53Smrg ;; 1349bccedf53Smrg -solaris) 1350bccedf53Smrg os=-solaris2 1351bccedf53Smrg ;; 1352bccedf53Smrg -unixware*) 1353bccedf53Smrg os=-sysv4.2uw 1354bccedf53Smrg ;; 1355bccedf53Smrg -gnu/linux*) 1356bccedf53Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357bccedf53Smrg ;; 135889afc689Smrg # es1800 is here to avoid being matched by es* (a different OS) 135989afc689Smrg -es1800*) 136089afc689Smrg os=-ose 136189afc689Smrg ;; 136289afc689Smrg # Now accept the basic system types. 1363bccedf53Smrg # The portable systems comes first. 136489afc689Smrg # Each alternative MUST end in a * to match a version number. 1365bccedf53Smrg # -sysv* is not here because it comes later, after sysvr4. 1366bccedf53Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367f7ada8ddSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368f7ada8ddSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136989afc689Smrg | -sym* | -kopensolaris* | -plan9* \ 1370bccedf53Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137189afc689Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372bccedf53Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373bccedf53Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 137489afc689Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 137589afc689Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13767c5f6000Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13777c5f6000Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378bccedf53Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 137989afc689Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 138089afc689Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13811b1389eeSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 138289afc689Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138389afc689Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138489afc689Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 138589afc689Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386bccedf53Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387bccedf53Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388bccedf53Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 138989afc689Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13907c5f6000Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 139189afc689Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 139289afc689Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 139389afc689Smrg | -midnightbsd*) 1394bccedf53Smrg # Remember, each alternative MUST END IN *, to match a version number. 1395bccedf53Smrg ;; 1396bccedf53Smrg -qnx*) 1397bccedf53Smrg case $basic_machine in 1398bccedf53Smrg x86-* | i*86-*) 1399bccedf53Smrg ;; 1400bccedf53Smrg *) 1401bccedf53Smrg os=-nto$os 1402bccedf53Smrg ;; 1403bccedf53Smrg esac 1404bccedf53Smrg ;; 1405bccedf53Smrg -nto-qnx*) 1406bccedf53Smrg ;; 1407bccedf53Smrg -nto*) 1408bccedf53Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409bccedf53Smrg ;; 141089afc689Smrg -sim | -xray | -os68k* | -v88r* \ 141189afc689Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412bccedf53Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413bccedf53Smrg ;; 1414bccedf53Smrg -mac*) 141589afc689Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416bccedf53Smrg ;; 14177c5f6000Smrg -linux-dietlibc) 14187c5f6000Smrg os=-linux-dietlibc 14197c5f6000Smrg ;; 1420bccedf53Smrg -linux*) 1421bccedf53Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422bccedf53Smrg ;; 1423bccedf53Smrg -sunos5*) 142489afc689Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425bccedf53Smrg ;; 1426bccedf53Smrg -sunos6*) 142789afc689Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428bccedf53Smrg ;; 1429bccedf53Smrg -opened*) 1430bccedf53Smrg os=-openedition 1431bccedf53Smrg ;; 14321b1389eeSmrg -os400*) 14337c5f6000Smrg os=-os400 14347c5f6000Smrg ;; 1435bccedf53Smrg -wince*) 1436bccedf53Smrg os=-wince 1437bccedf53Smrg ;; 1438bccedf53Smrg -utek*) 1439bccedf53Smrg os=-bsd 1440bccedf53Smrg ;; 1441bccedf53Smrg -dynix*) 1442bccedf53Smrg os=-bsd 1443bccedf53Smrg ;; 1444bccedf53Smrg -acis*) 1445bccedf53Smrg os=-aos 1446bccedf53Smrg ;; 1447bccedf53Smrg -atheos*) 1448bccedf53Smrg os=-atheos 1449bccedf53Smrg ;; 14507c5f6000Smrg -syllable*) 14517c5f6000Smrg os=-syllable 14527c5f6000Smrg ;; 1453bccedf53Smrg -386bsd) 1454bccedf53Smrg os=-bsd 1455bccedf53Smrg ;; 1456bccedf53Smrg -ctix* | -uts*) 1457bccedf53Smrg os=-sysv 1458bccedf53Smrg ;; 1459bccedf53Smrg -nova*) 1460bccedf53Smrg os=-rtmk-nova 1461bccedf53Smrg ;; 146289afc689Smrg -ns2) 1463bccedf53Smrg os=-nextstep2 1464bccedf53Smrg ;; 1465bccedf53Smrg -nsk*) 1466bccedf53Smrg os=-nsk 1467bccedf53Smrg ;; 1468bccedf53Smrg # Preserve the version number of sinix5. 1469bccedf53Smrg -sinix5.*) 1470bccedf53Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471bccedf53Smrg ;; 1472bccedf53Smrg -sinix*) 1473bccedf53Smrg os=-sysv4 1474bccedf53Smrg ;; 14751b1389eeSmrg -tpf*) 14767c5f6000Smrg os=-tpf 14777c5f6000Smrg ;; 1478bccedf53Smrg -triton*) 1479bccedf53Smrg os=-sysv3 1480bccedf53Smrg ;; 1481bccedf53Smrg -oss*) 1482bccedf53Smrg os=-sysv3 1483bccedf53Smrg ;; 148489afc689Smrg -svr4*) 1485bccedf53Smrg os=-sysv4 1486bccedf53Smrg ;; 1487bccedf53Smrg -svr3) 1488bccedf53Smrg os=-sysv3 1489bccedf53Smrg ;; 1490bccedf53Smrg -sysvr4) 1491bccedf53Smrg os=-sysv4 1492bccedf53Smrg ;; 1493bccedf53Smrg # This must come after -sysvr4. 1494bccedf53Smrg -sysv*) 1495bccedf53Smrg ;; 1496bccedf53Smrg -ose*) 1497bccedf53Smrg os=-ose 1498bccedf53Smrg ;; 1499bccedf53Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500bccedf53Smrg os=-mint 1501bccedf53Smrg ;; 15027c5f6000Smrg -zvmoe) 15037c5f6000Smrg os=-zvmoe 15047c5f6000Smrg ;; 15057c5f6000Smrg -dicos*) 15067c5f6000Smrg os=-dicos 15077c5f6000Smrg ;; 150889afc689Smrg -pikeos*) 150989afc689Smrg # Until real need of OS specific support for 151089afc689Smrg # particular features comes up, bare metal 151189afc689Smrg # configurations are quite functional. 151289afc689Smrg case $basic_machine in 151389afc689Smrg arm*) 151489afc689Smrg os=-eabi 151589afc689Smrg ;; 151689afc689Smrg *) 151789afc689Smrg os=-elf 151889afc689Smrg ;; 151989afc689Smrg esac 152089afc689Smrg ;; 15211b1389eeSmrg -nacl*) 15221b1389eeSmrg ;; 152389afc689Smrg -ios) 152489afc689Smrg ;; 1525bccedf53Smrg -none) 1526bccedf53Smrg ;; 1527bccedf53Smrg *) 1528bccedf53Smrg # Get rid of the `-' at the beginning of $os. 1529bccedf53Smrg os=`echo $os | sed 's/[^-]*-//'` 153089afc689Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531bccedf53Smrg exit 1 1532bccedf53Smrg ;; 1533bccedf53Smrgesac 1534bccedf53Smrgelse 1535bccedf53Smrg 1536bccedf53Smrg# Here we handle the default operating systems that come with various machines. 1537bccedf53Smrg# The value should be what the vendor currently ships out the door with their 1538bccedf53Smrg# machine or put another way, the most popular os provided with the machine. 1539bccedf53Smrg 1540bccedf53Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541bccedf53Smrg# "-sun"), then you have to tell the case statement up towards the top 1542bccedf53Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543bccedf53Smrg# will signal an error saying that MANUFACTURER isn't an operating 1544bccedf53Smrg# system, and we'll never get to this point. 1545bccedf53Smrg 1546bccedf53Smrgcase $basic_machine in 15471b1389eeSmrg score-*) 15487c5f6000Smrg os=-elf 15497c5f6000Smrg ;; 15501b1389eeSmrg spu-*) 15517c5f6000Smrg os=-elf 15527c5f6000Smrg ;; 1553bccedf53Smrg *-acorn) 1554bccedf53Smrg os=-riscix1.2 1555bccedf53Smrg ;; 1556bccedf53Smrg arm*-rebel) 1557bccedf53Smrg os=-linux 1558bccedf53Smrg ;; 1559bccedf53Smrg arm*-semi) 1560bccedf53Smrg os=-aout 1561bccedf53Smrg ;; 15621b1389eeSmrg c4x-* | tic4x-*) 15631b1389eeSmrg os=-coff 1564bccedf53Smrg ;; 156589afc689Smrg c8051-*) 156689afc689Smrg os=-elf 156789afc689Smrg ;; 156889afc689Smrg hexagon-*) 156989afc689Smrg os=-elf 157089afc689Smrg ;; 1571f7ada8ddSmrg tic54x-*) 1572f7ada8ddSmrg os=-coff 1573f7ada8ddSmrg ;; 1574f7ada8ddSmrg tic55x-*) 1575f7ada8ddSmrg os=-coff 1576f7ada8ddSmrg ;; 1577f7ada8ddSmrg tic6x-*) 1578f7ada8ddSmrg os=-coff 1579f7ada8ddSmrg ;; 1580bccedf53Smrg # This must come before the *-dec entry. 1581bccedf53Smrg pdp10-*) 1582bccedf53Smrg os=-tops20 1583bccedf53Smrg ;; 1584bccedf53Smrg pdp11-*) 1585bccedf53Smrg os=-none 1586bccedf53Smrg ;; 1587bccedf53Smrg *-dec | vax-*) 1588bccedf53Smrg os=-ultrix4.2 1589bccedf53Smrg ;; 1590bccedf53Smrg m68*-apollo) 1591bccedf53Smrg os=-domain 1592bccedf53Smrg ;; 1593bccedf53Smrg i386-sun) 1594bccedf53Smrg os=-sunos4.0.2 1595bccedf53Smrg ;; 1596bccedf53Smrg m68000-sun) 1597bccedf53Smrg os=-sunos3 1598bccedf53Smrg ;; 1599bccedf53Smrg m68*-cisco) 1600bccedf53Smrg os=-aout 1601bccedf53Smrg ;; 16021b1389eeSmrg mep-*) 16037c5f6000Smrg os=-elf 16047c5f6000Smrg ;; 1605bccedf53Smrg mips*-cisco) 1606bccedf53Smrg os=-elf 1607bccedf53Smrg ;; 1608bccedf53Smrg mips*-*) 1609bccedf53Smrg os=-elf 1610bccedf53Smrg ;; 1611bccedf53Smrg or32-*) 1612bccedf53Smrg os=-coff 1613bccedf53Smrg ;; 1614bccedf53Smrg *-tti) # must be before sparc entry or we get the wrong os. 1615bccedf53Smrg os=-sysv3 1616bccedf53Smrg ;; 1617bccedf53Smrg sparc-* | *-sun) 1618bccedf53Smrg os=-sunos4.1.1 1619bccedf53Smrg ;; 162089afc689Smrg pru-*) 162189afc689Smrg os=-elf 162289afc689Smrg ;; 1623bccedf53Smrg *-be) 1624bccedf53Smrg os=-beos 1625bccedf53Smrg ;; 1626bccedf53Smrg *-ibm) 1627bccedf53Smrg os=-aix 1628bccedf53Smrg ;; 16291b1389eeSmrg *-knuth) 16307c5f6000Smrg os=-mmixware 16317c5f6000Smrg ;; 1632bccedf53Smrg *-wec) 1633bccedf53Smrg os=-proelf 1634bccedf53Smrg ;; 1635bccedf53Smrg *-winbond) 1636bccedf53Smrg os=-proelf 1637bccedf53Smrg ;; 1638bccedf53Smrg *-oki) 1639bccedf53Smrg os=-proelf 1640bccedf53Smrg ;; 1641bccedf53Smrg *-hp) 1642bccedf53Smrg os=-hpux 1643bccedf53Smrg ;; 1644bccedf53Smrg *-hitachi) 1645bccedf53Smrg os=-hiux 1646bccedf53Smrg ;; 1647bccedf53Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648bccedf53Smrg os=-sysv 1649bccedf53Smrg ;; 1650bccedf53Smrg *-cbm) 1651bccedf53Smrg os=-amigaos 1652bccedf53Smrg ;; 1653bccedf53Smrg *-dg) 1654bccedf53Smrg os=-dgux 1655bccedf53Smrg ;; 1656bccedf53Smrg *-dolphin) 1657bccedf53Smrg os=-sysv3 1658bccedf53Smrg ;; 1659bccedf53Smrg m68k-ccur) 1660bccedf53Smrg os=-rtu 1661bccedf53Smrg ;; 1662bccedf53Smrg m88k-omron*) 1663bccedf53Smrg os=-luna 1664bccedf53Smrg ;; 166589afc689Smrg *-next) 1666bccedf53Smrg os=-nextstep 1667bccedf53Smrg ;; 1668bccedf53Smrg *-sequent) 1669bccedf53Smrg os=-ptx 1670bccedf53Smrg ;; 1671bccedf53Smrg *-crds) 1672bccedf53Smrg os=-unos 1673bccedf53Smrg ;; 1674bccedf53Smrg *-ns) 1675bccedf53Smrg os=-genix 1676bccedf53Smrg ;; 1677bccedf53Smrg i370-*) 1678bccedf53Smrg os=-mvs 1679bccedf53Smrg ;; 1680bccedf53Smrg *-gould) 1681bccedf53Smrg os=-sysv 1682bccedf53Smrg ;; 1683bccedf53Smrg *-highlevel) 1684bccedf53Smrg os=-bsd 1685bccedf53Smrg ;; 1686bccedf53Smrg *-encore) 1687bccedf53Smrg os=-bsd 1688bccedf53Smrg ;; 1689bccedf53Smrg *-sgi) 1690bccedf53Smrg os=-irix 1691bccedf53Smrg ;; 1692bccedf53Smrg *-siemens) 1693bccedf53Smrg os=-sysv4 1694bccedf53Smrg ;; 1695bccedf53Smrg *-masscomp) 1696bccedf53Smrg os=-rtu 1697bccedf53Smrg ;; 1698bccedf53Smrg f30[01]-fujitsu | f700-fujitsu) 1699bccedf53Smrg os=-uxpv 1700bccedf53Smrg ;; 1701bccedf53Smrg *-rom68k) 1702bccedf53Smrg os=-coff 1703bccedf53Smrg ;; 1704bccedf53Smrg *-*bug) 1705bccedf53Smrg os=-coff 1706bccedf53Smrg ;; 1707bccedf53Smrg *-apple) 1708bccedf53Smrg os=-macos 1709bccedf53Smrg ;; 1710bccedf53Smrg *-atari*) 1711bccedf53Smrg os=-mint 1712bccedf53Smrg ;; 1713bccedf53Smrg *) 1714bccedf53Smrg os=-none 1715bccedf53Smrg ;; 1716bccedf53Smrgesac 1717bccedf53Smrgfi 1718bccedf53Smrg 1719bccedf53Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1720bccedf53Smrg# manufacturer. We pick the logical manufacturer. 1721bccedf53Smrgvendor=unknown 1722bccedf53Smrgcase $basic_machine in 1723bccedf53Smrg *-unknown) 1724bccedf53Smrg case $os in 1725bccedf53Smrg -riscix*) 1726bccedf53Smrg vendor=acorn 1727bccedf53Smrg ;; 1728bccedf53Smrg -sunos*) 1729bccedf53Smrg vendor=sun 1730bccedf53Smrg ;; 1731f7ada8ddSmrg -cnk*|-aix*) 1732bccedf53Smrg vendor=ibm 1733bccedf53Smrg ;; 1734bccedf53Smrg -beos*) 1735bccedf53Smrg vendor=be 1736bccedf53Smrg ;; 1737bccedf53Smrg -hpux*) 1738bccedf53Smrg vendor=hp 1739bccedf53Smrg ;; 1740bccedf53Smrg -mpeix*) 1741bccedf53Smrg vendor=hp 1742bccedf53Smrg ;; 1743bccedf53Smrg -hiux*) 1744bccedf53Smrg vendor=hitachi 1745bccedf53Smrg ;; 1746bccedf53Smrg -unos*) 1747bccedf53Smrg vendor=crds 1748bccedf53Smrg ;; 1749bccedf53Smrg -dgux*) 1750bccedf53Smrg vendor=dg 1751bccedf53Smrg ;; 1752bccedf53Smrg -luna*) 1753bccedf53Smrg vendor=omron 1754bccedf53Smrg ;; 1755bccedf53Smrg -genix*) 1756bccedf53Smrg vendor=ns 1757bccedf53Smrg ;; 1758bccedf53Smrg -mvs* | -opened*) 1759bccedf53Smrg vendor=ibm 1760bccedf53Smrg ;; 17617c5f6000Smrg -os400*) 17627c5f6000Smrg vendor=ibm 17637c5f6000Smrg ;; 1764bccedf53Smrg -ptx*) 1765bccedf53Smrg vendor=sequent 1766bccedf53Smrg ;; 17677c5f6000Smrg -tpf*) 17687c5f6000Smrg vendor=ibm 17697c5f6000Smrg ;; 1770bccedf53Smrg -vxsim* | -vxworks* | -windiss*) 1771bccedf53Smrg vendor=wrs 1772bccedf53Smrg ;; 1773bccedf53Smrg -aux*) 1774bccedf53Smrg vendor=apple 1775bccedf53Smrg ;; 1776bccedf53Smrg -hms*) 1777bccedf53Smrg vendor=hitachi 1778bccedf53Smrg ;; 1779bccedf53Smrg -mpw* | -macos*) 1780bccedf53Smrg vendor=apple 1781bccedf53Smrg ;; 1782bccedf53Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783bccedf53Smrg vendor=atari 1784bccedf53Smrg ;; 1785bccedf53Smrg -vos*) 1786bccedf53Smrg vendor=stratus 1787bccedf53Smrg ;; 1788bccedf53Smrg esac 178989afc689Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790bccedf53Smrg ;; 1791bccedf53Smrgesac 1792bccedf53Smrg 179389afc689Smrgecho "$basic_machine$os" 17947c5f6000Smrgexit 1795bccedf53Smrg 1796bccedf53Smrg# Local variables: 179789afc689Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798bccedf53Smrg# time-stamp-start: "timestamp='" 1799bccedf53Smrg# time-stamp-format: "%:y-%02m-%02d" 1800bccedf53Smrg# time-stamp-end: "'" 1801bccedf53Smrg# End: 1802