1301ea0f4Smrg#! /bin/sh 2301ea0f4Smrg# Configuration validation subroutine script. 3d94624a0Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 4301ea0f4Smrg 5d94624a0Smrgtimestamp='2015-08-20' 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: 36d94624a0Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 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="\ 56d94624a0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 57d94624a0Smrg $0 [OPTION] ALIAS 58301ea0f4Smrg 59301ea0f4SmrgCanonicalize a configuration name. 60301ea0f4Smrg 61301ea0f4SmrgOperation modes: 62301ea0f4Smrg -h, --help print this help, then exit 63301ea0f4Smrg -t, --time-stamp print date of last modification, then exit 64301ea0f4Smrg -v, --version print version number, then exit 65301ea0f4Smrg 66301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>." 67301ea0f4Smrg 68301ea0f4Smrgversion="\ 69301ea0f4SmrgGNU config.sub ($timestamp) 70301ea0f4Smrg 71d94624a0SmrgCopyright 1992-2015 Free Software Foundation, Inc. 72301ea0f4Smrg 73301ea0f4SmrgThis is free software; see the source for copying conditions. There is NO 74301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75301ea0f4Smrg 76301ea0f4Smrghelp=" 77301ea0f4SmrgTry \`$me --help' for more information." 78301ea0f4Smrg 79301ea0f4Smrg# Parse command line 80301ea0f4Smrgwhile test $# -gt 0 ; do 81301ea0f4Smrg case $1 in 82301ea0f4Smrg --time-stamp | --time* | -t ) 830cc67336Smrg echo "$timestamp" ; exit ;; 84301ea0f4Smrg --version | -v ) 850cc67336Smrg echo "$version" ; exit ;; 86301ea0f4Smrg --help | --h* | -h ) 870cc67336Smrg echo "$usage"; exit ;; 88301ea0f4Smrg -- ) # Stop option processing 89301ea0f4Smrg shift; break ;; 90301ea0f4Smrg - ) # Use stdin as input. 91301ea0f4Smrg break ;; 92301ea0f4Smrg -* ) 93301ea0f4Smrg echo "$me: invalid option $1$help" 94301ea0f4Smrg exit 1 ;; 95301ea0f4Smrg 96301ea0f4Smrg *local*) 97301ea0f4Smrg # First pass through any local machine types. 98301ea0f4Smrg echo $1 990cc67336Smrg exit ;; 100301ea0f4Smrg 101301ea0f4Smrg * ) 102301ea0f4Smrg break ;; 103301ea0f4Smrg esac 104301ea0f4Smrgdone 105301ea0f4Smrg 106301ea0f4Smrgcase $# in 107301ea0f4Smrg 0) echo "$me: missing argument$help" >&2 108301ea0f4Smrg exit 1;; 109301ea0f4Smrg 1) ;; 110301ea0f4Smrg *) echo "$me: too many arguments$help" >&2 111301ea0f4Smrg exit 1;; 112301ea0f4Smrgesac 113301ea0f4Smrg 114301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations. 116301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117301ea0f4Smrgcase $maybe_os in 118213fdd94Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11918552c8aSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 12097ee6427Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 121213fdd94Smrg kopensolaris*-gnu* | \ 1220cc67336Smrg storm-chaos* | os2-emx* | rtmk-nova*) 123301ea0f4Smrg os=-$maybe_os 124301ea0f4Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125301ea0f4Smrg ;; 12618552c8aSmrg android-linux) 12718552c8aSmrg os=-linux-android 12818552c8aSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12918552c8aSmrg ;; 130301ea0f4Smrg *) 131301ea0f4Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132301ea0f4Smrg if [ $basic_machine != $1 ] 133301ea0f4Smrg then os=`echo $1 | sed 's/.*-/-/'` 134301ea0f4Smrg else os=; fi 135301ea0f4Smrg ;; 136301ea0f4Smrgesac 137301ea0f4Smrg 138301ea0f4Smrg### Let's recognize common machines as not being operating systems so 139301ea0f4Smrg### that things like config.sub decstation-3100 work. We also 140301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we 141301ea0f4Smrg### can provide default operating systems below. 142301ea0f4Smrgcase $os in 143301ea0f4Smrg -sun*os*) 144301ea0f4Smrg # Prevent following clause from handling this invalid input. 145301ea0f4Smrg ;; 146301ea0f4Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147301ea0f4Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148301ea0f4Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149301ea0f4Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150301ea0f4Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151301ea0f4Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15218552c8aSmrg -apple | -axis | -knuth | -cray | -microblaze*) 153301ea0f4Smrg os= 154301ea0f4Smrg basic_machine=$1 155301ea0f4Smrg ;; 156213fdd94Smrg -bluegene*) 157213fdd94Smrg os=-cnk 158213fdd94Smrg ;; 159301ea0f4Smrg -sim | -cisco | -oki | -wec | -winbond) 160301ea0f4Smrg os= 161301ea0f4Smrg basic_machine=$1 162301ea0f4Smrg ;; 163301ea0f4Smrg -scout) 164301ea0f4Smrg ;; 165301ea0f4Smrg -wrs) 166301ea0f4Smrg os=-vxworks 167301ea0f4Smrg basic_machine=$1 168301ea0f4Smrg ;; 169301ea0f4Smrg -chorusos*) 170301ea0f4Smrg os=-chorusos 171301ea0f4Smrg basic_machine=$1 172301ea0f4Smrg ;; 173213fdd94Smrg -chorusrdb) 174213fdd94Smrg os=-chorusrdb 175301ea0f4Smrg basic_machine=$1 176213fdd94Smrg ;; 177301ea0f4Smrg -hiux*) 178301ea0f4Smrg os=-hiuxwe2 179301ea0f4Smrg ;; 1800cc67336Smrg -sco6) 1810cc67336Smrg os=-sco5v6 1820cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1830cc67336Smrg ;; 184301ea0f4Smrg -sco5) 185301ea0f4Smrg os=-sco3.2v5 186301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187301ea0f4Smrg ;; 188301ea0f4Smrg -sco4) 189301ea0f4Smrg os=-sco3.2v4 190301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191301ea0f4Smrg ;; 192301ea0f4Smrg -sco3.2.[4-9]*) 193301ea0f4Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195301ea0f4Smrg ;; 196301ea0f4Smrg -sco3.2v[4-9]*) 197301ea0f4Smrg # Don't forget version if it is 3.2v4 or newer. 198301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199301ea0f4Smrg ;; 2000cc67336Smrg -sco5v6*) 2010cc67336Smrg # Don't forget version if it is 3.2v4 or newer. 2020cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2030cc67336Smrg ;; 204301ea0f4Smrg -sco*) 205301ea0f4Smrg os=-sco3.2v2 206301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207301ea0f4Smrg ;; 208301ea0f4Smrg -udk*) 209301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210301ea0f4Smrg ;; 211301ea0f4Smrg -isc) 212301ea0f4Smrg os=-isc2.2 213301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214301ea0f4Smrg ;; 215301ea0f4Smrg -clix*) 216301ea0f4Smrg basic_machine=clipper-intergraph 217301ea0f4Smrg ;; 218301ea0f4Smrg -isc*) 219301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220301ea0f4Smrg ;; 22118552c8aSmrg -lynx*178) 22218552c8aSmrg os=-lynxos178 22318552c8aSmrg ;; 22418552c8aSmrg -lynx*5) 22518552c8aSmrg os=-lynxos5 22618552c8aSmrg ;; 227301ea0f4Smrg -lynx*) 228301ea0f4Smrg os=-lynxos 229301ea0f4Smrg ;; 230301ea0f4Smrg -ptx*) 231301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232301ea0f4Smrg ;; 233301ea0f4Smrg -windowsnt*) 234301ea0f4Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 235301ea0f4Smrg ;; 236301ea0f4Smrg -psos*) 237301ea0f4Smrg os=-psos 238301ea0f4Smrg ;; 239301ea0f4Smrg -mint | -mint[0-9]*) 240301ea0f4Smrg basic_machine=m68k-atari 241301ea0f4Smrg os=-mint 242301ea0f4Smrg ;; 243301ea0f4Smrgesac 244301ea0f4Smrg 245301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations. 246301ea0f4Smrgcase $basic_machine in 247301ea0f4Smrg # Recognize the basic CPU types without company name. 248301ea0f4Smrg # Some are omitted here because they have special meanings below. 249301ea0f4Smrg 1750a | 580 \ 250301ea0f4Smrg | a29k \ 25118552c8aSmrg | aarch64 | aarch64_be \ 252301ea0f4Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253301ea0f4Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2540cc67336Smrg | am33_2.0 \ 25518552c8aSmrg | arc | arceb \ 25618552c8aSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25718552c8aSmrg | avr | avr32 \ 25897ee6427Smrg | ba \ 25918552c8aSmrg | be32 | be64 \ 2600cc67336Smrg | bfin \ 26118552c8aSmrg | c4x | c8051 | clipper \ 262d94624a0Smrg | d10v | d30v | dlx | dsp16xx \ 26397ee6427Smrg | e2k | epiphany \ 26497ee6427Smrg | fido | fr30 | frv | ft32 \ 265301ea0f4Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 266213fdd94Smrg | hexagon \ 267301ea0f4Smrg | i370 | i860 | i960 | ia64 \ 2680cc67336Smrg | ip2k | iq2000 \ 26918552c8aSmrg | k1om \ 270213fdd94Smrg | le32 | le64 \ 271213fdd94Smrg | lm32 \ 2720cc67336Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27318552c8aSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 274301ea0f4Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 275301ea0f4Smrg | mips16 \ 276301ea0f4Smrg | mips64 | mips64el \ 277213fdd94Smrg | mips64octeon | mips64octeonel \ 278301ea0f4Smrg | mips64orion | mips64orionel \ 279213fdd94Smrg | mips64r5900 | mips64r5900el \ 280213fdd94Smrg | mips64vr | mips64vrel \ 281301ea0f4Smrg | mips64vr4100 | mips64vr4100el \ 282301ea0f4Smrg | mips64vr4300 | mips64vr4300el \ 283301ea0f4Smrg | mips64vr5000 | mips64vr5000el \ 2840cc67336Smrg | mips64vr5900 | mips64vr5900el \ 285301ea0f4Smrg | mipsisa32 | mipsisa32el \ 286301ea0f4Smrg | mipsisa32r2 | mipsisa32r2el \ 28797ee6427Smrg | mipsisa32r6 | mipsisa32r6el \ 288301ea0f4Smrg | mipsisa64 | mipsisa64el \ 2890cc67336Smrg | mipsisa64r2 | mipsisa64r2el \ 29097ee6427Smrg | mipsisa64r6 | mipsisa64r6el \ 291301ea0f4Smrg | mipsisa64sb1 | mipsisa64sb1el \ 292301ea0f4Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 29318552c8aSmrg | mipsr5900 | mipsr5900el \ 294301ea0f4Smrg | mipstx39 | mipstx39el \ 295301ea0f4Smrg | mn10200 | mn10300 \ 296213fdd94Smrg | moxie \ 2970cc67336Smrg | mt \ 298301ea0f4Smrg | msp430 \ 299213fdd94Smrg | nds32 | nds32le | nds32be \ 30018552c8aSmrg | nios | nios2 | nios2eb | nios2el \ 301301ea0f4Smrg | ns16k | ns32k \ 30297ee6427Smrg | open8 | or1k | or1knd | or32 \ 303301ea0f4Smrg | pdp10 | pdp11 | pj | pjl \ 304213fdd94Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 305301ea0f4Smrg | pyramid \ 30697ee6427Smrg | riscv32 | riscv64 \ 307213fdd94Smrg | rl78 | rx \ 3080cc67336Smrg | score \ 30997ee6427Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 310301ea0f4Smrg | sh64 | sh64le \ 3110cc67336Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3120cc67336Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 313213fdd94Smrg | spu \ 314213fdd94Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 315213fdd94Smrg | ubicom32 \ 316213fdd94Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31797ee6427Smrg | visium \ 318301ea0f4Smrg | we32k \ 319213fdd94Smrg | x86 | xc16x | xstormy16 | xtensa \ 320213fdd94Smrg | z8k | z80) 321301ea0f4Smrg basic_machine=$basic_machine-unknown 322301ea0f4Smrg ;; 323213fdd94Smrg c54x) 324213fdd94Smrg basic_machine=tic54x-unknown 325213fdd94Smrg ;; 326213fdd94Smrg c55x) 327213fdd94Smrg basic_machine=tic55x-unknown 328213fdd94Smrg ;; 329213fdd94Smrg c6x) 330213fdd94Smrg basic_machine=tic6x-unknown 331213fdd94Smrg ;; 33297ee6427Smrg leon|leon[3-9]) 33397ee6427Smrg basic_machine=sparc-$basic_machine 33497ee6427Smrg ;; 33518552c8aSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 336301ea0f4Smrg basic_machine=$basic_machine-unknown 337301ea0f4Smrg os=-none 338301ea0f4Smrg ;; 339301ea0f4Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 340301ea0f4Smrg ;; 3410cc67336Smrg ms1) 3420cc67336Smrg basic_machine=mt-unknown 3430cc67336Smrg ;; 344301ea0f4Smrg 345213fdd94Smrg strongarm | thumb | xscale) 346213fdd94Smrg basic_machine=arm-unknown 347213fdd94Smrg ;; 34818552c8aSmrg xgate) 34918552c8aSmrg basic_machine=$basic_machine-unknown 35018552c8aSmrg os=-none 35118552c8aSmrg ;; 352213fdd94Smrg xscaleeb) 353213fdd94Smrg basic_machine=armeb-unknown 354213fdd94Smrg ;; 355213fdd94Smrg 356213fdd94Smrg xscaleel) 357213fdd94Smrg basic_machine=armel-unknown 358213fdd94Smrg ;; 359213fdd94Smrg 360301ea0f4Smrg # We use `pc' rather than `unknown' 361301ea0f4Smrg # because (1) that's what they normally are, and 362301ea0f4Smrg # (2) the word "unknown" tends to confuse beginning users. 363301ea0f4Smrg i*86 | x86_64) 364301ea0f4Smrg basic_machine=$basic_machine-pc 365301ea0f4Smrg ;; 366301ea0f4Smrg # Object if more than one company name word. 367301ea0f4Smrg *-*-*) 368301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 369301ea0f4Smrg exit 1 370301ea0f4Smrg ;; 371301ea0f4Smrg # Recognize the basic CPU types with company name. 372301ea0f4Smrg 580-* \ 373301ea0f4Smrg | a29k-* \ 37418552c8aSmrg | aarch64-* | aarch64_be-* \ 375301ea0f4Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 376301ea0f4Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37718552c8aSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 378301ea0f4Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3790cc67336Smrg | avr-* | avr32-* \ 38097ee6427Smrg | ba-* \ 381213fdd94Smrg | be32-* | be64-* \ 3820cc67336Smrg | bfin-* | bs2000-* \ 383213fdd94Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38418552c8aSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 385301ea0f4Smrg | d10v-* | d30v-* | dlx-* \ 38697ee6427Smrg | e2k-* | elxsi-* \ 3870cc67336Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 388301ea0f4Smrg | h8300-* | h8500-* \ 389301ea0f4Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 390213fdd94Smrg | hexagon-* \ 391301ea0f4Smrg | i*86-* | i860-* | i960-* | ia64-* \ 3920cc67336Smrg | ip2k-* | iq2000-* \ 39318552c8aSmrg | k1om-* \ 394213fdd94Smrg | le32-* | le64-* \ 395213fdd94Smrg | lm32-* \ 3960cc67336Smrg | m32c-* | m32r-* | m32rle-* \ 397301ea0f4Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39818552c8aSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39918552c8aSmrg | microblaze-* | microblazeel-* \ 400301ea0f4Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 401301ea0f4Smrg | mips16-* \ 402301ea0f4Smrg | mips64-* | mips64el-* \ 403213fdd94Smrg | mips64octeon-* | mips64octeonel-* \ 404301ea0f4Smrg | mips64orion-* | mips64orionel-* \ 405213fdd94Smrg | mips64r5900-* | mips64r5900el-* \ 406213fdd94Smrg | mips64vr-* | mips64vrel-* \ 407301ea0f4Smrg | mips64vr4100-* | mips64vr4100el-* \ 408301ea0f4Smrg | mips64vr4300-* | mips64vr4300el-* \ 409301ea0f4Smrg | mips64vr5000-* | mips64vr5000el-* \ 4100cc67336Smrg | mips64vr5900-* | mips64vr5900el-* \ 411301ea0f4Smrg | mipsisa32-* | mipsisa32el-* \ 412301ea0f4Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41397ee6427Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 414301ea0f4Smrg | mipsisa64-* | mipsisa64el-* \ 4150cc67336Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41697ee6427Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 417301ea0f4Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 418301ea0f4Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41918552c8aSmrg | mipsr5900-* | mipsr5900el-* \ 420301ea0f4Smrg | mipstx39-* | mipstx39el-* \ 4210cc67336Smrg | mmix-* \ 4220cc67336Smrg | mt-* \ 423301ea0f4Smrg | msp430-* \ 424213fdd94Smrg | nds32-* | nds32le-* | nds32be-* \ 42518552c8aSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4260cc67336Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 427213fdd94Smrg | open8-* \ 42897ee6427Smrg | or1k*-* \ 429301ea0f4Smrg | orion-* \ 430301ea0f4Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 431213fdd94Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 432301ea0f4Smrg | pyramid-* \ 43397ee6427Smrg | riscv32-* | riscv64-* \ 434213fdd94Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 435213fdd94Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 436301ea0f4Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4370cc67336Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4380cc67336Smrg | sparclite-* \ 43997ee6427Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 440213fdd94Smrg | tahoe-* \ 441301ea0f4Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 442213fdd94Smrg | tile*-* \ 443301ea0f4Smrg | tron-* \ 444213fdd94Smrg | ubicom32-* \ 445213fdd94Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 446213fdd94Smrg | vax-* \ 44797ee6427Smrg | visium-* \ 448301ea0f4Smrg | we32k-* \ 449213fdd94Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4500cc67336Smrg | xstormy16-* | xtensa*-* \ 451301ea0f4Smrg | ymp-* \ 452213fdd94Smrg | z8k-* | z80-*) 453301ea0f4Smrg ;; 4540cc67336Smrg # Recognize the basic CPU types without company name, with glob match. 4550cc67336Smrg xtensa*) 4560cc67336Smrg basic_machine=$basic_machine-unknown 4570cc67336Smrg ;; 458301ea0f4Smrg # Recognize the various machine names and aliases which stand 459301ea0f4Smrg # for a CPU type and a company and sometimes even an OS. 460301ea0f4Smrg 386bsd) 461301ea0f4Smrg basic_machine=i386-unknown 462301ea0f4Smrg os=-bsd 463301ea0f4Smrg ;; 464301ea0f4Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 465301ea0f4Smrg basic_machine=m68000-att 466301ea0f4Smrg ;; 467301ea0f4Smrg 3b*) 468301ea0f4Smrg basic_machine=we32k-att 469301ea0f4Smrg ;; 470301ea0f4Smrg a29khif) 471301ea0f4Smrg basic_machine=a29k-amd 472301ea0f4Smrg os=-udi 473301ea0f4Smrg ;; 474213fdd94Smrg abacus) 4750cc67336Smrg basic_machine=abacus-unknown 4760cc67336Smrg ;; 477301ea0f4Smrg adobe68k) 478301ea0f4Smrg basic_machine=m68010-adobe 479301ea0f4Smrg os=-scout 480301ea0f4Smrg ;; 481301ea0f4Smrg alliant | fx80) 482301ea0f4Smrg basic_machine=fx80-alliant 483301ea0f4Smrg ;; 484301ea0f4Smrg altos | altos3068) 485301ea0f4Smrg basic_machine=m68k-altos 486301ea0f4Smrg ;; 487301ea0f4Smrg am29k) 488301ea0f4Smrg basic_machine=a29k-none 489301ea0f4Smrg os=-bsd 490301ea0f4Smrg ;; 491301ea0f4Smrg amd64) 492301ea0f4Smrg basic_machine=x86_64-pc 493301ea0f4Smrg ;; 4940cc67336Smrg amd64-*) 4950cc67336Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4960cc67336Smrg ;; 497301ea0f4Smrg amdahl) 498301ea0f4Smrg basic_machine=580-amdahl 499301ea0f4Smrg os=-sysv 500301ea0f4Smrg ;; 501301ea0f4Smrg amiga | amiga-*) 502301ea0f4Smrg basic_machine=m68k-unknown 503301ea0f4Smrg ;; 504301ea0f4Smrg amigaos | amigados) 505301ea0f4Smrg basic_machine=m68k-unknown 506301ea0f4Smrg os=-amigaos 507301ea0f4Smrg ;; 508301ea0f4Smrg amigaunix | amix) 509301ea0f4Smrg basic_machine=m68k-unknown 510301ea0f4Smrg os=-sysv4 511301ea0f4Smrg ;; 512301ea0f4Smrg apollo68) 513301ea0f4Smrg basic_machine=m68k-apollo 514301ea0f4Smrg os=-sysv 515301ea0f4Smrg ;; 516301ea0f4Smrg apollo68bsd) 517301ea0f4Smrg basic_machine=m68k-apollo 518301ea0f4Smrg os=-bsd 519301ea0f4Smrg ;; 520213fdd94Smrg aros) 521213fdd94Smrg basic_machine=i386-pc 522213fdd94Smrg os=-aros 523213fdd94Smrg ;; 524d94624a0Smrg asmjs) 52597ee6427Smrg basic_machine=asmjs-unknown 52697ee6427Smrg ;; 527301ea0f4Smrg aux) 528301ea0f4Smrg basic_machine=m68k-apple 529301ea0f4Smrg os=-aux 530301ea0f4Smrg ;; 531301ea0f4Smrg balance) 532301ea0f4Smrg basic_machine=ns32k-sequent 533301ea0f4Smrg os=-dynix 534301ea0f4Smrg ;; 5350cc67336Smrg blackfin) 5360cc67336Smrg basic_machine=bfin-unknown 5370cc67336Smrg os=-linux 5380cc67336Smrg ;; 5390cc67336Smrg blackfin-*) 5400cc67336Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5410cc67336Smrg os=-linux 5420cc67336Smrg ;; 543213fdd94Smrg bluegene*) 544213fdd94Smrg basic_machine=powerpc-ibm 545213fdd94Smrg os=-cnk 546213fdd94Smrg ;; 547213fdd94Smrg c54x-*) 548213fdd94Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 549213fdd94Smrg ;; 550213fdd94Smrg c55x-*) 551213fdd94Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 552213fdd94Smrg ;; 553213fdd94Smrg c6x-*) 554213fdd94Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 555213fdd94Smrg ;; 556301ea0f4Smrg c90) 557301ea0f4Smrg basic_machine=c90-cray 558301ea0f4Smrg os=-unicos 559301ea0f4Smrg ;; 560213fdd94Smrg cegcc) 561213fdd94Smrg basic_machine=arm-unknown 562213fdd94Smrg os=-cegcc 563213fdd94Smrg ;; 564301ea0f4Smrg convex-c1) 565301ea0f4Smrg basic_machine=c1-convex 566301ea0f4Smrg os=-bsd 567301ea0f4Smrg ;; 568301ea0f4Smrg convex-c2) 569301ea0f4Smrg basic_machine=c2-convex 570301ea0f4Smrg os=-bsd 571301ea0f4Smrg ;; 572301ea0f4Smrg convex-c32) 573301ea0f4Smrg basic_machine=c32-convex 574301ea0f4Smrg os=-bsd 575301ea0f4Smrg ;; 576301ea0f4Smrg convex-c34) 577301ea0f4Smrg basic_machine=c34-convex 578301ea0f4Smrg os=-bsd 579301ea0f4Smrg ;; 580301ea0f4Smrg convex-c38) 581301ea0f4Smrg basic_machine=c38-convex 582301ea0f4Smrg os=-bsd 583301ea0f4Smrg ;; 584301ea0f4Smrg cray | j90) 585301ea0f4Smrg basic_machine=j90-cray 586301ea0f4Smrg os=-unicos 587301ea0f4Smrg ;; 5880cc67336Smrg craynv) 5890cc67336Smrg basic_machine=craynv-cray 5900cc67336Smrg os=-unicosmp 5910cc67336Smrg ;; 592213fdd94Smrg cr16 | cr16-*) 5930cc67336Smrg basic_machine=cr16-unknown 5940cc67336Smrg os=-elf 5950cc67336Smrg ;; 596301ea0f4Smrg crds | unos) 597301ea0f4Smrg basic_machine=m68k-crds 598301ea0f4Smrg ;; 5990cc67336Smrg crisv32 | crisv32-* | etraxfs*) 6000cc67336Smrg basic_machine=crisv32-axis 6010cc67336Smrg ;; 602301ea0f4Smrg cris | cris-* | etrax*) 603301ea0f4Smrg basic_machine=cris-axis 604301ea0f4Smrg ;; 6050cc67336Smrg crx) 6060cc67336Smrg basic_machine=crx-unknown 6070cc67336Smrg os=-elf 6080cc67336Smrg ;; 609301ea0f4Smrg da30 | da30-*) 610301ea0f4Smrg basic_machine=m68k-da30 611301ea0f4Smrg ;; 612301ea0f4Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 613301ea0f4Smrg basic_machine=mips-dec 614301ea0f4Smrg ;; 615301ea0f4Smrg decsystem10* | dec10*) 616301ea0f4Smrg basic_machine=pdp10-dec 617301ea0f4Smrg os=-tops10 618301ea0f4Smrg ;; 619301ea0f4Smrg decsystem20* | dec20*) 620301ea0f4Smrg basic_machine=pdp10-dec 621301ea0f4Smrg os=-tops20 622301ea0f4Smrg ;; 623301ea0f4Smrg delta | 3300 | motorola-3300 | motorola-delta \ 624301ea0f4Smrg | 3300-motorola | delta-motorola) 625301ea0f4Smrg basic_machine=m68k-motorola 626301ea0f4Smrg ;; 627301ea0f4Smrg delta88) 628301ea0f4Smrg basic_machine=m88k-motorola 629301ea0f4Smrg os=-sysv3 630301ea0f4Smrg ;; 631213fdd94Smrg dicos) 632213fdd94Smrg basic_machine=i686-pc 633213fdd94Smrg os=-dicos 634213fdd94Smrg ;; 6350cc67336Smrg djgpp) 6360cc67336Smrg basic_machine=i586-pc 6370cc67336Smrg os=-msdosdjgpp 6380cc67336Smrg ;; 639301ea0f4Smrg dpx20 | dpx20-*) 640301ea0f4Smrg basic_machine=rs6000-bull 641301ea0f4Smrg os=-bosx 642301ea0f4Smrg ;; 643301ea0f4Smrg dpx2* | dpx2*-bull) 644301ea0f4Smrg basic_machine=m68k-bull 645301ea0f4Smrg os=-sysv3 646301ea0f4Smrg ;; 647301ea0f4Smrg ebmon29k) 648301ea0f4Smrg basic_machine=a29k-amd 649301ea0f4Smrg os=-ebmon 650301ea0f4Smrg ;; 651301ea0f4Smrg elxsi) 652301ea0f4Smrg basic_machine=elxsi-elxsi 653301ea0f4Smrg os=-bsd 654301ea0f4Smrg ;; 655301ea0f4Smrg encore | umax | mmax) 656301ea0f4Smrg basic_machine=ns32k-encore 657301ea0f4Smrg ;; 658301ea0f4Smrg es1800 | OSE68k | ose68k | ose | OSE) 659301ea0f4Smrg basic_machine=m68k-ericsson 660301ea0f4Smrg os=-ose 661301ea0f4Smrg ;; 662301ea0f4Smrg fx2800) 663301ea0f4Smrg basic_machine=i860-alliant 664301ea0f4Smrg ;; 665301ea0f4Smrg genix) 666301ea0f4Smrg basic_machine=ns32k-ns 667301ea0f4Smrg ;; 668301ea0f4Smrg gmicro) 669301ea0f4Smrg basic_machine=tron-gmicro 670301ea0f4Smrg os=-sysv 671301ea0f4Smrg ;; 672301ea0f4Smrg go32) 673301ea0f4Smrg basic_machine=i386-pc 674301ea0f4Smrg os=-go32 675301ea0f4Smrg ;; 676301ea0f4Smrg h3050r* | hiux*) 677301ea0f4Smrg basic_machine=hppa1.1-hitachi 678301ea0f4Smrg os=-hiuxwe2 679301ea0f4Smrg ;; 680301ea0f4Smrg h8300hms) 681301ea0f4Smrg basic_machine=h8300-hitachi 682301ea0f4Smrg os=-hms 683301ea0f4Smrg ;; 684301ea0f4Smrg h8300xray) 685301ea0f4Smrg basic_machine=h8300-hitachi 686301ea0f4Smrg os=-xray 687301ea0f4Smrg ;; 688301ea0f4Smrg h8500hms) 689301ea0f4Smrg basic_machine=h8500-hitachi 690301ea0f4Smrg os=-hms 691301ea0f4Smrg ;; 692301ea0f4Smrg harris) 693301ea0f4Smrg basic_machine=m88k-harris 694301ea0f4Smrg os=-sysv3 695301ea0f4Smrg ;; 696301ea0f4Smrg hp300-*) 697301ea0f4Smrg basic_machine=m68k-hp 698301ea0f4Smrg ;; 699301ea0f4Smrg hp300bsd) 700301ea0f4Smrg basic_machine=m68k-hp 701301ea0f4Smrg os=-bsd 702301ea0f4Smrg ;; 703301ea0f4Smrg hp300hpux) 704301ea0f4Smrg basic_machine=m68k-hp 705301ea0f4Smrg os=-hpux 706301ea0f4Smrg ;; 707301ea0f4Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 708301ea0f4Smrg basic_machine=hppa1.0-hp 709301ea0f4Smrg ;; 710301ea0f4Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 711301ea0f4Smrg basic_machine=m68000-hp 712301ea0f4Smrg ;; 713301ea0f4Smrg hp9k3[2-9][0-9]) 714301ea0f4Smrg basic_machine=m68k-hp 715301ea0f4Smrg ;; 716301ea0f4Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 717301ea0f4Smrg basic_machine=hppa1.0-hp 718301ea0f4Smrg ;; 719301ea0f4Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 720301ea0f4Smrg basic_machine=hppa1.1-hp 721301ea0f4Smrg ;; 722301ea0f4Smrg hp9k78[0-9] | hp78[0-9]) 723301ea0f4Smrg # FIXME: really hppa2.0-hp 724301ea0f4Smrg basic_machine=hppa1.1-hp 725301ea0f4Smrg ;; 726301ea0f4Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 727301ea0f4Smrg # FIXME: really hppa2.0-hp 728301ea0f4Smrg basic_machine=hppa1.1-hp 729301ea0f4Smrg ;; 730301ea0f4Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 731301ea0f4Smrg basic_machine=hppa1.1-hp 732301ea0f4Smrg ;; 733301ea0f4Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 734301ea0f4Smrg basic_machine=hppa1.0-hp 735301ea0f4Smrg ;; 736301ea0f4Smrg hppa-next) 737301ea0f4Smrg os=-nextstep3 738301ea0f4Smrg ;; 739301ea0f4Smrg hppaosf) 740301ea0f4Smrg basic_machine=hppa1.1-hp 741301ea0f4Smrg os=-osf 742301ea0f4Smrg ;; 743301ea0f4Smrg hppro) 744301ea0f4Smrg basic_machine=hppa1.1-hp 745301ea0f4Smrg os=-proelf 746301ea0f4Smrg ;; 747301ea0f4Smrg i370-ibm* | ibm*) 748301ea0f4Smrg basic_machine=i370-ibm 749301ea0f4Smrg ;; 750301ea0f4Smrg i*86v32) 751301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 752301ea0f4Smrg os=-sysv32 753301ea0f4Smrg ;; 754301ea0f4Smrg i*86v4*) 755301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 756301ea0f4Smrg os=-sysv4 757301ea0f4Smrg ;; 758301ea0f4Smrg i*86v) 759301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 760301ea0f4Smrg os=-sysv 761301ea0f4Smrg ;; 762301ea0f4Smrg i*86sol2) 763301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 764301ea0f4Smrg os=-solaris2 765301ea0f4Smrg ;; 766301ea0f4Smrg i386mach) 767301ea0f4Smrg basic_machine=i386-mach 768301ea0f4Smrg os=-mach 769301ea0f4Smrg ;; 770301ea0f4Smrg i386-vsta | vsta) 771301ea0f4Smrg basic_machine=i386-unknown 772301ea0f4Smrg os=-vsta 773301ea0f4Smrg ;; 774301ea0f4Smrg iris | iris4d) 775301ea0f4Smrg basic_machine=mips-sgi 776301ea0f4Smrg case $os in 777301ea0f4Smrg -irix*) 778301ea0f4Smrg ;; 779301ea0f4Smrg *) 780301ea0f4Smrg os=-irix4 781301ea0f4Smrg ;; 782301ea0f4Smrg esac 783301ea0f4Smrg ;; 784301ea0f4Smrg isi68 | isi) 785301ea0f4Smrg basic_machine=m68k-isi 786301ea0f4Smrg os=-sysv 787301ea0f4Smrg ;; 78897ee6427Smrg leon-*|leon[3-9]-*) 78997ee6427Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 79097ee6427Smrg ;; 7910cc67336Smrg m68knommu) 7920cc67336Smrg basic_machine=m68k-unknown 7930cc67336Smrg os=-linux 7940cc67336Smrg ;; 7950cc67336Smrg m68knommu-*) 7960cc67336Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7970cc67336Smrg os=-linux 7980cc67336Smrg ;; 799301ea0f4Smrg m88k-omron*) 800301ea0f4Smrg basic_machine=m88k-omron 801301ea0f4Smrg ;; 802301ea0f4Smrg magnum | m3230) 803301ea0f4Smrg basic_machine=mips-mips 804301ea0f4Smrg os=-sysv 805301ea0f4Smrg ;; 806301ea0f4Smrg merlin) 807301ea0f4Smrg basic_machine=ns32k-utek 808301ea0f4Smrg os=-sysv 809301ea0f4Smrg ;; 81018552c8aSmrg microblaze*) 811213fdd94Smrg basic_machine=microblaze-xilinx 812213fdd94Smrg ;; 81318552c8aSmrg mingw64) 81418552c8aSmrg basic_machine=x86_64-pc 81518552c8aSmrg os=-mingw64 81618552c8aSmrg ;; 817301ea0f4Smrg mingw32) 81818552c8aSmrg basic_machine=i686-pc 819301ea0f4Smrg os=-mingw32 820301ea0f4Smrg ;; 8210cc67336Smrg mingw32ce) 8220cc67336Smrg basic_machine=arm-unknown 8230cc67336Smrg os=-mingw32ce 8240cc67336Smrg ;; 825301ea0f4Smrg miniframe) 826301ea0f4Smrg basic_machine=m68000-convergent 827301ea0f4Smrg ;; 828301ea0f4Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 829301ea0f4Smrg basic_machine=m68k-atari 830301ea0f4Smrg os=-mint 831301ea0f4Smrg ;; 832301ea0f4Smrg mips3*-*) 833301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 834301ea0f4Smrg ;; 835301ea0f4Smrg mips3*) 836301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 837301ea0f4Smrg ;; 838301ea0f4Smrg monitor) 839301ea0f4Smrg basic_machine=m68k-rom68k 840301ea0f4Smrg os=-coff 841301ea0f4Smrg ;; 842301ea0f4Smrg morphos) 843301ea0f4Smrg basic_machine=powerpc-unknown 844301ea0f4Smrg os=-morphos 845301ea0f4Smrg ;; 84697ee6427Smrg moxiebox) 84797ee6427Smrg basic_machine=moxie-unknown 84897ee6427Smrg os=-moxiebox 84997ee6427Smrg ;; 850301ea0f4Smrg msdos) 851301ea0f4Smrg basic_machine=i386-pc 852301ea0f4Smrg os=-msdos 853301ea0f4Smrg ;; 8540cc67336Smrg ms1-*) 8550cc67336Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8560cc67336Smrg ;; 857213fdd94Smrg msys) 85818552c8aSmrg basic_machine=i686-pc 859213fdd94Smrg os=-msys 860213fdd94Smrg ;; 861301ea0f4Smrg mvs) 862301ea0f4Smrg basic_machine=i370-ibm 863301ea0f4Smrg os=-mvs 864301ea0f4Smrg ;; 865213fdd94Smrg nacl) 866213fdd94Smrg basic_machine=le32-unknown 867213fdd94Smrg os=-nacl 868213fdd94Smrg ;; 869301ea0f4Smrg ncr3000) 870301ea0f4Smrg basic_machine=i486-ncr 871301ea0f4Smrg os=-sysv4 872301ea0f4Smrg ;; 873301ea0f4Smrg netbsd386) 874301ea0f4Smrg basic_machine=i386-unknown 875301ea0f4Smrg os=-netbsd 876301ea0f4Smrg ;; 877301ea0f4Smrg netwinder) 878301ea0f4Smrg basic_machine=armv4l-rebel 879301ea0f4Smrg os=-linux 880301ea0f4Smrg ;; 881301ea0f4Smrg news | news700 | news800 | news900) 882301ea0f4Smrg basic_machine=m68k-sony 883301ea0f4Smrg os=-newsos 884301ea0f4Smrg ;; 885301ea0f4Smrg news1000) 886301ea0f4Smrg basic_machine=m68030-sony 887301ea0f4Smrg os=-newsos 888301ea0f4Smrg ;; 889301ea0f4Smrg news-3600 | risc-news) 890301ea0f4Smrg basic_machine=mips-sony 891301ea0f4Smrg os=-newsos 892301ea0f4Smrg ;; 893301ea0f4Smrg necv70) 894301ea0f4Smrg basic_machine=v70-nec 895301ea0f4Smrg os=-sysv 896301ea0f4Smrg ;; 897301ea0f4Smrg next | m*-next ) 898301ea0f4Smrg basic_machine=m68k-next 899301ea0f4Smrg case $os in 900301ea0f4Smrg -nextstep* ) 901301ea0f4Smrg ;; 902301ea0f4Smrg -ns2*) 903301ea0f4Smrg os=-nextstep2 904301ea0f4Smrg ;; 905301ea0f4Smrg *) 906301ea0f4Smrg os=-nextstep3 907301ea0f4Smrg ;; 908301ea0f4Smrg esac 909301ea0f4Smrg ;; 910301ea0f4Smrg nh3000) 911301ea0f4Smrg basic_machine=m68k-harris 912301ea0f4Smrg os=-cxux 913301ea0f4Smrg ;; 914301ea0f4Smrg nh[45]000) 915301ea0f4Smrg basic_machine=m88k-harris 916301ea0f4Smrg os=-cxux 917301ea0f4Smrg ;; 918301ea0f4Smrg nindy960) 919301ea0f4Smrg basic_machine=i960-intel 920301ea0f4Smrg os=-nindy 921301ea0f4Smrg ;; 922301ea0f4Smrg mon960) 923301ea0f4Smrg basic_machine=i960-intel 924301ea0f4Smrg os=-mon960 925301ea0f4Smrg ;; 926301ea0f4Smrg nonstopux) 927301ea0f4Smrg basic_machine=mips-compaq 928301ea0f4Smrg os=-nonstopux 929301ea0f4Smrg ;; 930301ea0f4Smrg np1) 931301ea0f4Smrg basic_machine=np1-gould 932301ea0f4Smrg ;; 933213fdd94Smrg neo-tandem) 934213fdd94Smrg basic_machine=neo-tandem 935213fdd94Smrg ;; 936213fdd94Smrg nse-tandem) 937213fdd94Smrg basic_machine=nse-tandem 938213fdd94Smrg ;; 939301ea0f4Smrg nsr-tandem) 940301ea0f4Smrg basic_machine=nsr-tandem 941301ea0f4Smrg ;; 942301ea0f4Smrg op50n-* | op60c-*) 943301ea0f4Smrg basic_machine=hppa1.1-oki 944301ea0f4Smrg os=-proelf 945301ea0f4Smrg ;; 9460cc67336Smrg openrisc | openrisc-*) 947301ea0f4Smrg basic_machine=or32-unknown 9480cc67336Smrg ;; 9490cc67336Smrg os400) 9500cc67336Smrg basic_machine=powerpc-ibm 9510cc67336Smrg os=-os400 952301ea0f4Smrg ;; 953301ea0f4Smrg OSE68000 | ose68000) 954301ea0f4Smrg basic_machine=m68000-ericsson 955301ea0f4Smrg os=-ose 956301ea0f4Smrg ;; 957301ea0f4Smrg os68k) 958301ea0f4Smrg basic_machine=m68k-none 959301ea0f4Smrg os=-os68k 960301ea0f4Smrg ;; 961301ea0f4Smrg pa-hitachi) 962301ea0f4Smrg basic_machine=hppa1.1-hitachi 963301ea0f4Smrg os=-hiuxwe2 964301ea0f4Smrg ;; 965301ea0f4Smrg paragon) 966301ea0f4Smrg basic_machine=i860-intel 967301ea0f4Smrg os=-osf 968301ea0f4Smrg ;; 9690cc67336Smrg parisc) 9700cc67336Smrg basic_machine=hppa-unknown 9710cc67336Smrg os=-linux 9720cc67336Smrg ;; 9730cc67336Smrg parisc-*) 9740cc67336Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9750cc67336Smrg os=-linux 9760cc67336Smrg ;; 977301ea0f4Smrg pbd) 978301ea0f4Smrg basic_machine=sparc-tti 979301ea0f4Smrg ;; 980301ea0f4Smrg pbb) 981301ea0f4Smrg basic_machine=m68k-tti 982301ea0f4Smrg ;; 983301ea0f4Smrg pc532 | pc532-*) 984301ea0f4Smrg basic_machine=ns32k-pc532 985301ea0f4Smrg ;; 9860cc67336Smrg pc98) 9870cc67336Smrg basic_machine=i386-pc 9880cc67336Smrg ;; 9890cc67336Smrg pc98-*) 9900cc67336Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9910cc67336Smrg ;; 992301ea0f4Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 993301ea0f4Smrg basic_machine=i586-pc 994301ea0f4Smrg ;; 995301ea0f4Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 996301ea0f4Smrg basic_machine=i686-pc 997301ea0f4Smrg ;; 998301ea0f4Smrg pentiumii | pentium2 | pentiumiii | pentium3) 999301ea0f4Smrg basic_machine=i686-pc 1000301ea0f4Smrg ;; 1001301ea0f4Smrg pentium4) 1002301ea0f4Smrg basic_machine=i786-pc 1003301ea0f4Smrg ;; 1004301ea0f4Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1005301ea0f4Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1006301ea0f4Smrg ;; 1007301ea0f4Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1008301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1009301ea0f4Smrg ;; 1010301ea0f4Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1011301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1012301ea0f4Smrg ;; 1013301ea0f4Smrg pentium4-*) 1014301ea0f4Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1015301ea0f4Smrg ;; 1016301ea0f4Smrg pn) 1017301ea0f4Smrg basic_machine=pn-gould 1018301ea0f4Smrg ;; 1019301ea0f4Smrg power) basic_machine=power-ibm 1020301ea0f4Smrg ;; 1021213fdd94Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1022301ea0f4Smrg ;; 1023213fdd94Smrg ppc-* | ppcbe-*) 1024213fdd94Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1025301ea0f4Smrg ;; 1026301ea0f4Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1027301ea0f4Smrg basic_machine=powerpcle-unknown 1028301ea0f4Smrg ;; 1029301ea0f4Smrg ppcle-* | powerpclittle-*) 1030301ea0f4Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1031301ea0f4Smrg ;; 1032301ea0f4Smrg ppc64) basic_machine=powerpc64-unknown 1033301ea0f4Smrg ;; 1034301ea0f4Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1035301ea0f4Smrg ;; 1036301ea0f4Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1037301ea0f4Smrg basic_machine=powerpc64le-unknown 1038301ea0f4Smrg ;; 1039301ea0f4Smrg ppc64le-* | powerpc64little-*) 1040301ea0f4Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1041301ea0f4Smrg ;; 1042301ea0f4Smrg ps2) 1043301ea0f4Smrg basic_machine=i386-ibm 1044301ea0f4Smrg ;; 1045301ea0f4Smrg pw32) 1046301ea0f4Smrg basic_machine=i586-unknown 1047301ea0f4Smrg os=-pw32 1048301ea0f4Smrg ;; 104918552c8aSmrg rdos | rdos64) 105018552c8aSmrg basic_machine=x86_64-pc 105118552c8aSmrg os=-rdos 105218552c8aSmrg ;; 105318552c8aSmrg rdos32) 10540cc67336Smrg basic_machine=i386-pc 10550cc67336Smrg os=-rdos 10560cc67336Smrg ;; 1057301ea0f4Smrg rom68k) 1058301ea0f4Smrg basic_machine=m68k-rom68k 1059301ea0f4Smrg os=-coff 1060301ea0f4Smrg ;; 1061301ea0f4Smrg rm[46]00) 1062301ea0f4Smrg basic_machine=mips-siemens 1063301ea0f4Smrg ;; 1064301ea0f4Smrg rtpc | rtpc-*) 1065301ea0f4Smrg basic_machine=romp-ibm 1066301ea0f4Smrg ;; 10670cc67336Smrg s390 | s390-*) 10680cc67336Smrg basic_machine=s390-ibm 10690cc67336Smrg ;; 10700cc67336Smrg s390x | s390x-*) 10710cc67336Smrg basic_machine=s390x-ibm 10720cc67336Smrg ;; 1073301ea0f4Smrg sa29200) 1074301ea0f4Smrg basic_machine=a29k-amd 1075301ea0f4Smrg os=-udi 1076301ea0f4Smrg ;; 1077301ea0f4Smrg sb1) 1078301ea0f4Smrg basic_machine=mipsisa64sb1-unknown 1079301ea0f4Smrg ;; 1080301ea0f4Smrg sb1el) 1081301ea0f4Smrg basic_machine=mipsisa64sb1el-unknown 1082301ea0f4Smrg ;; 10830cc67336Smrg sde) 10840cc67336Smrg basic_machine=mipsisa32-sde 10850cc67336Smrg os=-elf 10860cc67336Smrg ;; 1087301ea0f4Smrg sei) 1088301ea0f4Smrg basic_machine=mips-sei 1089301ea0f4Smrg os=-seiux 1090301ea0f4Smrg ;; 1091301ea0f4Smrg sequent) 1092301ea0f4Smrg basic_machine=i386-sequent 1093301ea0f4Smrg ;; 1094301ea0f4Smrg sh) 1095301ea0f4Smrg basic_machine=sh-hitachi 1096301ea0f4Smrg os=-hms 1097301ea0f4Smrg ;; 10980cc67336Smrg sh5el) 10990cc67336Smrg basic_machine=sh5le-unknown 11000cc67336Smrg ;; 1101301ea0f4Smrg sh64) 1102301ea0f4Smrg basic_machine=sh64-unknown 1103301ea0f4Smrg ;; 1104301ea0f4Smrg sparclite-wrs | simso-wrs) 1105301ea0f4Smrg basic_machine=sparclite-wrs 1106301ea0f4Smrg os=-vxworks 1107301ea0f4Smrg ;; 1108301ea0f4Smrg sps7) 1109301ea0f4Smrg basic_machine=m68k-bull 1110301ea0f4Smrg os=-sysv2 1111301ea0f4Smrg ;; 1112301ea0f4Smrg spur) 1113301ea0f4Smrg basic_machine=spur-unknown 1114301ea0f4Smrg ;; 1115301ea0f4Smrg st2000) 1116301ea0f4Smrg basic_machine=m68k-tandem 1117301ea0f4Smrg ;; 1118301ea0f4Smrg stratus) 1119301ea0f4Smrg basic_machine=i860-stratus 1120301ea0f4Smrg os=-sysv4 1121301ea0f4Smrg ;; 1122213fdd94Smrg strongarm-* | thumb-*) 1123213fdd94Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1124213fdd94Smrg ;; 1125301ea0f4Smrg sun2) 1126301ea0f4Smrg basic_machine=m68000-sun 1127301ea0f4Smrg ;; 1128301ea0f4Smrg sun2os3) 1129301ea0f4Smrg basic_machine=m68000-sun 1130301ea0f4Smrg os=-sunos3 1131301ea0f4Smrg ;; 1132301ea0f4Smrg sun2os4) 1133301ea0f4Smrg basic_machine=m68000-sun 1134301ea0f4Smrg os=-sunos4 1135301ea0f4Smrg ;; 1136301ea0f4Smrg sun3os3) 1137301ea0f4Smrg basic_machine=m68k-sun 1138301ea0f4Smrg os=-sunos3 1139301ea0f4Smrg ;; 1140301ea0f4Smrg sun3os4) 1141301ea0f4Smrg basic_machine=m68k-sun 1142301ea0f4Smrg os=-sunos4 1143301ea0f4Smrg ;; 1144301ea0f4Smrg sun4os3) 1145301ea0f4Smrg basic_machine=sparc-sun 1146301ea0f4Smrg os=-sunos3 1147301ea0f4Smrg ;; 1148301ea0f4Smrg sun4os4) 1149301ea0f4Smrg basic_machine=sparc-sun 1150301ea0f4Smrg os=-sunos4 1151301ea0f4Smrg ;; 1152301ea0f4Smrg sun4sol2) 1153301ea0f4Smrg basic_machine=sparc-sun 1154301ea0f4Smrg os=-solaris2 1155301ea0f4Smrg ;; 1156301ea0f4Smrg sun3 | sun3-*) 1157301ea0f4Smrg basic_machine=m68k-sun 1158301ea0f4Smrg ;; 1159301ea0f4Smrg sun4) 1160301ea0f4Smrg basic_machine=sparc-sun 1161301ea0f4Smrg ;; 1162301ea0f4Smrg sun386 | sun386i | roadrunner) 1163301ea0f4Smrg basic_machine=i386-sun 1164301ea0f4Smrg ;; 1165301ea0f4Smrg sv1) 1166301ea0f4Smrg basic_machine=sv1-cray 1167301ea0f4Smrg os=-unicos 1168301ea0f4Smrg ;; 1169301ea0f4Smrg symmetry) 1170301ea0f4Smrg basic_machine=i386-sequent 1171301ea0f4Smrg os=-dynix 1172301ea0f4Smrg ;; 1173301ea0f4Smrg t3e) 1174301ea0f4Smrg basic_machine=alphaev5-cray 1175301ea0f4Smrg os=-unicos 1176301ea0f4Smrg ;; 1177301ea0f4Smrg t90) 1178301ea0f4Smrg basic_machine=t90-cray 1179301ea0f4Smrg os=-unicos 1180301ea0f4Smrg ;; 11810cc67336Smrg tile*) 1182213fdd94Smrg basic_machine=$basic_machine-unknown 11830cc67336Smrg os=-linux-gnu 11840cc67336Smrg ;; 1185301ea0f4Smrg tx39) 1186301ea0f4Smrg basic_machine=mipstx39-unknown 1187301ea0f4Smrg ;; 1188301ea0f4Smrg tx39el) 1189301ea0f4Smrg basic_machine=mipstx39el-unknown 1190301ea0f4Smrg ;; 1191301ea0f4Smrg toad1) 1192301ea0f4Smrg basic_machine=pdp10-xkl 1193301ea0f4Smrg os=-tops20 1194301ea0f4Smrg ;; 1195301ea0f4Smrg tower | tower-32) 1196301ea0f4Smrg basic_machine=m68k-ncr 1197301ea0f4Smrg ;; 11980cc67336Smrg tpf) 11990cc67336Smrg basic_machine=s390x-ibm 12000cc67336Smrg os=-tpf 12010cc67336Smrg ;; 1202301ea0f4Smrg udi29k) 1203301ea0f4Smrg basic_machine=a29k-amd 1204301ea0f4Smrg os=-udi 1205301ea0f4Smrg ;; 1206301ea0f4Smrg ultra3) 1207301ea0f4Smrg basic_machine=a29k-nyu 1208301ea0f4Smrg os=-sym1 1209301ea0f4Smrg ;; 1210301ea0f4Smrg v810 | necv810) 1211301ea0f4Smrg basic_machine=v810-nec 1212301ea0f4Smrg os=-none 1213301ea0f4Smrg ;; 1214301ea0f4Smrg vaxv) 1215301ea0f4Smrg basic_machine=vax-dec 1216301ea0f4Smrg os=-sysv 1217301ea0f4Smrg ;; 1218301ea0f4Smrg vms) 1219301ea0f4Smrg basic_machine=vax-dec 1220301ea0f4Smrg os=-vms 1221301ea0f4Smrg ;; 1222301ea0f4Smrg vpp*|vx|vx-*) 1223301ea0f4Smrg basic_machine=f301-fujitsu 1224301ea0f4Smrg ;; 1225301ea0f4Smrg vxworks960) 1226301ea0f4Smrg basic_machine=i960-wrs 1227301ea0f4Smrg os=-vxworks 1228301ea0f4Smrg ;; 1229301ea0f4Smrg vxworks68) 1230301ea0f4Smrg basic_machine=m68k-wrs 1231301ea0f4Smrg os=-vxworks 1232301ea0f4Smrg ;; 1233301ea0f4Smrg vxworks29k) 1234301ea0f4Smrg basic_machine=a29k-wrs 1235301ea0f4Smrg os=-vxworks 1236301ea0f4Smrg ;; 1237301ea0f4Smrg w65*) 1238301ea0f4Smrg basic_machine=w65-wdc 1239301ea0f4Smrg os=-none 1240301ea0f4Smrg ;; 1241301ea0f4Smrg w89k-*) 1242301ea0f4Smrg basic_machine=hppa1.1-winbond 1243301ea0f4Smrg os=-proelf 1244301ea0f4Smrg ;; 12450cc67336Smrg xbox) 12460cc67336Smrg basic_machine=i686-pc 12470cc67336Smrg os=-mingw32 12480cc67336Smrg ;; 1249301ea0f4Smrg xps | xps100) 1250301ea0f4Smrg basic_machine=xps100-honeywell 1251301ea0f4Smrg ;; 1252213fdd94Smrg xscale-* | xscalee[bl]-*) 1253213fdd94Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1254213fdd94Smrg ;; 1255301ea0f4Smrg ymp) 1256301ea0f4Smrg basic_machine=ymp-cray 1257301ea0f4Smrg os=-unicos 1258301ea0f4Smrg ;; 1259301ea0f4Smrg z8k-*-coff) 1260301ea0f4Smrg basic_machine=z8k-unknown 1261301ea0f4Smrg os=-sim 1262301ea0f4Smrg ;; 1263213fdd94Smrg z80-*-coff) 1264213fdd94Smrg basic_machine=z80-unknown 1265213fdd94Smrg os=-sim 1266213fdd94Smrg ;; 1267301ea0f4Smrg none) 1268301ea0f4Smrg basic_machine=none-none 1269301ea0f4Smrg os=-none 1270301ea0f4Smrg ;; 1271301ea0f4Smrg 1272301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1273301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular. 1274301ea0f4Smrg w89k) 1275301ea0f4Smrg basic_machine=hppa1.1-winbond 1276301ea0f4Smrg ;; 1277301ea0f4Smrg op50n) 1278301ea0f4Smrg basic_machine=hppa1.1-oki 1279301ea0f4Smrg ;; 1280301ea0f4Smrg op60c) 1281301ea0f4Smrg basic_machine=hppa1.1-oki 1282301ea0f4Smrg ;; 1283301ea0f4Smrg romp) 1284301ea0f4Smrg basic_machine=romp-ibm 1285301ea0f4Smrg ;; 12860cc67336Smrg mmix) 12870cc67336Smrg basic_machine=mmix-knuth 12880cc67336Smrg ;; 1289301ea0f4Smrg rs6000) 1290301ea0f4Smrg basic_machine=rs6000-ibm 1291301ea0f4Smrg ;; 1292301ea0f4Smrg vax) 1293301ea0f4Smrg basic_machine=vax-dec 1294301ea0f4Smrg ;; 1295301ea0f4Smrg pdp10) 1296301ea0f4Smrg # there are many clones, so DEC is not a safe bet 1297301ea0f4Smrg basic_machine=pdp10-unknown 1298301ea0f4Smrg ;; 1299301ea0f4Smrg pdp11) 1300301ea0f4Smrg basic_machine=pdp11-dec 1301301ea0f4Smrg ;; 1302301ea0f4Smrg we32k) 1303301ea0f4Smrg basic_machine=we32k-att 1304301ea0f4Smrg ;; 1305213fdd94Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1306301ea0f4Smrg basic_machine=sh-unknown 1307301ea0f4Smrg ;; 13080cc67336Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1309301ea0f4Smrg basic_machine=sparc-sun 1310301ea0f4Smrg ;; 1311301ea0f4Smrg cydra) 1312301ea0f4Smrg basic_machine=cydra-cydrome 1313301ea0f4Smrg ;; 1314301ea0f4Smrg orion) 1315301ea0f4Smrg basic_machine=orion-highlevel 1316301ea0f4Smrg ;; 1317301ea0f4Smrg orion105) 1318301ea0f4Smrg basic_machine=clipper-highlevel 1319301ea0f4Smrg ;; 1320301ea0f4Smrg mac | mpw | mac-mpw) 1321301ea0f4Smrg basic_machine=m68k-apple 1322301ea0f4Smrg ;; 1323301ea0f4Smrg pmac | pmac-mpw) 1324301ea0f4Smrg basic_machine=powerpc-apple 1325301ea0f4Smrg ;; 1326301ea0f4Smrg *-unknown) 1327301ea0f4Smrg # Make sure to match an already-canonicalized machine name. 1328301ea0f4Smrg ;; 1329301ea0f4Smrg *) 1330301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1331301ea0f4Smrg exit 1 1332301ea0f4Smrg ;; 1333301ea0f4Smrgesac 1334301ea0f4Smrg 1335301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers. 1336301ea0f4Smrgcase $basic_machine in 1337301ea0f4Smrg *-digital*) 1338301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1339301ea0f4Smrg ;; 1340301ea0f4Smrg *-commodore*) 1341301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1342301ea0f4Smrg ;; 1343301ea0f4Smrg *) 1344301ea0f4Smrg ;; 1345301ea0f4Smrgesac 1346301ea0f4Smrg 1347301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems. 1348301ea0f4Smrg 1349301ea0f4Smrgif [ x"$os" != x"" ] 1350301ea0f4Smrgthen 1351301ea0f4Smrgcase $os in 1352213fdd94Smrg # First match some system type aliases 1353213fdd94Smrg # that might get confused with valid system types. 1354301ea0f4Smrg # -solaris* is a basic system type, with this one exception. 1355213fdd94Smrg -auroraux) 1356213fdd94Smrg os=-auroraux 1357213fdd94Smrg ;; 1358301ea0f4Smrg -solaris1 | -solaris1.*) 1359301ea0f4Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1360301ea0f4Smrg ;; 1361301ea0f4Smrg -solaris) 1362301ea0f4Smrg os=-solaris2 1363301ea0f4Smrg ;; 1364301ea0f4Smrg -svr4*) 1365301ea0f4Smrg os=-sysv4 1366301ea0f4Smrg ;; 1367301ea0f4Smrg -unixware*) 1368301ea0f4Smrg os=-sysv4.2uw 1369301ea0f4Smrg ;; 1370301ea0f4Smrg -gnu/linux*) 1371301ea0f4Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1372301ea0f4Smrg ;; 1373301ea0f4Smrg # First accept the basic system types. 1374301ea0f4Smrg # The portable systems comes first. 1375301ea0f4Smrg # Each alternative MUST END IN A *, to match a version number. 1376301ea0f4Smrg # -sysv* is not here because it comes later, after sysvr4. 1377301ea0f4Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1378213fdd94Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1379213fdd94Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 138018552c8aSmrg | -sym* | -kopensolaris* | -plan9* \ 1381301ea0f4Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 138297ee6427Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1383301ea0f4Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1384301ea0f4Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13850cc67336Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1386d94624a0Smrg | -bitrig* | -openbsd* | -solidbsd* \ 13870cc67336Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13880cc67336Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1389301ea0f4Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1390301ea0f4Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1391213fdd94Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1392213fdd94Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 139318552c8aSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 139418552c8aSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 139597ee6427Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1396301ea0f4Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1397301ea0f4Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1398d94624a0Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1399301ea0f4Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1400301ea0f4Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 14010cc67336Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1402d94624a0Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 1403301ea0f4Smrg # Remember, each alternative MUST END IN *, to match a version number. 1404301ea0f4Smrg ;; 1405301ea0f4Smrg -qnx*) 1406301ea0f4Smrg case $basic_machine in 1407301ea0f4Smrg x86-* | i*86-*) 1408301ea0f4Smrg ;; 1409301ea0f4Smrg *) 1410301ea0f4Smrg os=-nto$os 1411301ea0f4Smrg ;; 1412301ea0f4Smrg esac 1413301ea0f4Smrg ;; 1414301ea0f4Smrg -nto-qnx*) 1415301ea0f4Smrg ;; 1416301ea0f4Smrg -nto*) 1417301ea0f4Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1418301ea0f4Smrg ;; 1419301ea0f4Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14200cc67336Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1421301ea0f4Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1422301ea0f4Smrg ;; 1423301ea0f4Smrg -mac*) 1424301ea0f4Smrg os=`echo $os | sed -e 's|mac|macos|'` 1425301ea0f4Smrg ;; 14260cc67336Smrg -linux-dietlibc) 14270cc67336Smrg os=-linux-dietlibc 14280cc67336Smrg ;; 1429301ea0f4Smrg -linux*) 1430301ea0f4Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1431301ea0f4Smrg ;; 1432301ea0f4Smrg -sunos5*) 1433301ea0f4Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1434301ea0f4Smrg ;; 1435301ea0f4Smrg -sunos6*) 1436301ea0f4Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1437301ea0f4Smrg ;; 1438301ea0f4Smrg -opened*) 1439301ea0f4Smrg os=-openedition 1440301ea0f4Smrg ;; 1441213fdd94Smrg -os400*) 14420cc67336Smrg os=-os400 14430cc67336Smrg ;; 1444301ea0f4Smrg -wince*) 1445301ea0f4Smrg os=-wince 1446301ea0f4Smrg ;; 1447301ea0f4Smrg -osfrose*) 1448301ea0f4Smrg os=-osfrose 1449301ea0f4Smrg ;; 1450301ea0f4Smrg -osf*) 1451301ea0f4Smrg os=-osf 1452301ea0f4Smrg ;; 1453301ea0f4Smrg -utek*) 1454301ea0f4Smrg os=-bsd 1455301ea0f4Smrg ;; 1456301ea0f4Smrg -dynix*) 1457301ea0f4Smrg os=-bsd 1458301ea0f4Smrg ;; 1459301ea0f4Smrg -acis*) 1460301ea0f4Smrg os=-aos 1461301ea0f4Smrg ;; 1462301ea0f4Smrg -atheos*) 1463301ea0f4Smrg os=-atheos 1464301ea0f4Smrg ;; 14650cc67336Smrg -syllable*) 14660cc67336Smrg os=-syllable 14670cc67336Smrg ;; 1468301ea0f4Smrg -386bsd) 1469301ea0f4Smrg os=-bsd 1470301ea0f4Smrg ;; 1471301ea0f4Smrg -ctix* | -uts*) 1472301ea0f4Smrg os=-sysv 1473301ea0f4Smrg ;; 1474301ea0f4Smrg -nova*) 1475301ea0f4Smrg os=-rtmk-nova 1476301ea0f4Smrg ;; 1477301ea0f4Smrg -ns2 ) 1478301ea0f4Smrg os=-nextstep2 1479301ea0f4Smrg ;; 1480301ea0f4Smrg -nsk*) 1481301ea0f4Smrg os=-nsk 1482301ea0f4Smrg ;; 1483301ea0f4Smrg # Preserve the version number of sinix5. 1484301ea0f4Smrg -sinix5.*) 1485301ea0f4Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1486301ea0f4Smrg ;; 1487301ea0f4Smrg -sinix*) 1488301ea0f4Smrg os=-sysv4 1489301ea0f4Smrg ;; 1490213fdd94Smrg -tpf*) 14910cc67336Smrg os=-tpf 14920cc67336Smrg ;; 1493301ea0f4Smrg -triton*) 1494301ea0f4Smrg os=-sysv3 1495301ea0f4Smrg ;; 1496301ea0f4Smrg -oss*) 1497301ea0f4Smrg os=-sysv3 1498301ea0f4Smrg ;; 1499301ea0f4Smrg -svr4) 1500301ea0f4Smrg os=-sysv4 1501301ea0f4Smrg ;; 1502301ea0f4Smrg -svr3) 1503301ea0f4Smrg os=-sysv3 1504301ea0f4Smrg ;; 1505301ea0f4Smrg -sysvr4) 1506301ea0f4Smrg os=-sysv4 1507301ea0f4Smrg ;; 1508301ea0f4Smrg # This must come after -sysvr4. 1509301ea0f4Smrg -sysv*) 1510301ea0f4Smrg ;; 1511301ea0f4Smrg -ose*) 1512301ea0f4Smrg os=-ose 1513301ea0f4Smrg ;; 1514301ea0f4Smrg -es1800*) 1515301ea0f4Smrg os=-ose 1516301ea0f4Smrg ;; 1517301ea0f4Smrg -xenix) 1518301ea0f4Smrg os=-xenix 1519301ea0f4Smrg ;; 1520301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1521301ea0f4Smrg os=-mint 1522301ea0f4Smrg ;; 1523301ea0f4Smrg -aros*) 1524301ea0f4Smrg os=-aros 1525301ea0f4Smrg ;; 15260cc67336Smrg -zvmoe) 15270cc67336Smrg os=-zvmoe 15280cc67336Smrg ;; 1529213fdd94Smrg -dicos*) 1530213fdd94Smrg os=-dicos 1531213fdd94Smrg ;; 1532213fdd94Smrg -nacl*) 1533213fdd94Smrg ;; 1534301ea0f4Smrg -none) 1535301ea0f4Smrg ;; 1536301ea0f4Smrg *) 1537301ea0f4Smrg # Get rid of the `-' at the beginning of $os. 1538301ea0f4Smrg os=`echo $os | sed 's/[^-]*-//'` 1539301ea0f4Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1540301ea0f4Smrg exit 1 1541301ea0f4Smrg ;; 1542301ea0f4Smrgesac 1543301ea0f4Smrgelse 1544301ea0f4Smrg 1545301ea0f4Smrg# Here we handle the default operating systems that come with various machines. 1546301ea0f4Smrg# The value should be what the vendor currently ships out the door with their 1547301ea0f4Smrg# machine or put another way, the most popular os provided with the machine. 1548301ea0f4Smrg 1549301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1550301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top 1551301ea0f4Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1552301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating 1553301ea0f4Smrg# system, and we'll never get to this point. 1554301ea0f4Smrg 1555301ea0f4Smrgcase $basic_machine in 1556213fdd94Smrg score-*) 15570cc67336Smrg os=-elf 15580cc67336Smrg ;; 1559213fdd94Smrg spu-*) 15600cc67336Smrg os=-elf 15610cc67336Smrg ;; 1562301ea0f4Smrg *-acorn) 1563301ea0f4Smrg os=-riscix1.2 1564301ea0f4Smrg ;; 1565301ea0f4Smrg arm*-rebel) 1566301ea0f4Smrg os=-linux 1567301ea0f4Smrg ;; 1568301ea0f4Smrg arm*-semi) 1569301ea0f4Smrg os=-aout 1570301ea0f4Smrg ;; 1571213fdd94Smrg c4x-* | tic4x-*) 1572213fdd94Smrg os=-coff 1573213fdd94Smrg ;; 157418552c8aSmrg c8051-*) 157518552c8aSmrg os=-elf 157618552c8aSmrg ;; 157718552c8aSmrg hexagon-*) 157818552c8aSmrg os=-elf 157918552c8aSmrg ;; 1580213fdd94Smrg tic54x-*) 1581213fdd94Smrg os=-coff 1582213fdd94Smrg ;; 1583213fdd94Smrg tic55x-*) 1584213fdd94Smrg os=-coff 1585213fdd94Smrg ;; 1586213fdd94Smrg tic6x-*) 1587213fdd94Smrg os=-coff 1588301ea0f4Smrg ;; 1589301ea0f4Smrg # This must come before the *-dec entry. 1590301ea0f4Smrg pdp10-*) 1591301ea0f4Smrg os=-tops20 1592301ea0f4Smrg ;; 1593301ea0f4Smrg pdp11-*) 1594301ea0f4Smrg os=-none 1595301ea0f4Smrg ;; 1596301ea0f4Smrg *-dec | vax-*) 1597301ea0f4Smrg os=-ultrix4.2 1598301ea0f4Smrg ;; 1599301ea0f4Smrg m68*-apollo) 1600301ea0f4Smrg os=-domain 1601301ea0f4Smrg ;; 1602301ea0f4Smrg i386-sun) 1603301ea0f4Smrg os=-sunos4.0.2 1604301ea0f4Smrg ;; 1605301ea0f4Smrg m68000-sun) 1606301ea0f4Smrg os=-sunos3 1607301ea0f4Smrg ;; 1608301ea0f4Smrg m68*-cisco) 1609301ea0f4Smrg os=-aout 1610301ea0f4Smrg ;; 1611213fdd94Smrg mep-*) 16120cc67336Smrg os=-elf 16130cc67336Smrg ;; 1614301ea0f4Smrg mips*-cisco) 1615301ea0f4Smrg os=-elf 1616301ea0f4Smrg ;; 1617301ea0f4Smrg mips*-*) 1618301ea0f4Smrg os=-elf 1619301ea0f4Smrg ;; 1620301ea0f4Smrg or32-*) 1621301ea0f4Smrg os=-coff 1622301ea0f4Smrg ;; 1623301ea0f4Smrg *-tti) # must be before sparc entry or we get the wrong os. 1624301ea0f4Smrg os=-sysv3 1625301ea0f4Smrg ;; 1626301ea0f4Smrg sparc-* | *-sun) 1627301ea0f4Smrg os=-sunos4.1.1 1628301ea0f4Smrg ;; 1629301ea0f4Smrg *-be) 1630301ea0f4Smrg os=-beos 1631301ea0f4Smrg ;; 16320cc67336Smrg *-haiku) 16330cc67336Smrg os=-haiku 16340cc67336Smrg ;; 1635301ea0f4Smrg *-ibm) 1636301ea0f4Smrg os=-aix 1637301ea0f4Smrg ;; 1638213fdd94Smrg *-knuth) 16390cc67336Smrg os=-mmixware 16400cc67336Smrg ;; 1641301ea0f4Smrg *-wec) 1642301ea0f4Smrg os=-proelf 1643301ea0f4Smrg ;; 1644301ea0f4Smrg *-winbond) 1645301ea0f4Smrg os=-proelf 1646301ea0f4Smrg ;; 1647301ea0f4Smrg *-oki) 1648301ea0f4Smrg os=-proelf 1649301ea0f4Smrg ;; 1650301ea0f4Smrg *-hp) 1651301ea0f4Smrg os=-hpux 1652301ea0f4Smrg ;; 1653301ea0f4Smrg *-hitachi) 1654301ea0f4Smrg os=-hiux 1655301ea0f4Smrg ;; 1656301ea0f4Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1657301ea0f4Smrg os=-sysv 1658301ea0f4Smrg ;; 1659301ea0f4Smrg *-cbm) 1660301ea0f4Smrg os=-amigaos 1661301ea0f4Smrg ;; 1662301ea0f4Smrg *-dg) 1663301ea0f4Smrg os=-dgux 1664301ea0f4Smrg ;; 1665301ea0f4Smrg *-dolphin) 1666301ea0f4Smrg os=-sysv3 1667301ea0f4Smrg ;; 1668301ea0f4Smrg m68k-ccur) 1669301ea0f4Smrg os=-rtu 1670301ea0f4Smrg ;; 1671301ea0f4Smrg m88k-omron*) 1672301ea0f4Smrg os=-luna 1673301ea0f4Smrg ;; 1674301ea0f4Smrg *-next ) 1675301ea0f4Smrg os=-nextstep 1676301ea0f4Smrg ;; 1677301ea0f4Smrg *-sequent) 1678301ea0f4Smrg os=-ptx 1679301ea0f4Smrg ;; 1680301ea0f4Smrg *-crds) 1681301ea0f4Smrg os=-unos 1682301ea0f4Smrg ;; 1683301ea0f4Smrg *-ns) 1684301ea0f4Smrg os=-genix 1685301ea0f4Smrg ;; 1686301ea0f4Smrg i370-*) 1687301ea0f4Smrg os=-mvs 1688301ea0f4Smrg ;; 1689301ea0f4Smrg *-next) 1690301ea0f4Smrg os=-nextstep3 1691301ea0f4Smrg ;; 1692301ea0f4Smrg *-gould) 1693301ea0f4Smrg os=-sysv 1694301ea0f4Smrg ;; 1695301ea0f4Smrg *-highlevel) 1696301ea0f4Smrg os=-bsd 1697301ea0f4Smrg ;; 1698301ea0f4Smrg *-encore) 1699301ea0f4Smrg os=-bsd 1700301ea0f4Smrg ;; 1701301ea0f4Smrg *-sgi) 1702301ea0f4Smrg os=-irix 1703301ea0f4Smrg ;; 1704301ea0f4Smrg *-siemens) 1705301ea0f4Smrg os=-sysv4 1706301ea0f4Smrg ;; 1707301ea0f4Smrg *-masscomp) 1708301ea0f4Smrg os=-rtu 1709301ea0f4Smrg ;; 1710301ea0f4Smrg f30[01]-fujitsu | f700-fujitsu) 1711301ea0f4Smrg os=-uxpv 1712301ea0f4Smrg ;; 1713301ea0f4Smrg *-rom68k) 1714301ea0f4Smrg os=-coff 1715301ea0f4Smrg ;; 1716301ea0f4Smrg *-*bug) 1717301ea0f4Smrg os=-coff 1718301ea0f4Smrg ;; 1719301ea0f4Smrg *-apple) 1720301ea0f4Smrg os=-macos 1721301ea0f4Smrg ;; 1722301ea0f4Smrg *-atari*) 1723301ea0f4Smrg os=-mint 1724301ea0f4Smrg ;; 1725301ea0f4Smrg *) 1726301ea0f4Smrg os=-none 1727301ea0f4Smrg ;; 1728301ea0f4Smrgesac 1729301ea0f4Smrgfi 1730301ea0f4Smrg 1731301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1732301ea0f4Smrg# manufacturer. We pick the logical manufacturer. 1733301ea0f4Smrgvendor=unknown 1734301ea0f4Smrgcase $basic_machine in 1735301ea0f4Smrg *-unknown) 1736301ea0f4Smrg case $os in 1737301ea0f4Smrg -riscix*) 1738301ea0f4Smrg vendor=acorn 1739301ea0f4Smrg ;; 1740301ea0f4Smrg -sunos*) 1741301ea0f4Smrg vendor=sun 1742301ea0f4Smrg ;; 1743213fdd94Smrg -cnk*|-aix*) 1744301ea0f4Smrg vendor=ibm 1745301ea0f4Smrg ;; 1746301ea0f4Smrg -beos*) 1747301ea0f4Smrg vendor=be 1748301ea0f4Smrg ;; 1749301ea0f4Smrg -hpux*) 1750301ea0f4Smrg vendor=hp 1751301ea0f4Smrg ;; 1752301ea0f4Smrg -mpeix*) 1753301ea0f4Smrg vendor=hp 1754301ea0f4Smrg ;; 1755301ea0f4Smrg -hiux*) 1756301ea0f4Smrg vendor=hitachi 1757301ea0f4Smrg ;; 1758301ea0f4Smrg -unos*) 1759301ea0f4Smrg vendor=crds 1760301ea0f4Smrg ;; 1761301ea0f4Smrg -dgux*) 1762301ea0f4Smrg vendor=dg 1763301ea0f4Smrg ;; 1764301ea0f4Smrg -luna*) 1765301ea0f4Smrg vendor=omron 1766301ea0f4Smrg ;; 1767301ea0f4Smrg -genix*) 1768301ea0f4Smrg vendor=ns 1769301ea0f4Smrg ;; 1770301ea0f4Smrg -mvs* | -opened*) 1771301ea0f4Smrg vendor=ibm 1772301ea0f4Smrg ;; 17730cc67336Smrg -os400*) 17740cc67336Smrg vendor=ibm 17750cc67336Smrg ;; 1776301ea0f4Smrg -ptx*) 1777301ea0f4Smrg vendor=sequent 1778301ea0f4Smrg ;; 17790cc67336Smrg -tpf*) 17800cc67336Smrg vendor=ibm 17810cc67336Smrg ;; 1782301ea0f4Smrg -vxsim* | -vxworks* | -windiss*) 1783301ea0f4Smrg vendor=wrs 1784301ea0f4Smrg ;; 1785301ea0f4Smrg -aux*) 1786301ea0f4Smrg vendor=apple 1787301ea0f4Smrg ;; 1788301ea0f4Smrg -hms*) 1789301ea0f4Smrg vendor=hitachi 1790301ea0f4Smrg ;; 1791301ea0f4Smrg -mpw* | -macos*) 1792301ea0f4Smrg vendor=apple 1793301ea0f4Smrg ;; 1794301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1795301ea0f4Smrg vendor=atari 1796301ea0f4Smrg ;; 1797301ea0f4Smrg -vos*) 1798301ea0f4Smrg vendor=stratus 1799301ea0f4Smrg ;; 1800301ea0f4Smrg esac 1801301ea0f4Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1802301ea0f4Smrg ;; 1803301ea0f4Smrgesac 1804301ea0f4Smrg 1805301ea0f4Smrgecho $basic_machine$os 18060cc67336Smrgexit 1807301ea0f4Smrg 1808301ea0f4Smrg# Local variables: 1809301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1810301ea0f4Smrg# time-stamp-start: "timestamp='" 1811301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d" 1812301ea0f4Smrg# time-stamp-end: "'" 1813301ea0f4Smrg# End: 1814