config.sub revision 06ef0fec
1b3307321Smrg#! /bin/sh 2b3307321Smrg# Configuration validation subroutine script. 306ef0fecSmrg# Copyright 1992-2018 Free Software Foundation, Inc. 4b3307321Smrg 506ef0fecSmrgtimestamp='2018-02-28' 6b3307321Smrg 774a3f230Smrg# This file is free software; you can redistribute it and/or modify it 874a3f230Smrg# under the terms of the GNU General Public License as published by 974a3f230Smrg# the Free Software Foundation; either version 3 of the License, or 10b3307321Smrg# (at your option) any later version. 11b3307321Smrg# 1274a3f230Smrg# This program is distributed in the hope that it will be useful, but 1374a3f230Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1474a3f230Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1574a3f230Smrg# General Public License for more details. 16b3307321Smrg# 17b3307321Smrg# You should have received a copy of the GNU General Public License 1806ef0fecSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19afe13c8eSmrg# 20b3307321Smrg# As a special exception to the GNU General Public License, if you 21b3307321Smrg# distribute this file as part of a program that contains a 22b3307321Smrg# configuration script generated by Autoconf, you may include it under 2374a3f230Smrg# the same distribution terms that you use for the rest of that 2474a3f230Smrg# program. This Exception is an additional permission under section 7 2574a3f230Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26b3307321Smrg 27afe13c8eSmrg 2806ef0fecSmrg# Please send patches to <config-patches@gnu.org>. 29b3307321Smrg# 30b3307321Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31b3307321Smrg# Supply the specified configuration type as an argument. 32b3307321Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33b3307321Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34b3307321Smrg 3529cb5710Smrg# You can get the latest version of this script from: 3606ef0fecSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 3729cb5710Smrg 38b3307321Smrg# This file is supposed to be the same for all GNU packages 39b3307321Smrg# and recognize all the CPU types, system types and aliases 40b3307321Smrg# that are meaningful with *any* GNU software. 41b3307321Smrg# Each package is responsible for reporting which valid configurations 42b3307321Smrg# it does not support. The user should be able to distinguish 43b3307321Smrg# a failure to support a valid configuration from a meaningless 44b3307321Smrg# configuration. 45b3307321Smrg 46b3307321Smrg# The goal of this file is to map all the various variations of a given 47b3307321Smrg# machine specification into a single specification in the form: 48b3307321Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49b3307321Smrg# or in some cases, the newer four-part form: 50b3307321Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51b3307321Smrg# It is wrong to echo any other type of specification. 52b3307321Smrg 53b3307321Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54b3307321Smrg 55b3307321Smrgusage="\ 5606ef0fecSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57b3307321Smrg 58b3307321SmrgCanonicalize a configuration name. 59b3307321Smrg 6006ef0fecSmrgOptions: 61b3307321Smrg -h, --help print this help, then exit 62b3307321Smrg -t, --time-stamp print date of last modification, then exit 63b3307321Smrg -v, --version print version number, then exit 64b3307321Smrg 65b3307321SmrgReport bugs and patches to <config-patches@gnu.org>." 66b3307321Smrg 67b3307321Smrgversion="\ 68b3307321SmrgGNU config.sub ($timestamp) 69b3307321Smrg 7006ef0fecSmrgCopyright 1992-2018 Free Software Foundation, Inc. 71b3307321Smrg 72b3307321SmrgThis is free software; see the source for copying conditions. There is NO 73b3307321Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74b3307321Smrg 75b3307321Smrghelp=" 76b3307321SmrgTry \`$me --help' for more information." 77b3307321Smrg 78b3307321Smrg# Parse command line 79b3307321Smrgwhile test $# -gt 0 ; do 80b3307321Smrg case $1 in 81b3307321Smrg --time-stamp | --time* | -t ) 82afe13c8eSmrg echo "$timestamp" ; exit ;; 83b3307321Smrg --version | -v ) 84afe13c8eSmrg echo "$version" ; exit ;; 85b3307321Smrg --help | --h* | -h ) 86afe13c8eSmrg echo "$usage"; exit ;; 87b3307321Smrg -- ) # Stop option processing 88b3307321Smrg shift; break ;; 89b3307321Smrg - ) # Use stdin as input. 90b3307321Smrg break ;; 91b3307321Smrg -* ) 92b3307321Smrg echo "$me: invalid option $1$help" 93b3307321Smrg exit 1 ;; 94b3307321Smrg 95b3307321Smrg *local*) 96b3307321Smrg # First pass through any local machine types. 9706ef0fecSmrg echo "$1" 98afe13c8eSmrg exit ;; 99b3307321Smrg 100b3307321Smrg * ) 101b3307321Smrg break ;; 102b3307321Smrg esac 103b3307321Smrgdone 104b3307321Smrg 105b3307321Smrgcase $# in 106b3307321Smrg 0) echo "$me: missing argument$help" >&2 107b3307321Smrg exit 1;; 108b3307321Smrg 1) ;; 109b3307321Smrg *) echo "$me: too many arguments$help" >&2 110b3307321Smrg exit 1;; 111b3307321Smrgesac 112b3307321Smrg 113b3307321Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114b3307321Smrg# Here we must recognize all the valid KERNEL-OS combinations. 11506ef0fecSmrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116b3307321Smrgcase $maybe_os in 11729cb5710Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11874a3f230Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11906ef0fecSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 12006ef0fecSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121afe13c8eSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122b3307321Smrg os=-$maybe_os 12306ef0fecSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124b3307321Smrg ;; 12574a3f230Smrg android-linux) 12674a3f230Smrg os=-linux-android 12706ef0fecSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12874a3f230Smrg ;; 129b3307321Smrg *) 13006ef0fecSmrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 13106ef0fecSmrg if [ "$basic_machine" != "$1" ] 13206ef0fecSmrg then os=`echo "$1" | sed 's/.*-/-/'` 133b3307321Smrg else os=; fi 134b3307321Smrg ;; 135b3307321Smrgesac 136b3307321Smrg 137b3307321Smrg### Let's recognize common machines as not being operating systems so 138b3307321Smrg### that things like config.sub decstation-3100 work. We also 139b3307321Smrg### recognize some manufacturers as not being operating systems, so we 140b3307321Smrg### can provide default operating systems below. 141b3307321Smrgcase $os in 142b3307321Smrg -sun*os*) 143b3307321Smrg # Prevent following clause from handling this invalid input. 144b3307321Smrg ;; 145b3307321Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146b3307321Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147b3307321Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148b3307321Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149b3307321Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150b3307321Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15174a3f230Smrg -apple | -axis | -knuth | -cray | -microblaze*) 152b3307321Smrg os= 153b3307321Smrg basic_machine=$1 154b3307321Smrg ;; 15574a3f230Smrg -bluegene*) 15674a3f230Smrg os=-cnk 15729cb5710Smrg ;; 158b3307321Smrg -sim | -cisco | -oki | -wec | -winbond) 159b3307321Smrg os= 160b3307321Smrg basic_machine=$1 161b3307321Smrg ;; 162b3307321Smrg -scout) 163b3307321Smrg ;; 164b3307321Smrg -wrs) 165b3307321Smrg os=-vxworks 166b3307321Smrg basic_machine=$1 167b3307321Smrg ;; 168b3307321Smrg -chorusos*) 169b3307321Smrg os=-chorusos 170b3307321Smrg basic_machine=$1 171b3307321Smrg ;; 17274a3f230Smrg -chorusrdb) 17374a3f230Smrg os=-chorusrdb 174b3307321Smrg basic_machine=$1 17574a3f230Smrg ;; 176b3307321Smrg -hiux*) 177b3307321Smrg os=-hiuxwe2 178b3307321Smrg ;; 179afe13c8eSmrg -sco6) 180afe13c8eSmrg os=-sco5v6 18106ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 182afe13c8eSmrg ;; 183b3307321Smrg -sco5) 184b3307321Smrg os=-sco3.2v5 18506ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186b3307321Smrg ;; 187b3307321Smrg -sco4) 188b3307321Smrg os=-sco3.2v4 18906ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190b3307321Smrg ;; 191b3307321Smrg -sco3.2.[4-9]*) 192b3307321Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19306ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194b3307321Smrg ;; 195b3307321Smrg -sco3.2v[4-9]*) 196b3307321Smrg # Don't forget version if it is 3.2v4 or newer. 19706ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198b3307321Smrg ;; 199afe13c8eSmrg -sco5v6*) 200afe13c8eSmrg # Don't forget version if it is 3.2v4 or newer. 20106ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 202afe13c8eSmrg ;; 203b3307321Smrg -sco*) 204b3307321Smrg os=-sco3.2v2 20506ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206b3307321Smrg ;; 207b3307321Smrg -udk*) 20806ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209b3307321Smrg ;; 210b3307321Smrg -isc) 211b3307321Smrg os=-isc2.2 21206ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213b3307321Smrg ;; 214b3307321Smrg -clix*) 215b3307321Smrg basic_machine=clipper-intergraph 216b3307321Smrg ;; 217b3307321Smrg -isc*) 21806ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219b3307321Smrg ;; 22074a3f230Smrg -lynx*178) 22174a3f230Smrg os=-lynxos178 22274a3f230Smrg ;; 22374a3f230Smrg -lynx*5) 22474a3f230Smrg os=-lynxos5 22574a3f230Smrg ;; 226b3307321Smrg -lynx*) 227b3307321Smrg os=-lynxos 228b3307321Smrg ;; 229b3307321Smrg -ptx*) 23006ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231b3307321Smrg ;; 232b3307321Smrg -psos*) 233b3307321Smrg os=-psos 234b3307321Smrg ;; 235b3307321Smrg -mint | -mint[0-9]*) 236b3307321Smrg basic_machine=m68k-atari 237b3307321Smrg os=-mint 238b3307321Smrg ;; 239b3307321Smrgesac 240b3307321Smrg 241b3307321Smrg# Decode aliases for certain CPU-COMPANY combinations. 242b3307321Smrgcase $basic_machine in 243b3307321Smrg # Recognize the basic CPU types without company name. 244b3307321Smrg # Some are omitted here because they have special meanings below. 245b3307321Smrg 1750a | 580 \ 246b3307321Smrg | a29k \ 24774a3f230Smrg | aarch64 | aarch64_be \ 248b3307321Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249b3307321Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 250afe13c8eSmrg | am33_2.0 \ 25174a3f230Smrg | arc | arceb \ 25274a3f230Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25374a3f230Smrg | avr | avr32 \ 25406ef0fecSmrg | ba \ 25574a3f230Smrg | be32 | be64 \ 256afe13c8eSmrg | bfin \ 25706ef0fecSmrg | c4x | c8051 | clipper \ 2585e358ecaSmrg | d10v | d30v | dlx | dsp16xx \ 25906ef0fecSmrg | e2k | epiphany \ 26006ef0fecSmrg | fido | fr30 | frv | ft32 \ 261b3307321Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 26274a3f230Smrg | hexagon \ 26306ef0fecSmrg | i370 | i860 | i960 | ia16 | ia64 \ 264afe13c8eSmrg | ip2k | iq2000 \ 26506ef0fecSmrg | k1om \ 26674a3f230Smrg | le32 | le64 \ 2675e358ecaSmrg | lm32 \ 268afe13c8eSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26974a3f230Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270b3307321Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271b3307321Smrg | mips16 \ 272b3307321Smrg | mips64 | mips64el \ 2735e358ecaSmrg | mips64octeon | mips64octeonel \ 274b3307321Smrg | mips64orion | mips64orionel \ 2755e358ecaSmrg | mips64r5900 | mips64r5900el \ 2765e358ecaSmrg | mips64vr | mips64vrel \ 277b3307321Smrg | mips64vr4100 | mips64vr4100el \ 278b3307321Smrg | mips64vr4300 | mips64vr4300el \ 279b3307321Smrg | mips64vr5000 | mips64vr5000el \ 280afe13c8eSmrg | mips64vr5900 | mips64vr5900el \ 281b3307321Smrg | mipsisa32 | mipsisa32el \ 282b3307321Smrg | mipsisa32r2 | mipsisa32r2el \ 28306ef0fecSmrg | mipsisa32r6 | mipsisa32r6el \ 284b3307321Smrg | mipsisa64 | mipsisa64el \ 285afe13c8eSmrg | mipsisa64r2 | mipsisa64r2el \ 28606ef0fecSmrg | mipsisa64r6 | mipsisa64r6el \ 287b3307321Smrg | mipsisa64sb1 | mipsisa64sb1el \ 288b3307321Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 28974a3f230Smrg | mipsr5900 | mipsr5900el \ 290b3307321Smrg | mipstx39 | mipstx39el \ 291b3307321Smrg | mn10200 | mn10300 \ 2925e358ecaSmrg | moxie \ 293afe13c8eSmrg | mt \ 294b3307321Smrg | msp430 \ 29529cb5710Smrg | nds32 | nds32le | nds32be \ 29674a3f230Smrg | nios | nios2 | nios2eb | nios2el \ 297b3307321Smrg | ns16k | ns32k \ 29806ef0fecSmrg | open8 | or1k | or1knd | or32 \ 29906ef0fecSmrg | pdp10 | pj | pjl \ 30074a3f230Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30106ef0fecSmrg | pru \ 302b3307321Smrg | pyramid \ 30306ef0fecSmrg | riscv32 | riscv64 \ 30474a3f230Smrg | rl78 | rx \ 305afe13c8eSmrg | score \ 30606ef0fecSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307b3307321Smrg | sh64 | sh64le \ 308afe13c8eSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 309afe13c8eSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 31074a3f230Smrg | spu \ 31174a3f230Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31229cb5710Smrg | ubicom32 \ 31374a3f230Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31406ef0fecSmrg | visium \ 31506ef0fecSmrg | wasm32 \ 31674a3f230Smrg | x86 | xc16x | xstormy16 | xtensa \ 3175e358ecaSmrg | z8k | z80) 318b3307321Smrg basic_machine=$basic_machine-unknown 319b3307321Smrg ;; 32029cb5710Smrg c54x) 32129cb5710Smrg basic_machine=tic54x-unknown 32229cb5710Smrg ;; 32329cb5710Smrg c55x) 32429cb5710Smrg basic_machine=tic55x-unknown 32529cb5710Smrg ;; 32629cb5710Smrg c6x) 32729cb5710Smrg basic_machine=tic6x-unknown 32829cb5710Smrg ;; 32906ef0fecSmrg leon|leon[3-9]) 33006ef0fecSmrg basic_machine=sparc-$basic_machine 33106ef0fecSmrg ;; 33206ef0fecSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333b3307321Smrg basic_machine=$basic_machine-unknown 334b3307321Smrg os=-none 335b3307321Smrg ;; 33606ef0fecSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337b3307321Smrg ;; 338afe13c8eSmrg ms1) 339afe13c8eSmrg basic_machine=mt-unknown 340afe13c8eSmrg ;; 341b3307321Smrg 34274a3f230Smrg strongarm | thumb | xscale) 34374a3f230Smrg basic_machine=arm-unknown 34474a3f230Smrg ;; 34574a3f230Smrg xgate) 34674a3f230Smrg basic_machine=$basic_machine-unknown 34774a3f230Smrg os=-none 34874a3f230Smrg ;; 34974a3f230Smrg xscaleeb) 35074a3f230Smrg basic_machine=armeb-unknown 35174a3f230Smrg ;; 35274a3f230Smrg 35374a3f230Smrg xscaleel) 35474a3f230Smrg basic_machine=armel-unknown 35574a3f230Smrg ;; 35674a3f230Smrg 357b3307321Smrg # We use `pc' rather than `unknown' 358b3307321Smrg # because (1) that's what they normally are, and 359b3307321Smrg # (2) the word "unknown" tends to confuse beginning users. 360b3307321Smrg i*86 | x86_64) 361b3307321Smrg basic_machine=$basic_machine-pc 362b3307321Smrg ;; 363b3307321Smrg # Object if more than one company name word. 364b3307321Smrg *-*-*) 36506ef0fecSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366b3307321Smrg exit 1 367b3307321Smrg ;; 368b3307321Smrg # Recognize the basic CPU types with company name. 369b3307321Smrg 580-* \ 370b3307321Smrg | a29k-* \ 37174a3f230Smrg | aarch64-* | aarch64_be-* \ 372b3307321Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373b3307321Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37474a3f230Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375b3307321Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 376afe13c8eSmrg | avr-* | avr32-* \ 37706ef0fecSmrg | ba-* \ 37874a3f230Smrg | be32-* | be64-* \ 379afe13c8eSmrg | bfin-* | bs2000-* \ 38029cb5710Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38106ef0fecSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382b3307321Smrg | d10v-* | d30v-* | dlx-* \ 38306ef0fecSmrg | e2k-* | elxsi-* \ 384afe13c8eSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385b3307321Smrg | h8300-* | h8500-* \ 386b3307321Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 38774a3f230Smrg | hexagon-* \ 38806ef0fecSmrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 389afe13c8eSmrg | ip2k-* | iq2000-* \ 39006ef0fecSmrg | k1om-* \ 39174a3f230Smrg | le32-* | le64-* \ 3925e358ecaSmrg | lm32-* \ 393afe13c8eSmrg | m32c-* | m32r-* | m32rle-* \ 394b3307321Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39574a3f230Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39674a3f230Smrg | microblaze-* | microblazeel-* \ 397b3307321Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398b3307321Smrg | mips16-* \ 399b3307321Smrg | mips64-* | mips64el-* \ 4005e358ecaSmrg | mips64octeon-* | mips64octeonel-* \ 401b3307321Smrg | mips64orion-* | mips64orionel-* \ 4025e358ecaSmrg | mips64r5900-* | mips64r5900el-* \ 4035e358ecaSmrg | mips64vr-* | mips64vrel-* \ 404b3307321Smrg | mips64vr4100-* | mips64vr4100el-* \ 405b3307321Smrg | mips64vr4300-* | mips64vr4300el-* \ 406b3307321Smrg | mips64vr5000-* | mips64vr5000el-* \ 407afe13c8eSmrg | mips64vr5900-* | mips64vr5900el-* \ 408b3307321Smrg | mipsisa32-* | mipsisa32el-* \ 409b3307321Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41006ef0fecSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 411b3307321Smrg | mipsisa64-* | mipsisa64el-* \ 412afe13c8eSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 41306ef0fecSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 414b3307321Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415b3307321Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41674a3f230Smrg | mipsr5900-* | mipsr5900el-* \ 417b3307321Smrg | mipstx39-* | mipstx39el-* \ 418afe13c8eSmrg | mmix-* \ 419afe13c8eSmrg | mt-* \ 420b3307321Smrg | msp430-* \ 42129cb5710Smrg | nds32-* | nds32le-* | nds32be-* \ 42274a3f230Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 423afe13c8eSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 42474a3f230Smrg | open8-* \ 42506ef0fecSmrg | or1k*-* \ 426b3307321Smrg | orion-* \ 427b3307321Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 42874a3f230Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 42906ef0fecSmrg | pru-* \ 430b3307321Smrg | pyramid-* \ 43106ef0fecSmrg | riscv32-* | riscv64-* \ 43274a3f230Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4335e358ecaSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434b3307321Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 435afe13c8eSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 436afe13c8eSmrg | sparclite-* \ 43706ef0fecSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 43874a3f230Smrg | tahoe-* \ 43929cb5710Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 44074a3f230Smrg | tile*-* \ 441b3307321Smrg | tron-* \ 44229cb5710Smrg | ubicom32-* \ 44374a3f230Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 44474a3f230Smrg | vax-* \ 44506ef0fecSmrg | visium-* \ 44606ef0fecSmrg | wasm32-* \ 447b3307321Smrg | we32k-* \ 44874a3f230Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449afe13c8eSmrg | xstormy16-* | xtensa*-* \ 450b3307321Smrg | ymp-* \ 4515e358ecaSmrg | z8k-* | z80-*) 452b3307321Smrg ;; 453afe13c8eSmrg # Recognize the basic CPU types without company name, with glob match. 454afe13c8eSmrg xtensa*) 455afe13c8eSmrg basic_machine=$basic_machine-unknown 456afe13c8eSmrg ;; 457b3307321Smrg # Recognize the various machine names and aliases which stand 458b3307321Smrg # for a CPU type and a company and sometimes even an OS. 459b3307321Smrg 386bsd) 46006ef0fecSmrg basic_machine=i386-pc 461b3307321Smrg os=-bsd 462b3307321Smrg ;; 463b3307321Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464b3307321Smrg basic_machine=m68000-att 465b3307321Smrg ;; 466b3307321Smrg 3b*) 467b3307321Smrg basic_machine=we32k-att 468b3307321Smrg ;; 469b3307321Smrg a29khif) 470b3307321Smrg basic_machine=a29k-amd 471b3307321Smrg os=-udi 472b3307321Smrg ;; 47374a3f230Smrg abacus) 474afe13c8eSmrg basic_machine=abacus-unknown 475afe13c8eSmrg ;; 476b3307321Smrg adobe68k) 477b3307321Smrg basic_machine=m68010-adobe 478b3307321Smrg os=-scout 479b3307321Smrg ;; 480b3307321Smrg alliant | fx80) 481b3307321Smrg basic_machine=fx80-alliant 482b3307321Smrg ;; 483b3307321Smrg altos | altos3068) 484b3307321Smrg basic_machine=m68k-altos 485b3307321Smrg ;; 486b3307321Smrg am29k) 487b3307321Smrg basic_machine=a29k-none 488b3307321Smrg os=-bsd 489b3307321Smrg ;; 490b3307321Smrg amd64) 491b3307321Smrg basic_machine=x86_64-pc 492b3307321Smrg ;; 493afe13c8eSmrg amd64-*) 49406ef0fecSmrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 495afe13c8eSmrg ;; 496b3307321Smrg amdahl) 497b3307321Smrg basic_machine=580-amdahl 498b3307321Smrg os=-sysv 499b3307321Smrg ;; 500b3307321Smrg amiga | amiga-*) 501b3307321Smrg basic_machine=m68k-unknown 502b3307321Smrg ;; 503b3307321Smrg amigaos | amigados) 504b3307321Smrg basic_machine=m68k-unknown 505b3307321Smrg os=-amigaos 506b3307321Smrg ;; 507b3307321Smrg amigaunix | amix) 508b3307321Smrg basic_machine=m68k-unknown 509b3307321Smrg os=-sysv4 510b3307321Smrg ;; 511b3307321Smrg apollo68) 512b3307321Smrg basic_machine=m68k-apollo 513b3307321Smrg os=-sysv 514b3307321Smrg ;; 515b3307321Smrg apollo68bsd) 516b3307321Smrg basic_machine=m68k-apollo 517b3307321Smrg os=-bsd 518b3307321Smrg ;; 5195e358ecaSmrg aros) 5205e358ecaSmrg basic_machine=i386-pc 5215e358ecaSmrg os=-aros 5225e358ecaSmrg ;; 52306ef0fecSmrg asmjs) 52406ef0fecSmrg basic_machine=asmjs-unknown 52506ef0fecSmrg ;; 526b3307321Smrg aux) 527b3307321Smrg basic_machine=m68k-apple 528b3307321Smrg os=-aux 529b3307321Smrg ;; 530b3307321Smrg balance) 531b3307321Smrg basic_machine=ns32k-sequent 532b3307321Smrg os=-dynix 533b3307321Smrg ;; 534afe13c8eSmrg blackfin) 535afe13c8eSmrg basic_machine=bfin-unknown 536afe13c8eSmrg os=-linux 537afe13c8eSmrg ;; 538afe13c8eSmrg blackfin-*) 53906ef0fecSmrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540afe13c8eSmrg os=-linux 541afe13c8eSmrg ;; 54229cb5710Smrg bluegene*) 54329cb5710Smrg basic_machine=powerpc-ibm 54429cb5710Smrg os=-cnk 54529cb5710Smrg ;; 54629cb5710Smrg c54x-*) 54706ef0fecSmrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 54829cb5710Smrg ;; 54929cb5710Smrg c55x-*) 55006ef0fecSmrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55129cb5710Smrg ;; 55229cb5710Smrg c6x-*) 55306ef0fecSmrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55429cb5710Smrg ;; 555b3307321Smrg c90) 556b3307321Smrg basic_machine=c90-cray 557b3307321Smrg os=-unicos 558b3307321Smrg ;; 55974a3f230Smrg cegcc) 5605e358ecaSmrg basic_machine=arm-unknown 5615e358ecaSmrg os=-cegcc 5625e358ecaSmrg ;; 563b3307321Smrg convex-c1) 564b3307321Smrg basic_machine=c1-convex 565b3307321Smrg os=-bsd 566b3307321Smrg ;; 567b3307321Smrg convex-c2) 568b3307321Smrg basic_machine=c2-convex 569b3307321Smrg os=-bsd 570b3307321Smrg ;; 571b3307321Smrg convex-c32) 572b3307321Smrg basic_machine=c32-convex 573b3307321Smrg os=-bsd 574b3307321Smrg ;; 575b3307321Smrg convex-c34) 576b3307321Smrg basic_machine=c34-convex 577b3307321Smrg os=-bsd 578b3307321Smrg ;; 579b3307321Smrg convex-c38) 580b3307321Smrg basic_machine=c38-convex 581b3307321Smrg os=-bsd 582b3307321Smrg ;; 583b3307321Smrg cray | j90) 584b3307321Smrg basic_machine=j90-cray 585b3307321Smrg os=-unicos 586b3307321Smrg ;; 587afe13c8eSmrg craynv) 588afe13c8eSmrg basic_machine=craynv-cray 589afe13c8eSmrg os=-unicosmp 590afe13c8eSmrg ;; 59174a3f230Smrg cr16 | cr16-*) 592afe13c8eSmrg basic_machine=cr16-unknown 593afe13c8eSmrg os=-elf 594afe13c8eSmrg ;; 595b3307321Smrg crds | unos) 596b3307321Smrg basic_machine=m68k-crds 597b3307321Smrg ;; 598afe13c8eSmrg crisv32 | crisv32-* | etraxfs*) 599afe13c8eSmrg basic_machine=crisv32-axis 600afe13c8eSmrg ;; 601b3307321Smrg cris | cris-* | etrax*) 602b3307321Smrg basic_machine=cris-axis 603b3307321Smrg ;; 604afe13c8eSmrg crx) 605afe13c8eSmrg basic_machine=crx-unknown 606afe13c8eSmrg os=-elf 607afe13c8eSmrg ;; 608b3307321Smrg da30 | da30-*) 609b3307321Smrg basic_machine=m68k-da30 610b3307321Smrg ;; 611b3307321Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612b3307321Smrg basic_machine=mips-dec 613b3307321Smrg ;; 614b3307321Smrg decsystem10* | dec10*) 615b3307321Smrg basic_machine=pdp10-dec 616b3307321Smrg os=-tops10 617b3307321Smrg ;; 618b3307321Smrg decsystem20* | dec20*) 619b3307321Smrg basic_machine=pdp10-dec 620b3307321Smrg os=-tops20 621b3307321Smrg ;; 622b3307321Smrg delta | 3300 | motorola-3300 | motorola-delta \ 623b3307321Smrg | 3300-motorola | delta-motorola) 624b3307321Smrg basic_machine=m68k-motorola 625b3307321Smrg ;; 626b3307321Smrg delta88) 627b3307321Smrg basic_machine=m88k-motorola 628b3307321Smrg os=-sysv3 629b3307321Smrg ;; 6305e358ecaSmrg dicos) 6315e358ecaSmrg basic_machine=i686-pc 6325e358ecaSmrg os=-dicos 6335e358ecaSmrg ;; 634afe13c8eSmrg djgpp) 635afe13c8eSmrg basic_machine=i586-pc 636afe13c8eSmrg os=-msdosdjgpp 637afe13c8eSmrg ;; 638b3307321Smrg dpx20 | dpx20-*) 639b3307321Smrg basic_machine=rs6000-bull 640b3307321Smrg os=-bosx 641b3307321Smrg ;; 64206ef0fecSmrg dpx2*) 643b3307321Smrg basic_machine=m68k-bull 644b3307321Smrg os=-sysv3 645b3307321Smrg ;; 64606ef0fecSmrg e500v[12]) 64706ef0fecSmrg basic_machine=powerpc-unknown 64806ef0fecSmrg os=$os"spe" 64906ef0fecSmrg ;; 65006ef0fecSmrg e500v[12]-*) 65106ef0fecSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 65206ef0fecSmrg os=$os"spe" 65306ef0fecSmrg ;; 654b3307321Smrg ebmon29k) 655b3307321Smrg basic_machine=a29k-amd 656b3307321Smrg os=-ebmon 657b3307321Smrg ;; 658b3307321Smrg elxsi) 659b3307321Smrg basic_machine=elxsi-elxsi 660b3307321Smrg os=-bsd 661b3307321Smrg ;; 662b3307321Smrg encore | umax | mmax) 663b3307321Smrg basic_machine=ns32k-encore 664b3307321Smrg ;; 665b3307321Smrg es1800 | OSE68k | ose68k | ose | OSE) 666b3307321Smrg basic_machine=m68k-ericsson 667b3307321Smrg os=-ose 668b3307321Smrg ;; 669b3307321Smrg fx2800) 670b3307321Smrg basic_machine=i860-alliant 671b3307321Smrg ;; 672b3307321Smrg genix) 673b3307321Smrg basic_machine=ns32k-ns 674b3307321Smrg ;; 675b3307321Smrg gmicro) 676b3307321Smrg basic_machine=tron-gmicro 677b3307321Smrg os=-sysv 678b3307321Smrg ;; 679b3307321Smrg go32) 680b3307321Smrg basic_machine=i386-pc 681b3307321Smrg os=-go32 682b3307321Smrg ;; 683b3307321Smrg h3050r* | hiux*) 684b3307321Smrg basic_machine=hppa1.1-hitachi 685b3307321Smrg os=-hiuxwe2 686b3307321Smrg ;; 687b3307321Smrg h8300hms) 688b3307321Smrg basic_machine=h8300-hitachi 689b3307321Smrg os=-hms 690b3307321Smrg ;; 691b3307321Smrg h8300xray) 692b3307321Smrg basic_machine=h8300-hitachi 693b3307321Smrg os=-xray 694b3307321Smrg ;; 695b3307321Smrg h8500hms) 696b3307321Smrg basic_machine=h8500-hitachi 697b3307321Smrg os=-hms 698b3307321Smrg ;; 699b3307321Smrg harris) 700b3307321Smrg basic_machine=m88k-harris 701b3307321Smrg os=-sysv3 702b3307321Smrg ;; 703b3307321Smrg hp300-*) 704b3307321Smrg basic_machine=m68k-hp 705b3307321Smrg ;; 706b3307321Smrg hp300bsd) 707b3307321Smrg basic_machine=m68k-hp 708b3307321Smrg os=-bsd 709b3307321Smrg ;; 710b3307321Smrg hp300hpux) 711b3307321Smrg basic_machine=m68k-hp 712b3307321Smrg os=-hpux 713b3307321Smrg ;; 714b3307321Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715b3307321Smrg basic_machine=hppa1.0-hp 716b3307321Smrg ;; 717b3307321Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718b3307321Smrg basic_machine=m68000-hp 719b3307321Smrg ;; 720b3307321Smrg hp9k3[2-9][0-9]) 721b3307321Smrg basic_machine=m68k-hp 722b3307321Smrg ;; 723b3307321Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724b3307321Smrg basic_machine=hppa1.0-hp 725b3307321Smrg ;; 726b3307321Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727b3307321Smrg basic_machine=hppa1.1-hp 728b3307321Smrg ;; 729b3307321Smrg hp9k78[0-9] | hp78[0-9]) 730b3307321Smrg # FIXME: really hppa2.0-hp 731b3307321Smrg basic_machine=hppa1.1-hp 732b3307321Smrg ;; 733b3307321Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734b3307321Smrg # FIXME: really hppa2.0-hp 735b3307321Smrg basic_machine=hppa1.1-hp 736b3307321Smrg ;; 737b3307321Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738b3307321Smrg basic_machine=hppa1.1-hp 739b3307321Smrg ;; 740b3307321Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741b3307321Smrg basic_machine=hppa1.0-hp 742b3307321Smrg ;; 743b3307321Smrg hppaosf) 744b3307321Smrg basic_machine=hppa1.1-hp 745b3307321Smrg os=-osf 746b3307321Smrg ;; 747b3307321Smrg hppro) 748b3307321Smrg basic_machine=hppa1.1-hp 749b3307321Smrg os=-proelf 750b3307321Smrg ;; 751b3307321Smrg i370-ibm* | ibm*) 752b3307321Smrg basic_machine=i370-ibm 753b3307321Smrg ;; 754b3307321Smrg i*86v32) 75506ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756b3307321Smrg os=-sysv32 757b3307321Smrg ;; 758b3307321Smrg i*86v4*) 75906ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760b3307321Smrg os=-sysv4 761b3307321Smrg ;; 762b3307321Smrg i*86v) 76306ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764b3307321Smrg os=-sysv 765b3307321Smrg ;; 766b3307321Smrg i*86sol2) 76706ef0fecSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768b3307321Smrg os=-solaris2 769b3307321Smrg ;; 770b3307321Smrg i386mach) 771b3307321Smrg basic_machine=i386-mach 772b3307321Smrg os=-mach 773b3307321Smrg ;; 77406ef0fecSmrg vsta) 775b3307321Smrg basic_machine=i386-unknown 776b3307321Smrg os=-vsta 777b3307321Smrg ;; 778b3307321Smrg iris | iris4d) 779b3307321Smrg basic_machine=mips-sgi 780b3307321Smrg case $os in 781b3307321Smrg -irix*) 782b3307321Smrg ;; 783b3307321Smrg *) 784b3307321Smrg os=-irix4 785b3307321Smrg ;; 786b3307321Smrg esac 787b3307321Smrg ;; 788b3307321Smrg isi68 | isi) 789b3307321Smrg basic_machine=m68k-isi 790b3307321Smrg os=-sysv 791b3307321Smrg ;; 79206ef0fecSmrg leon-*|leon[3-9]-*) 79306ef0fecSmrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 79406ef0fecSmrg ;; 795afe13c8eSmrg m68knommu) 796afe13c8eSmrg basic_machine=m68k-unknown 797afe13c8eSmrg os=-linux 798afe13c8eSmrg ;; 799afe13c8eSmrg m68knommu-*) 80006ef0fecSmrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801afe13c8eSmrg os=-linux 802afe13c8eSmrg ;; 803b3307321Smrg magnum | m3230) 804b3307321Smrg basic_machine=mips-mips 805b3307321Smrg os=-sysv 806b3307321Smrg ;; 807b3307321Smrg merlin) 808b3307321Smrg basic_machine=ns32k-utek 809b3307321Smrg os=-sysv 810b3307321Smrg ;; 81174a3f230Smrg microblaze*) 81229cb5710Smrg basic_machine=microblaze-xilinx 81329cb5710Smrg ;; 81474a3f230Smrg mingw64) 81574a3f230Smrg basic_machine=x86_64-pc 81674a3f230Smrg os=-mingw64 81774a3f230Smrg ;; 818b3307321Smrg mingw32) 81906ef0fecSmrg basic_machine=i686-pc 820b3307321Smrg os=-mingw32 821b3307321Smrg ;; 822afe13c8eSmrg mingw32ce) 823afe13c8eSmrg basic_machine=arm-unknown 824afe13c8eSmrg os=-mingw32ce 825afe13c8eSmrg ;; 826b3307321Smrg miniframe) 827b3307321Smrg basic_machine=m68000-convergent 828b3307321Smrg ;; 829b3307321Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830b3307321Smrg basic_machine=m68k-atari 831b3307321Smrg os=-mint 832b3307321Smrg ;; 833b3307321Smrg mips3*-*) 83406ef0fecSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835b3307321Smrg ;; 836b3307321Smrg mips3*) 83706ef0fecSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838b3307321Smrg ;; 839b3307321Smrg monitor) 840b3307321Smrg basic_machine=m68k-rom68k 841b3307321Smrg os=-coff 842b3307321Smrg ;; 843b3307321Smrg morphos) 844b3307321Smrg basic_machine=powerpc-unknown 845b3307321Smrg os=-morphos 846b3307321Smrg ;; 84706ef0fecSmrg moxiebox) 84806ef0fecSmrg basic_machine=moxie-unknown 84906ef0fecSmrg os=-moxiebox 85006ef0fecSmrg ;; 851b3307321Smrg msdos) 852b3307321Smrg basic_machine=i386-pc 853b3307321Smrg os=-msdos 854b3307321Smrg ;; 855afe13c8eSmrg ms1-*) 85606ef0fecSmrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 857afe13c8eSmrg ;; 85874a3f230Smrg msys) 85906ef0fecSmrg basic_machine=i686-pc 86074a3f230Smrg os=-msys 86174a3f230Smrg ;; 862b3307321Smrg mvs) 863b3307321Smrg basic_machine=i370-ibm 864b3307321Smrg os=-mvs 865b3307321Smrg ;; 86674a3f230Smrg nacl) 86774a3f230Smrg basic_machine=le32-unknown 86874a3f230Smrg os=-nacl 86974a3f230Smrg ;; 870b3307321Smrg ncr3000) 871b3307321Smrg basic_machine=i486-ncr 872b3307321Smrg os=-sysv4 873b3307321Smrg ;; 874b3307321Smrg netbsd386) 875b3307321Smrg basic_machine=i386-unknown 876b3307321Smrg os=-netbsd 877b3307321Smrg ;; 878b3307321Smrg netwinder) 879b3307321Smrg basic_machine=armv4l-rebel 880b3307321Smrg os=-linux 881b3307321Smrg ;; 882b3307321Smrg news | news700 | news800 | news900) 883b3307321Smrg basic_machine=m68k-sony 884b3307321Smrg os=-newsos 885b3307321Smrg ;; 886b3307321Smrg news1000) 887b3307321Smrg basic_machine=m68030-sony 888b3307321Smrg os=-newsos 889b3307321Smrg ;; 890b3307321Smrg news-3600 | risc-news) 891b3307321Smrg basic_machine=mips-sony 892b3307321Smrg os=-newsos 893b3307321Smrg ;; 894b3307321Smrg necv70) 895b3307321Smrg basic_machine=v70-nec 896b3307321Smrg os=-sysv 897b3307321Smrg ;; 89806ef0fecSmrg next | m*-next) 899b3307321Smrg basic_machine=m68k-next 900b3307321Smrg case $os in 901b3307321Smrg -nextstep* ) 902b3307321Smrg ;; 903b3307321Smrg -ns2*) 904b3307321Smrg os=-nextstep2 905b3307321Smrg ;; 906b3307321Smrg *) 907b3307321Smrg os=-nextstep3 908b3307321Smrg ;; 909b3307321Smrg esac 910b3307321Smrg ;; 911b3307321Smrg nh3000) 912b3307321Smrg basic_machine=m68k-harris 913b3307321Smrg os=-cxux 914b3307321Smrg ;; 915b3307321Smrg nh[45]000) 916b3307321Smrg basic_machine=m88k-harris 917b3307321Smrg os=-cxux 918b3307321Smrg ;; 919b3307321Smrg nindy960) 920b3307321Smrg basic_machine=i960-intel 921b3307321Smrg os=-nindy 922b3307321Smrg ;; 923b3307321Smrg mon960) 924b3307321Smrg basic_machine=i960-intel 925b3307321Smrg os=-mon960 926b3307321Smrg ;; 927b3307321Smrg nonstopux) 928b3307321Smrg basic_machine=mips-compaq 929b3307321Smrg os=-nonstopux 930b3307321Smrg ;; 931b3307321Smrg np1) 932b3307321Smrg basic_machine=np1-gould 933b3307321Smrg ;; 93474a3f230Smrg neo-tandem) 93529cb5710Smrg basic_machine=neo-tandem 93629cb5710Smrg ;; 93774a3f230Smrg nse-tandem) 93829cb5710Smrg basic_machine=nse-tandem 93929cb5710Smrg ;; 940b3307321Smrg nsr-tandem) 941b3307321Smrg basic_machine=nsr-tandem 942b3307321Smrg ;; 94306ef0fecSmrg nsv-tandem) 94406ef0fecSmrg basic_machine=nsv-tandem 94506ef0fecSmrg ;; 94606ef0fecSmrg nsx-tandem) 94706ef0fecSmrg basic_machine=nsx-tandem 94806ef0fecSmrg ;; 949b3307321Smrg op50n-* | op60c-*) 950b3307321Smrg basic_machine=hppa1.1-oki 951b3307321Smrg os=-proelf 952b3307321Smrg ;; 953afe13c8eSmrg openrisc | openrisc-*) 954b3307321Smrg basic_machine=or32-unknown 955afe13c8eSmrg ;; 956afe13c8eSmrg os400) 957afe13c8eSmrg basic_machine=powerpc-ibm 958afe13c8eSmrg os=-os400 959b3307321Smrg ;; 960b3307321Smrg OSE68000 | ose68000) 961b3307321Smrg basic_machine=m68000-ericsson 962b3307321Smrg os=-ose 963b3307321Smrg ;; 964b3307321Smrg os68k) 965b3307321Smrg basic_machine=m68k-none 966b3307321Smrg os=-os68k 967b3307321Smrg ;; 968b3307321Smrg pa-hitachi) 969b3307321Smrg basic_machine=hppa1.1-hitachi 970b3307321Smrg os=-hiuxwe2 971b3307321Smrg ;; 972b3307321Smrg paragon) 973b3307321Smrg basic_machine=i860-intel 974b3307321Smrg os=-osf 975b3307321Smrg ;; 976afe13c8eSmrg parisc) 977afe13c8eSmrg basic_machine=hppa-unknown 978afe13c8eSmrg os=-linux 979afe13c8eSmrg ;; 980afe13c8eSmrg parisc-*) 98106ef0fecSmrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982afe13c8eSmrg os=-linux 983afe13c8eSmrg ;; 984b3307321Smrg pbd) 985b3307321Smrg basic_machine=sparc-tti 986b3307321Smrg ;; 987b3307321Smrg pbb) 988b3307321Smrg basic_machine=m68k-tti 989b3307321Smrg ;; 990b3307321Smrg pc532 | pc532-*) 991b3307321Smrg basic_machine=ns32k-pc532 992b3307321Smrg ;; 993afe13c8eSmrg pc98) 994afe13c8eSmrg basic_machine=i386-pc 995afe13c8eSmrg ;; 996afe13c8eSmrg pc98-*) 99706ef0fecSmrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 998afe13c8eSmrg ;; 999b3307321Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000b3307321Smrg basic_machine=i586-pc 1001b3307321Smrg ;; 1002b3307321Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003b3307321Smrg basic_machine=i686-pc 1004b3307321Smrg ;; 1005b3307321Smrg pentiumii | pentium2 | pentiumiii | pentium3) 1006b3307321Smrg basic_machine=i686-pc 1007b3307321Smrg ;; 1008b3307321Smrg pentium4) 1009b3307321Smrg basic_machine=i786-pc 1010b3307321Smrg ;; 1011b3307321Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101206ef0fecSmrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013b3307321Smrg ;; 1014b3307321Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 101506ef0fecSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016b3307321Smrg ;; 1017b3307321Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101806ef0fecSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019b3307321Smrg ;; 1020b3307321Smrg pentium4-*) 102106ef0fecSmrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022b3307321Smrg ;; 1023b3307321Smrg pn) 1024b3307321Smrg basic_machine=pn-gould 1025b3307321Smrg ;; 1026b3307321Smrg power) basic_machine=power-ibm 1027b3307321Smrg ;; 102874a3f230Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1029b3307321Smrg ;; 103074a3f230Smrg ppc-* | ppcbe-*) 103106ef0fecSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032b3307321Smrg ;; 103306ef0fecSmrg ppcle | powerpclittle) 1034b3307321Smrg basic_machine=powerpcle-unknown 1035b3307321Smrg ;; 1036b3307321Smrg ppcle-* | powerpclittle-*) 103706ef0fecSmrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038b3307321Smrg ;; 1039b3307321Smrg ppc64) basic_machine=powerpc64-unknown 1040b3307321Smrg ;; 104106ef0fecSmrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042b3307321Smrg ;; 104306ef0fecSmrg ppc64le | powerpc64little) 1044b3307321Smrg basic_machine=powerpc64le-unknown 1045b3307321Smrg ;; 1046b3307321Smrg ppc64le-* | powerpc64little-*) 104706ef0fecSmrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048b3307321Smrg ;; 1049b3307321Smrg ps2) 1050b3307321Smrg basic_machine=i386-ibm 1051b3307321Smrg ;; 1052b3307321Smrg pw32) 1053b3307321Smrg basic_machine=i586-unknown 1054b3307321Smrg os=-pw32 1055b3307321Smrg ;; 105674a3f230Smrg rdos | rdos64) 105774a3f230Smrg basic_machine=x86_64-pc 105874a3f230Smrg os=-rdos 105974a3f230Smrg ;; 106074a3f230Smrg rdos32) 1061afe13c8eSmrg basic_machine=i386-pc 1062afe13c8eSmrg os=-rdos 1063afe13c8eSmrg ;; 1064b3307321Smrg rom68k) 1065b3307321Smrg basic_machine=m68k-rom68k 1066b3307321Smrg os=-coff 1067b3307321Smrg ;; 1068b3307321Smrg rm[46]00) 1069b3307321Smrg basic_machine=mips-siemens 1070b3307321Smrg ;; 1071b3307321Smrg rtpc | rtpc-*) 1072b3307321Smrg basic_machine=romp-ibm 1073b3307321Smrg ;; 1074afe13c8eSmrg s390 | s390-*) 1075afe13c8eSmrg basic_machine=s390-ibm 1076afe13c8eSmrg ;; 1077afe13c8eSmrg s390x | s390x-*) 1078afe13c8eSmrg basic_machine=s390x-ibm 1079afe13c8eSmrg ;; 1080b3307321Smrg sa29200) 1081b3307321Smrg basic_machine=a29k-amd 1082b3307321Smrg os=-udi 1083b3307321Smrg ;; 1084b3307321Smrg sb1) 1085b3307321Smrg basic_machine=mipsisa64sb1-unknown 1086b3307321Smrg ;; 1087b3307321Smrg sb1el) 1088b3307321Smrg basic_machine=mipsisa64sb1el-unknown 1089b3307321Smrg ;; 1090afe13c8eSmrg sde) 1091afe13c8eSmrg basic_machine=mipsisa32-sde 1092afe13c8eSmrg os=-elf 1093afe13c8eSmrg ;; 1094b3307321Smrg sei) 1095b3307321Smrg basic_machine=mips-sei 1096b3307321Smrg os=-seiux 1097b3307321Smrg ;; 1098b3307321Smrg sequent) 1099b3307321Smrg basic_machine=i386-sequent 1100b3307321Smrg ;; 1101afe13c8eSmrg sh5el) 1102afe13c8eSmrg basic_machine=sh5le-unknown 1103afe13c8eSmrg ;; 110406ef0fecSmrg simso-wrs) 1105b3307321Smrg basic_machine=sparclite-wrs 1106b3307321Smrg os=-vxworks 1107b3307321Smrg ;; 1108b3307321Smrg sps7) 1109b3307321Smrg basic_machine=m68k-bull 1110b3307321Smrg os=-sysv2 1111b3307321Smrg ;; 1112b3307321Smrg spur) 1113b3307321Smrg basic_machine=spur-unknown 1114b3307321Smrg ;; 1115b3307321Smrg st2000) 1116b3307321Smrg basic_machine=m68k-tandem 1117b3307321Smrg ;; 1118b3307321Smrg stratus) 1119b3307321Smrg basic_machine=i860-stratus 1120b3307321Smrg os=-sysv4 1121b3307321Smrg ;; 112274a3f230Smrg strongarm-* | thumb-*) 112306ef0fecSmrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 112474a3f230Smrg ;; 1125b3307321Smrg sun2) 1126b3307321Smrg basic_machine=m68000-sun 1127b3307321Smrg ;; 1128b3307321Smrg sun2os3) 1129b3307321Smrg basic_machine=m68000-sun 1130b3307321Smrg os=-sunos3 1131b3307321Smrg ;; 1132b3307321Smrg sun2os4) 1133b3307321Smrg basic_machine=m68000-sun 1134b3307321Smrg os=-sunos4 1135b3307321Smrg ;; 1136b3307321Smrg sun3os3) 1137b3307321Smrg basic_machine=m68k-sun 1138b3307321Smrg os=-sunos3 1139b3307321Smrg ;; 1140b3307321Smrg sun3os4) 1141b3307321Smrg basic_machine=m68k-sun 1142b3307321Smrg os=-sunos4 1143b3307321Smrg ;; 1144b3307321Smrg sun4os3) 1145b3307321Smrg basic_machine=sparc-sun 1146b3307321Smrg os=-sunos3 1147b3307321Smrg ;; 1148b3307321Smrg sun4os4) 1149b3307321Smrg basic_machine=sparc-sun 1150b3307321Smrg os=-sunos4 1151b3307321Smrg ;; 1152b3307321Smrg sun4sol2) 1153b3307321Smrg basic_machine=sparc-sun 1154b3307321Smrg os=-solaris2 1155b3307321Smrg ;; 1156b3307321Smrg sun3 | sun3-*) 1157b3307321Smrg basic_machine=m68k-sun 1158b3307321Smrg ;; 1159b3307321Smrg sun4) 1160b3307321Smrg basic_machine=sparc-sun 1161b3307321Smrg ;; 1162b3307321Smrg sun386 | sun386i | roadrunner) 1163b3307321Smrg basic_machine=i386-sun 1164b3307321Smrg ;; 1165b3307321Smrg sv1) 1166b3307321Smrg basic_machine=sv1-cray 1167b3307321Smrg os=-unicos 1168b3307321Smrg ;; 1169b3307321Smrg symmetry) 1170b3307321Smrg basic_machine=i386-sequent 1171b3307321Smrg os=-dynix 1172b3307321Smrg ;; 1173b3307321Smrg t3e) 1174b3307321Smrg basic_machine=alphaev5-cray 1175b3307321Smrg os=-unicos 1176b3307321Smrg ;; 1177b3307321Smrg t90) 1178b3307321Smrg basic_machine=t90-cray 1179b3307321Smrg os=-unicos 1180b3307321Smrg ;; 1181afe13c8eSmrg tile*) 118274a3f230Smrg basic_machine=$basic_machine-unknown 1183afe13c8eSmrg os=-linux-gnu 1184afe13c8eSmrg ;; 1185b3307321Smrg tx39) 1186b3307321Smrg basic_machine=mipstx39-unknown 1187b3307321Smrg ;; 1188b3307321Smrg tx39el) 1189b3307321Smrg basic_machine=mipstx39el-unknown 1190b3307321Smrg ;; 1191b3307321Smrg toad1) 1192b3307321Smrg basic_machine=pdp10-xkl 1193b3307321Smrg os=-tops20 1194b3307321Smrg ;; 1195b3307321Smrg tower | tower-32) 1196b3307321Smrg basic_machine=m68k-ncr 1197b3307321Smrg ;; 1198afe13c8eSmrg tpf) 1199afe13c8eSmrg basic_machine=s390x-ibm 1200afe13c8eSmrg os=-tpf 1201afe13c8eSmrg ;; 1202b3307321Smrg udi29k) 1203b3307321Smrg basic_machine=a29k-amd 1204b3307321Smrg os=-udi 1205b3307321Smrg ;; 1206b3307321Smrg ultra3) 1207b3307321Smrg basic_machine=a29k-nyu 1208b3307321Smrg os=-sym1 1209b3307321Smrg ;; 1210b3307321Smrg v810 | necv810) 1211b3307321Smrg basic_machine=v810-nec 1212b3307321Smrg os=-none 1213b3307321Smrg ;; 1214b3307321Smrg vaxv) 1215b3307321Smrg basic_machine=vax-dec 1216b3307321Smrg os=-sysv 1217b3307321Smrg ;; 1218b3307321Smrg vms) 1219b3307321Smrg basic_machine=vax-dec 1220b3307321Smrg os=-vms 1221b3307321Smrg ;; 1222b3307321Smrg vpp*|vx|vx-*) 1223b3307321Smrg basic_machine=f301-fujitsu 1224b3307321Smrg ;; 1225b3307321Smrg vxworks960) 1226b3307321Smrg basic_machine=i960-wrs 1227b3307321Smrg os=-vxworks 1228b3307321Smrg ;; 1229b3307321Smrg vxworks68) 1230b3307321Smrg basic_machine=m68k-wrs 1231b3307321Smrg os=-vxworks 1232b3307321Smrg ;; 1233b3307321Smrg vxworks29k) 1234b3307321Smrg basic_machine=a29k-wrs 1235b3307321Smrg os=-vxworks 1236b3307321Smrg ;; 1237b3307321Smrg w65*) 1238b3307321Smrg basic_machine=w65-wdc 1239b3307321Smrg os=-none 1240b3307321Smrg ;; 1241b3307321Smrg w89k-*) 1242b3307321Smrg basic_machine=hppa1.1-winbond 1243b3307321Smrg os=-proelf 1244b3307321Smrg ;; 124506ef0fecSmrg x64) 124606ef0fecSmrg basic_machine=x86_64-pc 124706ef0fecSmrg ;; 1248afe13c8eSmrg xbox) 1249afe13c8eSmrg basic_machine=i686-pc 1250afe13c8eSmrg os=-mingw32 1251afe13c8eSmrg ;; 1252b3307321Smrg xps | xps100) 1253b3307321Smrg basic_machine=xps100-honeywell 1254b3307321Smrg ;; 125574a3f230Smrg xscale-* | xscalee[bl]-*) 125606ef0fecSmrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 125774a3f230Smrg ;; 1258b3307321Smrg ymp) 1259b3307321Smrg basic_machine=ymp-cray 1260b3307321Smrg os=-unicos 1261b3307321Smrg ;; 1262b3307321Smrg none) 1263b3307321Smrg basic_machine=none-none 1264b3307321Smrg os=-none 1265b3307321Smrg ;; 1266b3307321Smrg 1267b3307321Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1268b3307321Smrg# some cases the only manufacturer, in others, it is the most popular. 1269b3307321Smrg w89k) 1270b3307321Smrg basic_machine=hppa1.1-winbond 1271b3307321Smrg ;; 1272b3307321Smrg op50n) 1273b3307321Smrg basic_machine=hppa1.1-oki 1274b3307321Smrg ;; 1275b3307321Smrg op60c) 1276b3307321Smrg basic_machine=hppa1.1-oki 1277b3307321Smrg ;; 1278b3307321Smrg romp) 1279b3307321Smrg basic_machine=romp-ibm 1280b3307321Smrg ;; 1281afe13c8eSmrg mmix) 1282afe13c8eSmrg basic_machine=mmix-knuth 1283afe13c8eSmrg ;; 1284b3307321Smrg rs6000) 1285b3307321Smrg basic_machine=rs6000-ibm 1286b3307321Smrg ;; 1287b3307321Smrg vax) 1288b3307321Smrg basic_machine=vax-dec 1289b3307321Smrg ;; 1290b3307321Smrg pdp11) 1291b3307321Smrg basic_machine=pdp11-dec 1292b3307321Smrg ;; 1293b3307321Smrg we32k) 1294b3307321Smrg basic_machine=we32k-att 1295b3307321Smrg ;; 12965e358ecaSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297b3307321Smrg basic_machine=sh-unknown 1298b3307321Smrg ;; 1299b3307321Smrg cydra) 1300b3307321Smrg basic_machine=cydra-cydrome 1301b3307321Smrg ;; 1302b3307321Smrg orion) 1303b3307321Smrg basic_machine=orion-highlevel 1304b3307321Smrg ;; 1305b3307321Smrg orion105) 1306b3307321Smrg basic_machine=clipper-highlevel 1307b3307321Smrg ;; 1308b3307321Smrg mac | mpw | mac-mpw) 1309b3307321Smrg basic_machine=m68k-apple 1310b3307321Smrg ;; 1311b3307321Smrg pmac | pmac-mpw) 1312b3307321Smrg basic_machine=powerpc-apple 1313b3307321Smrg ;; 1314b3307321Smrg *-unknown) 1315b3307321Smrg # Make sure to match an already-canonicalized machine name. 1316b3307321Smrg ;; 1317b3307321Smrg *) 131806ef0fecSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319b3307321Smrg exit 1 1320b3307321Smrg ;; 1321b3307321Smrgesac 1322b3307321Smrg 1323b3307321Smrg# Here we canonicalize certain aliases for manufacturers. 1324b3307321Smrgcase $basic_machine in 1325b3307321Smrg *-digital*) 132606ef0fecSmrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327b3307321Smrg ;; 1328b3307321Smrg *-commodore*) 132906ef0fecSmrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330b3307321Smrg ;; 1331b3307321Smrg *) 1332b3307321Smrg ;; 1333b3307321Smrgesac 1334b3307321Smrg 1335b3307321Smrg# Decode manufacturer-specific aliases for certain operating systems. 1336b3307321Smrg 1337b3307321Smrgif [ x"$os" != x"" ] 1338b3307321Smrgthen 1339b3307321Smrgcase $os in 134006ef0fecSmrg # First match some system type aliases that might get confused 134106ef0fecSmrg # with valid system types. 1342b3307321Smrg # -solaris* is a basic system type, with this one exception. 134374a3f230Smrg -auroraux) 134474a3f230Smrg os=-auroraux 134529cb5710Smrg ;; 1346b3307321Smrg -solaris1 | -solaris1.*) 1347b3307321Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348b3307321Smrg ;; 1349b3307321Smrg -solaris) 1350b3307321Smrg os=-solaris2 1351b3307321Smrg ;; 1352b3307321Smrg -unixware*) 1353b3307321Smrg os=-sysv4.2uw 1354b3307321Smrg ;; 1355b3307321Smrg -gnu/linux*) 1356b3307321Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357b3307321Smrg ;; 135806ef0fecSmrg # es1800 is here to avoid being matched by es* (a different OS) 135906ef0fecSmrg -es1800*) 136006ef0fecSmrg os=-ose 136106ef0fecSmrg ;; 136206ef0fecSmrg # Now accept the basic system types. 1363b3307321Smrg # The portable systems comes first. 136406ef0fecSmrg # Each alternative MUST end in a * to match a version number. 1365b3307321Smrg # -sysv* is not here because it comes later, after sysvr4. 1366b3307321Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 136729cb5710Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 136829cb5710Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136974a3f230Smrg | -sym* | -kopensolaris* | -plan9* \ 1370b3307321Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137106ef0fecSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372b3307321Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373b3307321Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 137406ef0fecSmrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 137506ef0fecSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1376afe13c8eSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1377afe13c8eSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378b3307321Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 137906ef0fecSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 138006ef0fecSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 138174a3f230Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 138206ef0fecSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138374a3f230Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138406ef0fecSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 138506ef0fecSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386b3307321Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387b3307321Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388b3307321Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 138906ef0fecSmrg | -morphos* | -superux* | -rtmk* | -windiss* \ 1390afe13c8eSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 139106ef0fecSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 139206ef0fecSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 139306ef0fecSmrg | -midnightbsd*) 1394b3307321Smrg # Remember, each alternative MUST END IN *, to match a version number. 1395b3307321Smrg ;; 1396b3307321Smrg -qnx*) 1397b3307321Smrg case $basic_machine in 1398b3307321Smrg x86-* | i*86-*) 1399b3307321Smrg ;; 1400b3307321Smrg *) 1401b3307321Smrg os=-nto$os 1402b3307321Smrg ;; 1403b3307321Smrg esac 1404b3307321Smrg ;; 1405b3307321Smrg -nto-qnx*) 1406b3307321Smrg ;; 1407b3307321Smrg -nto*) 1408b3307321Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409b3307321Smrg ;; 141006ef0fecSmrg -sim | -xray | -os68k* | -v88r* \ 141106ef0fecSmrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412b3307321Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413b3307321Smrg ;; 1414b3307321Smrg -mac*) 141506ef0fecSmrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416b3307321Smrg ;; 1417afe13c8eSmrg -linux-dietlibc) 1418afe13c8eSmrg os=-linux-dietlibc 1419afe13c8eSmrg ;; 1420b3307321Smrg -linux*) 1421b3307321Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422b3307321Smrg ;; 1423b3307321Smrg -sunos5*) 142406ef0fecSmrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425b3307321Smrg ;; 1426b3307321Smrg -sunos6*) 142706ef0fecSmrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428b3307321Smrg ;; 1429b3307321Smrg -opened*) 1430b3307321Smrg os=-openedition 1431b3307321Smrg ;; 143274a3f230Smrg -os400*) 1433afe13c8eSmrg os=-os400 1434afe13c8eSmrg ;; 1435b3307321Smrg -wince*) 1436b3307321Smrg os=-wince 1437b3307321Smrg ;; 1438b3307321Smrg -utek*) 1439b3307321Smrg os=-bsd 1440b3307321Smrg ;; 1441b3307321Smrg -dynix*) 1442b3307321Smrg os=-bsd 1443b3307321Smrg ;; 1444b3307321Smrg -acis*) 1445b3307321Smrg os=-aos 1446b3307321Smrg ;; 1447b3307321Smrg -atheos*) 1448b3307321Smrg os=-atheos 1449b3307321Smrg ;; 1450afe13c8eSmrg -syllable*) 1451afe13c8eSmrg os=-syllable 1452afe13c8eSmrg ;; 1453b3307321Smrg -386bsd) 1454b3307321Smrg os=-bsd 1455b3307321Smrg ;; 1456b3307321Smrg -ctix* | -uts*) 1457b3307321Smrg os=-sysv 1458b3307321Smrg ;; 1459b3307321Smrg -nova*) 1460b3307321Smrg os=-rtmk-nova 1461b3307321Smrg ;; 146206ef0fecSmrg -ns2) 1463b3307321Smrg os=-nextstep2 1464b3307321Smrg ;; 1465b3307321Smrg -nsk*) 1466b3307321Smrg os=-nsk 1467b3307321Smrg ;; 1468b3307321Smrg # Preserve the version number of sinix5. 1469b3307321Smrg -sinix5.*) 1470b3307321Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471b3307321Smrg ;; 1472b3307321Smrg -sinix*) 1473b3307321Smrg os=-sysv4 1474b3307321Smrg ;; 147574a3f230Smrg -tpf*) 1476afe13c8eSmrg os=-tpf 1477afe13c8eSmrg ;; 1478b3307321Smrg -triton*) 1479b3307321Smrg os=-sysv3 1480b3307321Smrg ;; 1481b3307321Smrg -oss*) 1482b3307321Smrg os=-sysv3 1483b3307321Smrg ;; 148406ef0fecSmrg -svr4*) 1485b3307321Smrg os=-sysv4 1486b3307321Smrg ;; 1487b3307321Smrg -svr3) 1488b3307321Smrg os=-sysv3 1489b3307321Smrg ;; 1490b3307321Smrg -sysvr4) 1491b3307321Smrg os=-sysv4 1492b3307321Smrg ;; 1493b3307321Smrg # This must come after -sysvr4. 1494b3307321Smrg -sysv*) 1495b3307321Smrg ;; 1496b3307321Smrg -ose*) 1497b3307321Smrg os=-ose 1498b3307321Smrg ;; 1499b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500b3307321Smrg os=-mint 1501b3307321Smrg ;; 1502afe13c8eSmrg -zvmoe) 1503afe13c8eSmrg os=-zvmoe 1504afe13c8eSmrg ;; 15055e358ecaSmrg -dicos*) 15065e358ecaSmrg os=-dicos 15075e358ecaSmrg ;; 150806ef0fecSmrg -pikeos*) 150906ef0fecSmrg # Until real need of OS specific support for 151006ef0fecSmrg # particular features comes up, bare metal 151106ef0fecSmrg # configurations are quite functional. 151206ef0fecSmrg case $basic_machine in 151306ef0fecSmrg arm*) 151406ef0fecSmrg os=-eabi 151506ef0fecSmrg ;; 151606ef0fecSmrg *) 151706ef0fecSmrg os=-elf 151806ef0fecSmrg ;; 151906ef0fecSmrg esac 152006ef0fecSmrg ;; 152174a3f230Smrg -nacl*) 152274a3f230Smrg ;; 152306ef0fecSmrg -ios) 152406ef0fecSmrg ;; 1525b3307321Smrg -none) 1526b3307321Smrg ;; 1527b3307321Smrg *) 1528b3307321Smrg # Get rid of the `-' at the beginning of $os. 1529b3307321Smrg os=`echo $os | sed 's/[^-]*-//'` 153006ef0fecSmrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531b3307321Smrg exit 1 1532b3307321Smrg ;; 1533b3307321Smrgesac 1534b3307321Smrgelse 1535b3307321Smrg 1536b3307321Smrg# Here we handle the default operating systems that come with various machines. 1537b3307321Smrg# The value should be what the vendor currently ships out the door with their 1538b3307321Smrg# machine or put another way, the most popular os provided with the machine. 1539b3307321Smrg 1540b3307321Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541b3307321Smrg# "-sun"), then you have to tell the case statement up towards the top 1542b3307321Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543b3307321Smrg# will signal an error saying that MANUFACTURER isn't an operating 1544b3307321Smrg# system, and we'll never get to this point. 1545b3307321Smrg 1546b3307321Smrgcase $basic_machine in 154774a3f230Smrg score-*) 1548afe13c8eSmrg os=-elf 1549afe13c8eSmrg ;; 155074a3f230Smrg spu-*) 1551afe13c8eSmrg os=-elf 1552afe13c8eSmrg ;; 1553b3307321Smrg *-acorn) 1554b3307321Smrg os=-riscix1.2 1555b3307321Smrg ;; 1556b3307321Smrg arm*-rebel) 1557b3307321Smrg os=-linux 1558b3307321Smrg ;; 1559b3307321Smrg arm*-semi) 1560b3307321Smrg os=-aout 1561b3307321Smrg ;; 156274a3f230Smrg c4x-* | tic4x-*) 156374a3f230Smrg os=-coff 156474a3f230Smrg ;; 156506ef0fecSmrg c8051-*) 156606ef0fecSmrg os=-elf 156706ef0fecSmrg ;; 156874a3f230Smrg hexagon-*) 156974a3f230Smrg os=-elf 1570b3307321Smrg ;; 157129cb5710Smrg tic54x-*) 157229cb5710Smrg os=-coff 157329cb5710Smrg ;; 157429cb5710Smrg tic55x-*) 157529cb5710Smrg os=-coff 157629cb5710Smrg ;; 157729cb5710Smrg tic6x-*) 157829cb5710Smrg os=-coff 157929cb5710Smrg ;; 1580b3307321Smrg # This must come before the *-dec entry. 1581b3307321Smrg pdp10-*) 1582b3307321Smrg os=-tops20 1583b3307321Smrg ;; 1584b3307321Smrg pdp11-*) 1585b3307321Smrg os=-none 1586b3307321Smrg ;; 1587b3307321Smrg *-dec | vax-*) 1588b3307321Smrg os=-ultrix4.2 1589b3307321Smrg ;; 1590b3307321Smrg m68*-apollo) 1591b3307321Smrg os=-domain 1592b3307321Smrg ;; 1593b3307321Smrg i386-sun) 1594b3307321Smrg os=-sunos4.0.2 1595b3307321Smrg ;; 1596b3307321Smrg m68000-sun) 1597b3307321Smrg os=-sunos3 1598b3307321Smrg ;; 1599b3307321Smrg m68*-cisco) 1600b3307321Smrg os=-aout 1601b3307321Smrg ;; 160274a3f230Smrg mep-*) 1603afe13c8eSmrg os=-elf 1604afe13c8eSmrg ;; 1605b3307321Smrg mips*-cisco) 1606b3307321Smrg os=-elf 1607b3307321Smrg ;; 1608b3307321Smrg mips*-*) 1609b3307321Smrg os=-elf 1610b3307321Smrg ;; 1611b3307321Smrg or32-*) 1612b3307321Smrg os=-coff 1613b3307321Smrg ;; 1614b3307321Smrg *-tti) # must be before sparc entry or we get the wrong os. 1615b3307321Smrg os=-sysv3 1616b3307321Smrg ;; 1617b3307321Smrg sparc-* | *-sun) 1618b3307321Smrg os=-sunos4.1.1 1619b3307321Smrg ;; 162006ef0fecSmrg pru-*) 162106ef0fecSmrg os=-elf 162206ef0fecSmrg ;; 1623b3307321Smrg *-be) 1624b3307321Smrg os=-beos 1625b3307321Smrg ;; 1626b3307321Smrg *-ibm) 1627b3307321Smrg os=-aix 1628b3307321Smrg ;; 162974a3f230Smrg *-knuth) 1630afe13c8eSmrg os=-mmixware 1631afe13c8eSmrg ;; 1632b3307321Smrg *-wec) 1633b3307321Smrg os=-proelf 1634b3307321Smrg ;; 1635b3307321Smrg *-winbond) 1636b3307321Smrg os=-proelf 1637b3307321Smrg ;; 1638b3307321Smrg *-oki) 1639b3307321Smrg os=-proelf 1640b3307321Smrg ;; 1641b3307321Smrg *-hp) 1642b3307321Smrg os=-hpux 1643b3307321Smrg ;; 1644b3307321Smrg *-hitachi) 1645b3307321Smrg os=-hiux 1646b3307321Smrg ;; 1647b3307321Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648b3307321Smrg os=-sysv 1649b3307321Smrg ;; 1650b3307321Smrg *-cbm) 1651b3307321Smrg os=-amigaos 1652b3307321Smrg ;; 1653b3307321Smrg *-dg) 1654b3307321Smrg os=-dgux 1655b3307321Smrg ;; 1656b3307321Smrg *-dolphin) 1657b3307321Smrg os=-sysv3 1658b3307321Smrg ;; 1659b3307321Smrg m68k-ccur) 1660b3307321Smrg os=-rtu 1661b3307321Smrg ;; 1662b3307321Smrg m88k-omron*) 1663b3307321Smrg os=-luna 1664b3307321Smrg ;; 166506ef0fecSmrg *-next) 1666b3307321Smrg os=-nextstep 1667b3307321Smrg ;; 1668b3307321Smrg *-sequent) 1669b3307321Smrg os=-ptx 1670b3307321Smrg ;; 1671b3307321Smrg *-crds) 1672b3307321Smrg os=-unos 1673b3307321Smrg ;; 1674b3307321Smrg *-ns) 1675b3307321Smrg os=-genix 1676b3307321Smrg ;; 1677b3307321Smrg i370-*) 1678b3307321Smrg os=-mvs 1679b3307321Smrg ;; 1680b3307321Smrg *-gould) 1681b3307321Smrg os=-sysv 1682b3307321Smrg ;; 1683b3307321Smrg *-highlevel) 1684b3307321Smrg os=-bsd 1685b3307321Smrg ;; 1686b3307321Smrg *-encore) 1687b3307321Smrg os=-bsd 1688b3307321Smrg ;; 1689b3307321Smrg *-sgi) 1690b3307321Smrg os=-irix 1691b3307321Smrg ;; 1692b3307321Smrg *-siemens) 1693b3307321Smrg os=-sysv4 1694b3307321Smrg ;; 1695b3307321Smrg *-masscomp) 1696b3307321Smrg os=-rtu 1697b3307321Smrg ;; 1698b3307321Smrg f30[01]-fujitsu | f700-fujitsu) 1699b3307321Smrg os=-uxpv 1700b3307321Smrg ;; 1701b3307321Smrg *-rom68k) 1702b3307321Smrg os=-coff 1703b3307321Smrg ;; 1704b3307321Smrg *-*bug) 1705b3307321Smrg os=-coff 1706b3307321Smrg ;; 1707b3307321Smrg *-apple) 1708b3307321Smrg os=-macos 1709b3307321Smrg ;; 1710b3307321Smrg *-atari*) 1711b3307321Smrg os=-mint 1712b3307321Smrg ;; 1713b3307321Smrg *) 1714b3307321Smrg os=-none 1715b3307321Smrg ;; 1716b3307321Smrgesac 1717b3307321Smrgfi 1718b3307321Smrg 1719b3307321Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1720b3307321Smrg# manufacturer. We pick the logical manufacturer. 1721b3307321Smrgvendor=unknown 1722b3307321Smrgcase $basic_machine in 1723b3307321Smrg *-unknown) 1724b3307321Smrg case $os in 1725b3307321Smrg -riscix*) 1726b3307321Smrg vendor=acorn 1727b3307321Smrg ;; 1728b3307321Smrg -sunos*) 1729b3307321Smrg vendor=sun 1730b3307321Smrg ;; 173129cb5710Smrg -cnk*|-aix*) 1732b3307321Smrg vendor=ibm 1733b3307321Smrg ;; 1734b3307321Smrg -beos*) 1735b3307321Smrg vendor=be 1736b3307321Smrg ;; 1737b3307321Smrg -hpux*) 1738b3307321Smrg vendor=hp 1739b3307321Smrg ;; 1740b3307321Smrg -mpeix*) 1741b3307321Smrg vendor=hp 1742b3307321Smrg ;; 1743b3307321Smrg -hiux*) 1744b3307321Smrg vendor=hitachi 1745b3307321Smrg ;; 1746b3307321Smrg -unos*) 1747b3307321Smrg vendor=crds 1748b3307321Smrg ;; 1749b3307321Smrg -dgux*) 1750b3307321Smrg vendor=dg 1751b3307321Smrg ;; 1752b3307321Smrg -luna*) 1753b3307321Smrg vendor=omron 1754b3307321Smrg ;; 1755b3307321Smrg -genix*) 1756b3307321Smrg vendor=ns 1757b3307321Smrg ;; 1758b3307321Smrg -mvs* | -opened*) 1759b3307321Smrg vendor=ibm 1760b3307321Smrg ;; 1761afe13c8eSmrg -os400*) 1762afe13c8eSmrg vendor=ibm 1763afe13c8eSmrg ;; 1764b3307321Smrg -ptx*) 1765b3307321Smrg vendor=sequent 1766b3307321Smrg ;; 1767afe13c8eSmrg -tpf*) 1768afe13c8eSmrg vendor=ibm 1769afe13c8eSmrg ;; 1770b3307321Smrg -vxsim* | -vxworks* | -windiss*) 1771b3307321Smrg vendor=wrs 1772b3307321Smrg ;; 1773b3307321Smrg -aux*) 1774b3307321Smrg vendor=apple 1775b3307321Smrg ;; 1776b3307321Smrg -hms*) 1777b3307321Smrg vendor=hitachi 1778b3307321Smrg ;; 1779b3307321Smrg -mpw* | -macos*) 1780b3307321Smrg vendor=apple 1781b3307321Smrg ;; 1782b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783b3307321Smrg vendor=atari 1784b3307321Smrg ;; 1785b3307321Smrg -vos*) 1786b3307321Smrg vendor=stratus 1787b3307321Smrg ;; 1788b3307321Smrg esac 178906ef0fecSmrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790b3307321Smrg ;; 1791b3307321Smrgesac 1792b3307321Smrg 179306ef0fecSmrgecho "$basic_machine$os" 1794afe13c8eSmrgexit 1795b3307321Smrg 1796b3307321Smrg# Local variables: 179706ef0fecSmrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798b3307321Smrg# time-stamp-start: "timestamp='" 1799b3307321Smrg# time-stamp-format: "%:y-%02m-%02d" 1800b3307321Smrg# time-stamp-end: "'" 1801b3307321Smrg# End: 1802