config.sub revision 97ee6427
1301ea0f4Smrg#! /bin/sh 2301ea0f4Smrg# Configuration validation subroutine script. 397ee6427Smrg# Copyright 1992-2016 Free Software Foundation, Inc. 4301ea0f4Smrg 597ee6427Smrgtimestamp='2016-03-30' 6301ea0f4Smrg 718552c8aSmrg# This file is free software; you can redistribute it and/or modify it 818552c8aSmrg# under the terms of the GNU General Public License as published by 918552c8aSmrg# the Free Software Foundation; either version 3 of the License, or 10301ea0f4Smrg# (at your option) any later version. 11301ea0f4Smrg# 1218552c8aSmrg# This program is distributed in the hope that it will be useful, but 1318552c8aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1418552c8aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1518552c8aSmrg# General Public License for more details. 16301ea0f4Smrg# 17301ea0f4Smrg# You should have received a copy of the GNU General Public License 1818552c8aSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 190cc67336Smrg# 20301ea0f4Smrg# As a special exception to the GNU General Public License, if you 21301ea0f4Smrg# distribute this file as part of a program that contains a 22301ea0f4Smrg# configuration script generated by Autoconf, you may include it under 2318552c8aSmrg# the same distribution terms that you use for the rest of that 2418552c8aSmrg# program. This Exception is an additional permission under section 7 2518552c8aSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26301ea0f4Smrg 270cc67336Smrg 2897ee6427Smrg# Please send patches to <config-patches@gnu.org>. 29301ea0f4Smrg# 30301ea0f4Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31301ea0f4Smrg# Supply the specified configuration type as an argument. 32301ea0f4Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33301ea0f4Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34301ea0f4Smrg 35213fdd94Smrg# You can get the latest version of this script from: 3697ee6427Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37213fdd94Smrg 38301ea0f4Smrg# This file is supposed to be the same for all GNU packages 39301ea0f4Smrg# and recognize all the CPU types, system types and aliases 40301ea0f4Smrg# that are meaningful with *any* GNU software. 41301ea0f4Smrg# Each package is responsible for reporting which valid configurations 42301ea0f4Smrg# it does not support. The user should be able to distinguish 43301ea0f4Smrg# a failure to support a valid configuration from a meaningless 44301ea0f4Smrg# configuration. 45301ea0f4Smrg 46301ea0f4Smrg# The goal of this file is to map all the various variations of a given 47301ea0f4Smrg# machine specification into a single specification in the form: 48301ea0f4Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49301ea0f4Smrg# or in some cases, the newer four-part form: 50301ea0f4Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51301ea0f4Smrg# It is wrong to echo any other type of specification. 52301ea0f4Smrg 53301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54301ea0f4Smrg 55301ea0f4Smrgusage="\ 5697ee6427SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57301ea0f4Smrg 58301ea0f4SmrgCanonicalize a configuration name. 59301ea0f4Smrg 60301ea0f4SmrgOperation modes: 61301ea0f4Smrg -h, --help print this help, then exit 62301ea0f4Smrg -t, --time-stamp print date of last modification, then exit 63301ea0f4Smrg -v, --version print version number, then exit 64301ea0f4Smrg 65301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>." 66301ea0f4Smrg 67301ea0f4Smrgversion="\ 68301ea0f4SmrgGNU config.sub ($timestamp) 69301ea0f4Smrg 7097ee6427SmrgCopyright 1992-2016 Free Software Foundation, Inc. 71301ea0f4Smrg 72301ea0f4SmrgThis is free software; see the source for copying conditions. There is NO 73301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74301ea0f4Smrg 75301ea0f4Smrghelp=" 76301ea0f4SmrgTry \`$me --help' for more information." 77301ea0f4Smrg 78301ea0f4Smrg# Parse command line 79301ea0f4Smrgwhile test $# -gt 0 ; do 80301ea0f4Smrg case $1 in 81301ea0f4Smrg --time-stamp | --time* | -t ) 820cc67336Smrg echo "$timestamp" ; exit ;; 83301ea0f4Smrg --version | -v ) 840cc67336Smrg echo "$version" ; exit ;; 85301ea0f4Smrg --help | --h* | -h ) 860cc67336Smrg echo "$usage"; exit ;; 87301ea0f4Smrg -- ) # Stop option processing 88301ea0f4Smrg shift; break ;; 89301ea0f4Smrg - ) # Use stdin as input. 90301ea0f4Smrg break ;; 91301ea0f4Smrg -* ) 92301ea0f4Smrg echo "$me: invalid option $1$help" 93301ea0f4Smrg exit 1 ;; 94301ea0f4Smrg 95301ea0f4Smrg *local*) 96301ea0f4Smrg # First pass through any local machine types. 97301ea0f4Smrg echo $1 980cc67336Smrg exit ;; 99301ea0f4Smrg 100301ea0f4Smrg * ) 101301ea0f4Smrg break ;; 102301ea0f4Smrg esac 103301ea0f4Smrgdone 104301ea0f4Smrg 105301ea0f4Smrgcase $# in 106301ea0f4Smrg 0) echo "$me: missing argument$help" >&2 107301ea0f4Smrg exit 1;; 108301ea0f4Smrg 1) ;; 109301ea0f4Smrg *) echo "$me: too many arguments$help" >&2 110301ea0f4Smrg exit 1;; 111301ea0f4Smrgesac 112301ea0f4Smrg 113301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations. 115301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116301ea0f4Smrgcase $maybe_os in 117213fdd94Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11818552c8aSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11997ee6427Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120213fdd94Smrg kopensolaris*-gnu* | \ 1210cc67336Smrg storm-chaos* | os2-emx* | rtmk-nova*) 122301ea0f4Smrg os=-$maybe_os 123301ea0f4Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124301ea0f4Smrg ;; 12518552c8aSmrg android-linux) 12618552c8aSmrg os=-linux-android 12718552c8aSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12818552c8aSmrg ;; 129301ea0f4Smrg *) 130301ea0f4Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 131301ea0f4Smrg if [ $basic_machine != $1 ] 132301ea0f4Smrg then os=`echo $1 | sed 's/.*-/-/'` 133301ea0f4Smrg else os=; fi 134301ea0f4Smrg ;; 135301ea0f4Smrgesac 136301ea0f4Smrg 137301ea0f4Smrg### Let's recognize common machines as not being operating systems so 138301ea0f4Smrg### that things like config.sub decstation-3100 work. We also 139301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we 140301ea0f4Smrg### can provide default operating systems below. 141301ea0f4Smrgcase $os in 142301ea0f4Smrg -sun*os*) 143301ea0f4Smrg # Prevent following clause from handling this invalid input. 144301ea0f4Smrg ;; 145301ea0f4Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146301ea0f4Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147301ea0f4Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148301ea0f4Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149301ea0f4Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150301ea0f4Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15118552c8aSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152301ea0f4Smrg os= 153301ea0f4Smrg basic_machine=$1 154301ea0f4Smrg ;; 155213fdd94Smrg -bluegene*) 156213fdd94Smrg os=-cnk 157213fdd94Smrg ;; 158301ea0f4Smrg -sim | -cisco | -oki | -wec | -winbond) 159301ea0f4Smrg os= 160301ea0f4Smrg basic_machine=$1 161301ea0f4Smrg ;; 162301ea0f4Smrg -scout) 163301ea0f4Smrg ;; 164301ea0f4Smrg -wrs) 165301ea0f4Smrg os=-vxworks 166301ea0f4Smrg basic_machine=$1 167301ea0f4Smrg ;; 168301ea0f4Smrg -chorusos*) 169301ea0f4Smrg os=-chorusos 170301ea0f4Smrg basic_machine=$1 171301ea0f4Smrg ;; 172213fdd94Smrg -chorusrdb) 173213fdd94Smrg os=-chorusrdb 174301ea0f4Smrg basic_machine=$1 175213fdd94Smrg ;; 176301ea0f4Smrg -hiux*) 177301ea0f4Smrg os=-hiuxwe2 178301ea0f4Smrg ;; 1790cc67336Smrg -sco6) 1800cc67336Smrg os=-sco5v6 1810cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1820cc67336Smrg ;; 183301ea0f4Smrg -sco5) 184301ea0f4Smrg os=-sco3.2v5 185301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 186301ea0f4Smrg ;; 187301ea0f4Smrg -sco4) 188301ea0f4Smrg os=-sco3.2v4 189301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 190301ea0f4Smrg ;; 191301ea0f4Smrg -sco3.2.[4-9]*) 192301ea0f4Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 194301ea0f4Smrg ;; 195301ea0f4Smrg -sco3.2v[4-9]*) 196301ea0f4Smrg # Don't forget version if it is 3.2v4 or newer. 197301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 198301ea0f4Smrg ;; 1990cc67336Smrg -sco5v6*) 2000cc67336Smrg # Don't forget version if it is 3.2v4 or newer. 2010cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2020cc67336Smrg ;; 203301ea0f4Smrg -sco*) 204301ea0f4Smrg os=-sco3.2v2 205301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 206301ea0f4Smrg ;; 207301ea0f4Smrg -udk*) 208301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 209301ea0f4Smrg ;; 210301ea0f4Smrg -isc) 211301ea0f4Smrg os=-isc2.2 212301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 213301ea0f4Smrg ;; 214301ea0f4Smrg -clix*) 215301ea0f4Smrg basic_machine=clipper-intergraph 216301ea0f4Smrg ;; 217301ea0f4Smrg -isc*) 218301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219301ea0f4Smrg ;; 22018552c8aSmrg -lynx*178) 22118552c8aSmrg os=-lynxos178 22218552c8aSmrg ;; 22318552c8aSmrg -lynx*5) 22418552c8aSmrg os=-lynxos5 22518552c8aSmrg ;; 226301ea0f4Smrg -lynx*) 227301ea0f4Smrg os=-lynxos 228301ea0f4Smrg ;; 229301ea0f4Smrg -ptx*) 230301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231301ea0f4Smrg ;; 232301ea0f4Smrg -windowsnt*) 233301ea0f4Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234301ea0f4Smrg ;; 235301ea0f4Smrg -psos*) 236301ea0f4Smrg os=-psos 237301ea0f4Smrg ;; 238301ea0f4Smrg -mint | -mint[0-9]*) 239301ea0f4Smrg basic_machine=m68k-atari 240301ea0f4Smrg os=-mint 241301ea0f4Smrg ;; 242301ea0f4Smrgesac 243301ea0f4Smrg 244301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations. 245301ea0f4Smrgcase $basic_machine in 246301ea0f4Smrg # Recognize the basic CPU types without company name. 247301ea0f4Smrg # Some are omitted here because they have special meanings below. 248301ea0f4Smrg 1750a | 580 \ 249301ea0f4Smrg | a29k \ 25018552c8aSmrg | aarch64 | aarch64_be \ 251301ea0f4Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 252301ea0f4Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2530cc67336Smrg | am33_2.0 \ 25418552c8aSmrg | arc | arceb \ 25518552c8aSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25618552c8aSmrg | avr | avr32 \ 25797ee6427Smrg | ba \ 25818552c8aSmrg | be32 | be64 \ 2590cc67336Smrg | bfin \ 26018552c8aSmrg | c4x | c8051 | clipper \ 26118552c8aSmrg | d10v | d30v | dlx | dsp16xx | dvp \ 26297ee6427Smrg | e2k | epiphany \ 26397ee6427Smrg | fido | fr30 | frv | ft32 \ 264301ea0f4Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 265213fdd94Smrg | hexagon \ 266301ea0f4Smrg | i370 | i860 | i960 | ia64 \ 2670cc67336Smrg | ip2k | iq2000 \ 26818552c8aSmrg | k1om \ 269213fdd94Smrg | le32 | le64 \ 270213fdd94Smrg | lm32 \ 2710cc67336Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27218552c8aSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273301ea0f4Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 274301ea0f4Smrg | mips16 \ 275301ea0f4Smrg | mips64 | mips64el \ 276213fdd94Smrg | mips64octeon | mips64octeonel \ 277301ea0f4Smrg | mips64orion | mips64orionel \ 278213fdd94Smrg | mips64r5900 | mips64r5900el \ 279213fdd94Smrg | mips64vr | mips64vrel \ 280301ea0f4Smrg | mips64vr4100 | mips64vr4100el \ 281301ea0f4Smrg | mips64vr4300 | mips64vr4300el \ 282301ea0f4Smrg | mips64vr5000 | mips64vr5000el \ 2830cc67336Smrg | mips64vr5900 | mips64vr5900el \ 284301ea0f4Smrg | mipsisa32 | mipsisa32el \ 285301ea0f4Smrg | mipsisa32r2 | mipsisa32r2el \ 28697ee6427Smrg | mipsisa32r6 | mipsisa32r6el \ 287301ea0f4Smrg | mipsisa64 | mipsisa64el \ 2880cc67336Smrg | mipsisa64r2 | mipsisa64r2el \ 28997ee6427Smrg | mipsisa64r6 | mipsisa64r6el \ 290301ea0f4Smrg | mipsisa64sb1 | mipsisa64sb1el \ 291301ea0f4Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 29218552c8aSmrg | mipsr5900 | mipsr5900el \ 293301ea0f4Smrg | mipstx39 | mipstx39el \ 294301ea0f4Smrg | mn10200 | mn10300 \ 295213fdd94Smrg | moxie \ 2960cc67336Smrg | mt \ 297301ea0f4Smrg | msp430 \ 298213fdd94Smrg | nds32 | nds32le | nds32be \ 29918552c8aSmrg | nios | nios2 | nios2eb | nios2el \ 300301ea0f4Smrg | ns16k | ns32k \ 30197ee6427Smrg | open8 | or1k | or1knd | or32 \ 302301ea0f4Smrg | pdp10 | pdp11 | pj | pjl \ 303213fdd94Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 304301ea0f4Smrg | pyramid \ 30597ee6427Smrg | riscv32 | riscv64 \ 306213fdd94Smrg | rl78 | rx \ 3070cc67336Smrg | score \ 30897ee6427Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 309301ea0f4Smrg | sh64 | sh64le \ 3100cc67336Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3110cc67336Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 312213fdd94Smrg | spu \ 313213fdd94Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 314213fdd94Smrg | ubicom32 \ 315213fdd94Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31697ee6427Smrg | visium \ 317301ea0f4Smrg | we32k \ 318213fdd94Smrg | x86 | xc16x | xstormy16 | xtensa \ 319213fdd94Smrg | z8k | z80) 320301ea0f4Smrg basic_machine=$basic_machine-unknown 321301ea0f4Smrg ;; 322213fdd94Smrg c54x) 323213fdd94Smrg basic_machine=tic54x-unknown 324213fdd94Smrg ;; 325213fdd94Smrg c55x) 326213fdd94Smrg basic_machine=tic55x-unknown 327213fdd94Smrg ;; 328213fdd94Smrg c6x) 329213fdd94Smrg basic_machine=tic6x-unknown 330213fdd94Smrg ;; 33197ee6427Smrg leon|leon[3-9]) 33297ee6427Smrg basic_machine=sparc-$basic_machine 33397ee6427Smrg ;; 33418552c8aSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 335301ea0f4Smrg basic_machine=$basic_machine-unknown 336301ea0f4Smrg os=-none 337301ea0f4Smrg ;; 338301ea0f4Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 339301ea0f4Smrg ;; 3400cc67336Smrg ms1) 3410cc67336Smrg basic_machine=mt-unknown 3420cc67336Smrg ;; 343301ea0f4Smrg 344213fdd94Smrg strongarm | thumb | xscale) 345213fdd94Smrg basic_machine=arm-unknown 346213fdd94Smrg ;; 34718552c8aSmrg xgate) 34818552c8aSmrg basic_machine=$basic_machine-unknown 34918552c8aSmrg os=-none 35018552c8aSmrg ;; 351213fdd94Smrg xscaleeb) 352213fdd94Smrg basic_machine=armeb-unknown 353213fdd94Smrg ;; 354213fdd94Smrg 355213fdd94Smrg xscaleel) 356213fdd94Smrg basic_machine=armel-unknown 357213fdd94Smrg ;; 358213fdd94Smrg 359301ea0f4Smrg # We use `pc' rather than `unknown' 360301ea0f4Smrg # because (1) that's what they normally are, and 361301ea0f4Smrg # (2) the word "unknown" tends to confuse beginning users. 362301ea0f4Smrg i*86 | x86_64) 363301ea0f4Smrg basic_machine=$basic_machine-pc 364301ea0f4Smrg ;; 365301ea0f4Smrg # Object if more than one company name word. 366301ea0f4Smrg *-*-*) 367301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 368301ea0f4Smrg exit 1 369301ea0f4Smrg ;; 370301ea0f4Smrg # Recognize the basic CPU types with company name. 371301ea0f4Smrg 580-* \ 372301ea0f4Smrg | a29k-* \ 37318552c8aSmrg | aarch64-* | aarch64_be-* \ 374301ea0f4Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 375301ea0f4Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37618552c8aSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 377301ea0f4Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3780cc67336Smrg | avr-* | avr32-* \ 37997ee6427Smrg | ba-* \ 380213fdd94Smrg | be32-* | be64-* \ 3810cc67336Smrg | bfin-* | bs2000-* \ 382213fdd94Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38318552c8aSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 384301ea0f4Smrg | d10v-* | d30v-* | dlx-* \ 38597ee6427Smrg | e2k-* | elxsi-* \ 3860cc67336Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 387301ea0f4Smrg | h8300-* | h8500-* \ 388301ea0f4Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 389213fdd94Smrg | hexagon-* \ 390301ea0f4Smrg | i*86-* | i860-* | i960-* | ia64-* \ 3910cc67336Smrg | ip2k-* | iq2000-* \ 39218552c8aSmrg | k1om-* \ 393213fdd94Smrg | le32-* | le64-* \ 394213fdd94Smrg | lm32-* \ 3950cc67336Smrg | m32c-* | m32r-* | m32rle-* \ 396301ea0f4Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39718552c8aSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39818552c8aSmrg | microblaze-* | microblazeel-* \ 399301ea0f4Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 400301ea0f4Smrg | mips16-* \ 401301ea0f4Smrg | mips64-* | mips64el-* \ 402213fdd94Smrg | mips64octeon-* | mips64octeonel-* \ 403301ea0f4Smrg | mips64orion-* | mips64orionel-* \ 404213fdd94Smrg | mips64r5900-* | mips64r5900el-* \ 405213fdd94Smrg | mips64vr-* | mips64vrel-* \ 406301ea0f4Smrg | mips64vr4100-* | mips64vr4100el-* \ 407301ea0f4Smrg | mips64vr4300-* | mips64vr4300el-* \ 408301ea0f4Smrg | mips64vr5000-* | mips64vr5000el-* \ 4090cc67336Smrg | mips64vr5900-* | mips64vr5900el-* \ 410301ea0f4Smrg | mipsisa32-* | mipsisa32el-* \ 411301ea0f4Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41297ee6427Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 413301ea0f4Smrg | mipsisa64-* | mipsisa64el-* \ 4140cc67336Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41597ee6427Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 416301ea0f4Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 417301ea0f4Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41818552c8aSmrg | mipsr5900-* | mipsr5900el-* \ 419301ea0f4Smrg | mipstx39-* | mipstx39el-* \ 4200cc67336Smrg | mmix-* \ 4210cc67336Smrg | mt-* \ 422301ea0f4Smrg | msp430-* \ 423213fdd94Smrg | nds32-* | nds32le-* | nds32be-* \ 42418552c8aSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4250cc67336Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 426213fdd94Smrg | open8-* \ 42797ee6427Smrg | or1k*-* \ 428301ea0f4Smrg | orion-* \ 429301ea0f4Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 430213fdd94Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 431301ea0f4Smrg | pyramid-* \ 43297ee6427Smrg | riscv32-* | riscv64-* \ 433213fdd94Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 434213fdd94Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 435301ea0f4Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4360cc67336Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4370cc67336Smrg | sparclite-* \ 43897ee6427Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 439213fdd94Smrg | tahoe-* \ 440301ea0f4Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 441213fdd94Smrg | tile*-* \ 442301ea0f4Smrg | tron-* \ 443213fdd94Smrg | ubicom32-* \ 444213fdd94Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 445213fdd94Smrg | vax-* \ 44697ee6427Smrg | visium-* \ 447301ea0f4Smrg | we32k-* \ 448213fdd94Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4490cc67336Smrg | xstormy16-* | xtensa*-* \ 450301ea0f4Smrg | ymp-* \ 451213fdd94Smrg | z8k-* | z80-*) 452301ea0f4Smrg ;; 4530cc67336Smrg # Recognize the basic CPU types without company name, with glob match. 4540cc67336Smrg xtensa*) 4550cc67336Smrg basic_machine=$basic_machine-unknown 4560cc67336Smrg ;; 457301ea0f4Smrg # Recognize the various machine names and aliases which stand 458301ea0f4Smrg # for a CPU type and a company and sometimes even an OS. 459301ea0f4Smrg 386bsd) 460301ea0f4Smrg basic_machine=i386-unknown 461301ea0f4Smrg os=-bsd 462301ea0f4Smrg ;; 463301ea0f4Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464301ea0f4Smrg basic_machine=m68000-att 465301ea0f4Smrg ;; 466301ea0f4Smrg 3b*) 467301ea0f4Smrg basic_machine=we32k-att 468301ea0f4Smrg ;; 469301ea0f4Smrg a29khif) 470301ea0f4Smrg basic_machine=a29k-amd 471301ea0f4Smrg os=-udi 472301ea0f4Smrg ;; 473213fdd94Smrg abacus) 4740cc67336Smrg basic_machine=abacus-unknown 4750cc67336Smrg ;; 476301ea0f4Smrg adobe68k) 477301ea0f4Smrg basic_machine=m68010-adobe 478301ea0f4Smrg os=-scout 479301ea0f4Smrg ;; 480301ea0f4Smrg alliant | fx80) 481301ea0f4Smrg basic_machine=fx80-alliant 482301ea0f4Smrg ;; 483301ea0f4Smrg altos | altos3068) 484301ea0f4Smrg basic_machine=m68k-altos 485301ea0f4Smrg ;; 486301ea0f4Smrg am29k) 487301ea0f4Smrg basic_machine=a29k-none 488301ea0f4Smrg os=-bsd 489301ea0f4Smrg ;; 490301ea0f4Smrg amd64) 491301ea0f4Smrg basic_machine=x86_64-pc 492301ea0f4Smrg ;; 4930cc67336Smrg amd64-*) 4940cc67336Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4950cc67336Smrg ;; 496301ea0f4Smrg amdahl) 497301ea0f4Smrg basic_machine=580-amdahl 498301ea0f4Smrg os=-sysv 499301ea0f4Smrg ;; 500301ea0f4Smrg amiga | amiga-*) 501301ea0f4Smrg basic_machine=m68k-unknown 502301ea0f4Smrg ;; 503301ea0f4Smrg amigaos | amigados) 504301ea0f4Smrg basic_machine=m68k-unknown 505301ea0f4Smrg os=-amigaos 506301ea0f4Smrg ;; 507301ea0f4Smrg amigaunix | amix) 508301ea0f4Smrg basic_machine=m68k-unknown 509301ea0f4Smrg os=-sysv4 510301ea0f4Smrg ;; 511301ea0f4Smrg apollo68) 512301ea0f4Smrg basic_machine=m68k-apollo 513301ea0f4Smrg os=-sysv 514301ea0f4Smrg ;; 515301ea0f4Smrg apollo68bsd) 516301ea0f4Smrg basic_machine=m68k-apollo 517301ea0f4Smrg os=-bsd 518301ea0f4Smrg ;; 519213fdd94Smrg aros) 520213fdd94Smrg basic_machine=i386-pc 521213fdd94Smrg os=-aros 522213fdd94Smrg ;; 52397ee6427Smrg asmjs) 52497ee6427Smrg basic_machine=asmjs-unknown 52597ee6427Smrg ;; 526301ea0f4Smrg aux) 527301ea0f4Smrg basic_machine=m68k-apple 528301ea0f4Smrg os=-aux 529301ea0f4Smrg ;; 530301ea0f4Smrg balance) 531301ea0f4Smrg basic_machine=ns32k-sequent 532301ea0f4Smrg os=-dynix 533301ea0f4Smrg ;; 5340cc67336Smrg blackfin) 5350cc67336Smrg basic_machine=bfin-unknown 5360cc67336Smrg os=-linux 5370cc67336Smrg ;; 5380cc67336Smrg blackfin-*) 5390cc67336Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5400cc67336Smrg os=-linux 5410cc67336Smrg ;; 542213fdd94Smrg bluegene*) 543213fdd94Smrg basic_machine=powerpc-ibm 544213fdd94Smrg os=-cnk 545213fdd94Smrg ;; 546213fdd94Smrg c54x-*) 547213fdd94Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 548213fdd94Smrg ;; 549213fdd94Smrg c55x-*) 550213fdd94Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 551213fdd94Smrg ;; 552213fdd94Smrg c6x-*) 553213fdd94Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 554213fdd94Smrg ;; 555301ea0f4Smrg c90) 556301ea0f4Smrg basic_machine=c90-cray 557301ea0f4Smrg os=-unicos 558301ea0f4Smrg ;; 559213fdd94Smrg cegcc) 560213fdd94Smrg basic_machine=arm-unknown 561213fdd94Smrg os=-cegcc 562213fdd94Smrg ;; 563301ea0f4Smrg convex-c1) 564301ea0f4Smrg basic_machine=c1-convex 565301ea0f4Smrg os=-bsd 566301ea0f4Smrg ;; 567301ea0f4Smrg convex-c2) 568301ea0f4Smrg basic_machine=c2-convex 569301ea0f4Smrg os=-bsd 570301ea0f4Smrg ;; 571301ea0f4Smrg convex-c32) 572301ea0f4Smrg basic_machine=c32-convex 573301ea0f4Smrg os=-bsd 574301ea0f4Smrg ;; 575301ea0f4Smrg convex-c34) 576301ea0f4Smrg basic_machine=c34-convex 577301ea0f4Smrg os=-bsd 578301ea0f4Smrg ;; 579301ea0f4Smrg convex-c38) 580301ea0f4Smrg basic_machine=c38-convex 581301ea0f4Smrg os=-bsd 582301ea0f4Smrg ;; 583301ea0f4Smrg cray | j90) 584301ea0f4Smrg basic_machine=j90-cray 585301ea0f4Smrg os=-unicos 586301ea0f4Smrg ;; 5870cc67336Smrg craynv) 5880cc67336Smrg basic_machine=craynv-cray 5890cc67336Smrg os=-unicosmp 5900cc67336Smrg ;; 591213fdd94Smrg cr16 | cr16-*) 5920cc67336Smrg basic_machine=cr16-unknown 5930cc67336Smrg os=-elf 5940cc67336Smrg ;; 595301ea0f4Smrg crds | unos) 596301ea0f4Smrg basic_machine=m68k-crds 597301ea0f4Smrg ;; 5980cc67336Smrg crisv32 | crisv32-* | etraxfs*) 5990cc67336Smrg basic_machine=crisv32-axis 6000cc67336Smrg ;; 601301ea0f4Smrg cris | cris-* | etrax*) 602301ea0f4Smrg basic_machine=cris-axis 603301ea0f4Smrg ;; 6040cc67336Smrg crx) 6050cc67336Smrg basic_machine=crx-unknown 6060cc67336Smrg os=-elf 6070cc67336Smrg ;; 608301ea0f4Smrg da30 | da30-*) 609301ea0f4Smrg basic_machine=m68k-da30 610301ea0f4Smrg ;; 611301ea0f4Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612301ea0f4Smrg basic_machine=mips-dec 613301ea0f4Smrg ;; 614301ea0f4Smrg decsystem10* | dec10*) 615301ea0f4Smrg basic_machine=pdp10-dec 616301ea0f4Smrg os=-tops10 617301ea0f4Smrg ;; 618301ea0f4Smrg decsystem20* | dec20*) 619301ea0f4Smrg basic_machine=pdp10-dec 620301ea0f4Smrg os=-tops20 621301ea0f4Smrg ;; 622301ea0f4Smrg delta | 3300 | motorola-3300 | motorola-delta \ 623301ea0f4Smrg | 3300-motorola | delta-motorola) 624301ea0f4Smrg basic_machine=m68k-motorola 625301ea0f4Smrg ;; 626301ea0f4Smrg delta88) 627301ea0f4Smrg basic_machine=m88k-motorola 628301ea0f4Smrg os=-sysv3 629301ea0f4Smrg ;; 630213fdd94Smrg dicos) 631213fdd94Smrg basic_machine=i686-pc 632213fdd94Smrg os=-dicos 633213fdd94Smrg ;; 6340cc67336Smrg djgpp) 6350cc67336Smrg basic_machine=i586-pc 6360cc67336Smrg os=-msdosdjgpp 6370cc67336Smrg ;; 638301ea0f4Smrg dpx20 | dpx20-*) 639301ea0f4Smrg basic_machine=rs6000-bull 640301ea0f4Smrg os=-bosx 641301ea0f4Smrg ;; 642301ea0f4Smrg dpx2* | dpx2*-bull) 643301ea0f4Smrg basic_machine=m68k-bull 644301ea0f4Smrg os=-sysv3 645301ea0f4Smrg ;; 646301ea0f4Smrg ebmon29k) 647301ea0f4Smrg basic_machine=a29k-amd 648301ea0f4Smrg os=-ebmon 649301ea0f4Smrg ;; 650301ea0f4Smrg elxsi) 651301ea0f4Smrg basic_machine=elxsi-elxsi 652301ea0f4Smrg os=-bsd 653301ea0f4Smrg ;; 654301ea0f4Smrg encore | umax | mmax) 655301ea0f4Smrg basic_machine=ns32k-encore 656301ea0f4Smrg ;; 657301ea0f4Smrg es1800 | OSE68k | ose68k | ose | OSE) 658301ea0f4Smrg basic_machine=m68k-ericsson 659301ea0f4Smrg os=-ose 660301ea0f4Smrg ;; 661301ea0f4Smrg fx2800) 662301ea0f4Smrg basic_machine=i860-alliant 663301ea0f4Smrg ;; 664301ea0f4Smrg genix) 665301ea0f4Smrg basic_machine=ns32k-ns 666301ea0f4Smrg ;; 667301ea0f4Smrg gmicro) 668301ea0f4Smrg basic_machine=tron-gmicro 669301ea0f4Smrg os=-sysv 670301ea0f4Smrg ;; 671301ea0f4Smrg go32) 672301ea0f4Smrg basic_machine=i386-pc 673301ea0f4Smrg os=-go32 674301ea0f4Smrg ;; 675301ea0f4Smrg h3050r* | hiux*) 676301ea0f4Smrg basic_machine=hppa1.1-hitachi 677301ea0f4Smrg os=-hiuxwe2 678301ea0f4Smrg ;; 679301ea0f4Smrg h8300hms) 680301ea0f4Smrg basic_machine=h8300-hitachi 681301ea0f4Smrg os=-hms 682301ea0f4Smrg ;; 683301ea0f4Smrg h8300xray) 684301ea0f4Smrg basic_machine=h8300-hitachi 685301ea0f4Smrg os=-xray 686301ea0f4Smrg ;; 687301ea0f4Smrg h8500hms) 688301ea0f4Smrg basic_machine=h8500-hitachi 689301ea0f4Smrg os=-hms 690301ea0f4Smrg ;; 691301ea0f4Smrg harris) 692301ea0f4Smrg basic_machine=m88k-harris 693301ea0f4Smrg os=-sysv3 694301ea0f4Smrg ;; 695301ea0f4Smrg hp300-*) 696301ea0f4Smrg basic_machine=m68k-hp 697301ea0f4Smrg ;; 698301ea0f4Smrg hp300bsd) 699301ea0f4Smrg basic_machine=m68k-hp 700301ea0f4Smrg os=-bsd 701301ea0f4Smrg ;; 702301ea0f4Smrg hp300hpux) 703301ea0f4Smrg basic_machine=m68k-hp 704301ea0f4Smrg os=-hpux 705301ea0f4Smrg ;; 706301ea0f4Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 707301ea0f4Smrg basic_machine=hppa1.0-hp 708301ea0f4Smrg ;; 709301ea0f4Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 710301ea0f4Smrg basic_machine=m68000-hp 711301ea0f4Smrg ;; 712301ea0f4Smrg hp9k3[2-9][0-9]) 713301ea0f4Smrg basic_machine=m68k-hp 714301ea0f4Smrg ;; 715301ea0f4Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 716301ea0f4Smrg basic_machine=hppa1.0-hp 717301ea0f4Smrg ;; 718301ea0f4Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 719301ea0f4Smrg basic_machine=hppa1.1-hp 720301ea0f4Smrg ;; 721301ea0f4Smrg hp9k78[0-9] | hp78[0-9]) 722301ea0f4Smrg # FIXME: really hppa2.0-hp 723301ea0f4Smrg basic_machine=hppa1.1-hp 724301ea0f4Smrg ;; 725301ea0f4Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 726301ea0f4Smrg # FIXME: really hppa2.0-hp 727301ea0f4Smrg basic_machine=hppa1.1-hp 728301ea0f4Smrg ;; 729301ea0f4Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 730301ea0f4Smrg basic_machine=hppa1.1-hp 731301ea0f4Smrg ;; 732301ea0f4Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 733301ea0f4Smrg basic_machine=hppa1.0-hp 734301ea0f4Smrg ;; 735301ea0f4Smrg hppa-next) 736301ea0f4Smrg os=-nextstep3 737301ea0f4Smrg ;; 738301ea0f4Smrg hppaosf) 739301ea0f4Smrg basic_machine=hppa1.1-hp 740301ea0f4Smrg os=-osf 741301ea0f4Smrg ;; 742301ea0f4Smrg hppro) 743301ea0f4Smrg basic_machine=hppa1.1-hp 744301ea0f4Smrg os=-proelf 745301ea0f4Smrg ;; 746301ea0f4Smrg i370-ibm* | ibm*) 747301ea0f4Smrg basic_machine=i370-ibm 748301ea0f4Smrg ;; 749301ea0f4Smrg i*86v32) 750301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 751301ea0f4Smrg os=-sysv32 752301ea0f4Smrg ;; 753301ea0f4Smrg i*86v4*) 754301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 755301ea0f4Smrg os=-sysv4 756301ea0f4Smrg ;; 757301ea0f4Smrg i*86v) 758301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 759301ea0f4Smrg os=-sysv 760301ea0f4Smrg ;; 761301ea0f4Smrg i*86sol2) 762301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 763301ea0f4Smrg os=-solaris2 764301ea0f4Smrg ;; 765301ea0f4Smrg i386mach) 766301ea0f4Smrg basic_machine=i386-mach 767301ea0f4Smrg os=-mach 768301ea0f4Smrg ;; 769301ea0f4Smrg i386-vsta | vsta) 770301ea0f4Smrg basic_machine=i386-unknown 771301ea0f4Smrg os=-vsta 772301ea0f4Smrg ;; 773301ea0f4Smrg iris | iris4d) 774301ea0f4Smrg basic_machine=mips-sgi 775301ea0f4Smrg case $os in 776301ea0f4Smrg -irix*) 777301ea0f4Smrg ;; 778301ea0f4Smrg *) 779301ea0f4Smrg os=-irix4 780301ea0f4Smrg ;; 781301ea0f4Smrg esac 782301ea0f4Smrg ;; 783301ea0f4Smrg isi68 | isi) 784301ea0f4Smrg basic_machine=m68k-isi 785301ea0f4Smrg os=-sysv 786301ea0f4Smrg ;; 78797ee6427Smrg leon-*|leon[3-9]-*) 78897ee6427Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 78997ee6427Smrg ;; 7900cc67336Smrg m68knommu) 7910cc67336Smrg basic_machine=m68k-unknown 7920cc67336Smrg os=-linux 7930cc67336Smrg ;; 7940cc67336Smrg m68knommu-*) 7950cc67336Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7960cc67336Smrg os=-linux 7970cc67336Smrg ;; 798301ea0f4Smrg m88k-omron*) 799301ea0f4Smrg basic_machine=m88k-omron 800301ea0f4Smrg ;; 801301ea0f4Smrg magnum | m3230) 802301ea0f4Smrg basic_machine=mips-mips 803301ea0f4Smrg os=-sysv 804301ea0f4Smrg ;; 805301ea0f4Smrg merlin) 806301ea0f4Smrg basic_machine=ns32k-utek 807301ea0f4Smrg os=-sysv 808301ea0f4Smrg ;; 80918552c8aSmrg microblaze*) 810213fdd94Smrg basic_machine=microblaze-xilinx 811213fdd94Smrg ;; 81218552c8aSmrg mingw64) 81318552c8aSmrg basic_machine=x86_64-pc 81418552c8aSmrg os=-mingw64 81518552c8aSmrg ;; 816301ea0f4Smrg mingw32) 81718552c8aSmrg basic_machine=i686-pc 818301ea0f4Smrg os=-mingw32 819301ea0f4Smrg ;; 8200cc67336Smrg mingw32ce) 8210cc67336Smrg basic_machine=arm-unknown 8220cc67336Smrg os=-mingw32ce 8230cc67336Smrg ;; 824301ea0f4Smrg miniframe) 825301ea0f4Smrg basic_machine=m68000-convergent 826301ea0f4Smrg ;; 827301ea0f4Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 828301ea0f4Smrg basic_machine=m68k-atari 829301ea0f4Smrg os=-mint 830301ea0f4Smrg ;; 83118552c8aSmrg mipsEE* | ee | ps2) 83218552c8aSmrg basic_machine=mips64r5900el-scei 83318552c8aSmrg case $os in 83418552c8aSmrg -linux*) 83518552c8aSmrg ;; 83618552c8aSmrg *) 83718552c8aSmrg os=-elf 83818552c8aSmrg ;; 83918552c8aSmrg esac 84018552c8aSmrg ;; 84118552c8aSmrg iop) 84218552c8aSmrg basic_machine=mipsel-scei 84318552c8aSmrg os=-irx 84418552c8aSmrg ;; 84518552c8aSmrg dvp) 84618552c8aSmrg basic_machine=dvp-scei 84718552c8aSmrg os=-elf 84818552c8aSmrg ;; 849301ea0f4Smrg mips3*-*) 850301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 851301ea0f4Smrg ;; 852301ea0f4Smrg mips3*) 853301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 854301ea0f4Smrg ;; 855301ea0f4Smrg monitor) 856301ea0f4Smrg basic_machine=m68k-rom68k 857301ea0f4Smrg os=-coff 858301ea0f4Smrg ;; 859301ea0f4Smrg morphos) 860301ea0f4Smrg basic_machine=powerpc-unknown 861301ea0f4Smrg os=-morphos 862301ea0f4Smrg ;; 86397ee6427Smrg moxiebox) 86497ee6427Smrg basic_machine=moxie-unknown 86597ee6427Smrg os=-moxiebox 86697ee6427Smrg ;; 867301ea0f4Smrg msdos) 868301ea0f4Smrg basic_machine=i386-pc 869301ea0f4Smrg os=-msdos 870301ea0f4Smrg ;; 8710cc67336Smrg ms1-*) 8720cc67336Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8730cc67336Smrg ;; 874213fdd94Smrg msys) 87518552c8aSmrg basic_machine=i686-pc 876213fdd94Smrg os=-msys 877213fdd94Smrg ;; 878301ea0f4Smrg mvs) 879301ea0f4Smrg basic_machine=i370-ibm 880301ea0f4Smrg os=-mvs 881301ea0f4Smrg ;; 882213fdd94Smrg nacl) 883213fdd94Smrg basic_machine=le32-unknown 884213fdd94Smrg os=-nacl 885213fdd94Smrg ;; 886301ea0f4Smrg ncr3000) 887301ea0f4Smrg basic_machine=i486-ncr 888301ea0f4Smrg os=-sysv4 889301ea0f4Smrg ;; 890301ea0f4Smrg netbsd386) 891301ea0f4Smrg basic_machine=i386-unknown 892301ea0f4Smrg os=-netbsd 893301ea0f4Smrg ;; 894301ea0f4Smrg netwinder) 895301ea0f4Smrg basic_machine=armv4l-rebel 896301ea0f4Smrg os=-linux 897301ea0f4Smrg ;; 898301ea0f4Smrg news | news700 | news800 | news900) 899301ea0f4Smrg basic_machine=m68k-sony 900301ea0f4Smrg os=-newsos 901301ea0f4Smrg ;; 902301ea0f4Smrg news1000) 903301ea0f4Smrg basic_machine=m68030-sony 904301ea0f4Smrg os=-newsos 905301ea0f4Smrg ;; 906301ea0f4Smrg news-3600 | risc-news) 907301ea0f4Smrg basic_machine=mips-sony 908301ea0f4Smrg os=-newsos 909301ea0f4Smrg ;; 910301ea0f4Smrg necv70) 911301ea0f4Smrg basic_machine=v70-nec 912301ea0f4Smrg os=-sysv 913301ea0f4Smrg ;; 914301ea0f4Smrg next | m*-next ) 915301ea0f4Smrg basic_machine=m68k-next 916301ea0f4Smrg case $os in 917301ea0f4Smrg -nextstep* ) 918301ea0f4Smrg ;; 919301ea0f4Smrg -ns2*) 920301ea0f4Smrg os=-nextstep2 921301ea0f4Smrg ;; 922301ea0f4Smrg *) 923301ea0f4Smrg os=-nextstep3 924301ea0f4Smrg ;; 925301ea0f4Smrg esac 926301ea0f4Smrg ;; 927301ea0f4Smrg nh3000) 928301ea0f4Smrg basic_machine=m68k-harris 929301ea0f4Smrg os=-cxux 930301ea0f4Smrg ;; 931301ea0f4Smrg nh[45]000) 932301ea0f4Smrg basic_machine=m88k-harris 933301ea0f4Smrg os=-cxux 934301ea0f4Smrg ;; 935301ea0f4Smrg nindy960) 936301ea0f4Smrg basic_machine=i960-intel 937301ea0f4Smrg os=-nindy 938301ea0f4Smrg ;; 939301ea0f4Smrg mon960) 940301ea0f4Smrg basic_machine=i960-intel 941301ea0f4Smrg os=-mon960 942301ea0f4Smrg ;; 943301ea0f4Smrg nonstopux) 944301ea0f4Smrg basic_machine=mips-compaq 945301ea0f4Smrg os=-nonstopux 946301ea0f4Smrg ;; 947301ea0f4Smrg np1) 948301ea0f4Smrg basic_machine=np1-gould 949301ea0f4Smrg ;; 950213fdd94Smrg neo-tandem) 951213fdd94Smrg basic_machine=neo-tandem 952213fdd94Smrg ;; 953213fdd94Smrg nse-tandem) 954213fdd94Smrg basic_machine=nse-tandem 955213fdd94Smrg ;; 956301ea0f4Smrg nsr-tandem) 957301ea0f4Smrg basic_machine=nsr-tandem 958301ea0f4Smrg ;; 959301ea0f4Smrg op50n-* | op60c-*) 960301ea0f4Smrg basic_machine=hppa1.1-oki 961301ea0f4Smrg os=-proelf 962301ea0f4Smrg ;; 9630cc67336Smrg openrisc | openrisc-*) 964301ea0f4Smrg basic_machine=or32-unknown 9650cc67336Smrg ;; 9660cc67336Smrg os400) 9670cc67336Smrg basic_machine=powerpc-ibm 9680cc67336Smrg os=-os400 969301ea0f4Smrg ;; 970301ea0f4Smrg OSE68000 | ose68000) 971301ea0f4Smrg basic_machine=m68000-ericsson 972301ea0f4Smrg os=-ose 973301ea0f4Smrg ;; 974301ea0f4Smrg os68k) 975301ea0f4Smrg basic_machine=m68k-none 976301ea0f4Smrg os=-os68k 977301ea0f4Smrg ;; 978301ea0f4Smrg pa-hitachi) 979301ea0f4Smrg basic_machine=hppa1.1-hitachi 980301ea0f4Smrg os=-hiuxwe2 981301ea0f4Smrg ;; 982301ea0f4Smrg paragon) 983301ea0f4Smrg basic_machine=i860-intel 984301ea0f4Smrg os=-osf 985301ea0f4Smrg ;; 9860cc67336Smrg parisc) 9870cc67336Smrg basic_machine=hppa-unknown 9880cc67336Smrg os=-linux 9890cc67336Smrg ;; 9900cc67336Smrg parisc-*) 9910cc67336Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9920cc67336Smrg os=-linux 9930cc67336Smrg ;; 994301ea0f4Smrg pbd) 995301ea0f4Smrg basic_machine=sparc-tti 996301ea0f4Smrg ;; 997301ea0f4Smrg pbb) 998301ea0f4Smrg basic_machine=m68k-tti 999301ea0f4Smrg ;; 1000301ea0f4Smrg pc532 | pc532-*) 1001301ea0f4Smrg basic_machine=ns32k-pc532 1002301ea0f4Smrg ;; 10030cc67336Smrg pc98) 10040cc67336Smrg basic_machine=i386-pc 10050cc67336Smrg ;; 10060cc67336Smrg pc98-*) 10070cc67336Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 10080cc67336Smrg ;; 1009301ea0f4Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 1010301ea0f4Smrg basic_machine=i586-pc 1011301ea0f4Smrg ;; 1012301ea0f4Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1013301ea0f4Smrg basic_machine=i686-pc 1014301ea0f4Smrg ;; 1015301ea0f4Smrg pentiumii | pentium2 | pentiumiii | pentium3) 1016301ea0f4Smrg basic_machine=i686-pc 1017301ea0f4Smrg ;; 1018301ea0f4Smrg pentium4) 1019301ea0f4Smrg basic_machine=i786-pc 1020301ea0f4Smrg ;; 1021301ea0f4Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1022301ea0f4Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1023301ea0f4Smrg ;; 1024301ea0f4Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1025301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1026301ea0f4Smrg ;; 1027301ea0f4Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1028301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1029301ea0f4Smrg ;; 1030301ea0f4Smrg pentium4-*) 1031301ea0f4Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1032301ea0f4Smrg ;; 1033301ea0f4Smrg pn) 1034301ea0f4Smrg basic_machine=pn-gould 1035301ea0f4Smrg ;; 1036301ea0f4Smrg power) basic_machine=power-ibm 1037301ea0f4Smrg ;; 1038213fdd94Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1039301ea0f4Smrg ;; 1040213fdd94Smrg ppc-* | ppcbe-*) 1041213fdd94Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1042301ea0f4Smrg ;; 1043301ea0f4Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1044301ea0f4Smrg basic_machine=powerpcle-unknown 1045301ea0f4Smrg ;; 1046301ea0f4Smrg ppcle-* | powerpclittle-*) 1047301ea0f4Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1048301ea0f4Smrg ;; 1049301ea0f4Smrg ppc64) basic_machine=powerpc64-unknown 1050301ea0f4Smrg ;; 1051301ea0f4Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1052301ea0f4Smrg ;; 1053301ea0f4Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1054301ea0f4Smrg basic_machine=powerpc64le-unknown 1055301ea0f4Smrg ;; 1056301ea0f4Smrg ppc64le-* | powerpc64little-*) 1057301ea0f4Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1058301ea0f4Smrg ;; 1059301ea0f4Smrg ps2) 1060301ea0f4Smrg basic_machine=i386-ibm 1061301ea0f4Smrg ;; 1062301ea0f4Smrg pw32) 1063301ea0f4Smrg basic_machine=i586-unknown 1064301ea0f4Smrg os=-pw32 1065301ea0f4Smrg ;; 106618552c8aSmrg rdos | rdos64) 106718552c8aSmrg basic_machine=x86_64-pc 106818552c8aSmrg os=-rdos 106918552c8aSmrg ;; 107018552c8aSmrg rdos32) 10710cc67336Smrg basic_machine=i386-pc 10720cc67336Smrg os=-rdos 10730cc67336Smrg ;; 1074301ea0f4Smrg rom68k) 1075301ea0f4Smrg basic_machine=m68k-rom68k 1076301ea0f4Smrg os=-coff 1077301ea0f4Smrg ;; 1078301ea0f4Smrg rm[46]00) 1079301ea0f4Smrg basic_machine=mips-siemens 1080301ea0f4Smrg ;; 1081301ea0f4Smrg rtpc | rtpc-*) 1082301ea0f4Smrg basic_machine=romp-ibm 1083301ea0f4Smrg ;; 10840cc67336Smrg s390 | s390-*) 10850cc67336Smrg basic_machine=s390-ibm 10860cc67336Smrg ;; 10870cc67336Smrg s390x | s390x-*) 10880cc67336Smrg basic_machine=s390x-ibm 10890cc67336Smrg ;; 1090301ea0f4Smrg sa29200) 1091301ea0f4Smrg basic_machine=a29k-amd 1092301ea0f4Smrg os=-udi 1093301ea0f4Smrg ;; 1094301ea0f4Smrg sb1) 1095301ea0f4Smrg basic_machine=mipsisa64sb1-unknown 1096301ea0f4Smrg ;; 1097301ea0f4Smrg sb1el) 1098301ea0f4Smrg basic_machine=mipsisa64sb1el-unknown 1099301ea0f4Smrg ;; 11000cc67336Smrg sde) 11010cc67336Smrg basic_machine=mipsisa32-sde 11020cc67336Smrg os=-elf 11030cc67336Smrg ;; 1104301ea0f4Smrg sei) 1105301ea0f4Smrg basic_machine=mips-sei 1106301ea0f4Smrg os=-seiux 1107301ea0f4Smrg ;; 1108301ea0f4Smrg sequent) 1109301ea0f4Smrg basic_machine=i386-sequent 1110301ea0f4Smrg ;; 1111301ea0f4Smrg sh) 1112301ea0f4Smrg basic_machine=sh-hitachi 1113301ea0f4Smrg os=-hms 1114301ea0f4Smrg ;; 11150cc67336Smrg sh5el) 11160cc67336Smrg basic_machine=sh5le-unknown 11170cc67336Smrg ;; 1118301ea0f4Smrg sh64) 1119301ea0f4Smrg basic_machine=sh64-unknown 1120301ea0f4Smrg ;; 1121301ea0f4Smrg sparclite-wrs | simso-wrs) 1122301ea0f4Smrg basic_machine=sparclite-wrs 1123301ea0f4Smrg os=-vxworks 1124301ea0f4Smrg ;; 1125301ea0f4Smrg sps7) 1126301ea0f4Smrg basic_machine=m68k-bull 1127301ea0f4Smrg os=-sysv2 1128301ea0f4Smrg ;; 1129301ea0f4Smrg spur) 1130301ea0f4Smrg basic_machine=spur-unknown 1131301ea0f4Smrg ;; 1132301ea0f4Smrg st2000) 1133301ea0f4Smrg basic_machine=m68k-tandem 1134301ea0f4Smrg ;; 1135301ea0f4Smrg stratus) 1136301ea0f4Smrg basic_machine=i860-stratus 1137301ea0f4Smrg os=-sysv4 1138301ea0f4Smrg ;; 1139213fdd94Smrg strongarm-* | thumb-*) 1140213fdd94Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1141213fdd94Smrg ;; 1142301ea0f4Smrg sun2) 1143301ea0f4Smrg basic_machine=m68000-sun 1144301ea0f4Smrg ;; 1145301ea0f4Smrg sun2os3) 1146301ea0f4Smrg basic_machine=m68000-sun 1147301ea0f4Smrg os=-sunos3 1148301ea0f4Smrg ;; 1149301ea0f4Smrg sun2os4) 1150301ea0f4Smrg basic_machine=m68000-sun 1151301ea0f4Smrg os=-sunos4 1152301ea0f4Smrg ;; 1153301ea0f4Smrg sun3os3) 1154301ea0f4Smrg basic_machine=m68k-sun 1155301ea0f4Smrg os=-sunos3 1156301ea0f4Smrg ;; 1157301ea0f4Smrg sun3os4) 1158301ea0f4Smrg basic_machine=m68k-sun 1159301ea0f4Smrg os=-sunos4 1160301ea0f4Smrg ;; 1161301ea0f4Smrg sun4os3) 1162301ea0f4Smrg basic_machine=sparc-sun 1163301ea0f4Smrg os=-sunos3 1164301ea0f4Smrg ;; 1165301ea0f4Smrg sun4os4) 1166301ea0f4Smrg basic_machine=sparc-sun 1167301ea0f4Smrg os=-sunos4 1168301ea0f4Smrg ;; 1169301ea0f4Smrg sun4sol2) 1170301ea0f4Smrg basic_machine=sparc-sun 1171301ea0f4Smrg os=-solaris2 1172301ea0f4Smrg ;; 1173301ea0f4Smrg sun3 | sun3-*) 1174301ea0f4Smrg basic_machine=m68k-sun 1175301ea0f4Smrg ;; 1176301ea0f4Smrg sun4) 1177301ea0f4Smrg basic_machine=sparc-sun 1178301ea0f4Smrg ;; 1179301ea0f4Smrg sun386 | sun386i | roadrunner) 1180301ea0f4Smrg basic_machine=i386-sun 1181301ea0f4Smrg ;; 1182301ea0f4Smrg sv1) 1183301ea0f4Smrg basic_machine=sv1-cray 1184301ea0f4Smrg os=-unicos 1185301ea0f4Smrg ;; 1186301ea0f4Smrg symmetry) 1187301ea0f4Smrg basic_machine=i386-sequent 1188301ea0f4Smrg os=-dynix 1189301ea0f4Smrg ;; 1190301ea0f4Smrg t3e) 1191301ea0f4Smrg basic_machine=alphaev5-cray 1192301ea0f4Smrg os=-unicos 1193301ea0f4Smrg ;; 1194301ea0f4Smrg t90) 1195301ea0f4Smrg basic_machine=t90-cray 1196301ea0f4Smrg os=-unicos 1197301ea0f4Smrg ;; 11980cc67336Smrg tile*) 1199213fdd94Smrg basic_machine=$basic_machine-unknown 12000cc67336Smrg os=-linux-gnu 12010cc67336Smrg ;; 1202301ea0f4Smrg tx39) 1203301ea0f4Smrg basic_machine=mipstx39-unknown 1204301ea0f4Smrg ;; 1205301ea0f4Smrg tx39el) 1206301ea0f4Smrg basic_machine=mipstx39el-unknown 1207301ea0f4Smrg ;; 1208301ea0f4Smrg toad1) 1209301ea0f4Smrg basic_machine=pdp10-xkl 1210301ea0f4Smrg os=-tops20 1211301ea0f4Smrg ;; 1212301ea0f4Smrg tower | tower-32) 1213301ea0f4Smrg basic_machine=m68k-ncr 1214301ea0f4Smrg ;; 12150cc67336Smrg tpf) 12160cc67336Smrg basic_machine=s390x-ibm 12170cc67336Smrg os=-tpf 12180cc67336Smrg ;; 1219301ea0f4Smrg udi29k) 1220301ea0f4Smrg basic_machine=a29k-amd 1221301ea0f4Smrg os=-udi 1222301ea0f4Smrg ;; 1223301ea0f4Smrg ultra3) 1224301ea0f4Smrg basic_machine=a29k-nyu 1225301ea0f4Smrg os=-sym1 1226301ea0f4Smrg ;; 1227301ea0f4Smrg v810 | necv810) 1228301ea0f4Smrg basic_machine=v810-nec 1229301ea0f4Smrg os=-none 1230301ea0f4Smrg ;; 1231301ea0f4Smrg vaxv) 1232301ea0f4Smrg basic_machine=vax-dec 1233301ea0f4Smrg os=-sysv 1234301ea0f4Smrg ;; 1235301ea0f4Smrg vms) 1236301ea0f4Smrg basic_machine=vax-dec 1237301ea0f4Smrg os=-vms 1238301ea0f4Smrg ;; 1239301ea0f4Smrg vpp*|vx|vx-*) 1240301ea0f4Smrg basic_machine=f301-fujitsu 1241301ea0f4Smrg ;; 1242301ea0f4Smrg vxworks960) 1243301ea0f4Smrg basic_machine=i960-wrs 1244301ea0f4Smrg os=-vxworks 1245301ea0f4Smrg ;; 1246301ea0f4Smrg vxworks68) 1247301ea0f4Smrg basic_machine=m68k-wrs 1248301ea0f4Smrg os=-vxworks 1249301ea0f4Smrg ;; 1250301ea0f4Smrg vxworks29k) 1251301ea0f4Smrg basic_machine=a29k-wrs 1252301ea0f4Smrg os=-vxworks 1253301ea0f4Smrg ;; 1254301ea0f4Smrg w65*) 1255301ea0f4Smrg basic_machine=w65-wdc 1256301ea0f4Smrg os=-none 1257301ea0f4Smrg ;; 1258301ea0f4Smrg w89k-*) 1259301ea0f4Smrg basic_machine=hppa1.1-winbond 1260301ea0f4Smrg os=-proelf 1261301ea0f4Smrg ;; 12620cc67336Smrg xbox) 12630cc67336Smrg basic_machine=i686-pc 12640cc67336Smrg os=-mingw32 12650cc67336Smrg ;; 1266301ea0f4Smrg xps | xps100) 1267301ea0f4Smrg basic_machine=xps100-honeywell 1268301ea0f4Smrg ;; 1269213fdd94Smrg xscale-* | xscalee[bl]-*) 1270213fdd94Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1271213fdd94Smrg ;; 1272301ea0f4Smrg ymp) 1273301ea0f4Smrg basic_machine=ymp-cray 1274301ea0f4Smrg os=-unicos 1275301ea0f4Smrg ;; 1276301ea0f4Smrg z8k-*-coff) 1277301ea0f4Smrg basic_machine=z8k-unknown 1278301ea0f4Smrg os=-sim 1279301ea0f4Smrg ;; 1280213fdd94Smrg z80-*-coff) 1281213fdd94Smrg basic_machine=z80-unknown 1282213fdd94Smrg os=-sim 1283213fdd94Smrg ;; 1284301ea0f4Smrg none) 1285301ea0f4Smrg basic_machine=none-none 1286301ea0f4Smrg os=-none 1287301ea0f4Smrg ;; 1288301ea0f4Smrg 1289301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1290301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular. 1291301ea0f4Smrg w89k) 1292301ea0f4Smrg basic_machine=hppa1.1-winbond 1293301ea0f4Smrg ;; 1294301ea0f4Smrg op50n) 1295301ea0f4Smrg basic_machine=hppa1.1-oki 1296301ea0f4Smrg ;; 1297301ea0f4Smrg op60c) 1298301ea0f4Smrg basic_machine=hppa1.1-oki 1299301ea0f4Smrg ;; 1300301ea0f4Smrg romp) 1301301ea0f4Smrg basic_machine=romp-ibm 1302301ea0f4Smrg ;; 13030cc67336Smrg mmix) 13040cc67336Smrg basic_machine=mmix-knuth 13050cc67336Smrg ;; 1306301ea0f4Smrg rs6000) 1307301ea0f4Smrg basic_machine=rs6000-ibm 1308301ea0f4Smrg ;; 1309301ea0f4Smrg vax) 1310301ea0f4Smrg basic_machine=vax-dec 1311301ea0f4Smrg ;; 1312301ea0f4Smrg pdp10) 1313301ea0f4Smrg # there are many clones, so DEC is not a safe bet 1314301ea0f4Smrg basic_machine=pdp10-unknown 1315301ea0f4Smrg ;; 1316301ea0f4Smrg pdp11) 1317301ea0f4Smrg basic_machine=pdp11-dec 1318301ea0f4Smrg ;; 1319301ea0f4Smrg we32k) 1320301ea0f4Smrg basic_machine=we32k-att 1321301ea0f4Smrg ;; 1322213fdd94Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1323301ea0f4Smrg basic_machine=sh-unknown 1324301ea0f4Smrg ;; 13250cc67336Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1326301ea0f4Smrg basic_machine=sparc-sun 1327301ea0f4Smrg ;; 1328301ea0f4Smrg cydra) 1329301ea0f4Smrg basic_machine=cydra-cydrome 1330301ea0f4Smrg ;; 1331301ea0f4Smrg orion) 1332301ea0f4Smrg basic_machine=orion-highlevel 1333301ea0f4Smrg ;; 1334301ea0f4Smrg orion105) 1335301ea0f4Smrg basic_machine=clipper-highlevel 1336301ea0f4Smrg ;; 1337301ea0f4Smrg mac | mpw | mac-mpw) 1338301ea0f4Smrg basic_machine=m68k-apple 1339301ea0f4Smrg ;; 1340301ea0f4Smrg pmac | pmac-mpw) 1341301ea0f4Smrg basic_machine=powerpc-apple 1342301ea0f4Smrg ;; 1343301ea0f4Smrg *-unknown) 1344301ea0f4Smrg # Make sure to match an already-canonicalized machine name. 1345301ea0f4Smrg ;; 1346301ea0f4Smrg *) 1347301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1348301ea0f4Smrg exit 1 1349301ea0f4Smrg ;; 1350301ea0f4Smrgesac 1351301ea0f4Smrg 1352301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers. 1353301ea0f4Smrgcase $basic_machine in 1354301ea0f4Smrg *-digital*) 1355301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1356301ea0f4Smrg ;; 1357301ea0f4Smrg *-commodore*) 1358301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1359301ea0f4Smrg ;; 1360301ea0f4Smrg *) 1361301ea0f4Smrg ;; 1362301ea0f4Smrgesac 1363301ea0f4Smrg 1364301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems. 1365301ea0f4Smrg 1366301ea0f4Smrgif [ x"$os" != x"" ] 1367301ea0f4Smrgthen 1368301ea0f4Smrgcase $os in 1369213fdd94Smrg # First match some system type aliases 1370213fdd94Smrg # that might get confused with valid system types. 1371301ea0f4Smrg # -solaris* is a basic system type, with this one exception. 1372213fdd94Smrg -auroraux) 1373213fdd94Smrg os=-auroraux 1374213fdd94Smrg ;; 1375301ea0f4Smrg -solaris1 | -solaris1.*) 1376301ea0f4Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1377301ea0f4Smrg ;; 1378301ea0f4Smrg -solaris) 1379301ea0f4Smrg os=-solaris2 1380301ea0f4Smrg ;; 1381301ea0f4Smrg -svr4*) 1382301ea0f4Smrg os=-sysv4 1383301ea0f4Smrg ;; 1384301ea0f4Smrg -unixware*) 1385301ea0f4Smrg os=-sysv4.2uw 1386301ea0f4Smrg ;; 1387301ea0f4Smrg -gnu/linux*) 1388301ea0f4Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1389301ea0f4Smrg ;; 1390301ea0f4Smrg # First accept the basic system types. 1391301ea0f4Smrg # The portable systems comes first. 1392301ea0f4Smrg # Each alternative MUST END IN A *, to match a version number. 1393301ea0f4Smrg # -sysv* is not here because it comes later, after sysvr4. 1394301ea0f4Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1395213fdd94Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1396213fdd94Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 139718552c8aSmrg | -sym* | -kopensolaris* | -plan9* \ 1398301ea0f4Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 139997ee6427Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1400301ea0f4Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1401301ea0f4Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 14020cc67336Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 140397ee6427Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 14040cc67336Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 14050cc67336Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1406301ea0f4Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1407301ea0f4Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1408213fdd94Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1409213fdd94Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 141018552c8aSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 141118552c8aSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 141297ee6427Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1413301ea0f4Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1414301ea0f4Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 141518552c8aSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \ 1416301ea0f4Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1417301ea0f4Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 14180cc67336Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 141997ee6427Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 142097ee6427Smrg | -onefs* | -tirtos*) 1421301ea0f4Smrg # Remember, each alternative MUST END IN *, to match a version number. 1422301ea0f4Smrg ;; 1423301ea0f4Smrg -qnx*) 1424301ea0f4Smrg case $basic_machine in 1425301ea0f4Smrg x86-* | i*86-*) 1426301ea0f4Smrg ;; 1427301ea0f4Smrg *) 1428301ea0f4Smrg os=-nto$os 1429301ea0f4Smrg ;; 1430301ea0f4Smrg esac 1431301ea0f4Smrg ;; 1432301ea0f4Smrg -nto-qnx*) 1433301ea0f4Smrg ;; 1434301ea0f4Smrg -nto*) 1435301ea0f4Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1436301ea0f4Smrg ;; 1437301ea0f4Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14380cc67336Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1439301ea0f4Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1440301ea0f4Smrg ;; 1441301ea0f4Smrg -mac*) 1442301ea0f4Smrg os=`echo $os | sed -e 's|mac|macos|'` 1443301ea0f4Smrg ;; 14440cc67336Smrg -linux-dietlibc) 14450cc67336Smrg os=-linux-dietlibc 14460cc67336Smrg ;; 1447301ea0f4Smrg -linux*) 1448301ea0f4Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1449301ea0f4Smrg ;; 1450301ea0f4Smrg -sunos5*) 1451301ea0f4Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1452301ea0f4Smrg ;; 1453301ea0f4Smrg -sunos6*) 1454301ea0f4Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1455301ea0f4Smrg ;; 1456301ea0f4Smrg -opened*) 1457301ea0f4Smrg os=-openedition 1458301ea0f4Smrg ;; 1459213fdd94Smrg -os400*) 14600cc67336Smrg os=-os400 14610cc67336Smrg ;; 1462301ea0f4Smrg -wince*) 1463301ea0f4Smrg os=-wince 1464301ea0f4Smrg ;; 1465301ea0f4Smrg -osfrose*) 1466301ea0f4Smrg os=-osfrose 1467301ea0f4Smrg ;; 1468301ea0f4Smrg -osf*) 1469301ea0f4Smrg os=-osf 1470301ea0f4Smrg ;; 1471301ea0f4Smrg -utek*) 1472301ea0f4Smrg os=-bsd 1473301ea0f4Smrg ;; 1474301ea0f4Smrg -dynix*) 1475301ea0f4Smrg os=-bsd 1476301ea0f4Smrg ;; 1477301ea0f4Smrg -acis*) 1478301ea0f4Smrg os=-aos 1479301ea0f4Smrg ;; 1480301ea0f4Smrg -atheos*) 1481301ea0f4Smrg os=-atheos 1482301ea0f4Smrg ;; 14830cc67336Smrg -syllable*) 14840cc67336Smrg os=-syllable 14850cc67336Smrg ;; 1486301ea0f4Smrg -386bsd) 1487301ea0f4Smrg os=-bsd 1488301ea0f4Smrg ;; 1489301ea0f4Smrg -ctix* | -uts*) 1490301ea0f4Smrg os=-sysv 1491301ea0f4Smrg ;; 1492301ea0f4Smrg -nova*) 1493301ea0f4Smrg os=-rtmk-nova 1494301ea0f4Smrg ;; 1495301ea0f4Smrg -ns2 ) 1496301ea0f4Smrg os=-nextstep2 1497301ea0f4Smrg ;; 1498301ea0f4Smrg -nsk*) 1499301ea0f4Smrg os=-nsk 1500301ea0f4Smrg ;; 1501301ea0f4Smrg # Preserve the version number of sinix5. 1502301ea0f4Smrg -sinix5.*) 1503301ea0f4Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1504301ea0f4Smrg ;; 1505301ea0f4Smrg -sinix*) 1506301ea0f4Smrg os=-sysv4 1507301ea0f4Smrg ;; 1508213fdd94Smrg -tpf*) 15090cc67336Smrg os=-tpf 15100cc67336Smrg ;; 1511301ea0f4Smrg -triton*) 1512301ea0f4Smrg os=-sysv3 1513301ea0f4Smrg ;; 1514301ea0f4Smrg -oss*) 1515301ea0f4Smrg os=-sysv3 1516301ea0f4Smrg ;; 1517301ea0f4Smrg -svr4) 1518301ea0f4Smrg os=-sysv4 1519301ea0f4Smrg ;; 1520301ea0f4Smrg -svr3) 1521301ea0f4Smrg os=-sysv3 1522301ea0f4Smrg ;; 1523301ea0f4Smrg -sysvr4) 1524301ea0f4Smrg os=-sysv4 1525301ea0f4Smrg ;; 1526301ea0f4Smrg # This must come after -sysvr4. 1527301ea0f4Smrg -sysv*) 1528301ea0f4Smrg ;; 1529301ea0f4Smrg -ose*) 1530301ea0f4Smrg os=-ose 1531301ea0f4Smrg ;; 1532301ea0f4Smrg -es1800*) 1533301ea0f4Smrg os=-ose 1534301ea0f4Smrg ;; 1535301ea0f4Smrg -xenix) 1536301ea0f4Smrg os=-xenix 1537301ea0f4Smrg ;; 1538301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1539301ea0f4Smrg os=-mint 1540301ea0f4Smrg ;; 1541301ea0f4Smrg -aros*) 1542301ea0f4Smrg os=-aros 1543301ea0f4Smrg ;; 15440cc67336Smrg -zvmoe) 15450cc67336Smrg os=-zvmoe 15460cc67336Smrg ;; 1547213fdd94Smrg -dicos*) 1548213fdd94Smrg os=-dicos 1549213fdd94Smrg ;; 1550213fdd94Smrg -nacl*) 1551213fdd94Smrg ;; 155297ee6427Smrg -ios) 155397ee6427Smrg ;; 1554301ea0f4Smrg -none) 1555301ea0f4Smrg ;; 1556301ea0f4Smrg *) 1557301ea0f4Smrg # Get rid of the `-' at the beginning of $os. 1558301ea0f4Smrg os=`echo $os | sed 's/[^-]*-//'` 1559301ea0f4Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1560301ea0f4Smrg exit 1 1561301ea0f4Smrg ;; 1562301ea0f4Smrgesac 1563301ea0f4Smrgelse 1564301ea0f4Smrg 1565301ea0f4Smrg# Here we handle the default operating systems that come with various machines. 1566301ea0f4Smrg# The value should be what the vendor currently ships out the door with their 1567301ea0f4Smrg# machine or put another way, the most popular os provided with the machine. 1568301ea0f4Smrg 1569301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1570301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top 1571301ea0f4Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1572301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating 1573301ea0f4Smrg# system, and we'll never get to this point. 1574301ea0f4Smrg 1575301ea0f4Smrgcase $basic_machine in 1576213fdd94Smrg score-*) 15770cc67336Smrg os=-elf 15780cc67336Smrg ;; 1579213fdd94Smrg spu-*) 15800cc67336Smrg os=-elf 15810cc67336Smrg ;; 1582301ea0f4Smrg *-acorn) 1583301ea0f4Smrg os=-riscix1.2 1584301ea0f4Smrg ;; 1585301ea0f4Smrg arm*-rebel) 1586301ea0f4Smrg os=-linux 1587301ea0f4Smrg ;; 1588301ea0f4Smrg arm*-semi) 1589301ea0f4Smrg os=-aout 1590301ea0f4Smrg ;; 1591213fdd94Smrg c4x-* | tic4x-*) 1592213fdd94Smrg os=-coff 1593213fdd94Smrg ;; 159418552c8aSmrg c8051-*) 159518552c8aSmrg os=-elf 159618552c8aSmrg ;; 159718552c8aSmrg hexagon-*) 159818552c8aSmrg os=-elf 159918552c8aSmrg ;; 1600213fdd94Smrg tic54x-*) 1601213fdd94Smrg os=-coff 1602213fdd94Smrg ;; 1603213fdd94Smrg tic55x-*) 1604213fdd94Smrg os=-coff 1605213fdd94Smrg ;; 1606213fdd94Smrg tic6x-*) 1607213fdd94Smrg os=-coff 1608301ea0f4Smrg ;; 1609301ea0f4Smrg # This must come before the *-dec entry. 1610301ea0f4Smrg pdp10-*) 1611301ea0f4Smrg os=-tops20 1612301ea0f4Smrg ;; 1613301ea0f4Smrg pdp11-*) 1614301ea0f4Smrg os=-none 1615301ea0f4Smrg ;; 1616301ea0f4Smrg *-dec | vax-*) 1617301ea0f4Smrg os=-ultrix4.2 1618301ea0f4Smrg ;; 1619301ea0f4Smrg m68*-apollo) 1620301ea0f4Smrg os=-domain 1621301ea0f4Smrg ;; 1622301ea0f4Smrg i386-sun) 1623301ea0f4Smrg os=-sunos4.0.2 1624301ea0f4Smrg ;; 1625301ea0f4Smrg m68000-sun) 1626301ea0f4Smrg os=-sunos3 1627301ea0f4Smrg ;; 1628301ea0f4Smrg m68*-cisco) 1629301ea0f4Smrg os=-aout 1630301ea0f4Smrg ;; 1631213fdd94Smrg mep-*) 16320cc67336Smrg os=-elf 16330cc67336Smrg ;; 1634301ea0f4Smrg mips*-cisco) 1635301ea0f4Smrg os=-elf 1636301ea0f4Smrg ;; 1637301ea0f4Smrg mips*-*) 1638301ea0f4Smrg os=-elf 1639301ea0f4Smrg ;; 1640301ea0f4Smrg or32-*) 1641301ea0f4Smrg os=-coff 1642301ea0f4Smrg ;; 1643301ea0f4Smrg *-tti) # must be before sparc entry or we get the wrong os. 1644301ea0f4Smrg os=-sysv3 1645301ea0f4Smrg ;; 1646301ea0f4Smrg sparc-* | *-sun) 1647301ea0f4Smrg os=-sunos4.1.1 1648301ea0f4Smrg ;; 1649301ea0f4Smrg *-be) 1650301ea0f4Smrg os=-beos 1651301ea0f4Smrg ;; 16520cc67336Smrg *-haiku) 16530cc67336Smrg os=-haiku 16540cc67336Smrg ;; 1655301ea0f4Smrg *-ibm) 1656301ea0f4Smrg os=-aix 1657301ea0f4Smrg ;; 1658213fdd94Smrg *-knuth) 16590cc67336Smrg os=-mmixware 16600cc67336Smrg ;; 1661301ea0f4Smrg *-wec) 1662301ea0f4Smrg os=-proelf 1663301ea0f4Smrg ;; 1664301ea0f4Smrg *-winbond) 1665301ea0f4Smrg os=-proelf 1666301ea0f4Smrg ;; 1667301ea0f4Smrg *-oki) 1668301ea0f4Smrg os=-proelf 1669301ea0f4Smrg ;; 1670301ea0f4Smrg *-hp) 1671301ea0f4Smrg os=-hpux 1672301ea0f4Smrg ;; 1673301ea0f4Smrg *-hitachi) 1674301ea0f4Smrg os=-hiux 1675301ea0f4Smrg ;; 1676301ea0f4Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1677301ea0f4Smrg os=-sysv 1678301ea0f4Smrg ;; 1679301ea0f4Smrg *-cbm) 1680301ea0f4Smrg os=-amigaos 1681301ea0f4Smrg ;; 1682301ea0f4Smrg *-dg) 1683301ea0f4Smrg os=-dgux 1684301ea0f4Smrg ;; 1685301ea0f4Smrg *-dolphin) 1686301ea0f4Smrg os=-sysv3 1687301ea0f4Smrg ;; 1688301ea0f4Smrg m68k-ccur) 1689301ea0f4Smrg os=-rtu 1690301ea0f4Smrg ;; 1691301ea0f4Smrg m88k-omron*) 1692301ea0f4Smrg os=-luna 1693301ea0f4Smrg ;; 1694301ea0f4Smrg *-next ) 1695301ea0f4Smrg os=-nextstep 1696301ea0f4Smrg ;; 1697301ea0f4Smrg *-sequent) 1698301ea0f4Smrg os=-ptx 1699301ea0f4Smrg ;; 1700301ea0f4Smrg *-crds) 1701301ea0f4Smrg os=-unos 1702301ea0f4Smrg ;; 1703301ea0f4Smrg *-ns) 1704301ea0f4Smrg os=-genix 1705301ea0f4Smrg ;; 1706301ea0f4Smrg i370-*) 1707301ea0f4Smrg os=-mvs 1708301ea0f4Smrg ;; 1709301ea0f4Smrg *-next) 1710301ea0f4Smrg os=-nextstep3 1711301ea0f4Smrg ;; 1712301ea0f4Smrg *-gould) 1713301ea0f4Smrg os=-sysv 1714301ea0f4Smrg ;; 1715301ea0f4Smrg *-highlevel) 1716301ea0f4Smrg os=-bsd 1717301ea0f4Smrg ;; 1718301ea0f4Smrg *-encore) 1719301ea0f4Smrg os=-bsd 1720301ea0f4Smrg ;; 1721301ea0f4Smrg *-sgi) 1722301ea0f4Smrg os=-irix 1723301ea0f4Smrg ;; 1724301ea0f4Smrg *-siemens) 1725301ea0f4Smrg os=-sysv4 1726301ea0f4Smrg ;; 1727301ea0f4Smrg *-masscomp) 1728301ea0f4Smrg os=-rtu 1729301ea0f4Smrg ;; 1730301ea0f4Smrg f30[01]-fujitsu | f700-fujitsu) 1731301ea0f4Smrg os=-uxpv 1732301ea0f4Smrg ;; 1733301ea0f4Smrg *-rom68k) 1734301ea0f4Smrg os=-coff 1735301ea0f4Smrg ;; 1736301ea0f4Smrg *-*bug) 1737301ea0f4Smrg os=-coff 1738301ea0f4Smrg ;; 1739301ea0f4Smrg *-apple) 1740301ea0f4Smrg os=-macos 1741301ea0f4Smrg ;; 1742301ea0f4Smrg *-atari*) 1743301ea0f4Smrg os=-mint 1744301ea0f4Smrg ;; 1745301ea0f4Smrg *) 1746301ea0f4Smrg os=-none 1747301ea0f4Smrg ;; 1748301ea0f4Smrgesac 1749301ea0f4Smrgfi 1750301ea0f4Smrg 1751301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1752301ea0f4Smrg# manufacturer. We pick the logical manufacturer. 1753301ea0f4Smrgvendor=unknown 1754301ea0f4Smrgcase $basic_machine in 1755301ea0f4Smrg *-unknown) 1756301ea0f4Smrg case $os in 1757301ea0f4Smrg -riscix*) 1758301ea0f4Smrg vendor=acorn 1759301ea0f4Smrg ;; 1760301ea0f4Smrg -sunos*) 1761301ea0f4Smrg vendor=sun 1762301ea0f4Smrg ;; 1763213fdd94Smrg -cnk*|-aix*) 1764301ea0f4Smrg vendor=ibm 1765301ea0f4Smrg ;; 1766301ea0f4Smrg -beos*) 1767301ea0f4Smrg vendor=be 1768301ea0f4Smrg ;; 1769301ea0f4Smrg -hpux*) 1770301ea0f4Smrg vendor=hp 1771301ea0f4Smrg ;; 1772301ea0f4Smrg -mpeix*) 1773301ea0f4Smrg vendor=hp 1774301ea0f4Smrg ;; 1775301ea0f4Smrg -hiux*) 1776301ea0f4Smrg vendor=hitachi 1777301ea0f4Smrg ;; 1778301ea0f4Smrg -unos*) 1779301ea0f4Smrg vendor=crds 1780301ea0f4Smrg ;; 1781301ea0f4Smrg -dgux*) 1782301ea0f4Smrg vendor=dg 1783301ea0f4Smrg ;; 1784301ea0f4Smrg -luna*) 1785301ea0f4Smrg vendor=omron 1786301ea0f4Smrg ;; 1787301ea0f4Smrg -genix*) 1788301ea0f4Smrg vendor=ns 1789301ea0f4Smrg ;; 1790301ea0f4Smrg -mvs* | -opened*) 1791301ea0f4Smrg vendor=ibm 1792301ea0f4Smrg ;; 17930cc67336Smrg -os400*) 17940cc67336Smrg vendor=ibm 17950cc67336Smrg ;; 1796301ea0f4Smrg -ptx*) 1797301ea0f4Smrg vendor=sequent 1798301ea0f4Smrg ;; 17990cc67336Smrg -tpf*) 18000cc67336Smrg vendor=ibm 18010cc67336Smrg ;; 1802301ea0f4Smrg -vxsim* | -vxworks* | -windiss*) 1803301ea0f4Smrg vendor=wrs 1804301ea0f4Smrg ;; 1805301ea0f4Smrg -aux*) 1806301ea0f4Smrg vendor=apple 1807301ea0f4Smrg ;; 1808301ea0f4Smrg -hms*) 1809301ea0f4Smrg vendor=hitachi 1810301ea0f4Smrg ;; 1811301ea0f4Smrg -mpw* | -macos*) 1812301ea0f4Smrg vendor=apple 1813301ea0f4Smrg ;; 1814301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1815301ea0f4Smrg vendor=atari 1816301ea0f4Smrg ;; 1817301ea0f4Smrg -vos*) 1818301ea0f4Smrg vendor=stratus 1819301ea0f4Smrg ;; 1820301ea0f4Smrg esac 1821301ea0f4Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1822301ea0f4Smrg ;; 1823301ea0f4Smrgesac 1824301ea0f4Smrg 1825301ea0f4Smrgecho $basic_machine$os 18260cc67336Smrgexit 1827301ea0f4Smrg 1828301ea0f4Smrg# Local variables: 1829301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1830301ea0f4Smrg# time-stamp-start: "timestamp='" 1831301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d" 1832301ea0f4Smrg# time-stamp-end: "'" 1833301ea0f4Smrg# End: 1834