config.sub revision c44a0236
1a850946eSmrg#! /bin/sh 2a850946eSmrg# Configuration validation subroutine script. 3c44a0236Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 4a850946eSmrg 5c44a0236Smrgtimestamp='2018-02-28' 6a850946eSmrg 79511053fSmrg# This file is free software; you can redistribute it and/or modify it 89511053fSmrg# under the terms of the GNU General Public License as published by 99511053fSmrg# the Free Software Foundation; either version 3 of the License, or 10a850946eSmrg# (at your option) any later version. 11a850946eSmrg# 129511053fSmrg# This program is distributed in the hope that it will be useful, but 139511053fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 149511053fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 159511053fSmrg# General Public License for more details. 16a850946eSmrg# 17a850946eSmrg# You should have received a copy of the GNU General Public License 18c44a0236Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 1970f7c90cSmrg# 20a850946eSmrg# As a special exception to the GNU General Public License, if you 21a850946eSmrg# distribute this file as part of a program that contains a 22a850946eSmrg# configuration script generated by Autoconf, you may include it under 239511053fSmrg# the same distribution terms that you use for the rest of that 249511053fSmrg# program. This Exception is an additional permission under section 7 259511053fSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26a850946eSmrg 2770f7c90cSmrg 28c44a0236Smrg# Please send patches to <config-patches@gnu.org>. 29a850946eSmrg# 30a850946eSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31a850946eSmrg# Supply the specified configuration type as an argument. 32a850946eSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33a850946eSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34a850946eSmrg 357dff02feSmrg# You can get the latest version of this script from: 36c44a0236Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 377dff02feSmrg 38a850946eSmrg# This file is supposed to be the same for all GNU packages 39a850946eSmrg# and recognize all the CPU types, system types and aliases 40a850946eSmrg# that are meaningful with *any* GNU software. 41a850946eSmrg# Each package is responsible for reporting which valid configurations 42a850946eSmrg# it does not support. The user should be able to distinguish 43a850946eSmrg# a failure to support a valid configuration from a meaningless 44a850946eSmrg# configuration. 45a850946eSmrg 46a850946eSmrg# The goal of this file is to map all the various variations of a given 47a850946eSmrg# machine specification into a single specification in the form: 48a850946eSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49a850946eSmrg# or in some cases, the newer four-part form: 50a850946eSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51a850946eSmrg# It is wrong to echo any other type of specification. 52a850946eSmrg 53a850946eSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54a850946eSmrg 55a850946eSmrgusage="\ 56c44a0236SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57a850946eSmrg 58a850946eSmrgCanonicalize a configuration name. 59a850946eSmrg 60c44a0236SmrgOptions: 61a850946eSmrg -h, --help print this help, then exit 62a850946eSmrg -t, --time-stamp print date of last modification, then exit 63a850946eSmrg -v, --version print version number, then exit 64a850946eSmrg 65a850946eSmrgReport bugs and patches to <config-patches@gnu.org>." 66a850946eSmrg 67a850946eSmrgversion="\ 68a850946eSmrgGNU config.sub ($timestamp) 69a850946eSmrg 70c44a0236SmrgCopyright 1992-2018 Free Software Foundation, Inc. 71a850946eSmrg 72a850946eSmrgThis is free software; see the source for copying conditions. There is NO 73a850946eSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74a850946eSmrg 75a850946eSmrghelp=" 76a850946eSmrgTry \`$me --help' for more information." 77a850946eSmrg 78a850946eSmrg# Parse command line 79a850946eSmrgwhile test $# -gt 0 ; do 80a850946eSmrg case $1 in 81a850946eSmrg --time-stamp | --time* | -t ) 8270f7c90cSmrg echo "$timestamp" ; exit ;; 83a850946eSmrg --version | -v ) 8470f7c90cSmrg echo "$version" ; exit ;; 85a850946eSmrg --help | --h* | -h ) 8670f7c90cSmrg echo "$usage"; exit ;; 87a850946eSmrg -- ) # Stop option processing 88a850946eSmrg shift; break ;; 89a850946eSmrg - ) # Use stdin as input. 90a850946eSmrg break ;; 91a850946eSmrg -* ) 92a850946eSmrg echo "$me: invalid option $1$help" 93a850946eSmrg exit 1 ;; 94a850946eSmrg 95a850946eSmrg *local*) 96a850946eSmrg # First pass through any local machine types. 97c44a0236Smrg echo "$1" 9870f7c90cSmrg exit ;; 99a850946eSmrg 100a850946eSmrg * ) 101a850946eSmrg break ;; 102a850946eSmrg esac 103a850946eSmrgdone 104a850946eSmrg 105a850946eSmrgcase $# in 106a850946eSmrg 0) echo "$me: missing argument$help" >&2 107a850946eSmrg exit 1;; 108a850946eSmrg 1) ;; 109a850946eSmrg *) echo "$me: too many arguments$help" >&2 110a850946eSmrg exit 1;; 111a850946eSmrgesac 112a850946eSmrg 113a850946eSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114a850946eSmrg# Here we must recognize all the valid KERNEL-OS combinations. 115c44a0236Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116a850946eSmrgcase $maybe_os in 11769a1fe56Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1189511053fSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 119c44a0236Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120c44a0236Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 12170f7c90cSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122a850946eSmrg os=-$maybe_os 123c44a0236Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124a850946eSmrg ;; 1259511053fSmrg android-linux) 1269511053fSmrg os=-linux-android 127c44a0236Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1289511053fSmrg ;; 129a850946eSmrg *) 130c44a0236Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 131c44a0236Smrg if [ "$basic_machine" != "$1" ] 132c44a0236Smrg then os=`echo "$1" | sed 's/.*-/-/'` 133a850946eSmrg else os=; fi 134a850946eSmrg ;; 135a850946eSmrgesac 136a850946eSmrg 137a850946eSmrg### Let's recognize common machines as not being operating systems so 138a850946eSmrg### that things like config.sub decstation-3100 work. We also 139a850946eSmrg### recognize some manufacturers as not being operating systems, so we 140a850946eSmrg### can provide default operating systems below. 141a850946eSmrgcase $os in 142a850946eSmrg -sun*os*) 143a850946eSmrg # Prevent following clause from handling this invalid input. 144a850946eSmrg ;; 145a850946eSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146a850946eSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147a850946eSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148a850946eSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149a850946eSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150a850946eSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1519511053fSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152a850946eSmrg os= 153a850946eSmrg basic_machine=$1 154a850946eSmrg ;; 1559511053fSmrg -bluegene*) 1569511053fSmrg os=-cnk 1577dff02feSmrg ;; 158a850946eSmrg -sim | -cisco | -oki | -wec | -winbond) 159a850946eSmrg os= 160a850946eSmrg basic_machine=$1 161a850946eSmrg ;; 162a850946eSmrg -scout) 163a850946eSmrg ;; 164a850946eSmrg -wrs) 165a850946eSmrg os=-vxworks 166a850946eSmrg basic_machine=$1 167a850946eSmrg ;; 168a850946eSmrg -chorusos*) 169a850946eSmrg os=-chorusos 170a850946eSmrg basic_machine=$1 171a850946eSmrg ;; 1729511053fSmrg -chorusrdb) 1739511053fSmrg os=-chorusrdb 174a850946eSmrg basic_machine=$1 1759511053fSmrg ;; 176a850946eSmrg -hiux*) 177a850946eSmrg os=-hiuxwe2 178a850946eSmrg ;; 17970f7c90cSmrg -sco6) 18070f7c90cSmrg os=-sco5v6 181c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 18270f7c90cSmrg ;; 183a850946eSmrg -sco5) 184a850946eSmrg os=-sco3.2v5 185c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186a850946eSmrg ;; 187a850946eSmrg -sco4) 188a850946eSmrg os=-sco3.2v4 189c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190a850946eSmrg ;; 191a850946eSmrg -sco3.2.[4-9]*) 192a850946eSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194a850946eSmrg ;; 195a850946eSmrg -sco3.2v[4-9]*) 196a850946eSmrg # Don't forget version if it is 3.2v4 or newer. 197c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198a850946eSmrg ;; 19970f7c90cSmrg -sco5v6*) 20070f7c90cSmrg # Don't forget version if it is 3.2v4 or newer. 201c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 20270f7c90cSmrg ;; 203a850946eSmrg -sco*) 204a850946eSmrg os=-sco3.2v2 205c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206a850946eSmrg ;; 207a850946eSmrg -udk*) 208c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209a850946eSmrg ;; 210a850946eSmrg -isc) 211a850946eSmrg os=-isc2.2 212c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213a850946eSmrg ;; 214a850946eSmrg -clix*) 215a850946eSmrg basic_machine=clipper-intergraph 216a850946eSmrg ;; 217a850946eSmrg -isc*) 218c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219a850946eSmrg ;; 2209511053fSmrg -lynx*178) 2219511053fSmrg os=-lynxos178 2229511053fSmrg ;; 2239511053fSmrg -lynx*5) 2249511053fSmrg os=-lynxos5 2259511053fSmrg ;; 226a850946eSmrg -lynx*) 227a850946eSmrg os=-lynxos 228a850946eSmrg ;; 229a850946eSmrg -ptx*) 230c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231a850946eSmrg ;; 232a850946eSmrg -psos*) 233a850946eSmrg os=-psos 234a850946eSmrg ;; 235a850946eSmrg -mint | -mint[0-9]*) 236a850946eSmrg basic_machine=m68k-atari 237a850946eSmrg os=-mint 238a850946eSmrg ;; 239a850946eSmrgesac 240a850946eSmrg 241a850946eSmrg# Decode aliases for certain CPU-COMPANY combinations. 242a850946eSmrgcase $basic_machine in 243a850946eSmrg # Recognize the basic CPU types without company name. 244a850946eSmrg # Some are omitted here because they have special meanings below. 245a850946eSmrg 1750a | 580 \ 246a850946eSmrg | a29k \ 2479511053fSmrg | aarch64 | aarch64_be \ 248a850946eSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249a850946eSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25070f7c90cSmrg | am33_2.0 \ 2519511053fSmrg | arc | arceb \ 2529511053fSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2539511053fSmrg | avr | avr32 \ 254c44a0236Smrg | ba \ 2559511053fSmrg | be32 | be64 \ 25670f7c90cSmrg | bfin \ 257c44a0236Smrg | c4x | c8051 | clipper \ 258a850946eSmrg | d10v | d30v | dlx | dsp16xx \ 259c44a0236Smrg | e2k | epiphany \ 260c44a0236Smrg | fido | fr30 | frv | ft32 \ 261a850946eSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2629511053fSmrg | hexagon \ 263c44a0236Smrg | i370 | i860 | i960 | ia16 | ia64 \ 26470f7c90cSmrg | ip2k | iq2000 \ 265c44a0236Smrg | k1om \ 2669511053fSmrg | le32 | le64 \ 26770f7c90cSmrg | lm32 \ 26870f7c90cSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2699511053fSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270a850946eSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271a850946eSmrg | mips16 \ 272a850946eSmrg | mips64 | mips64el \ 27370f7c90cSmrg | mips64octeon | mips64octeonel \ 274a850946eSmrg | mips64orion | mips64orionel \ 27570f7c90cSmrg | mips64r5900 | mips64r5900el \ 27670f7c90cSmrg | mips64vr | mips64vrel \ 277a850946eSmrg | mips64vr4100 | mips64vr4100el \ 278a850946eSmrg | mips64vr4300 | mips64vr4300el \ 279a850946eSmrg | mips64vr5000 | mips64vr5000el \ 28070f7c90cSmrg | mips64vr5900 | mips64vr5900el \ 281a850946eSmrg | mipsisa32 | mipsisa32el \ 282a850946eSmrg | mipsisa32r2 | mipsisa32r2el \ 283c44a0236Smrg | mipsisa32r6 | mipsisa32r6el \ 284a850946eSmrg | mipsisa64 | mipsisa64el \ 28570f7c90cSmrg | mipsisa64r2 | mipsisa64r2el \ 286c44a0236Smrg | mipsisa64r6 | mipsisa64r6el \ 287a850946eSmrg | mipsisa64sb1 | mipsisa64sb1el \ 288a850946eSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 2899511053fSmrg | mipsr5900 | mipsr5900el \ 290a850946eSmrg | mipstx39 | mipstx39el \ 291a850946eSmrg | mn10200 | mn10300 \ 29270f7c90cSmrg | moxie \ 29370f7c90cSmrg | mt \ 294a850946eSmrg | msp430 \ 29569a1fe56Smrg | nds32 | nds32le | nds32be \ 2969511053fSmrg | nios | nios2 | nios2eb | nios2el \ 297a850946eSmrg | ns16k | ns32k \ 298c44a0236Smrg | open8 | or1k | or1knd | or32 \ 299c44a0236Smrg | pdp10 | pj | pjl \ 3009511053fSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 301c44a0236Smrg | pru \ 302a850946eSmrg | pyramid \ 303c44a0236Smrg | riscv32 | riscv64 \ 3049511053fSmrg | rl78 | rx \ 30570f7c90cSmrg | score \ 306c44a0236Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307a850946eSmrg | sh64 | sh64le \ 30870f7c90cSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 30970f7c90cSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3109511053fSmrg | spu \ 3119511053fSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3127dff02feSmrg | ubicom32 \ 3139511053fSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 314c44a0236Smrg | visium \ 315c44a0236Smrg | wasm32 \ 3169511053fSmrg | x86 | xc16x | xstormy16 | xtensa \ 31770f7c90cSmrg | z8k | z80) 318a850946eSmrg basic_machine=$basic_machine-unknown 319a850946eSmrg ;; 32069a1fe56Smrg c54x) 32169a1fe56Smrg basic_machine=tic54x-unknown 32269a1fe56Smrg ;; 32369a1fe56Smrg c55x) 32469a1fe56Smrg basic_machine=tic55x-unknown 32569a1fe56Smrg ;; 32669a1fe56Smrg c6x) 32769a1fe56Smrg basic_machine=tic6x-unknown 32869a1fe56Smrg ;; 329c44a0236Smrg leon|leon[3-9]) 330c44a0236Smrg basic_machine=sparc-$basic_machine 331c44a0236Smrg ;; 332c44a0236Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333a850946eSmrg basic_machine=$basic_machine-unknown 334a850946eSmrg os=-none 335a850946eSmrg ;; 336c44a0236Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337a850946eSmrg ;; 33870f7c90cSmrg ms1) 33970f7c90cSmrg basic_machine=mt-unknown 34070f7c90cSmrg ;; 341a850946eSmrg 3429511053fSmrg strongarm | thumb | xscale) 3439511053fSmrg basic_machine=arm-unknown 3449511053fSmrg ;; 3459511053fSmrg xgate) 3469511053fSmrg basic_machine=$basic_machine-unknown 3479511053fSmrg os=-none 3489511053fSmrg ;; 3499511053fSmrg xscaleeb) 3509511053fSmrg basic_machine=armeb-unknown 3519511053fSmrg ;; 3529511053fSmrg 3539511053fSmrg xscaleel) 3549511053fSmrg basic_machine=armel-unknown 3559511053fSmrg ;; 3569511053fSmrg 357a850946eSmrg # We use `pc' rather than `unknown' 358a850946eSmrg # because (1) that's what they normally are, and 359a850946eSmrg # (2) the word "unknown" tends to confuse beginning users. 360a850946eSmrg i*86 | x86_64) 361a850946eSmrg basic_machine=$basic_machine-pc 362a850946eSmrg ;; 363a850946eSmrg # Object if more than one company name word. 364a850946eSmrg *-*-*) 365c44a0236Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366a850946eSmrg exit 1 367a850946eSmrg ;; 368a850946eSmrg # Recognize the basic CPU types with company name. 369a850946eSmrg 580-* \ 370a850946eSmrg | a29k-* \ 3719511053fSmrg | aarch64-* | aarch64_be-* \ 372a850946eSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373a850946eSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3749511053fSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375a850946eSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37670f7c90cSmrg | avr-* | avr32-* \ 377c44a0236Smrg | ba-* \ 3789511053fSmrg | be32-* | be64-* \ 37970f7c90cSmrg | bfin-* | bs2000-* \ 38069a1fe56Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 381c44a0236Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382a850946eSmrg | d10v-* | d30v-* | dlx-* \ 383c44a0236Smrg | e2k-* | elxsi-* \ 38470f7c90cSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385a850946eSmrg | h8300-* | h8500-* \ 386a850946eSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3879511053fSmrg | hexagon-* \ 388c44a0236Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 38970f7c90cSmrg | ip2k-* | iq2000-* \ 390c44a0236Smrg | k1om-* \ 3919511053fSmrg | le32-* | le64-* \ 39270f7c90cSmrg | lm32-* \ 39370f7c90cSmrg | m32c-* | m32r-* | m32rle-* \ 394a850946eSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3959511053fSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3969511053fSmrg | microblaze-* | microblazeel-* \ 397a850946eSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398a850946eSmrg | mips16-* \ 399a850946eSmrg | mips64-* | mips64el-* \ 40070f7c90cSmrg | mips64octeon-* | mips64octeonel-* \ 401a850946eSmrg | mips64orion-* | mips64orionel-* \ 40270f7c90cSmrg | mips64r5900-* | mips64r5900el-* \ 40370f7c90cSmrg | mips64vr-* | mips64vrel-* \ 404a850946eSmrg | mips64vr4100-* | mips64vr4100el-* \ 405a850946eSmrg | mips64vr4300-* | mips64vr4300el-* \ 406a850946eSmrg | mips64vr5000-* | mips64vr5000el-* \ 40770f7c90cSmrg | mips64vr5900-* | mips64vr5900el-* \ 408a850946eSmrg | mipsisa32-* | mipsisa32el-* \ 409a850946eSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 410c44a0236Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 411a850946eSmrg | mipsisa64-* | mipsisa64el-* \ 41270f7c90cSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 413c44a0236Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 414a850946eSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415a850946eSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4169511053fSmrg | mipsr5900-* | mipsr5900el-* \ 417a850946eSmrg | mipstx39-* | mipstx39el-* \ 41870f7c90cSmrg | mmix-* \ 41970f7c90cSmrg | mt-* \ 420a850946eSmrg | msp430-* \ 42169a1fe56Smrg | nds32-* | nds32le-* | nds32be-* \ 4229511053fSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42370f7c90cSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 4249511053fSmrg | open8-* \ 425c44a0236Smrg | or1k*-* \ 426a850946eSmrg | orion-* \ 427a850946eSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4289511053fSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 429c44a0236Smrg | pru-* \ 430a850946eSmrg | pyramid-* \ 431c44a0236Smrg | riscv32-* | riscv64-* \ 4329511053fSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 43370f7c90cSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434a850946eSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43570f7c90cSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 43670f7c90cSmrg | sparclite-* \ 437c44a0236Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4389511053fSmrg | tahoe-* \ 43969a1fe56Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4409511053fSmrg | tile*-* \ 441a850946eSmrg | tron-* \ 4427dff02feSmrg | ubicom32-* \ 4439511053fSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4449511053fSmrg | vax-* \ 445c44a0236Smrg | visium-* \ 446c44a0236Smrg | wasm32-* \ 447a850946eSmrg | we32k-* \ 4489511053fSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 44970f7c90cSmrg | xstormy16-* | xtensa*-* \ 450a850946eSmrg | ymp-* \ 45170f7c90cSmrg | z8k-* | z80-*) 45270f7c90cSmrg ;; 45370f7c90cSmrg # Recognize the basic CPU types without company name, with glob match. 45470f7c90cSmrg xtensa*) 45570f7c90cSmrg basic_machine=$basic_machine-unknown 456a850946eSmrg ;; 457a850946eSmrg # Recognize the various machine names and aliases which stand 458a850946eSmrg # for a CPU type and a company and sometimes even an OS. 459a850946eSmrg 386bsd) 460c44a0236Smrg basic_machine=i386-pc 461a850946eSmrg os=-bsd 462a850946eSmrg ;; 463a850946eSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464a850946eSmrg basic_machine=m68000-att 465a850946eSmrg ;; 466a850946eSmrg 3b*) 467a850946eSmrg basic_machine=we32k-att 468a850946eSmrg ;; 469a850946eSmrg a29khif) 470a850946eSmrg basic_machine=a29k-amd 471a850946eSmrg os=-udi 472a850946eSmrg ;; 4739511053fSmrg abacus) 47470f7c90cSmrg basic_machine=abacus-unknown 47570f7c90cSmrg ;; 476a850946eSmrg adobe68k) 477a850946eSmrg basic_machine=m68010-adobe 478a850946eSmrg os=-scout 479a850946eSmrg ;; 480a850946eSmrg alliant | fx80) 481a850946eSmrg basic_machine=fx80-alliant 482a850946eSmrg ;; 483a850946eSmrg altos | altos3068) 484a850946eSmrg basic_machine=m68k-altos 485a850946eSmrg ;; 486a850946eSmrg am29k) 487a850946eSmrg basic_machine=a29k-none 488a850946eSmrg os=-bsd 489a850946eSmrg ;; 490a850946eSmrg amd64) 491a850946eSmrg basic_machine=x86_64-pc 492a850946eSmrg ;; 49370f7c90cSmrg amd64-*) 494c44a0236Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 49570f7c90cSmrg ;; 496a850946eSmrg amdahl) 497a850946eSmrg basic_machine=580-amdahl 498a850946eSmrg os=-sysv 499a850946eSmrg ;; 500a850946eSmrg amiga | amiga-*) 501a850946eSmrg basic_machine=m68k-unknown 502a850946eSmrg ;; 503a850946eSmrg amigaos | amigados) 504a850946eSmrg basic_machine=m68k-unknown 505a850946eSmrg os=-amigaos 506a850946eSmrg ;; 507a850946eSmrg amigaunix | amix) 508a850946eSmrg basic_machine=m68k-unknown 509a850946eSmrg os=-sysv4 510a850946eSmrg ;; 511a850946eSmrg apollo68) 512a850946eSmrg basic_machine=m68k-apollo 513a850946eSmrg os=-sysv 514a850946eSmrg ;; 515a850946eSmrg apollo68bsd) 516a850946eSmrg basic_machine=m68k-apollo 517a850946eSmrg os=-bsd 518a850946eSmrg ;; 51970f7c90cSmrg aros) 52070f7c90cSmrg basic_machine=i386-pc 52170f7c90cSmrg os=-aros 52270f7c90cSmrg ;; 523c44a0236Smrg asmjs) 524c44a0236Smrg basic_machine=asmjs-unknown 525c44a0236Smrg ;; 526a850946eSmrg aux) 527a850946eSmrg basic_machine=m68k-apple 528a850946eSmrg os=-aux 529a850946eSmrg ;; 530a850946eSmrg balance) 531a850946eSmrg basic_machine=ns32k-sequent 532a850946eSmrg os=-dynix 533a850946eSmrg ;; 53470f7c90cSmrg blackfin) 53570f7c90cSmrg basic_machine=bfin-unknown 53670f7c90cSmrg os=-linux 53770f7c90cSmrg ;; 53870f7c90cSmrg blackfin-*) 539c44a0236Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 54070f7c90cSmrg os=-linux 54170f7c90cSmrg ;; 5427dff02feSmrg bluegene*) 5437dff02feSmrg basic_machine=powerpc-ibm 5447dff02feSmrg os=-cnk 5457dff02feSmrg ;; 54669a1fe56Smrg c54x-*) 547c44a0236Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 54869a1fe56Smrg ;; 54969a1fe56Smrg c55x-*) 550c44a0236Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55169a1fe56Smrg ;; 55269a1fe56Smrg c6x-*) 553c44a0236Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55469a1fe56Smrg ;; 555a850946eSmrg c90) 556a850946eSmrg basic_machine=c90-cray 557a850946eSmrg os=-unicos 558a850946eSmrg ;; 5599511053fSmrg cegcc) 56070f7c90cSmrg basic_machine=arm-unknown 56170f7c90cSmrg os=-cegcc 56270f7c90cSmrg ;; 563a850946eSmrg convex-c1) 564a850946eSmrg basic_machine=c1-convex 565a850946eSmrg os=-bsd 566a850946eSmrg ;; 567a850946eSmrg convex-c2) 568a850946eSmrg basic_machine=c2-convex 569a850946eSmrg os=-bsd 570a850946eSmrg ;; 571a850946eSmrg convex-c32) 572a850946eSmrg basic_machine=c32-convex 573a850946eSmrg os=-bsd 574a850946eSmrg ;; 575a850946eSmrg convex-c34) 576a850946eSmrg basic_machine=c34-convex 577a850946eSmrg os=-bsd 578a850946eSmrg ;; 579a850946eSmrg convex-c38) 580a850946eSmrg basic_machine=c38-convex 581a850946eSmrg os=-bsd 582a850946eSmrg ;; 583a850946eSmrg cray | j90) 584a850946eSmrg basic_machine=j90-cray 585a850946eSmrg os=-unicos 586a850946eSmrg ;; 58770f7c90cSmrg craynv) 58870f7c90cSmrg basic_machine=craynv-cray 58970f7c90cSmrg os=-unicosmp 59070f7c90cSmrg ;; 5919511053fSmrg cr16 | cr16-*) 59270f7c90cSmrg basic_machine=cr16-unknown 59370f7c90cSmrg os=-elf 59470f7c90cSmrg ;; 595a850946eSmrg crds | unos) 596a850946eSmrg basic_machine=m68k-crds 597a850946eSmrg ;; 59870f7c90cSmrg crisv32 | crisv32-* | etraxfs*) 59970f7c90cSmrg basic_machine=crisv32-axis 60070f7c90cSmrg ;; 601a850946eSmrg cris | cris-* | etrax*) 602a850946eSmrg basic_machine=cris-axis 603a850946eSmrg ;; 60470f7c90cSmrg crx) 60570f7c90cSmrg basic_machine=crx-unknown 60670f7c90cSmrg os=-elf 60770f7c90cSmrg ;; 608a850946eSmrg da30 | da30-*) 609a850946eSmrg basic_machine=m68k-da30 610a850946eSmrg ;; 611a850946eSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612a850946eSmrg basic_machine=mips-dec 613a850946eSmrg ;; 614a850946eSmrg decsystem10* | dec10*) 615a850946eSmrg basic_machine=pdp10-dec 616a850946eSmrg os=-tops10 617a850946eSmrg ;; 618a850946eSmrg decsystem20* | dec20*) 619a850946eSmrg basic_machine=pdp10-dec 620a850946eSmrg os=-tops20 621a850946eSmrg ;; 622a850946eSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623a850946eSmrg | 3300-motorola | delta-motorola) 624a850946eSmrg basic_machine=m68k-motorola 625a850946eSmrg ;; 626a850946eSmrg delta88) 627a850946eSmrg basic_machine=m88k-motorola 628a850946eSmrg os=-sysv3 629a850946eSmrg ;; 63070f7c90cSmrg dicos) 63170f7c90cSmrg basic_machine=i686-pc 63270f7c90cSmrg os=-dicos 63370f7c90cSmrg ;; 63470f7c90cSmrg djgpp) 63570f7c90cSmrg basic_machine=i586-pc 63670f7c90cSmrg os=-msdosdjgpp 63770f7c90cSmrg ;; 638a850946eSmrg dpx20 | dpx20-*) 639a850946eSmrg basic_machine=rs6000-bull 640a850946eSmrg os=-bosx 641a850946eSmrg ;; 642c44a0236Smrg dpx2*) 643a850946eSmrg basic_machine=m68k-bull 644a850946eSmrg os=-sysv3 645a850946eSmrg ;; 646c44a0236Smrg e500v[12]) 647c44a0236Smrg basic_machine=powerpc-unknown 648c44a0236Smrg os=$os"spe" 649c44a0236Smrg ;; 650c44a0236Smrg e500v[12]-*) 651c44a0236Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 652c44a0236Smrg os=$os"spe" 653c44a0236Smrg ;; 654a850946eSmrg ebmon29k) 655a850946eSmrg basic_machine=a29k-amd 656a850946eSmrg os=-ebmon 657a850946eSmrg ;; 658a850946eSmrg elxsi) 659a850946eSmrg basic_machine=elxsi-elxsi 660a850946eSmrg os=-bsd 661a850946eSmrg ;; 662a850946eSmrg encore | umax | mmax) 663a850946eSmrg basic_machine=ns32k-encore 664a850946eSmrg ;; 665a850946eSmrg es1800 | OSE68k | ose68k | ose | OSE) 666a850946eSmrg basic_machine=m68k-ericsson 667a850946eSmrg os=-ose 668a850946eSmrg ;; 669a850946eSmrg fx2800) 670a850946eSmrg basic_machine=i860-alliant 671a850946eSmrg ;; 672a850946eSmrg genix) 673a850946eSmrg basic_machine=ns32k-ns 674a850946eSmrg ;; 675a850946eSmrg gmicro) 676a850946eSmrg basic_machine=tron-gmicro 677a850946eSmrg os=-sysv 678a850946eSmrg ;; 679a850946eSmrg go32) 680a850946eSmrg basic_machine=i386-pc 681a850946eSmrg os=-go32 682a850946eSmrg ;; 683a850946eSmrg h3050r* | hiux*) 684a850946eSmrg basic_machine=hppa1.1-hitachi 685a850946eSmrg os=-hiuxwe2 686a850946eSmrg ;; 687a850946eSmrg h8300hms) 688a850946eSmrg basic_machine=h8300-hitachi 689a850946eSmrg os=-hms 690a850946eSmrg ;; 691a850946eSmrg h8300xray) 692a850946eSmrg basic_machine=h8300-hitachi 693a850946eSmrg os=-xray 694a850946eSmrg ;; 695a850946eSmrg h8500hms) 696a850946eSmrg basic_machine=h8500-hitachi 697a850946eSmrg os=-hms 698a850946eSmrg ;; 699a850946eSmrg harris) 700a850946eSmrg basic_machine=m88k-harris 701a850946eSmrg os=-sysv3 702a850946eSmrg ;; 703a850946eSmrg hp300-*) 704a850946eSmrg basic_machine=m68k-hp 705a850946eSmrg ;; 706a850946eSmrg hp300bsd) 707a850946eSmrg basic_machine=m68k-hp 708a850946eSmrg os=-bsd 709a850946eSmrg ;; 710a850946eSmrg hp300hpux) 711a850946eSmrg basic_machine=m68k-hp 712a850946eSmrg os=-hpux 713a850946eSmrg ;; 714a850946eSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715a850946eSmrg basic_machine=hppa1.0-hp 716a850946eSmrg ;; 717a850946eSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718a850946eSmrg basic_machine=m68000-hp 719a850946eSmrg ;; 720a850946eSmrg hp9k3[2-9][0-9]) 721a850946eSmrg basic_machine=m68k-hp 722a850946eSmrg ;; 723a850946eSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724a850946eSmrg basic_machine=hppa1.0-hp 725a850946eSmrg ;; 726a850946eSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727a850946eSmrg basic_machine=hppa1.1-hp 728a850946eSmrg ;; 729a850946eSmrg hp9k78[0-9] | hp78[0-9]) 730a850946eSmrg # FIXME: really hppa2.0-hp 731a850946eSmrg basic_machine=hppa1.1-hp 732a850946eSmrg ;; 733a850946eSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734a850946eSmrg # FIXME: really hppa2.0-hp 735a850946eSmrg basic_machine=hppa1.1-hp 736a850946eSmrg ;; 737a850946eSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738a850946eSmrg basic_machine=hppa1.1-hp 739a850946eSmrg ;; 740a850946eSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741a850946eSmrg basic_machine=hppa1.0-hp 742a850946eSmrg ;; 743a850946eSmrg hppaosf) 744a850946eSmrg basic_machine=hppa1.1-hp 745a850946eSmrg os=-osf 746a850946eSmrg ;; 747a850946eSmrg hppro) 748a850946eSmrg basic_machine=hppa1.1-hp 749a850946eSmrg os=-proelf 750a850946eSmrg ;; 751a850946eSmrg i370-ibm* | ibm*) 752a850946eSmrg basic_machine=i370-ibm 753a850946eSmrg ;; 754a850946eSmrg i*86v32) 755c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756a850946eSmrg os=-sysv32 757a850946eSmrg ;; 758a850946eSmrg i*86v4*) 759c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760a850946eSmrg os=-sysv4 761a850946eSmrg ;; 762a850946eSmrg i*86v) 763c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764a850946eSmrg os=-sysv 765a850946eSmrg ;; 766a850946eSmrg i*86sol2) 767c44a0236Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768a850946eSmrg os=-solaris2 769a850946eSmrg ;; 770a850946eSmrg i386mach) 771a850946eSmrg basic_machine=i386-mach 772a850946eSmrg os=-mach 773a850946eSmrg ;; 774c44a0236Smrg vsta) 775a850946eSmrg basic_machine=i386-unknown 776a850946eSmrg os=-vsta 777a850946eSmrg ;; 778a850946eSmrg iris | iris4d) 779a850946eSmrg basic_machine=mips-sgi 780a850946eSmrg case $os in 781a850946eSmrg -irix*) 782a850946eSmrg ;; 783a850946eSmrg *) 784a850946eSmrg os=-irix4 785a850946eSmrg ;; 786a850946eSmrg esac 787a850946eSmrg ;; 788a850946eSmrg isi68 | isi) 789a850946eSmrg basic_machine=m68k-isi 790a850946eSmrg os=-sysv 791a850946eSmrg ;; 792c44a0236Smrg leon-*|leon[3-9]-*) 793c44a0236Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 794c44a0236Smrg ;; 79570f7c90cSmrg m68knommu) 79670f7c90cSmrg basic_machine=m68k-unknown 79770f7c90cSmrg os=-linux 79870f7c90cSmrg ;; 79970f7c90cSmrg m68knommu-*) 800c44a0236Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 80170f7c90cSmrg os=-linux 80270f7c90cSmrg ;; 803a850946eSmrg magnum | m3230) 804a850946eSmrg basic_machine=mips-mips 805a850946eSmrg os=-sysv 806a850946eSmrg ;; 807a850946eSmrg merlin) 808a850946eSmrg basic_machine=ns32k-utek 809a850946eSmrg os=-sysv 810a850946eSmrg ;; 8119511053fSmrg microblaze*) 8127dff02feSmrg basic_machine=microblaze-xilinx 8137dff02feSmrg ;; 8149511053fSmrg mingw64) 8159511053fSmrg basic_machine=x86_64-pc 8169511053fSmrg os=-mingw64 8179511053fSmrg ;; 818a850946eSmrg mingw32) 819c44a0236Smrg basic_machine=i686-pc 820a850946eSmrg os=-mingw32 821a850946eSmrg ;; 82270f7c90cSmrg mingw32ce) 82370f7c90cSmrg basic_machine=arm-unknown 82470f7c90cSmrg os=-mingw32ce 82570f7c90cSmrg ;; 826a850946eSmrg miniframe) 827a850946eSmrg basic_machine=m68000-convergent 828a850946eSmrg ;; 829a850946eSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830a850946eSmrg basic_machine=m68k-atari 831a850946eSmrg os=-mint 832a850946eSmrg ;; 833a850946eSmrg mips3*-*) 834c44a0236Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835a850946eSmrg ;; 836a850946eSmrg mips3*) 837c44a0236Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838a850946eSmrg ;; 839a850946eSmrg monitor) 840a850946eSmrg basic_machine=m68k-rom68k 841a850946eSmrg os=-coff 842a850946eSmrg ;; 843a850946eSmrg morphos) 844a850946eSmrg basic_machine=powerpc-unknown 845a850946eSmrg os=-morphos 846a850946eSmrg ;; 847c44a0236Smrg moxiebox) 848c44a0236Smrg basic_machine=moxie-unknown 849c44a0236Smrg os=-moxiebox 850c44a0236Smrg ;; 851a850946eSmrg msdos) 852a850946eSmrg basic_machine=i386-pc 853a850946eSmrg os=-msdos 854a850946eSmrg ;; 85570f7c90cSmrg ms1-*) 856c44a0236Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 85770f7c90cSmrg ;; 8589511053fSmrg msys) 859c44a0236Smrg basic_machine=i686-pc 8609511053fSmrg os=-msys 8619511053fSmrg ;; 862a850946eSmrg mvs) 863a850946eSmrg basic_machine=i370-ibm 864a850946eSmrg os=-mvs 865a850946eSmrg ;; 8669511053fSmrg nacl) 8679511053fSmrg basic_machine=le32-unknown 8689511053fSmrg os=-nacl 8699511053fSmrg ;; 870a850946eSmrg ncr3000) 871a850946eSmrg basic_machine=i486-ncr 872a850946eSmrg os=-sysv4 873a850946eSmrg ;; 874a850946eSmrg netbsd386) 875a850946eSmrg basic_machine=i386-unknown 876a850946eSmrg os=-netbsd 877a850946eSmrg ;; 878a850946eSmrg netwinder) 879a850946eSmrg basic_machine=armv4l-rebel 880a850946eSmrg os=-linux 881a850946eSmrg ;; 882a850946eSmrg news | news700 | news800 | news900) 883a850946eSmrg basic_machine=m68k-sony 884a850946eSmrg os=-newsos 885a850946eSmrg ;; 886a850946eSmrg news1000) 887a850946eSmrg basic_machine=m68030-sony 888a850946eSmrg os=-newsos 889a850946eSmrg ;; 890a850946eSmrg news-3600 | risc-news) 891a850946eSmrg basic_machine=mips-sony 892a850946eSmrg os=-newsos 893a850946eSmrg ;; 894a850946eSmrg necv70) 895a850946eSmrg basic_machine=v70-nec 896a850946eSmrg os=-sysv 897a850946eSmrg ;; 898c44a0236Smrg next | m*-next) 899a850946eSmrg basic_machine=m68k-next 900a850946eSmrg case $os in 901a850946eSmrg -nextstep* ) 902a850946eSmrg ;; 903a850946eSmrg -ns2*) 904a850946eSmrg os=-nextstep2 905a850946eSmrg ;; 906a850946eSmrg *) 907a850946eSmrg os=-nextstep3 908a850946eSmrg ;; 909a850946eSmrg esac 910a850946eSmrg ;; 911a850946eSmrg nh3000) 912a850946eSmrg basic_machine=m68k-harris 913a850946eSmrg os=-cxux 914a850946eSmrg ;; 915a850946eSmrg nh[45]000) 916a850946eSmrg basic_machine=m88k-harris 917a850946eSmrg os=-cxux 918a850946eSmrg ;; 919a850946eSmrg nindy960) 920a850946eSmrg basic_machine=i960-intel 921a850946eSmrg os=-nindy 922a850946eSmrg ;; 923a850946eSmrg mon960) 924a850946eSmrg basic_machine=i960-intel 925a850946eSmrg os=-mon960 926a850946eSmrg ;; 927a850946eSmrg nonstopux) 928a850946eSmrg basic_machine=mips-compaq 929a850946eSmrg os=-nonstopux 930a850946eSmrg ;; 931a850946eSmrg np1) 932a850946eSmrg basic_machine=np1-gould 933a850946eSmrg ;; 9349511053fSmrg neo-tandem) 93569a1fe56Smrg basic_machine=neo-tandem 93669a1fe56Smrg ;; 9379511053fSmrg nse-tandem) 93869a1fe56Smrg basic_machine=nse-tandem 93969a1fe56Smrg ;; 940a850946eSmrg nsr-tandem) 941a850946eSmrg basic_machine=nsr-tandem 942a850946eSmrg ;; 943c44a0236Smrg nsv-tandem) 944c44a0236Smrg basic_machine=nsv-tandem 945c44a0236Smrg ;; 946c44a0236Smrg nsx-tandem) 947c44a0236Smrg basic_machine=nsx-tandem 948c44a0236Smrg ;; 949a850946eSmrg op50n-* | op60c-*) 950a850946eSmrg basic_machine=hppa1.1-oki 951a850946eSmrg os=-proelf 952a850946eSmrg ;; 95370f7c90cSmrg openrisc | openrisc-*) 954a850946eSmrg basic_machine=or32-unknown 95570f7c90cSmrg ;; 95670f7c90cSmrg os400) 95770f7c90cSmrg basic_machine=powerpc-ibm 95870f7c90cSmrg os=-os400 959a850946eSmrg ;; 960a850946eSmrg OSE68000 | ose68000) 961a850946eSmrg basic_machine=m68000-ericsson 962a850946eSmrg os=-ose 963a850946eSmrg ;; 964a850946eSmrg os68k) 965a850946eSmrg basic_machine=m68k-none 966a850946eSmrg os=-os68k 967a850946eSmrg ;; 968a850946eSmrg pa-hitachi) 969a850946eSmrg basic_machine=hppa1.1-hitachi 970a850946eSmrg os=-hiuxwe2 971a850946eSmrg ;; 972a850946eSmrg paragon) 973a850946eSmrg basic_machine=i860-intel 974a850946eSmrg os=-osf 975a850946eSmrg ;; 97670f7c90cSmrg parisc) 97770f7c90cSmrg basic_machine=hppa-unknown 97870f7c90cSmrg os=-linux 97970f7c90cSmrg ;; 98070f7c90cSmrg parisc-*) 981c44a0236Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 98270f7c90cSmrg os=-linux 98370f7c90cSmrg ;; 984a850946eSmrg pbd) 985a850946eSmrg basic_machine=sparc-tti 986a850946eSmrg ;; 987a850946eSmrg pbb) 988a850946eSmrg basic_machine=m68k-tti 989a850946eSmrg ;; 990a850946eSmrg pc532 | pc532-*) 991a850946eSmrg basic_machine=ns32k-pc532 992a850946eSmrg ;; 99370f7c90cSmrg pc98) 99470f7c90cSmrg basic_machine=i386-pc 99570f7c90cSmrg ;; 99670f7c90cSmrg pc98-*) 997c44a0236Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 99870f7c90cSmrg ;; 999a850946eSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000a850946eSmrg basic_machine=i586-pc 1001a850946eSmrg ;; 1002a850946eSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003a850946eSmrg basic_machine=i686-pc 1004a850946eSmrg ;; 1005a850946eSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1006a850946eSmrg basic_machine=i686-pc 1007a850946eSmrg ;; 1008a850946eSmrg pentium4) 1009a850946eSmrg basic_machine=i786-pc 1010a850946eSmrg ;; 1011a850946eSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1012c44a0236Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013a850946eSmrg ;; 1014a850946eSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1015c44a0236Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016a850946eSmrg ;; 1017a850946eSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1018c44a0236Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019a850946eSmrg ;; 1020a850946eSmrg pentium4-*) 1021c44a0236Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022a850946eSmrg ;; 1023a850946eSmrg pn) 1024a850946eSmrg basic_machine=pn-gould 1025a850946eSmrg ;; 1026a850946eSmrg power) basic_machine=power-ibm 1027a850946eSmrg ;; 10289511053fSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1029a850946eSmrg ;; 10309511053fSmrg ppc-* | ppcbe-*) 1031c44a0236Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032a850946eSmrg ;; 1033c44a0236Smrg ppcle | powerpclittle) 1034a850946eSmrg basic_machine=powerpcle-unknown 1035a850946eSmrg ;; 1036a850946eSmrg ppcle-* | powerpclittle-*) 1037c44a0236Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038a850946eSmrg ;; 1039a850946eSmrg ppc64) basic_machine=powerpc64-unknown 1040a850946eSmrg ;; 1041c44a0236Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042a850946eSmrg ;; 1043c44a0236Smrg ppc64le | powerpc64little) 1044a850946eSmrg basic_machine=powerpc64le-unknown 1045a850946eSmrg ;; 1046a850946eSmrg ppc64le-* | powerpc64little-*) 1047c44a0236Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048a850946eSmrg ;; 1049a850946eSmrg ps2) 1050a850946eSmrg basic_machine=i386-ibm 1051a850946eSmrg ;; 1052a850946eSmrg pw32) 1053a850946eSmrg basic_machine=i586-unknown 1054a850946eSmrg os=-pw32 1055a850946eSmrg ;; 10569511053fSmrg rdos | rdos64) 10579511053fSmrg basic_machine=x86_64-pc 10589511053fSmrg os=-rdos 10599511053fSmrg ;; 10609511053fSmrg rdos32) 106170f7c90cSmrg basic_machine=i386-pc 106270f7c90cSmrg os=-rdos 106370f7c90cSmrg ;; 1064a850946eSmrg rom68k) 1065a850946eSmrg basic_machine=m68k-rom68k 1066a850946eSmrg os=-coff 1067a850946eSmrg ;; 1068a850946eSmrg rm[46]00) 1069a850946eSmrg basic_machine=mips-siemens 1070a850946eSmrg ;; 1071a850946eSmrg rtpc | rtpc-*) 1072a850946eSmrg basic_machine=romp-ibm 1073a850946eSmrg ;; 107470f7c90cSmrg s390 | s390-*) 107570f7c90cSmrg basic_machine=s390-ibm 107670f7c90cSmrg ;; 107770f7c90cSmrg s390x | s390x-*) 107870f7c90cSmrg basic_machine=s390x-ibm 107970f7c90cSmrg ;; 1080a850946eSmrg sa29200) 1081a850946eSmrg basic_machine=a29k-amd 1082a850946eSmrg os=-udi 1083a850946eSmrg ;; 1084a850946eSmrg sb1) 1085a850946eSmrg basic_machine=mipsisa64sb1-unknown 1086a850946eSmrg ;; 1087a850946eSmrg sb1el) 1088a850946eSmrg basic_machine=mipsisa64sb1el-unknown 1089a850946eSmrg ;; 109070f7c90cSmrg sde) 109170f7c90cSmrg basic_machine=mipsisa32-sde 109270f7c90cSmrg os=-elf 109370f7c90cSmrg ;; 1094a850946eSmrg sei) 1095a850946eSmrg basic_machine=mips-sei 1096a850946eSmrg os=-seiux 1097a850946eSmrg ;; 1098a850946eSmrg sequent) 1099a850946eSmrg basic_machine=i386-sequent 1100a850946eSmrg ;; 110170f7c90cSmrg sh5el) 110270f7c90cSmrg basic_machine=sh5le-unknown 110370f7c90cSmrg ;; 1104c44a0236Smrg simso-wrs) 1105a850946eSmrg basic_machine=sparclite-wrs 1106a850946eSmrg os=-vxworks 1107a850946eSmrg ;; 1108a850946eSmrg sps7) 1109a850946eSmrg basic_machine=m68k-bull 1110a850946eSmrg os=-sysv2 1111a850946eSmrg ;; 1112a850946eSmrg spur) 1113a850946eSmrg basic_machine=spur-unknown 1114a850946eSmrg ;; 1115a850946eSmrg st2000) 1116a850946eSmrg basic_machine=m68k-tandem 1117a850946eSmrg ;; 1118a850946eSmrg stratus) 1119a850946eSmrg basic_machine=i860-stratus 1120a850946eSmrg os=-sysv4 1121a850946eSmrg ;; 11229511053fSmrg strongarm-* | thumb-*) 1123c44a0236Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11249511053fSmrg ;; 1125a850946eSmrg sun2) 1126a850946eSmrg basic_machine=m68000-sun 1127a850946eSmrg ;; 1128a850946eSmrg sun2os3) 1129a850946eSmrg basic_machine=m68000-sun 1130a850946eSmrg os=-sunos3 1131a850946eSmrg ;; 1132a850946eSmrg sun2os4) 1133a850946eSmrg basic_machine=m68000-sun 1134a850946eSmrg os=-sunos4 1135a850946eSmrg ;; 1136a850946eSmrg sun3os3) 1137a850946eSmrg basic_machine=m68k-sun 1138a850946eSmrg os=-sunos3 1139a850946eSmrg ;; 1140a850946eSmrg sun3os4) 1141a850946eSmrg basic_machine=m68k-sun 1142a850946eSmrg os=-sunos4 1143a850946eSmrg ;; 1144a850946eSmrg sun4os3) 1145a850946eSmrg basic_machine=sparc-sun 1146a850946eSmrg os=-sunos3 1147a850946eSmrg ;; 1148a850946eSmrg sun4os4) 1149a850946eSmrg basic_machine=sparc-sun 1150a850946eSmrg os=-sunos4 1151a850946eSmrg ;; 1152a850946eSmrg sun4sol2) 1153a850946eSmrg basic_machine=sparc-sun 1154a850946eSmrg os=-solaris2 1155a850946eSmrg ;; 1156a850946eSmrg sun3 | sun3-*) 1157a850946eSmrg basic_machine=m68k-sun 1158a850946eSmrg ;; 1159a850946eSmrg sun4) 1160a850946eSmrg basic_machine=sparc-sun 1161a850946eSmrg ;; 1162a850946eSmrg sun386 | sun386i | roadrunner) 1163a850946eSmrg basic_machine=i386-sun 1164a850946eSmrg ;; 1165a850946eSmrg sv1) 1166a850946eSmrg basic_machine=sv1-cray 1167a850946eSmrg os=-unicos 1168a850946eSmrg ;; 1169a850946eSmrg symmetry) 1170a850946eSmrg basic_machine=i386-sequent 1171a850946eSmrg os=-dynix 1172a850946eSmrg ;; 1173a850946eSmrg t3e) 1174a850946eSmrg basic_machine=alphaev5-cray 1175a850946eSmrg os=-unicos 1176a850946eSmrg ;; 1177a850946eSmrg t90) 1178a850946eSmrg basic_machine=t90-cray 1179a850946eSmrg os=-unicos 1180a850946eSmrg ;; 118170f7c90cSmrg tile*) 11829511053fSmrg basic_machine=$basic_machine-unknown 118370f7c90cSmrg os=-linux-gnu 118470f7c90cSmrg ;; 1185a850946eSmrg tx39) 1186a850946eSmrg basic_machine=mipstx39-unknown 1187a850946eSmrg ;; 1188a850946eSmrg tx39el) 1189a850946eSmrg basic_machine=mipstx39el-unknown 1190a850946eSmrg ;; 1191a850946eSmrg toad1) 1192a850946eSmrg basic_machine=pdp10-xkl 1193a850946eSmrg os=-tops20 1194a850946eSmrg ;; 1195a850946eSmrg tower | tower-32) 1196a850946eSmrg basic_machine=m68k-ncr 1197a850946eSmrg ;; 119870f7c90cSmrg tpf) 119970f7c90cSmrg basic_machine=s390x-ibm 120070f7c90cSmrg os=-tpf 120170f7c90cSmrg ;; 1202a850946eSmrg udi29k) 1203a850946eSmrg basic_machine=a29k-amd 1204a850946eSmrg os=-udi 1205a850946eSmrg ;; 1206a850946eSmrg ultra3) 1207a850946eSmrg basic_machine=a29k-nyu 1208a850946eSmrg os=-sym1 1209a850946eSmrg ;; 1210a850946eSmrg v810 | necv810) 1211a850946eSmrg basic_machine=v810-nec 1212a850946eSmrg os=-none 1213a850946eSmrg ;; 1214a850946eSmrg vaxv) 1215a850946eSmrg basic_machine=vax-dec 1216a850946eSmrg os=-sysv 1217a850946eSmrg ;; 1218a850946eSmrg vms) 1219a850946eSmrg basic_machine=vax-dec 1220a850946eSmrg os=-vms 1221a850946eSmrg ;; 1222a850946eSmrg vpp*|vx|vx-*) 1223a850946eSmrg basic_machine=f301-fujitsu 1224a850946eSmrg ;; 1225a850946eSmrg vxworks960) 1226a850946eSmrg basic_machine=i960-wrs 1227a850946eSmrg os=-vxworks 1228a850946eSmrg ;; 1229a850946eSmrg vxworks68) 1230a850946eSmrg basic_machine=m68k-wrs 1231a850946eSmrg os=-vxworks 1232a850946eSmrg ;; 1233a850946eSmrg vxworks29k) 1234a850946eSmrg basic_machine=a29k-wrs 1235a850946eSmrg os=-vxworks 1236a850946eSmrg ;; 1237a850946eSmrg w65*) 1238a850946eSmrg basic_machine=w65-wdc 1239a850946eSmrg os=-none 1240a850946eSmrg ;; 1241a850946eSmrg w89k-*) 1242a850946eSmrg basic_machine=hppa1.1-winbond 1243a850946eSmrg os=-proelf 1244a850946eSmrg ;; 1245c44a0236Smrg x64) 1246c44a0236Smrg basic_machine=x86_64-pc 1247c44a0236Smrg ;; 124870f7c90cSmrg xbox) 124970f7c90cSmrg basic_machine=i686-pc 125070f7c90cSmrg os=-mingw32 125170f7c90cSmrg ;; 1252a850946eSmrg xps | xps100) 1253a850946eSmrg basic_machine=xps100-honeywell 1254a850946eSmrg ;; 12559511053fSmrg xscale-* | xscalee[bl]-*) 1256c44a0236Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12579511053fSmrg ;; 1258a850946eSmrg ymp) 1259a850946eSmrg basic_machine=ymp-cray 1260a850946eSmrg os=-unicos 1261a850946eSmrg ;; 1262a850946eSmrg none) 1263a850946eSmrg basic_machine=none-none 1264a850946eSmrg os=-none 1265a850946eSmrg ;; 1266a850946eSmrg 1267a850946eSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1268a850946eSmrg# some cases the only manufacturer, in others, it is the most popular. 1269a850946eSmrg w89k) 1270a850946eSmrg basic_machine=hppa1.1-winbond 1271a850946eSmrg ;; 1272a850946eSmrg op50n) 1273a850946eSmrg basic_machine=hppa1.1-oki 1274a850946eSmrg ;; 1275a850946eSmrg op60c) 1276a850946eSmrg basic_machine=hppa1.1-oki 1277a850946eSmrg ;; 1278a850946eSmrg romp) 1279a850946eSmrg basic_machine=romp-ibm 1280a850946eSmrg ;; 128170f7c90cSmrg mmix) 128270f7c90cSmrg basic_machine=mmix-knuth 128370f7c90cSmrg ;; 1284a850946eSmrg rs6000) 1285a850946eSmrg basic_machine=rs6000-ibm 1286a850946eSmrg ;; 1287a850946eSmrg vax) 1288a850946eSmrg basic_machine=vax-dec 1289a850946eSmrg ;; 1290a850946eSmrg pdp11) 1291a850946eSmrg basic_machine=pdp11-dec 1292a850946eSmrg ;; 1293a850946eSmrg we32k) 1294a850946eSmrg basic_machine=we32k-att 1295a850946eSmrg ;; 129670f7c90cSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297a850946eSmrg basic_machine=sh-unknown 1298a850946eSmrg ;; 1299a850946eSmrg cydra) 1300a850946eSmrg basic_machine=cydra-cydrome 1301a850946eSmrg ;; 1302a850946eSmrg orion) 1303a850946eSmrg basic_machine=orion-highlevel 1304a850946eSmrg ;; 1305a850946eSmrg orion105) 1306a850946eSmrg basic_machine=clipper-highlevel 1307a850946eSmrg ;; 1308a850946eSmrg mac | mpw | mac-mpw) 1309a850946eSmrg basic_machine=m68k-apple 1310a850946eSmrg ;; 1311a850946eSmrg pmac | pmac-mpw) 1312a850946eSmrg basic_machine=powerpc-apple 1313a850946eSmrg ;; 1314a850946eSmrg *-unknown) 1315a850946eSmrg # Make sure to match an already-canonicalized machine name. 1316a850946eSmrg ;; 1317a850946eSmrg *) 1318c44a0236Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319a850946eSmrg exit 1 1320a850946eSmrg ;; 1321a850946eSmrgesac 1322a850946eSmrg 1323a850946eSmrg# Here we canonicalize certain aliases for manufacturers. 1324a850946eSmrgcase $basic_machine in 1325a850946eSmrg *-digital*) 1326c44a0236Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327a850946eSmrg ;; 1328a850946eSmrg *-commodore*) 1329c44a0236Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330a850946eSmrg ;; 1331a850946eSmrg *) 1332a850946eSmrg ;; 1333a850946eSmrgesac 1334a850946eSmrg 1335a850946eSmrg# Decode manufacturer-specific aliases for certain operating systems. 1336a850946eSmrg 1337a850946eSmrgif [ x"$os" != x"" ] 1338a850946eSmrgthen 1339a850946eSmrgcase $os in 1340c44a0236Smrg # First match some system type aliases that might get confused 1341c44a0236Smrg # with valid system types. 1342a850946eSmrg # -solaris* is a basic system type, with this one exception. 13439511053fSmrg -auroraux) 13449511053fSmrg os=-auroraux 13457dff02feSmrg ;; 1346a850946eSmrg -solaris1 | -solaris1.*) 1347a850946eSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348a850946eSmrg ;; 1349a850946eSmrg -solaris) 1350a850946eSmrg os=-solaris2 1351a850946eSmrg ;; 1352a850946eSmrg -unixware*) 1353a850946eSmrg os=-sysv4.2uw 1354a850946eSmrg ;; 1355a850946eSmrg -gnu/linux*) 1356a850946eSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357a850946eSmrg ;; 1358c44a0236Smrg # es1800 is here to avoid being matched by es* (a different OS) 1359c44a0236Smrg -es1800*) 1360c44a0236Smrg os=-ose 1361c44a0236Smrg ;; 1362c44a0236Smrg # Now accept the basic system types. 1363a850946eSmrg # The portable systems comes first. 1364c44a0236Smrg # Each alternative MUST end in a * to match a version number. 1365a850946eSmrg # -sysv* is not here because it comes later, after sysvr4. 1366a850946eSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13677dff02feSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13687dff02feSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13699511053fSmrg | -sym* | -kopensolaris* | -plan9* \ 1370a850946eSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1371c44a0236Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372a850946eSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373a850946eSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1374c44a0236Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 1375c44a0236Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 137670f7c90cSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 137770f7c90cSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378a850946eSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1379c44a0236Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 1380c44a0236Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13819511053fSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1382c44a0236Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13839511053fSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1384c44a0236Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1385c44a0236Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386a850946eSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387a850946eSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388a850946eSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1389c44a0236Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 139070f7c90cSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1391c44a0236Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1392c44a0236Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 1393c44a0236Smrg | -midnightbsd*) 1394a850946eSmrg # Remember, each alternative MUST END IN *, to match a version number. 1395a850946eSmrg ;; 1396a850946eSmrg -qnx*) 1397a850946eSmrg case $basic_machine in 1398a850946eSmrg x86-* | i*86-*) 1399a850946eSmrg ;; 1400a850946eSmrg *) 1401a850946eSmrg os=-nto$os 1402a850946eSmrg ;; 1403a850946eSmrg esac 1404a850946eSmrg ;; 1405a850946eSmrg -nto-qnx*) 1406a850946eSmrg ;; 1407a850946eSmrg -nto*) 1408a850946eSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409a850946eSmrg ;; 1410c44a0236Smrg -sim | -xray | -os68k* | -v88r* \ 1411c44a0236Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412a850946eSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413a850946eSmrg ;; 1414a850946eSmrg -mac*) 1415c44a0236Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416a850946eSmrg ;; 141770f7c90cSmrg -linux-dietlibc) 141870f7c90cSmrg os=-linux-dietlibc 141970f7c90cSmrg ;; 1420a850946eSmrg -linux*) 1421a850946eSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422a850946eSmrg ;; 1423a850946eSmrg -sunos5*) 1424c44a0236Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425a850946eSmrg ;; 1426a850946eSmrg -sunos6*) 1427c44a0236Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428a850946eSmrg ;; 1429a850946eSmrg -opened*) 1430a850946eSmrg os=-openedition 1431a850946eSmrg ;; 14329511053fSmrg -os400*) 143370f7c90cSmrg os=-os400 143470f7c90cSmrg ;; 1435a850946eSmrg -wince*) 1436a850946eSmrg os=-wince 1437a850946eSmrg ;; 1438a850946eSmrg -utek*) 1439a850946eSmrg os=-bsd 1440a850946eSmrg ;; 1441a850946eSmrg -dynix*) 1442a850946eSmrg os=-bsd 1443a850946eSmrg ;; 1444a850946eSmrg -acis*) 1445a850946eSmrg os=-aos 1446a850946eSmrg ;; 1447a850946eSmrg -atheos*) 1448a850946eSmrg os=-atheos 1449a850946eSmrg ;; 145070f7c90cSmrg -syllable*) 145170f7c90cSmrg os=-syllable 145270f7c90cSmrg ;; 1453a850946eSmrg -386bsd) 1454a850946eSmrg os=-bsd 1455a850946eSmrg ;; 1456a850946eSmrg -ctix* | -uts*) 1457a850946eSmrg os=-sysv 1458a850946eSmrg ;; 1459a850946eSmrg -nova*) 1460a850946eSmrg os=-rtmk-nova 1461a850946eSmrg ;; 1462c44a0236Smrg -ns2) 1463a850946eSmrg os=-nextstep2 1464a850946eSmrg ;; 1465a850946eSmrg -nsk*) 1466a850946eSmrg os=-nsk 1467a850946eSmrg ;; 1468a850946eSmrg # Preserve the version number of sinix5. 1469a850946eSmrg -sinix5.*) 1470a850946eSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471a850946eSmrg ;; 1472a850946eSmrg -sinix*) 1473a850946eSmrg os=-sysv4 1474a850946eSmrg ;; 14759511053fSmrg -tpf*) 147670f7c90cSmrg os=-tpf 147770f7c90cSmrg ;; 1478a850946eSmrg -triton*) 1479a850946eSmrg os=-sysv3 1480a850946eSmrg ;; 1481a850946eSmrg -oss*) 1482a850946eSmrg os=-sysv3 1483a850946eSmrg ;; 1484c44a0236Smrg -svr4*) 1485a850946eSmrg os=-sysv4 1486a850946eSmrg ;; 1487a850946eSmrg -svr3) 1488a850946eSmrg os=-sysv3 1489a850946eSmrg ;; 1490a850946eSmrg -sysvr4) 1491a850946eSmrg os=-sysv4 1492a850946eSmrg ;; 1493a850946eSmrg # This must come after -sysvr4. 1494a850946eSmrg -sysv*) 1495a850946eSmrg ;; 1496a850946eSmrg -ose*) 1497a850946eSmrg os=-ose 1498a850946eSmrg ;; 1499a850946eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500a850946eSmrg os=-mint 1501a850946eSmrg ;; 150270f7c90cSmrg -zvmoe) 150370f7c90cSmrg os=-zvmoe 150470f7c90cSmrg ;; 150570f7c90cSmrg -dicos*) 150670f7c90cSmrg os=-dicos 150770f7c90cSmrg ;; 1508c44a0236Smrg -pikeos*) 1509c44a0236Smrg # Until real need of OS specific support for 1510c44a0236Smrg # particular features comes up, bare metal 1511c44a0236Smrg # configurations are quite functional. 1512c44a0236Smrg case $basic_machine in 1513c44a0236Smrg arm*) 1514c44a0236Smrg os=-eabi 1515c44a0236Smrg ;; 1516c44a0236Smrg *) 1517c44a0236Smrg os=-elf 1518c44a0236Smrg ;; 1519c44a0236Smrg esac 1520c44a0236Smrg ;; 15219511053fSmrg -nacl*) 15229511053fSmrg ;; 1523c44a0236Smrg -ios) 1524c44a0236Smrg ;; 1525a850946eSmrg -none) 1526a850946eSmrg ;; 1527a850946eSmrg *) 1528a850946eSmrg # Get rid of the `-' at the beginning of $os. 1529a850946eSmrg os=`echo $os | sed 's/[^-]*-//'` 1530c44a0236Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531a850946eSmrg exit 1 1532a850946eSmrg ;; 1533a850946eSmrgesac 1534a850946eSmrgelse 1535a850946eSmrg 1536a850946eSmrg# Here we handle the default operating systems that come with various machines. 1537a850946eSmrg# The value should be what the vendor currently ships out the door with their 1538a850946eSmrg# machine or put another way, the most popular os provided with the machine. 1539a850946eSmrg 1540a850946eSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541a850946eSmrg# "-sun"), then you have to tell the case statement up towards the top 1542a850946eSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543a850946eSmrg# will signal an error saying that MANUFACTURER isn't an operating 1544a850946eSmrg# system, and we'll never get to this point. 1545a850946eSmrg 1546a850946eSmrgcase $basic_machine in 15479511053fSmrg score-*) 154870f7c90cSmrg os=-elf 154970f7c90cSmrg ;; 15509511053fSmrg spu-*) 155170f7c90cSmrg os=-elf 155270f7c90cSmrg ;; 1553a850946eSmrg *-acorn) 1554a850946eSmrg os=-riscix1.2 1555a850946eSmrg ;; 1556a850946eSmrg arm*-rebel) 1557a850946eSmrg os=-linux 1558a850946eSmrg ;; 1559a850946eSmrg arm*-semi) 1560a850946eSmrg os=-aout 1561a850946eSmrg ;; 15629511053fSmrg c4x-* | tic4x-*) 15639511053fSmrg os=-coff 15649511053fSmrg ;; 1565c44a0236Smrg c8051-*) 1566c44a0236Smrg os=-elf 1567c44a0236Smrg ;; 15689511053fSmrg hexagon-*) 15699511053fSmrg os=-elf 1570a850946eSmrg ;; 157169a1fe56Smrg tic54x-*) 157269a1fe56Smrg os=-coff 157369a1fe56Smrg ;; 157469a1fe56Smrg tic55x-*) 157569a1fe56Smrg os=-coff 157669a1fe56Smrg ;; 157769a1fe56Smrg tic6x-*) 157869a1fe56Smrg os=-coff 157969a1fe56Smrg ;; 1580a850946eSmrg # This must come before the *-dec entry. 1581a850946eSmrg pdp10-*) 1582a850946eSmrg os=-tops20 1583a850946eSmrg ;; 1584a850946eSmrg pdp11-*) 1585a850946eSmrg os=-none 1586a850946eSmrg ;; 1587a850946eSmrg *-dec | vax-*) 1588a850946eSmrg os=-ultrix4.2 1589a850946eSmrg ;; 1590a850946eSmrg m68*-apollo) 1591a850946eSmrg os=-domain 1592a850946eSmrg ;; 1593a850946eSmrg i386-sun) 1594a850946eSmrg os=-sunos4.0.2 1595a850946eSmrg ;; 1596a850946eSmrg m68000-sun) 1597a850946eSmrg os=-sunos3 1598a850946eSmrg ;; 1599a850946eSmrg m68*-cisco) 1600a850946eSmrg os=-aout 1601a850946eSmrg ;; 16029511053fSmrg mep-*) 160370f7c90cSmrg os=-elf 160470f7c90cSmrg ;; 1605a850946eSmrg mips*-cisco) 1606a850946eSmrg os=-elf 1607a850946eSmrg ;; 1608a850946eSmrg mips*-*) 1609a850946eSmrg os=-elf 1610a850946eSmrg ;; 1611a850946eSmrg or32-*) 1612a850946eSmrg os=-coff 1613a850946eSmrg ;; 1614a850946eSmrg *-tti) # must be before sparc entry or we get the wrong os. 1615a850946eSmrg os=-sysv3 1616a850946eSmrg ;; 1617a850946eSmrg sparc-* | *-sun) 1618a850946eSmrg os=-sunos4.1.1 1619a850946eSmrg ;; 1620c44a0236Smrg pru-*) 1621c44a0236Smrg os=-elf 1622c44a0236Smrg ;; 1623a850946eSmrg *-be) 1624a850946eSmrg os=-beos 1625a850946eSmrg ;; 1626a850946eSmrg *-ibm) 1627a850946eSmrg os=-aix 1628a850946eSmrg ;; 16299511053fSmrg *-knuth) 163070f7c90cSmrg os=-mmixware 163170f7c90cSmrg ;; 1632a850946eSmrg *-wec) 1633a850946eSmrg os=-proelf 1634a850946eSmrg ;; 1635a850946eSmrg *-winbond) 1636a850946eSmrg os=-proelf 1637a850946eSmrg ;; 1638a850946eSmrg *-oki) 1639a850946eSmrg os=-proelf 1640a850946eSmrg ;; 1641a850946eSmrg *-hp) 1642a850946eSmrg os=-hpux 1643a850946eSmrg ;; 1644a850946eSmrg *-hitachi) 1645a850946eSmrg os=-hiux 1646a850946eSmrg ;; 1647a850946eSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648a850946eSmrg os=-sysv 1649a850946eSmrg ;; 1650a850946eSmrg *-cbm) 1651a850946eSmrg os=-amigaos 1652a850946eSmrg ;; 1653a850946eSmrg *-dg) 1654a850946eSmrg os=-dgux 1655a850946eSmrg ;; 1656a850946eSmrg *-dolphin) 1657a850946eSmrg os=-sysv3 1658a850946eSmrg ;; 1659a850946eSmrg m68k-ccur) 1660a850946eSmrg os=-rtu 1661a850946eSmrg ;; 1662a850946eSmrg m88k-omron*) 1663a850946eSmrg os=-luna 1664a850946eSmrg ;; 1665c44a0236Smrg *-next) 1666a850946eSmrg os=-nextstep 1667a850946eSmrg ;; 1668a850946eSmrg *-sequent) 1669a850946eSmrg os=-ptx 1670a850946eSmrg ;; 1671a850946eSmrg *-crds) 1672a850946eSmrg os=-unos 1673a850946eSmrg ;; 1674a850946eSmrg *-ns) 1675a850946eSmrg os=-genix 1676a850946eSmrg ;; 1677a850946eSmrg i370-*) 1678a850946eSmrg os=-mvs 1679a850946eSmrg ;; 1680a850946eSmrg *-gould) 1681a850946eSmrg os=-sysv 1682a850946eSmrg ;; 1683a850946eSmrg *-highlevel) 1684a850946eSmrg os=-bsd 1685a850946eSmrg ;; 1686a850946eSmrg *-encore) 1687a850946eSmrg os=-bsd 1688a850946eSmrg ;; 1689a850946eSmrg *-sgi) 1690a850946eSmrg os=-irix 1691a850946eSmrg ;; 1692a850946eSmrg *-siemens) 1693a850946eSmrg os=-sysv4 1694a850946eSmrg ;; 1695a850946eSmrg *-masscomp) 1696a850946eSmrg os=-rtu 1697a850946eSmrg ;; 1698a850946eSmrg f30[01]-fujitsu | f700-fujitsu) 1699a850946eSmrg os=-uxpv 1700a850946eSmrg ;; 1701a850946eSmrg *-rom68k) 1702a850946eSmrg os=-coff 1703a850946eSmrg ;; 1704a850946eSmrg *-*bug) 1705a850946eSmrg os=-coff 1706a850946eSmrg ;; 1707a850946eSmrg *-apple) 1708a850946eSmrg os=-macos 1709a850946eSmrg ;; 1710a850946eSmrg *-atari*) 1711a850946eSmrg os=-mint 1712a850946eSmrg ;; 1713a850946eSmrg *) 1714a850946eSmrg os=-none 1715a850946eSmrg ;; 1716a850946eSmrgesac 1717a850946eSmrgfi 1718a850946eSmrg 1719a850946eSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1720a850946eSmrg# manufacturer. We pick the logical manufacturer. 1721a850946eSmrgvendor=unknown 1722a850946eSmrgcase $basic_machine in 1723a850946eSmrg *-unknown) 1724a850946eSmrg case $os in 1725a850946eSmrg -riscix*) 1726a850946eSmrg vendor=acorn 1727a850946eSmrg ;; 1728a850946eSmrg -sunos*) 1729a850946eSmrg vendor=sun 1730a850946eSmrg ;; 17317dff02feSmrg -cnk*|-aix*) 1732a850946eSmrg vendor=ibm 1733a850946eSmrg ;; 1734a850946eSmrg -beos*) 1735a850946eSmrg vendor=be 1736a850946eSmrg ;; 1737a850946eSmrg -hpux*) 1738a850946eSmrg vendor=hp 1739a850946eSmrg ;; 1740a850946eSmrg -mpeix*) 1741a850946eSmrg vendor=hp 1742a850946eSmrg ;; 1743a850946eSmrg -hiux*) 1744a850946eSmrg vendor=hitachi 1745a850946eSmrg ;; 1746a850946eSmrg -unos*) 1747a850946eSmrg vendor=crds 1748a850946eSmrg ;; 1749a850946eSmrg -dgux*) 1750a850946eSmrg vendor=dg 1751a850946eSmrg ;; 1752a850946eSmrg -luna*) 1753a850946eSmrg vendor=omron 1754a850946eSmrg ;; 1755a850946eSmrg -genix*) 1756a850946eSmrg vendor=ns 1757a850946eSmrg ;; 1758a850946eSmrg -mvs* | -opened*) 1759a850946eSmrg vendor=ibm 1760a850946eSmrg ;; 176170f7c90cSmrg -os400*) 176270f7c90cSmrg vendor=ibm 176370f7c90cSmrg ;; 1764a850946eSmrg -ptx*) 1765a850946eSmrg vendor=sequent 1766a850946eSmrg ;; 176770f7c90cSmrg -tpf*) 176870f7c90cSmrg vendor=ibm 176970f7c90cSmrg ;; 1770a850946eSmrg -vxsim* | -vxworks* | -windiss*) 1771a850946eSmrg vendor=wrs 1772a850946eSmrg ;; 1773a850946eSmrg -aux*) 1774a850946eSmrg vendor=apple 1775a850946eSmrg ;; 1776a850946eSmrg -hms*) 1777a850946eSmrg vendor=hitachi 1778a850946eSmrg ;; 1779a850946eSmrg -mpw* | -macos*) 1780a850946eSmrg vendor=apple 1781a850946eSmrg ;; 1782a850946eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783a850946eSmrg vendor=atari 1784a850946eSmrg ;; 1785a850946eSmrg -vos*) 1786a850946eSmrg vendor=stratus 1787a850946eSmrg ;; 1788a850946eSmrg esac 1789c44a0236Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790a850946eSmrg ;; 1791a850946eSmrgesac 1792a850946eSmrg 1793c44a0236Smrgecho "$basic_machine$os" 179470f7c90cSmrgexit 1795a850946eSmrg 1796a850946eSmrg# Local variables: 1797c44a0236Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798a850946eSmrg# time-stamp-start: "timestamp='" 1799a850946eSmrg# time-stamp-format: "%:y-%02m-%02d" 1800a850946eSmrg# time-stamp-end: "'" 1801a850946eSmrg# End: 1802