config.sub revision b7d26471
1145b7b3cSmrg#! /bin/sh 2145b7b3cSmrg# Configuration validation subroutine script. 3b7d26471Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 4145b7b3cSmrg 5b7d26471Smrgtimestamp='2018-02-28' 6145b7b3cSmrg 7b7d26471Smrg# This file is free software; you can redistribute it and/or modify it 8b7d26471Smrg# under the terms of the GNU General Public License as published by 9b7d26471Smrg# the Free Software Foundation; either version 3 of the License, or 10145b7b3cSmrg# (at your option) any later version. 11145b7b3cSmrg# 12b7d26471Smrg# This program is distributed in the hope that it will be useful, but 13b7d26471Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14b7d26471Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15b7d26471Smrg# General Public License for more details. 16145b7b3cSmrg# 17145b7b3cSmrg# You should have received a copy of the GNU General Public License 18b7d26471Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19145b7b3cSmrg# 20145b7b3cSmrg# As a special exception to the GNU General Public License, if you 21145b7b3cSmrg# distribute this file as part of a program that contains a 22145b7b3cSmrg# configuration script generated by Autoconf, you may include it under 23b7d26471Smrg# the same distribution terms that you use for the rest of that 24b7d26471Smrg# program. This Exception is an additional permission under section 7 25b7d26471Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26145b7b3cSmrg 27145b7b3cSmrg 28b7d26471Smrg# Please send patches to <config-patches@gnu.org>. 29145b7b3cSmrg# 30145b7b3cSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31145b7b3cSmrg# Supply the specified configuration type as an argument. 32145b7b3cSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33145b7b3cSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34145b7b3cSmrg 355ffd6003Smrg# You can get the latest version of this script from: 36b7d26471Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 375ffd6003Smrg 38145b7b3cSmrg# This file is supposed to be the same for all GNU packages 39145b7b3cSmrg# and recognize all the CPU types, system types and aliases 40145b7b3cSmrg# that are meaningful with *any* GNU software. 41145b7b3cSmrg# Each package is responsible for reporting which valid configurations 42145b7b3cSmrg# it does not support. The user should be able to distinguish 43145b7b3cSmrg# a failure to support a valid configuration from a meaningless 44145b7b3cSmrg# configuration. 45145b7b3cSmrg 46145b7b3cSmrg# The goal of this file is to map all the various variations of a given 47145b7b3cSmrg# machine specification into a single specification in the form: 48145b7b3cSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49145b7b3cSmrg# or in some cases, the newer four-part form: 50145b7b3cSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51145b7b3cSmrg# It is wrong to echo any other type of specification. 52145b7b3cSmrg 53145b7b3cSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54145b7b3cSmrg 55145b7b3cSmrgusage="\ 56b7d26471SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57145b7b3cSmrg 58145b7b3cSmrgCanonicalize a configuration name. 59145b7b3cSmrg 60b7d26471SmrgOptions: 61145b7b3cSmrg -h, --help print this help, then exit 62145b7b3cSmrg -t, --time-stamp print date of last modification, then exit 63145b7b3cSmrg -v, --version print version number, then exit 64145b7b3cSmrg 65145b7b3cSmrgReport bugs and patches to <config-patches@gnu.org>." 66145b7b3cSmrg 67145b7b3cSmrgversion="\ 68145b7b3cSmrgGNU config.sub ($timestamp) 69145b7b3cSmrg 70b7d26471SmrgCopyright 1992-2018 Free Software Foundation, Inc. 71145b7b3cSmrg 72145b7b3cSmrgThis is free software; see the source for copying conditions. There is NO 73145b7b3cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74145b7b3cSmrg 75145b7b3cSmrghelp=" 76145b7b3cSmrgTry \`$me --help' for more information." 77145b7b3cSmrg 78145b7b3cSmrg# Parse command line 79145b7b3cSmrgwhile test $# -gt 0 ; do 80145b7b3cSmrg case $1 in 81145b7b3cSmrg --time-stamp | --time* | -t ) 82145b7b3cSmrg echo "$timestamp" ; exit ;; 83145b7b3cSmrg --version | -v ) 84145b7b3cSmrg echo "$version" ; exit ;; 85145b7b3cSmrg --help | --h* | -h ) 86145b7b3cSmrg echo "$usage"; exit ;; 87145b7b3cSmrg -- ) # Stop option processing 88145b7b3cSmrg shift; break ;; 89145b7b3cSmrg - ) # Use stdin as input. 90145b7b3cSmrg break ;; 91145b7b3cSmrg -* ) 92145b7b3cSmrg echo "$me: invalid option $1$help" 93145b7b3cSmrg exit 1 ;; 94145b7b3cSmrg 95145b7b3cSmrg *local*) 96145b7b3cSmrg # First pass through any local machine types. 97b7d26471Smrg echo "$1" 98145b7b3cSmrg exit ;; 99145b7b3cSmrg 100145b7b3cSmrg * ) 101145b7b3cSmrg break ;; 102145b7b3cSmrg esac 103145b7b3cSmrgdone 104145b7b3cSmrg 105145b7b3cSmrgcase $# in 106145b7b3cSmrg 0) echo "$me: missing argument$help" >&2 107145b7b3cSmrg exit 1;; 108145b7b3cSmrg 1) ;; 109145b7b3cSmrg *) echo "$me: too many arguments$help" >&2 110145b7b3cSmrg exit 1;; 111145b7b3cSmrgesac 112145b7b3cSmrg 113145b7b3cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114145b7b3cSmrg# Here we must recognize all the valid KERNEL-OS combinations. 115b7d26471Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116145b7b3cSmrgcase $maybe_os in 117b7d26471Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 118b7d26471Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 119b7d26471Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120b7d26471Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121145b7b3cSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122145b7b3cSmrg os=-$maybe_os 123b7d26471Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124b7d26471Smrg ;; 125b7d26471Smrg android-linux) 126b7d26471Smrg os=-linux-android 127b7d26471Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 128145b7b3cSmrg ;; 129145b7b3cSmrg *) 130b7d26471Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 131b7d26471Smrg if [ "$basic_machine" != "$1" ] 132b7d26471Smrg then os=`echo "$1" | sed 's/.*-/-/'` 133145b7b3cSmrg else os=; fi 134145b7b3cSmrg ;; 135145b7b3cSmrgesac 136145b7b3cSmrg 137145b7b3cSmrg### Let's recognize common machines as not being operating systems so 138145b7b3cSmrg### that things like config.sub decstation-3100 work. We also 139145b7b3cSmrg### recognize some manufacturers as not being operating systems, so we 140145b7b3cSmrg### can provide default operating systems below. 141145b7b3cSmrgcase $os in 142145b7b3cSmrg -sun*os*) 143145b7b3cSmrg # Prevent following clause from handling this invalid input. 144145b7b3cSmrg ;; 145145b7b3cSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146145b7b3cSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147145b7b3cSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148145b7b3cSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149145b7b3cSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150145b7b3cSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 151b7d26471Smrg -apple | -axis | -knuth | -cray | -microblaze*) 152145b7b3cSmrg os= 153145b7b3cSmrg basic_machine=$1 154145b7b3cSmrg ;; 155b7d26471Smrg -bluegene*) 156b7d26471Smrg os=-cnk 1575ffd6003Smrg ;; 158145b7b3cSmrg -sim | -cisco | -oki | -wec | -winbond) 159145b7b3cSmrg os= 160145b7b3cSmrg basic_machine=$1 161145b7b3cSmrg ;; 162145b7b3cSmrg -scout) 163145b7b3cSmrg ;; 164145b7b3cSmrg -wrs) 165145b7b3cSmrg os=-vxworks 166145b7b3cSmrg basic_machine=$1 167145b7b3cSmrg ;; 168145b7b3cSmrg -chorusos*) 169145b7b3cSmrg os=-chorusos 170145b7b3cSmrg basic_machine=$1 171145b7b3cSmrg ;; 172b7d26471Smrg -chorusrdb) 173b7d26471Smrg os=-chorusrdb 174145b7b3cSmrg basic_machine=$1 175b7d26471Smrg ;; 176145b7b3cSmrg -hiux*) 177145b7b3cSmrg os=-hiuxwe2 178145b7b3cSmrg ;; 179145b7b3cSmrg -sco6) 180145b7b3cSmrg os=-sco5v6 181b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 182145b7b3cSmrg ;; 183145b7b3cSmrg -sco5) 184145b7b3cSmrg os=-sco3.2v5 185b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186145b7b3cSmrg ;; 187145b7b3cSmrg -sco4) 188145b7b3cSmrg os=-sco3.2v4 189b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190145b7b3cSmrg ;; 191145b7b3cSmrg -sco3.2.[4-9]*) 192145b7b3cSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194145b7b3cSmrg ;; 195145b7b3cSmrg -sco3.2v[4-9]*) 196145b7b3cSmrg # Don't forget version if it is 3.2v4 or newer. 197b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198145b7b3cSmrg ;; 199145b7b3cSmrg -sco5v6*) 200145b7b3cSmrg # Don't forget version if it is 3.2v4 or newer. 201b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 202145b7b3cSmrg ;; 203145b7b3cSmrg -sco*) 204145b7b3cSmrg os=-sco3.2v2 205b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206145b7b3cSmrg ;; 207145b7b3cSmrg -udk*) 208b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209145b7b3cSmrg ;; 210145b7b3cSmrg -isc) 211145b7b3cSmrg os=-isc2.2 212b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213145b7b3cSmrg ;; 214145b7b3cSmrg -clix*) 215145b7b3cSmrg basic_machine=clipper-intergraph 216145b7b3cSmrg ;; 217145b7b3cSmrg -isc*) 218b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219b7d26471Smrg ;; 220b7d26471Smrg -lynx*178) 221b7d26471Smrg os=-lynxos178 222b7d26471Smrg ;; 223b7d26471Smrg -lynx*5) 224b7d26471Smrg os=-lynxos5 225145b7b3cSmrg ;; 226145b7b3cSmrg -lynx*) 227145b7b3cSmrg os=-lynxos 228145b7b3cSmrg ;; 229145b7b3cSmrg -ptx*) 230b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231145b7b3cSmrg ;; 232145b7b3cSmrg -psos*) 233145b7b3cSmrg os=-psos 234145b7b3cSmrg ;; 235145b7b3cSmrg -mint | -mint[0-9]*) 236145b7b3cSmrg basic_machine=m68k-atari 237145b7b3cSmrg os=-mint 238145b7b3cSmrg ;; 239145b7b3cSmrgesac 240145b7b3cSmrg 241145b7b3cSmrg# Decode aliases for certain CPU-COMPANY combinations. 242145b7b3cSmrgcase $basic_machine in 243145b7b3cSmrg # Recognize the basic CPU types without company name. 244145b7b3cSmrg # Some are omitted here because they have special meanings below. 245145b7b3cSmrg 1750a | 580 \ 246145b7b3cSmrg | a29k \ 247b7d26471Smrg | aarch64 | aarch64_be \ 248145b7b3cSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249145b7b3cSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 250145b7b3cSmrg | am33_2.0 \ 251b7d26471Smrg | arc | arceb \ 252b7d26471Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 253b7d26471Smrg | avr | avr32 \ 254b7d26471Smrg | ba \ 255b7d26471Smrg | be32 | be64 \ 256145b7b3cSmrg | bfin \ 257b7d26471Smrg | c4x | c8051 | clipper \ 258145b7b3cSmrg | d10v | d30v | dlx | dsp16xx \ 259b7d26471Smrg | e2k | epiphany \ 260b7d26471Smrg | fido | fr30 | frv | ft32 \ 261145b7b3cSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 262b7d26471Smrg | hexagon \ 263b7d26471Smrg | i370 | i860 | i960 | ia16 | ia64 \ 264145b7b3cSmrg | ip2k | iq2000 \ 265b7d26471Smrg | k1om \ 266b7d26471Smrg | le32 | le64 \ 2675ffd6003Smrg | lm32 \ 268578741aaSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 269b7d26471Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270145b7b3cSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271145b7b3cSmrg | mips16 \ 272145b7b3cSmrg | mips64 | mips64el \ 2735ffd6003Smrg | mips64octeon | mips64octeonel \ 274145b7b3cSmrg | mips64orion | mips64orionel \ 2755ffd6003Smrg | mips64r5900 | mips64r5900el \ 2765ffd6003Smrg | mips64vr | mips64vrel \ 277145b7b3cSmrg | mips64vr4100 | mips64vr4100el \ 278145b7b3cSmrg | mips64vr4300 | mips64vr4300el \ 279145b7b3cSmrg | mips64vr5000 | mips64vr5000el \ 280145b7b3cSmrg | mips64vr5900 | mips64vr5900el \ 281145b7b3cSmrg | mipsisa32 | mipsisa32el \ 282145b7b3cSmrg | mipsisa32r2 | mipsisa32r2el \ 283b7d26471Smrg | mipsisa32r6 | mipsisa32r6el \ 284145b7b3cSmrg | mipsisa64 | mipsisa64el \ 285145b7b3cSmrg | mipsisa64r2 | mipsisa64r2el \ 286b7d26471Smrg | mipsisa64r6 | mipsisa64r6el \ 287145b7b3cSmrg | mipsisa64sb1 | mipsisa64sb1el \ 288145b7b3cSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 289b7d26471Smrg | mipsr5900 | mipsr5900el \ 290145b7b3cSmrg | mipstx39 | mipstx39el \ 291145b7b3cSmrg | mn10200 | mn10300 \ 2925ffd6003Smrg | moxie \ 293145b7b3cSmrg | mt \ 294145b7b3cSmrg | msp430 \ 295b7d26471Smrg | nds32 | nds32le | nds32be \ 296b7d26471Smrg | nios | nios2 | nios2eb | nios2el \ 297145b7b3cSmrg | ns16k | ns32k \ 298b7d26471Smrg | open8 | or1k | or1knd | or32 \ 299b7d26471Smrg | pdp10 | pj | pjl \ 300b7d26471Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 301b7d26471Smrg | pru \ 302145b7b3cSmrg | pyramid \ 303b7d26471Smrg | riscv32 | riscv64 \ 304b7d26471Smrg | rl78 | rx \ 305578741aaSmrg | score \ 306b7d26471Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307145b7b3cSmrg | sh64 | sh64le \ 308578741aaSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 309578741aaSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 310b7d26471Smrg | spu \ 311b7d26471Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3125ffd6003Smrg | ubicom32 \ 313b7d26471Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 314b7d26471Smrg | visium \ 315b7d26471Smrg | wasm32 \ 316b7d26471Smrg | x86 | xc16x | xstormy16 | xtensa \ 3175ffd6003Smrg | z8k | z80) 318145b7b3cSmrg basic_machine=$basic_machine-unknown 319145b7b3cSmrg ;; 320b7d26471Smrg c54x) 321b7d26471Smrg basic_machine=tic54x-unknown 322b7d26471Smrg ;; 323b7d26471Smrg c55x) 324b7d26471Smrg basic_machine=tic55x-unknown 325b7d26471Smrg ;; 326b7d26471Smrg c6x) 327b7d26471Smrg basic_machine=tic6x-unknown 328b7d26471Smrg ;; 329b7d26471Smrg leon|leon[3-9]) 330b7d26471Smrg basic_machine=sparc-$basic_machine 331b7d26471Smrg ;; 332b7d26471Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333145b7b3cSmrg basic_machine=$basic_machine-unknown 334145b7b3cSmrg os=-none 335145b7b3cSmrg ;; 336b7d26471Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337145b7b3cSmrg ;; 338145b7b3cSmrg ms1) 339145b7b3cSmrg basic_machine=mt-unknown 340145b7b3cSmrg ;; 341145b7b3cSmrg 342b7d26471Smrg strongarm | thumb | xscale) 343b7d26471Smrg basic_machine=arm-unknown 344b7d26471Smrg ;; 345b7d26471Smrg xgate) 346b7d26471Smrg basic_machine=$basic_machine-unknown 347b7d26471Smrg os=-none 348b7d26471Smrg ;; 349b7d26471Smrg xscaleeb) 350b7d26471Smrg basic_machine=armeb-unknown 351b7d26471Smrg ;; 352b7d26471Smrg 353b7d26471Smrg xscaleel) 354b7d26471Smrg basic_machine=armel-unknown 355b7d26471Smrg ;; 356b7d26471Smrg 357145b7b3cSmrg # We use `pc' rather than `unknown' 358145b7b3cSmrg # because (1) that's what they normally are, and 359145b7b3cSmrg # (2) the word "unknown" tends to confuse beginning users. 360145b7b3cSmrg i*86 | x86_64) 361145b7b3cSmrg basic_machine=$basic_machine-pc 362145b7b3cSmrg ;; 363145b7b3cSmrg # Object if more than one company name word. 364145b7b3cSmrg *-*-*) 365b7d26471Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366145b7b3cSmrg exit 1 367145b7b3cSmrg ;; 368145b7b3cSmrg # Recognize the basic CPU types with company name. 369145b7b3cSmrg 580-* \ 370145b7b3cSmrg | a29k-* \ 371b7d26471Smrg | aarch64-* | aarch64_be-* \ 372145b7b3cSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373145b7b3cSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 374b7d26471Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375145b7b3cSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 376578741aaSmrg | avr-* | avr32-* \ 377b7d26471Smrg | ba-* \ 378b7d26471Smrg | be32-* | be64-* \ 379145b7b3cSmrg | bfin-* | bs2000-* \ 380b7d26471Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 381b7d26471Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382145b7b3cSmrg | d10v-* | d30v-* | dlx-* \ 383b7d26471Smrg | e2k-* | elxsi-* \ 384578741aaSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385145b7b3cSmrg | h8300-* | h8500-* \ 386145b7b3cSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 387b7d26471Smrg | hexagon-* \ 388b7d26471Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 389145b7b3cSmrg | ip2k-* | iq2000-* \ 390b7d26471Smrg | k1om-* \ 391b7d26471Smrg | le32-* | le64-* \ 3925ffd6003Smrg | lm32-* \ 393578741aaSmrg | m32c-* | m32r-* | m32rle-* \ 394145b7b3cSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 395b7d26471Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 396b7d26471Smrg | microblaze-* | microblazeel-* \ 397145b7b3cSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398145b7b3cSmrg | mips16-* \ 399145b7b3cSmrg | mips64-* | mips64el-* \ 4005ffd6003Smrg | mips64octeon-* | mips64octeonel-* \ 401145b7b3cSmrg | mips64orion-* | mips64orionel-* \ 4025ffd6003Smrg | mips64r5900-* | mips64r5900el-* \ 4035ffd6003Smrg | mips64vr-* | mips64vrel-* \ 404145b7b3cSmrg | mips64vr4100-* | mips64vr4100el-* \ 405145b7b3cSmrg | mips64vr4300-* | mips64vr4300el-* \ 406145b7b3cSmrg | mips64vr5000-* | mips64vr5000el-* \ 407145b7b3cSmrg | mips64vr5900-* | mips64vr5900el-* \ 408145b7b3cSmrg | mipsisa32-* | mipsisa32el-* \ 409145b7b3cSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 410b7d26471Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 411145b7b3cSmrg | mipsisa64-* | mipsisa64el-* \ 412145b7b3cSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 413b7d26471Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 414145b7b3cSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415145b7b3cSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 416b7d26471Smrg | mipsr5900-* | mipsr5900el-* \ 417145b7b3cSmrg | mipstx39-* | mipstx39el-* \ 418145b7b3cSmrg | mmix-* \ 419145b7b3cSmrg | mt-* \ 420145b7b3cSmrg | msp430-* \ 421b7d26471Smrg | nds32-* | nds32le-* | nds32be-* \ 422b7d26471Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 423145b7b3cSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 424b7d26471Smrg | open8-* \ 425b7d26471Smrg | or1k*-* \ 426145b7b3cSmrg | orion-* \ 427145b7b3cSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 428b7d26471Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 429b7d26471Smrg | pru-* \ 430145b7b3cSmrg | pyramid-* \ 431b7d26471Smrg | riscv32-* | riscv64-* \ 432b7d26471Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4335ffd6003Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434145b7b3cSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 435578741aaSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 436145b7b3cSmrg | sparclite-* \ 437b7d26471Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 438b7d26471Smrg | tahoe-* \ 439b7d26471Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 440b7d26471Smrg | tile*-* \ 441145b7b3cSmrg | tron-* \ 4425ffd6003Smrg | ubicom32-* \ 443b7d26471Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 444b7d26471Smrg | vax-* \ 445b7d26471Smrg | visium-* \ 446b7d26471Smrg | wasm32-* \ 447145b7b3cSmrg | we32k-* \ 448b7d26471Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449578741aaSmrg | xstormy16-* | xtensa*-* \ 450145b7b3cSmrg | ymp-* \ 4515ffd6003Smrg | z8k-* | z80-*) 452145b7b3cSmrg ;; 453578741aaSmrg # Recognize the basic CPU types without company name, with glob match. 454578741aaSmrg xtensa*) 455578741aaSmrg basic_machine=$basic_machine-unknown 456145b7b3cSmrg ;; 457145b7b3cSmrg # Recognize the various machine names and aliases which stand 458145b7b3cSmrg # for a CPU type and a company and sometimes even an OS. 459145b7b3cSmrg 386bsd) 460b7d26471Smrg basic_machine=i386-pc 461145b7b3cSmrg os=-bsd 462145b7b3cSmrg ;; 463145b7b3cSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464145b7b3cSmrg basic_machine=m68000-att 465145b7b3cSmrg ;; 466145b7b3cSmrg 3b*) 467145b7b3cSmrg basic_machine=we32k-att 468145b7b3cSmrg ;; 469145b7b3cSmrg a29khif) 470145b7b3cSmrg basic_machine=a29k-amd 471145b7b3cSmrg os=-udi 472145b7b3cSmrg ;; 473b7d26471Smrg abacus) 474145b7b3cSmrg basic_machine=abacus-unknown 475145b7b3cSmrg ;; 476145b7b3cSmrg adobe68k) 477145b7b3cSmrg basic_machine=m68010-adobe 478145b7b3cSmrg os=-scout 479145b7b3cSmrg ;; 480145b7b3cSmrg alliant | fx80) 481145b7b3cSmrg basic_machine=fx80-alliant 482145b7b3cSmrg ;; 483145b7b3cSmrg altos | altos3068) 484145b7b3cSmrg basic_machine=m68k-altos 485145b7b3cSmrg ;; 486145b7b3cSmrg am29k) 487145b7b3cSmrg basic_machine=a29k-none 488145b7b3cSmrg os=-bsd 489145b7b3cSmrg ;; 490145b7b3cSmrg amd64) 491145b7b3cSmrg basic_machine=x86_64-pc 492145b7b3cSmrg ;; 493145b7b3cSmrg amd64-*) 494b7d26471Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 495145b7b3cSmrg ;; 496145b7b3cSmrg amdahl) 497145b7b3cSmrg basic_machine=580-amdahl 498145b7b3cSmrg os=-sysv 499145b7b3cSmrg ;; 500145b7b3cSmrg amiga | amiga-*) 501145b7b3cSmrg basic_machine=m68k-unknown 502145b7b3cSmrg ;; 503145b7b3cSmrg amigaos | amigados) 504145b7b3cSmrg basic_machine=m68k-unknown 505145b7b3cSmrg os=-amigaos 506145b7b3cSmrg ;; 507145b7b3cSmrg amigaunix | amix) 508145b7b3cSmrg basic_machine=m68k-unknown 509145b7b3cSmrg os=-sysv4 510145b7b3cSmrg ;; 511145b7b3cSmrg apollo68) 512145b7b3cSmrg basic_machine=m68k-apollo 513145b7b3cSmrg os=-sysv 514145b7b3cSmrg ;; 515145b7b3cSmrg apollo68bsd) 516145b7b3cSmrg basic_machine=m68k-apollo 517145b7b3cSmrg os=-bsd 518145b7b3cSmrg ;; 5195ffd6003Smrg aros) 5205ffd6003Smrg basic_machine=i386-pc 5215ffd6003Smrg os=-aros 5225ffd6003Smrg ;; 523b7d26471Smrg asmjs) 524b7d26471Smrg basic_machine=asmjs-unknown 525b7d26471Smrg ;; 526145b7b3cSmrg aux) 527145b7b3cSmrg basic_machine=m68k-apple 528145b7b3cSmrg os=-aux 529145b7b3cSmrg ;; 530145b7b3cSmrg balance) 531145b7b3cSmrg basic_machine=ns32k-sequent 532145b7b3cSmrg os=-dynix 533145b7b3cSmrg ;; 534578741aaSmrg blackfin) 535578741aaSmrg basic_machine=bfin-unknown 536578741aaSmrg os=-linux 537578741aaSmrg ;; 538578741aaSmrg blackfin-*) 539b7d26471Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540578741aaSmrg os=-linux 541578741aaSmrg ;; 5425ffd6003Smrg bluegene*) 5435ffd6003Smrg basic_machine=powerpc-ibm 5445ffd6003Smrg os=-cnk 5455ffd6003Smrg ;; 546b7d26471Smrg c54x-*) 547b7d26471Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548b7d26471Smrg ;; 549b7d26471Smrg c55x-*) 550b7d26471Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551b7d26471Smrg ;; 552b7d26471Smrg c6x-*) 553b7d26471Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554b7d26471Smrg ;; 555145b7b3cSmrg c90) 556145b7b3cSmrg basic_machine=c90-cray 557145b7b3cSmrg os=-unicos 558145b7b3cSmrg ;; 559b7d26471Smrg cegcc) 5605ffd6003Smrg basic_machine=arm-unknown 5615ffd6003Smrg os=-cegcc 5625ffd6003Smrg ;; 563145b7b3cSmrg convex-c1) 564145b7b3cSmrg basic_machine=c1-convex 565145b7b3cSmrg os=-bsd 566145b7b3cSmrg ;; 567145b7b3cSmrg convex-c2) 568145b7b3cSmrg basic_machine=c2-convex 569145b7b3cSmrg os=-bsd 570145b7b3cSmrg ;; 571145b7b3cSmrg convex-c32) 572145b7b3cSmrg basic_machine=c32-convex 573145b7b3cSmrg os=-bsd 574145b7b3cSmrg ;; 575145b7b3cSmrg convex-c34) 576145b7b3cSmrg basic_machine=c34-convex 577145b7b3cSmrg os=-bsd 578145b7b3cSmrg ;; 579145b7b3cSmrg convex-c38) 580145b7b3cSmrg basic_machine=c38-convex 581145b7b3cSmrg os=-bsd 582145b7b3cSmrg ;; 583145b7b3cSmrg cray | j90) 584145b7b3cSmrg basic_machine=j90-cray 585145b7b3cSmrg os=-unicos 586145b7b3cSmrg ;; 587145b7b3cSmrg craynv) 588145b7b3cSmrg basic_machine=craynv-cray 589145b7b3cSmrg os=-unicosmp 590145b7b3cSmrg ;; 591b7d26471Smrg cr16 | cr16-*) 592578741aaSmrg basic_machine=cr16-unknown 593145b7b3cSmrg os=-elf 594145b7b3cSmrg ;; 595145b7b3cSmrg crds | unos) 596145b7b3cSmrg basic_machine=m68k-crds 597145b7b3cSmrg ;; 598145b7b3cSmrg crisv32 | crisv32-* | etraxfs*) 599145b7b3cSmrg basic_machine=crisv32-axis 600145b7b3cSmrg ;; 601145b7b3cSmrg cris | cris-* | etrax*) 602145b7b3cSmrg basic_machine=cris-axis 603145b7b3cSmrg ;; 604145b7b3cSmrg crx) 605145b7b3cSmrg basic_machine=crx-unknown 606145b7b3cSmrg os=-elf 607145b7b3cSmrg ;; 608145b7b3cSmrg da30 | da30-*) 609145b7b3cSmrg basic_machine=m68k-da30 610145b7b3cSmrg ;; 611145b7b3cSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612145b7b3cSmrg basic_machine=mips-dec 613145b7b3cSmrg ;; 614145b7b3cSmrg decsystem10* | dec10*) 615145b7b3cSmrg basic_machine=pdp10-dec 616145b7b3cSmrg os=-tops10 617145b7b3cSmrg ;; 618145b7b3cSmrg decsystem20* | dec20*) 619145b7b3cSmrg basic_machine=pdp10-dec 620145b7b3cSmrg os=-tops20 621145b7b3cSmrg ;; 622145b7b3cSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623145b7b3cSmrg | 3300-motorola | delta-motorola) 624145b7b3cSmrg basic_machine=m68k-motorola 625145b7b3cSmrg ;; 626145b7b3cSmrg delta88) 627145b7b3cSmrg basic_machine=m88k-motorola 628145b7b3cSmrg os=-sysv3 629145b7b3cSmrg ;; 6305ffd6003Smrg dicos) 6315ffd6003Smrg basic_machine=i686-pc 6325ffd6003Smrg os=-dicos 6335ffd6003Smrg ;; 634145b7b3cSmrg djgpp) 635145b7b3cSmrg basic_machine=i586-pc 636145b7b3cSmrg os=-msdosdjgpp 637145b7b3cSmrg ;; 638145b7b3cSmrg dpx20 | dpx20-*) 639145b7b3cSmrg basic_machine=rs6000-bull 640145b7b3cSmrg os=-bosx 641145b7b3cSmrg ;; 642b7d26471Smrg dpx2*) 643145b7b3cSmrg basic_machine=m68k-bull 644145b7b3cSmrg os=-sysv3 645145b7b3cSmrg ;; 646b7d26471Smrg e500v[12]) 647b7d26471Smrg basic_machine=powerpc-unknown 648b7d26471Smrg os=$os"spe" 649b7d26471Smrg ;; 650b7d26471Smrg e500v[12]-*) 651b7d26471Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 652b7d26471Smrg os=$os"spe" 653b7d26471Smrg ;; 654145b7b3cSmrg ebmon29k) 655145b7b3cSmrg basic_machine=a29k-amd 656145b7b3cSmrg os=-ebmon 657145b7b3cSmrg ;; 658145b7b3cSmrg elxsi) 659145b7b3cSmrg basic_machine=elxsi-elxsi 660145b7b3cSmrg os=-bsd 661145b7b3cSmrg ;; 662145b7b3cSmrg encore | umax | mmax) 663145b7b3cSmrg basic_machine=ns32k-encore 664145b7b3cSmrg ;; 665145b7b3cSmrg es1800 | OSE68k | ose68k | ose | OSE) 666145b7b3cSmrg basic_machine=m68k-ericsson 667145b7b3cSmrg os=-ose 668145b7b3cSmrg ;; 669145b7b3cSmrg fx2800) 670145b7b3cSmrg basic_machine=i860-alliant 671145b7b3cSmrg ;; 672145b7b3cSmrg genix) 673145b7b3cSmrg basic_machine=ns32k-ns 674145b7b3cSmrg ;; 675145b7b3cSmrg gmicro) 676145b7b3cSmrg basic_machine=tron-gmicro 677145b7b3cSmrg os=-sysv 678145b7b3cSmrg ;; 679145b7b3cSmrg go32) 680145b7b3cSmrg basic_machine=i386-pc 681145b7b3cSmrg os=-go32 682145b7b3cSmrg ;; 683145b7b3cSmrg h3050r* | hiux*) 684145b7b3cSmrg basic_machine=hppa1.1-hitachi 685145b7b3cSmrg os=-hiuxwe2 686145b7b3cSmrg ;; 687145b7b3cSmrg h8300hms) 688145b7b3cSmrg basic_machine=h8300-hitachi 689145b7b3cSmrg os=-hms 690145b7b3cSmrg ;; 691145b7b3cSmrg h8300xray) 692145b7b3cSmrg basic_machine=h8300-hitachi 693145b7b3cSmrg os=-xray 694145b7b3cSmrg ;; 695145b7b3cSmrg h8500hms) 696145b7b3cSmrg basic_machine=h8500-hitachi 697145b7b3cSmrg os=-hms 698145b7b3cSmrg ;; 699145b7b3cSmrg harris) 700145b7b3cSmrg basic_machine=m88k-harris 701145b7b3cSmrg os=-sysv3 702145b7b3cSmrg ;; 703145b7b3cSmrg hp300-*) 704145b7b3cSmrg basic_machine=m68k-hp 705145b7b3cSmrg ;; 706145b7b3cSmrg hp300bsd) 707145b7b3cSmrg basic_machine=m68k-hp 708145b7b3cSmrg os=-bsd 709145b7b3cSmrg ;; 710145b7b3cSmrg hp300hpux) 711145b7b3cSmrg basic_machine=m68k-hp 712145b7b3cSmrg os=-hpux 713145b7b3cSmrg ;; 714145b7b3cSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715145b7b3cSmrg basic_machine=hppa1.0-hp 716145b7b3cSmrg ;; 717145b7b3cSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718145b7b3cSmrg basic_machine=m68000-hp 719145b7b3cSmrg ;; 720145b7b3cSmrg hp9k3[2-9][0-9]) 721145b7b3cSmrg basic_machine=m68k-hp 722145b7b3cSmrg ;; 723145b7b3cSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724145b7b3cSmrg basic_machine=hppa1.0-hp 725145b7b3cSmrg ;; 726145b7b3cSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727145b7b3cSmrg basic_machine=hppa1.1-hp 728145b7b3cSmrg ;; 729145b7b3cSmrg hp9k78[0-9] | hp78[0-9]) 730145b7b3cSmrg # FIXME: really hppa2.0-hp 731145b7b3cSmrg basic_machine=hppa1.1-hp 732145b7b3cSmrg ;; 733145b7b3cSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734145b7b3cSmrg # FIXME: really hppa2.0-hp 735145b7b3cSmrg basic_machine=hppa1.1-hp 736145b7b3cSmrg ;; 737145b7b3cSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738145b7b3cSmrg basic_machine=hppa1.1-hp 739145b7b3cSmrg ;; 740145b7b3cSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741145b7b3cSmrg basic_machine=hppa1.0-hp 742145b7b3cSmrg ;; 743145b7b3cSmrg hppaosf) 744145b7b3cSmrg basic_machine=hppa1.1-hp 745145b7b3cSmrg os=-osf 746145b7b3cSmrg ;; 747145b7b3cSmrg hppro) 748145b7b3cSmrg basic_machine=hppa1.1-hp 749145b7b3cSmrg os=-proelf 750145b7b3cSmrg ;; 751145b7b3cSmrg i370-ibm* | ibm*) 752145b7b3cSmrg basic_machine=i370-ibm 753145b7b3cSmrg ;; 754145b7b3cSmrg i*86v32) 755b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756145b7b3cSmrg os=-sysv32 757145b7b3cSmrg ;; 758145b7b3cSmrg i*86v4*) 759b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760145b7b3cSmrg os=-sysv4 761145b7b3cSmrg ;; 762145b7b3cSmrg i*86v) 763b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764145b7b3cSmrg os=-sysv 765145b7b3cSmrg ;; 766145b7b3cSmrg i*86sol2) 767b7d26471Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768145b7b3cSmrg os=-solaris2 769145b7b3cSmrg ;; 770145b7b3cSmrg i386mach) 771145b7b3cSmrg basic_machine=i386-mach 772145b7b3cSmrg os=-mach 773145b7b3cSmrg ;; 774b7d26471Smrg vsta) 775145b7b3cSmrg basic_machine=i386-unknown 776145b7b3cSmrg os=-vsta 777145b7b3cSmrg ;; 778145b7b3cSmrg iris | iris4d) 779145b7b3cSmrg basic_machine=mips-sgi 780145b7b3cSmrg case $os in 781145b7b3cSmrg -irix*) 782145b7b3cSmrg ;; 783145b7b3cSmrg *) 784145b7b3cSmrg os=-irix4 785145b7b3cSmrg ;; 786145b7b3cSmrg esac 787145b7b3cSmrg ;; 788145b7b3cSmrg isi68 | isi) 789145b7b3cSmrg basic_machine=m68k-isi 790145b7b3cSmrg os=-sysv 791145b7b3cSmrg ;; 792b7d26471Smrg leon-*|leon[3-9]-*) 793b7d26471Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 794b7d26471Smrg ;; 795578741aaSmrg m68knommu) 796578741aaSmrg basic_machine=m68k-unknown 797578741aaSmrg os=-linux 798578741aaSmrg ;; 799578741aaSmrg m68knommu-*) 800b7d26471Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801578741aaSmrg os=-linux 802578741aaSmrg ;; 803145b7b3cSmrg magnum | m3230) 804145b7b3cSmrg basic_machine=mips-mips 805145b7b3cSmrg os=-sysv 806145b7b3cSmrg ;; 807145b7b3cSmrg merlin) 808145b7b3cSmrg basic_machine=ns32k-utek 809145b7b3cSmrg os=-sysv 810145b7b3cSmrg ;; 811b7d26471Smrg microblaze*) 8125ffd6003Smrg basic_machine=microblaze-xilinx 8135ffd6003Smrg ;; 814b7d26471Smrg mingw64) 815b7d26471Smrg basic_machine=x86_64-pc 816b7d26471Smrg os=-mingw64 817b7d26471Smrg ;; 818145b7b3cSmrg mingw32) 819b7d26471Smrg basic_machine=i686-pc 820145b7b3cSmrg os=-mingw32 821145b7b3cSmrg ;; 822578741aaSmrg mingw32ce) 823578741aaSmrg basic_machine=arm-unknown 824578741aaSmrg os=-mingw32ce 825578741aaSmrg ;; 826145b7b3cSmrg miniframe) 827145b7b3cSmrg basic_machine=m68000-convergent 828145b7b3cSmrg ;; 829145b7b3cSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830145b7b3cSmrg basic_machine=m68k-atari 831145b7b3cSmrg os=-mint 832145b7b3cSmrg ;; 833145b7b3cSmrg mips3*-*) 834b7d26471Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835145b7b3cSmrg ;; 836145b7b3cSmrg mips3*) 837b7d26471Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838145b7b3cSmrg ;; 839145b7b3cSmrg monitor) 840145b7b3cSmrg basic_machine=m68k-rom68k 841145b7b3cSmrg os=-coff 842145b7b3cSmrg ;; 843145b7b3cSmrg morphos) 844145b7b3cSmrg basic_machine=powerpc-unknown 845145b7b3cSmrg os=-morphos 846145b7b3cSmrg ;; 847b7d26471Smrg moxiebox) 848b7d26471Smrg basic_machine=moxie-unknown 849b7d26471Smrg os=-moxiebox 850b7d26471Smrg ;; 851145b7b3cSmrg msdos) 852145b7b3cSmrg basic_machine=i386-pc 853145b7b3cSmrg os=-msdos 854145b7b3cSmrg ;; 855145b7b3cSmrg ms1-*) 856b7d26471Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 857b7d26471Smrg ;; 858b7d26471Smrg msys) 859b7d26471Smrg basic_machine=i686-pc 860b7d26471Smrg os=-msys 861145b7b3cSmrg ;; 862145b7b3cSmrg mvs) 863145b7b3cSmrg basic_machine=i370-ibm 864145b7b3cSmrg os=-mvs 865145b7b3cSmrg ;; 866b7d26471Smrg nacl) 867b7d26471Smrg basic_machine=le32-unknown 868b7d26471Smrg os=-nacl 869b7d26471Smrg ;; 870145b7b3cSmrg ncr3000) 871145b7b3cSmrg basic_machine=i486-ncr 872145b7b3cSmrg os=-sysv4 873145b7b3cSmrg ;; 874145b7b3cSmrg netbsd386) 875145b7b3cSmrg basic_machine=i386-unknown 876145b7b3cSmrg os=-netbsd 877145b7b3cSmrg ;; 878145b7b3cSmrg netwinder) 879145b7b3cSmrg basic_machine=armv4l-rebel 880145b7b3cSmrg os=-linux 881145b7b3cSmrg ;; 882145b7b3cSmrg news | news700 | news800 | news900) 883145b7b3cSmrg basic_machine=m68k-sony 884145b7b3cSmrg os=-newsos 885145b7b3cSmrg ;; 886145b7b3cSmrg news1000) 887145b7b3cSmrg basic_machine=m68030-sony 888145b7b3cSmrg os=-newsos 889145b7b3cSmrg ;; 890145b7b3cSmrg news-3600 | risc-news) 891145b7b3cSmrg basic_machine=mips-sony 892145b7b3cSmrg os=-newsos 893145b7b3cSmrg ;; 894145b7b3cSmrg necv70) 895145b7b3cSmrg basic_machine=v70-nec 896145b7b3cSmrg os=-sysv 897145b7b3cSmrg ;; 898b7d26471Smrg next | m*-next) 899145b7b3cSmrg basic_machine=m68k-next 900145b7b3cSmrg case $os in 901145b7b3cSmrg -nextstep* ) 902145b7b3cSmrg ;; 903145b7b3cSmrg -ns2*) 904145b7b3cSmrg os=-nextstep2 905145b7b3cSmrg ;; 906145b7b3cSmrg *) 907145b7b3cSmrg os=-nextstep3 908145b7b3cSmrg ;; 909145b7b3cSmrg esac 910145b7b3cSmrg ;; 911145b7b3cSmrg nh3000) 912145b7b3cSmrg basic_machine=m68k-harris 913145b7b3cSmrg os=-cxux 914145b7b3cSmrg ;; 915145b7b3cSmrg nh[45]000) 916145b7b3cSmrg basic_machine=m88k-harris 917145b7b3cSmrg os=-cxux 918145b7b3cSmrg ;; 919145b7b3cSmrg nindy960) 920145b7b3cSmrg basic_machine=i960-intel 921145b7b3cSmrg os=-nindy 922145b7b3cSmrg ;; 923145b7b3cSmrg mon960) 924145b7b3cSmrg basic_machine=i960-intel 925145b7b3cSmrg os=-mon960 926145b7b3cSmrg ;; 927145b7b3cSmrg nonstopux) 928145b7b3cSmrg basic_machine=mips-compaq 929145b7b3cSmrg os=-nonstopux 930145b7b3cSmrg ;; 931145b7b3cSmrg np1) 932145b7b3cSmrg basic_machine=np1-gould 933145b7b3cSmrg ;; 934b7d26471Smrg neo-tandem) 935b7d26471Smrg basic_machine=neo-tandem 936b7d26471Smrg ;; 937b7d26471Smrg nse-tandem) 938b7d26471Smrg basic_machine=nse-tandem 939b7d26471Smrg ;; 940145b7b3cSmrg nsr-tandem) 941145b7b3cSmrg basic_machine=nsr-tandem 942145b7b3cSmrg ;; 943b7d26471Smrg nsv-tandem) 944b7d26471Smrg basic_machine=nsv-tandem 945b7d26471Smrg ;; 946b7d26471Smrg nsx-tandem) 947b7d26471Smrg basic_machine=nsx-tandem 948b7d26471Smrg ;; 949145b7b3cSmrg op50n-* | op60c-*) 950145b7b3cSmrg basic_machine=hppa1.1-oki 951145b7b3cSmrg os=-proelf 952145b7b3cSmrg ;; 953145b7b3cSmrg openrisc | openrisc-*) 954145b7b3cSmrg basic_machine=or32-unknown 955145b7b3cSmrg ;; 956145b7b3cSmrg os400) 957145b7b3cSmrg basic_machine=powerpc-ibm 958145b7b3cSmrg os=-os400 959145b7b3cSmrg ;; 960145b7b3cSmrg OSE68000 | ose68000) 961145b7b3cSmrg basic_machine=m68000-ericsson 962145b7b3cSmrg os=-ose 963145b7b3cSmrg ;; 964145b7b3cSmrg os68k) 965145b7b3cSmrg basic_machine=m68k-none 966145b7b3cSmrg os=-os68k 967145b7b3cSmrg ;; 968145b7b3cSmrg pa-hitachi) 969145b7b3cSmrg basic_machine=hppa1.1-hitachi 970145b7b3cSmrg os=-hiuxwe2 971145b7b3cSmrg ;; 972145b7b3cSmrg paragon) 973145b7b3cSmrg basic_machine=i860-intel 974145b7b3cSmrg os=-osf 975145b7b3cSmrg ;; 976578741aaSmrg parisc) 977578741aaSmrg basic_machine=hppa-unknown 978578741aaSmrg os=-linux 979578741aaSmrg ;; 980578741aaSmrg parisc-*) 981b7d26471Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982578741aaSmrg os=-linux 983578741aaSmrg ;; 984145b7b3cSmrg pbd) 985145b7b3cSmrg basic_machine=sparc-tti 986145b7b3cSmrg ;; 987145b7b3cSmrg pbb) 988145b7b3cSmrg basic_machine=m68k-tti 989145b7b3cSmrg ;; 990145b7b3cSmrg pc532 | pc532-*) 991145b7b3cSmrg basic_machine=ns32k-pc532 992145b7b3cSmrg ;; 993578741aaSmrg pc98) 994578741aaSmrg basic_machine=i386-pc 995578741aaSmrg ;; 996578741aaSmrg pc98-*) 997b7d26471Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 998578741aaSmrg ;; 999145b7b3cSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000145b7b3cSmrg basic_machine=i586-pc 1001145b7b3cSmrg ;; 1002145b7b3cSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003145b7b3cSmrg basic_machine=i686-pc 1004145b7b3cSmrg ;; 1005145b7b3cSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1006145b7b3cSmrg basic_machine=i686-pc 1007145b7b3cSmrg ;; 1008145b7b3cSmrg pentium4) 1009145b7b3cSmrg basic_machine=i786-pc 1010145b7b3cSmrg ;; 1011145b7b3cSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1012b7d26471Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013145b7b3cSmrg ;; 1014145b7b3cSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1015b7d26471Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016145b7b3cSmrg ;; 1017145b7b3cSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1018b7d26471Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019145b7b3cSmrg ;; 1020145b7b3cSmrg pentium4-*) 1021b7d26471Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022145b7b3cSmrg ;; 1023145b7b3cSmrg pn) 1024145b7b3cSmrg basic_machine=pn-gould 1025145b7b3cSmrg ;; 1026145b7b3cSmrg power) basic_machine=power-ibm 1027145b7b3cSmrg ;; 1028b7d26471Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1029145b7b3cSmrg ;; 1030b7d26471Smrg ppc-* | ppcbe-*) 1031b7d26471Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032145b7b3cSmrg ;; 1033b7d26471Smrg ppcle | powerpclittle) 1034145b7b3cSmrg basic_machine=powerpcle-unknown 1035145b7b3cSmrg ;; 1036145b7b3cSmrg ppcle-* | powerpclittle-*) 1037b7d26471Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038145b7b3cSmrg ;; 1039145b7b3cSmrg ppc64) basic_machine=powerpc64-unknown 1040145b7b3cSmrg ;; 1041b7d26471Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042145b7b3cSmrg ;; 1043b7d26471Smrg ppc64le | powerpc64little) 1044145b7b3cSmrg basic_machine=powerpc64le-unknown 1045145b7b3cSmrg ;; 1046145b7b3cSmrg ppc64le-* | powerpc64little-*) 1047b7d26471Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048145b7b3cSmrg ;; 1049145b7b3cSmrg ps2) 1050145b7b3cSmrg basic_machine=i386-ibm 1051145b7b3cSmrg ;; 1052145b7b3cSmrg pw32) 1053145b7b3cSmrg basic_machine=i586-unknown 1054145b7b3cSmrg os=-pw32 1055145b7b3cSmrg ;; 1056b7d26471Smrg rdos | rdos64) 1057b7d26471Smrg basic_machine=x86_64-pc 1058b7d26471Smrg os=-rdos 1059b7d26471Smrg ;; 1060b7d26471Smrg rdos32) 1061145b7b3cSmrg basic_machine=i386-pc 1062145b7b3cSmrg os=-rdos 1063145b7b3cSmrg ;; 1064145b7b3cSmrg rom68k) 1065145b7b3cSmrg basic_machine=m68k-rom68k 1066145b7b3cSmrg os=-coff 1067145b7b3cSmrg ;; 1068145b7b3cSmrg rm[46]00) 1069145b7b3cSmrg basic_machine=mips-siemens 1070145b7b3cSmrg ;; 1071145b7b3cSmrg rtpc | rtpc-*) 1072145b7b3cSmrg basic_machine=romp-ibm 1073145b7b3cSmrg ;; 1074145b7b3cSmrg s390 | s390-*) 1075145b7b3cSmrg basic_machine=s390-ibm 1076145b7b3cSmrg ;; 1077145b7b3cSmrg s390x | s390x-*) 1078145b7b3cSmrg basic_machine=s390x-ibm 1079145b7b3cSmrg ;; 1080145b7b3cSmrg sa29200) 1081145b7b3cSmrg basic_machine=a29k-amd 1082145b7b3cSmrg os=-udi 1083145b7b3cSmrg ;; 1084145b7b3cSmrg sb1) 1085145b7b3cSmrg basic_machine=mipsisa64sb1-unknown 1086145b7b3cSmrg ;; 1087145b7b3cSmrg sb1el) 1088145b7b3cSmrg basic_machine=mipsisa64sb1el-unknown 1089145b7b3cSmrg ;; 1090578741aaSmrg sde) 1091578741aaSmrg basic_machine=mipsisa32-sde 1092578741aaSmrg os=-elf 1093578741aaSmrg ;; 1094145b7b3cSmrg sei) 1095145b7b3cSmrg basic_machine=mips-sei 1096145b7b3cSmrg os=-seiux 1097145b7b3cSmrg ;; 1098145b7b3cSmrg sequent) 1099145b7b3cSmrg basic_machine=i386-sequent 1100145b7b3cSmrg ;; 1101578741aaSmrg sh5el) 1102578741aaSmrg basic_machine=sh5le-unknown 1103578741aaSmrg ;; 1104b7d26471Smrg simso-wrs) 1105145b7b3cSmrg basic_machine=sparclite-wrs 1106145b7b3cSmrg os=-vxworks 1107145b7b3cSmrg ;; 1108145b7b3cSmrg sps7) 1109145b7b3cSmrg basic_machine=m68k-bull 1110145b7b3cSmrg os=-sysv2 1111145b7b3cSmrg ;; 1112145b7b3cSmrg spur) 1113145b7b3cSmrg basic_machine=spur-unknown 1114145b7b3cSmrg ;; 1115145b7b3cSmrg st2000) 1116145b7b3cSmrg basic_machine=m68k-tandem 1117145b7b3cSmrg ;; 1118145b7b3cSmrg stratus) 1119145b7b3cSmrg basic_machine=i860-stratus 1120145b7b3cSmrg os=-sysv4 1121145b7b3cSmrg ;; 1122b7d26471Smrg strongarm-* | thumb-*) 1123b7d26471Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1124b7d26471Smrg ;; 1125145b7b3cSmrg sun2) 1126145b7b3cSmrg basic_machine=m68000-sun 1127145b7b3cSmrg ;; 1128145b7b3cSmrg sun2os3) 1129145b7b3cSmrg basic_machine=m68000-sun 1130145b7b3cSmrg os=-sunos3 1131145b7b3cSmrg ;; 1132145b7b3cSmrg sun2os4) 1133145b7b3cSmrg basic_machine=m68000-sun 1134145b7b3cSmrg os=-sunos4 1135145b7b3cSmrg ;; 1136145b7b3cSmrg sun3os3) 1137145b7b3cSmrg basic_machine=m68k-sun 1138145b7b3cSmrg os=-sunos3 1139145b7b3cSmrg ;; 1140145b7b3cSmrg sun3os4) 1141145b7b3cSmrg basic_machine=m68k-sun 1142145b7b3cSmrg os=-sunos4 1143145b7b3cSmrg ;; 1144145b7b3cSmrg sun4os3) 1145145b7b3cSmrg basic_machine=sparc-sun 1146145b7b3cSmrg os=-sunos3 1147145b7b3cSmrg ;; 1148145b7b3cSmrg sun4os4) 1149145b7b3cSmrg basic_machine=sparc-sun 1150145b7b3cSmrg os=-sunos4 1151145b7b3cSmrg ;; 1152145b7b3cSmrg sun4sol2) 1153145b7b3cSmrg basic_machine=sparc-sun 1154145b7b3cSmrg os=-solaris2 1155145b7b3cSmrg ;; 1156145b7b3cSmrg sun3 | sun3-*) 1157145b7b3cSmrg basic_machine=m68k-sun 1158145b7b3cSmrg ;; 1159145b7b3cSmrg sun4) 1160145b7b3cSmrg basic_machine=sparc-sun 1161145b7b3cSmrg ;; 1162145b7b3cSmrg sun386 | sun386i | roadrunner) 1163145b7b3cSmrg basic_machine=i386-sun 1164145b7b3cSmrg ;; 1165145b7b3cSmrg sv1) 1166145b7b3cSmrg basic_machine=sv1-cray 1167145b7b3cSmrg os=-unicos 1168145b7b3cSmrg ;; 1169145b7b3cSmrg symmetry) 1170145b7b3cSmrg basic_machine=i386-sequent 1171145b7b3cSmrg os=-dynix 1172145b7b3cSmrg ;; 1173145b7b3cSmrg t3e) 1174145b7b3cSmrg basic_machine=alphaev5-cray 1175145b7b3cSmrg os=-unicos 1176145b7b3cSmrg ;; 1177145b7b3cSmrg t90) 1178145b7b3cSmrg basic_machine=t90-cray 1179145b7b3cSmrg os=-unicos 1180145b7b3cSmrg ;; 1181578741aaSmrg tile*) 1182b7d26471Smrg basic_machine=$basic_machine-unknown 1183578741aaSmrg os=-linux-gnu 1184578741aaSmrg ;; 1185145b7b3cSmrg tx39) 1186145b7b3cSmrg basic_machine=mipstx39-unknown 1187145b7b3cSmrg ;; 1188145b7b3cSmrg tx39el) 1189145b7b3cSmrg basic_machine=mipstx39el-unknown 1190145b7b3cSmrg ;; 1191145b7b3cSmrg toad1) 1192145b7b3cSmrg basic_machine=pdp10-xkl 1193145b7b3cSmrg os=-tops20 1194145b7b3cSmrg ;; 1195145b7b3cSmrg tower | tower-32) 1196145b7b3cSmrg basic_machine=m68k-ncr 1197145b7b3cSmrg ;; 1198145b7b3cSmrg tpf) 1199145b7b3cSmrg basic_machine=s390x-ibm 1200145b7b3cSmrg os=-tpf 1201145b7b3cSmrg ;; 1202145b7b3cSmrg udi29k) 1203145b7b3cSmrg basic_machine=a29k-amd 1204145b7b3cSmrg os=-udi 1205145b7b3cSmrg ;; 1206145b7b3cSmrg ultra3) 1207145b7b3cSmrg basic_machine=a29k-nyu 1208145b7b3cSmrg os=-sym1 1209145b7b3cSmrg ;; 1210145b7b3cSmrg v810 | necv810) 1211145b7b3cSmrg basic_machine=v810-nec 1212145b7b3cSmrg os=-none 1213145b7b3cSmrg ;; 1214145b7b3cSmrg vaxv) 1215145b7b3cSmrg basic_machine=vax-dec 1216145b7b3cSmrg os=-sysv 1217145b7b3cSmrg ;; 1218145b7b3cSmrg vms) 1219145b7b3cSmrg basic_machine=vax-dec 1220145b7b3cSmrg os=-vms 1221145b7b3cSmrg ;; 1222145b7b3cSmrg vpp*|vx|vx-*) 1223145b7b3cSmrg basic_machine=f301-fujitsu 1224145b7b3cSmrg ;; 1225145b7b3cSmrg vxworks960) 1226145b7b3cSmrg basic_machine=i960-wrs 1227145b7b3cSmrg os=-vxworks 1228145b7b3cSmrg ;; 1229145b7b3cSmrg vxworks68) 1230145b7b3cSmrg basic_machine=m68k-wrs 1231145b7b3cSmrg os=-vxworks 1232145b7b3cSmrg ;; 1233145b7b3cSmrg vxworks29k) 1234145b7b3cSmrg basic_machine=a29k-wrs 1235145b7b3cSmrg os=-vxworks 1236145b7b3cSmrg ;; 1237145b7b3cSmrg w65*) 1238145b7b3cSmrg basic_machine=w65-wdc 1239145b7b3cSmrg os=-none 1240145b7b3cSmrg ;; 1241145b7b3cSmrg w89k-*) 1242145b7b3cSmrg basic_machine=hppa1.1-winbond 1243145b7b3cSmrg os=-proelf 1244145b7b3cSmrg ;; 1245b7d26471Smrg x64) 1246b7d26471Smrg basic_machine=x86_64-pc 1247b7d26471Smrg ;; 1248145b7b3cSmrg xbox) 1249145b7b3cSmrg basic_machine=i686-pc 1250145b7b3cSmrg os=-mingw32 1251145b7b3cSmrg ;; 1252145b7b3cSmrg xps | xps100) 1253145b7b3cSmrg basic_machine=xps100-honeywell 1254145b7b3cSmrg ;; 1255b7d26471Smrg xscale-* | xscalee[bl]-*) 1256b7d26471Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 1257b7d26471Smrg ;; 1258145b7b3cSmrg ymp) 1259145b7b3cSmrg basic_machine=ymp-cray 1260145b7b3cSmrg os=-unicos 1261145b7b3cSmrg ;; 1262145b7b3cSmrg none) 1263145b7b3cSmrg basic_machine=none-none 1264145b7b3cSmrg os=-none 1265145b7b3cSmrg ;; 1266145b7b3cSmrg 1267145b7b3cSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1268145b7b3cSmrg# some cases the only manufacturer, in others, it is the most popular. 1269145b7b3cSmrg w89k) 1270145b7b3cSmrg basic_machine=hppa1.1-winbond 1271145b7b3cSmrg ;; 1272145b7b3cSmrg op50n) 1273145b7b3cSmrg basic_machine=hppa1.1-oki 1274145b7b3cSmrg ;; 1275145b7b3cSmrg op60c) 1276145b7b3cSmrg basic_machine=hppa1.1-oki 1277145b7b3cSmrg ;; 1278145b7b3cSmrg romp) 1279145b7b3cSmrg basic_machine=romp-ibm 1280145b7b3cSmrg ;; 1281145b7b3cSmrg mmix) 1282145b7b3cSmrg basic_machine=mmix-knuth 1283145b7b3cSmrg ;; 1284145b7b3cSmrg rs6000) 1285145b7b3cSmrg basic_machine=rs6000-ibm 1286145b7b3cSmrg ;; 1287145b7b3cSmrg vax) 1288145b7b3cSmrg basic_machine=vax-dec 1289145b7b3cSmrg ;; 1290145b7b3cSmrg pdp11) 1291145b7b3cSmrg basic_machine=pdp11-dec 1292145b7b3cSmrg ;; 1293145b7b3cSmrg we32k) 1294145b7b3cSmrg basic_machine=we32k-att 1295145b7b3cSmrg ;; 12965ffd6003Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297145b7b3cSmrg basic_machine=sh-unknown 1298145b7b3cSmrg ;; 1299145b7b3cSmrg cydra) 1300145b7b3cSmrg basic_machine=cydra-cydrome 1301145b7b3cSmrg ;; 1302145b7b3cSmrg orion) 1303145b7b3cSmrg basic_machine=orion-highlevel 1304145b7b3cSmrg ;; 1305145b7b3cSmrg orion105) 1306145b7b3cSmrg basic_machine=clipper-highlevel 1307145b7b3cSmrg ;; 1308145b7b3cSmrg mac | mpw | mac-mpw) 1309145b7b3cSmrg basic_machine=m68k-apple 1310145b7b3cSmrg ;; 1311145b7b3cSmrg pmac | pmac-mpw) 1312145b7b3cSmrg basic_machine=powerpc-apple 1313145b7b3cSmrg ;; 1314145b7b3cSmrg *-unknown) 1315145b7b3cSmrg # Make sure to match an already-canonicalized machine name. 1316145b7b3cSmrg ;; 1317145b7b3cSmrg *) 1318b7d26471Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319145b7b3cSmrg exit 1 1320145b7b3cSmrg ;; 1321145b7b3cSmrgesac 1322145b7b3cSmrg 1323145b7b3cSmrg# Here we canonicalize certain aliases for manufacturers. 1324145b7b3cSmrgcase $basic_machine in 1325145b7b3cSmrg *-digital*) 1326b7d26471Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327145b7b3cSmrg ;; 1328145b7b3cSmrg *-commodore*) 1329b7d26471Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330145b7b3cSmrg ;; 1331145b7b3cSmrg *) 1332145b7b3cSmrg ;; 1333145b7b3cSmrgesac 1334145b7b3cSmrg 1335145b7b3cSmrg# Decode manufacturer-specific aliases for certain operating systems. 1336145b7b3cSmrg 1337145b7b3cSmrgif [ x"$os" != x"" ] 1338145b7b3cSmrgthen 1339145b7b3cSmrgcase $os in 1340b7d26471Smrg # First match some system type aliases that might get confused 1341b7d26471Smrg # with valid system types. 1342145b7b3cSmrg # -solaris* is a basic system type, with this one exception. 1343b7d26471Smrg -auroraux) 1344b7d26471Smrg os=-auroraux 13455ffd6003Smrg ;; 1346145b7b3cSmrg -solaris1 | -solaris1.*) 1347145b7b3cSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348145b7b3cSmrg ;; 1349145b7b3cSmrg -solaris) 1350145b7b3cSmrg os=-solaris2 1351145b7b3cSmrg ;; 1352145b7b3cSmrg -unixware*) 1353145b7b3cSmrg os=-sysv4.2uw 1354145b7b3cSmrg ;; 1355145b7b3cSmrg -gnu/linux*) 1356145b7b3cSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357145b7b3cSmrg ;; 1358b7d26471Smrg # es1800 is here to avoid being matched by es* (a different OS) 1359b7d26471Smrg -es1800*) 1360b7d26471Smrg os=-ose 1361b7d26471Smrg ;; 1362b7d26471Smrg # Now accept the basic system types. 1363145b7b3cSmrg # The portable systems comes first. 1364b7d26471Smrg # Each alternative MUST end in a * to match a version number. 1365145b7b3cSmrg # -sysv* is not here because it comes later, after sysvr4. 1366145b7b3cSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13675ffd6003Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13685ffd6003Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1369b7d26471Smrg | -sym* | -kopensolaris* | -plan9* \ 1370145b7b3cSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1371b7d26471Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372145b7b3cSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373145b7b3cSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1374b7d26471Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 1375b7d26471Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1376145b7b3cSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1377145b7b3cSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378145b7b3cSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1379b7d26471Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 1380b7d26471Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 1381b7d26471Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1382b7d26471Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1383b7d26471Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1384b7d26471Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1385b7d26471Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386145b7b3cSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387145b7b3cSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388145b7b3cSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1389b7d26471Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 1390145b7b3cSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1391b7d26471Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1392b7d26471Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 1393b7d26471Smrg | -midnightbsd*) 1394145b7b3cSmrg # Remember, each alternative MUST END IN *, to match a version number. 1395145b7b3cSmrg ;; 1396145b7b3cSmrg -qnx*) 1397145b7b3cSmrg case $basic_machine in 1398145b7b3cSmrg x86-* | i*86-*) 1399145b7b3cSmrg ;; 1400145b7b3cSmrg *) 1401145b7b3cSmrg os=-nto$os 1402145b7b3cSmrg ;; 1403145b7b3cSmrg esac 1404145b7b3cSmrg ;; 1405145b7b3cSmrg -nto-qnx*) 1406145b7b3cSmrg ;; 1407145b7b3cSmrg -nto*) 1408145b7b3cSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409145b7b3cSmrg ;; 1410b7d26471Smrg -sim | -xray | -os68k* | -v88r* \ 1411b7d26471Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412145b7b3cSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413145b7b3cSmrg ;; 1414145b7b3cSmrg -mac*) 1415b7d26471Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416145b7b3cSmrg ;; 1417145b7b3cSmrg -linux-dietlibc) 1418145b7b3cSmrg os=-linux-dietlibc 1419145b7b3cSmrg ;; 1420145b7b3cSmrg -linux*) 1421145b7b3cSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422145b7b3cSmrg ;; 1423145b7b3cSmrg -sunos5*) 1424b7d26471Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425145b7b3cSmrg ;; 1426145b7b3cSmrg -sunos6*) 1427b7d26471Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428145b7b3cSmrg ;; 1429145b7b3cSmrg -opened*) 1430145b7b3cSmrg os=-openedition 1431145b7b3cSmrg ;; 1432b7d26471Smrg -os400*) 1433145b7b3cSmrg os=-os400 1434145b7b3cSmrg ;; 1435145b7b3cSmrg -wince*) 1436145b7b3cSmrg os=-wince 1437145b7b3cSmrg ;; 1438145b7b3cSmrg -utek*) 1439145b7b3cSmrg os=-bsd 1440145b7b3cSmrg ;; 1441145b7b3cSmrg -dynix*) 1442145b7b3cSmrg os=-bsd 1443145b7b3cSmrg ;; 1444145b7b3cSmrg -acis*) 1445145b7b3cSmrg os=-aos 1446145b7b3cSmrg ;; 1447145b7b3cSmrg -atheos*) 1448145b7b3cSmrg os=-atheos 1449145b7b3cSmrg ;; 1450145b7b3cSmrg -syllable*) 1451145b7b3cSmrg os=-syllable 1452145b7b3cSmrg ;; 1453145b7b3cSmrg -386bsd) 1454145b7b3cSmrg os=-bsd 1455145b7b3cSmrg ;; 1456145b7b3cSmrg -ctix* | -uts*) 1457145b7b3cSmrg os=-sysv 1458145b7b3cSmrg ;; 1459145b7b3cSmrg -nova*) 1460145b7b3cSmrg os=-rtmk-nova 1461145b7b3cSmrg ;; 1462b7d26471Smrg -ns2) 1463145b7b3cSmrg os=-nextstep2 1464145b7b3cSmrg ;; 1465145b7b3cSmrg -nsk*) 1466145b7b3cSmrg os=-nsk 1467145b7b3cSmrg ;; 1468145b7b3cSmrg # Preserve the version number of sinix5. 1469145b7b3cSmrg -sinix5.*) 1470145b7b3cSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471145b7b3cSmrg ;; 1472145b7b3cSmrg -sinix*) 1473145b7b3cSmrg os=-sysv4 1474145b7b3cSmrg ;; 1475b7d26471Smrg -tpf*) 1476145b7b3cSmrg os=-tpf 1477145b7b3cSmrg ;; 1478145b7b3cSmrg -triton*) 1479145b7b3cSmrg os=-sysv3 1480145b7b3cSmrg ;; 1481145b7b3cSmrg -oss*) 1482145b7b3cSmrg os=-sysv3 1483145b7b3cSmrg ;; 1484b7d26471Smrg -svr4*) 1485145b7b3cSmrg os=-sysv4 1486145b7b3cSmrg ;; 1487145b7b3cSmrg -svr3) 1488145b7b3cSmrg os=-sysv3 1489145b7b3cSmrg ;; 1490145b7b3cSmrg -sysvr4) 1491145b7b3cSmrg os=-sysv4 1492145b7b3cSmrg ;; 1493145b7b3cSmrg # This must come after -sysvr4. 1494145b7b3cSmrg -sysv*) 1495145b7b3cSmrg ;; 1496145b7b3cSmrg -ose*) 1497145b7b3cSmrg os=-ose 1498145b7b3cSmrg ;; 1499145b7b3cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500145b7b3cSmrg os=-mint 1501145b7b3cSmrg ;; 1502145b7b3cSmrg -zvmoe) 1503145b7b3cSmrg os=-zvmoe 1504145b7b3cSmrg ;; 15055ffd6003Smrg -dicos*) 15065ffd6003Smrg os=-dicos 15075ffd6003Smrg ;; 1508b7d26471Smrg -pikeos*) 1509b7d26471Smrg # Until real need of OS specific support for 1510b7d26471Smrg # particular features comes up, bare metal 1511b7d26471Smrg # configurations are quite functional. 1512b7d26471Smrg case $basic_machine in 1513b7d26471Smrg arm*) 1514b7d26471Smrg os=-eabi 1515b7d26471Smrg ;; 1516b7d26471Smrg *) 1517b7d26471Smrg os=-elf 1518b7d26471Smrg ;; 1519b7d26471Smrg esac 1520b7d26471Smrg ;; 1521b7d26471Smrg -nacl*) 1522b7d26471Smrg ;; 1523b7d26471Smrg -ios) 1524b7d26471Smrg ;; 1525145b7b3cSmrg -none) 1526145b7b3cSmrg ;; 1527145b7b3cSmrg *) 1528145b7b3cSmrg # Get rid of the `-' at the beginning of $os. 1529145b7b3cSmrg os=`echo $os | sed 's/[^-]*-//'` 1530b7d26471Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531145b7b3cSmrg exit 1 1532145b7b3cSmrg ;; 1533145b7b3cSmrgesac 1534145b7b3cSmrgelse 1535145b7b3cSmrg 1536145b7b3cSmrg# Here we handle the default operating systems that come with various machines. 1537145b7b3cSmrg# The value should be what the vendor currently ships out the door with their 1538145b7b3cSmrg# machine or put another way, the most popular os provided with the machine. 1539145b7b3cSmrg 1540145b7b3cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541145b7b3cSmrg# "-sun"), then you have to tell the case statement up towards the top 1542145b7b3cSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543145b7b3cSmrg# will signal an error saying that MANUFACTURER isn't an operating 1544145b7b3cSmrg# system, and we'll never get to this point. 1545145b7b3cSmrg 1546145b7b3cSmrgcase $basic_machine in 1547b7d26471Smrg score-*) 1548578741aaSmrg os=-elf 1549578741aaSmrg ;; 1550b7d26471Smrg spu-*) 1551578741aaSmrg os=-elf 1552578741aaSmrg ;; 1553145b7b3cSmrg *-acorn) 1554145b7b3cSmrg os=-riscix1.2 1555145b7b3cSmrg ;; 1556145b7b3cSmrg arm*-rebel) 1557145b7b3cSmrg os=-linux 1558145b7b3cSmrg ;; 1559145b7b3cSmrg arm*-semi) 1560145b7b3cSmrg os=-aout 1561145b7b3cSmrg ;; 1562b7d26471Smrg c4x-* | tic4x-*) 1563b7d26471Smrg os=-coff 1564b7d26471Smrg ;; 1565b7d26471Smrg c8051-*) 1566b7d26471Smrg os=-elf 1567b7d26471Smrg ;; 1568b7d26471Smrg hexagon-*) 1569b7d26471Smrg os=-elf 1570b7d26471Smrg ;; 1571b7d26471Smrg tic54x-*) 1572b7d26471Smrg os=-coff 1573b7d26471Smrg ;; 1574b7d26471Smrg tic55x-*) 1575b7d26471Smrg os=-coff 1576b7d26471Smrg ;; 1577b7d26471Smrg tic6x-*) 1578b7d26471Smrg os=-coff 1579578741aaSmrg ;; 1580145b7b3cSmrg # This must come before the *-dec entry. 1581145b7b3cSmrg pdp10-*) 1582145b7b3cSmrg os=-tops20 1583145b7b3cSmrg ;; 1584145b7b3cSmrg pdp11-*) 1585145b7b3cSmrg os=-none 1586145b7b3cSmrg ;; 1587145b7b3cSmrg *-dec | vax-*) 1588145b7b3cSmrg os=-ultrix4.2 1589145b7b3cSmrg ;; 1590145b7b3cSmrg m68*-apollo) 1591145b7b3cSmrg os=-domain 1592145b7b3cSmrg ;; 1593145b7b3cSmrg i386-sun) 1594145b7b3cSmrg os=-sunos4.0.2 1595145b7b3cSmrg ;; 1596145b7b3cSmrg m68000-sun) 1597145b7b3cSmrg os=-sunos3 1598145b7b3cSmrg ;; 1599145b7b3cSmrg m68*-cisco) 1600145b7b3cSmrg os=-aout 1601145b7b3cSmrg ;; 1602b7d26471Smrg mep-*) 1603578741aaSmrg os=-elf 1604578741aaSmrg ;; 1605145b7b3cSmrg mips*-cisco) 1606145b7b3cSmrg os=-elf 1607145b7b3cSmrg ;; 1608145b7b3cSmrg mips*-*) 1609145b7b3cSmrg os=-elf 1610145b7b3cSmrg ;; 1611145b7b3cSmrg or32-*) 1612145b7b3cSmrg os=-coff 1613145b7b3cSmrg ;; 1614145b7b3cSmrg *-tti) # must be before sparc entry or we get the wrong os. 1615145b7b3cSmrg os=-sysv3 1616145b7b3cSmrg ;; 1617145b7b3cSmrg sparc-* | *-sun) 1618145b7b3cSmrg os=-sunos4.1.1 1619145b7b3cSmrg ;; 1620b7d26471Smrg pru-*) 1621b7d26471Smrg os=-elf 1622b7d26471Smrg ;; 1623145b7b3cSmrg *-be) 1624145b7b3cSmrg os=-beos 1625145b7b3cSmrg ;; 1626145b7b3cSmrg *-ibm) 1627145b7b3cSmrg os=-aix 1628145b7b3cSmrg ;; 1629b7d26471Smrg *-knuth) 1630145b7b3cSmrg os=-mmixware 1631145b7b3cSmrg ;; 1632145b7b3cSmrg *-wec) 1633145b7b3cSmrg os=-proelf 1634145b7b3cSmrg ;; 1635145b7b3cSmrg *-winbond) 1636145b7b3cSmrg os=-proelf 1637145b7b3cSmrg ;; 1638145b7b3cSmrg *-oki) 1639145b7b3cSmrg os=-proelf 1640145b7b3cSmrg ;; 1641145b7b3cSmrg *-hp) 1642145b7b3cSmrg os=-hpux 1643145b7b3cSmrg ;; 1644145b7b3cSmrg *-hitachi) 1645145b7b3cSmrg os=-hiux 1646145b7b3cSmrg ;; 1647145b7b3cSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648145b7b3cSmrg os=-sysv 1649145b7b3cSmrg ;; 1650145b7b3cSmrg *-cbm) 1651145b7b3cSmrg os=-amigaos 1652145b7b3cSmrg ;; 1653145b7b3cSmrg *-dg) 1654145b7b3cSmrg os=-dgux 1655145b7b3cSmrg ;; 1656145b7b3cSmrg *-dolphin) 1657145b7b3cSmrg os=-sysv3 1658145b7b3cSmrg ;; 1659145b7b3cSmrg m68k-ccur) 1660145b7b3cSmrg os=-rtu 1661145b7b3cSmrg ;; 1662145b7b3cSmrg m88k-omron*) 1663145b7b3cSmrg os=-luna 1664145b7b3cSmrg ;; 1665b7d26471Smrg *-next) 1666145b7b3cSmrg os=-nextstep 1667145b7b3cSmrg ;; 1668145b7b3cSmrg *-sequent) 1669145b7b3cSmrg os=-ptx 1670145b7b3cSmrg ;; 1671145b7b3cSmrg *-crds) 1672145b7b3cSmrg os=-unos 1673145b7b3cSmrg ;; 1674145b7b3cSmrg *-ns) 1675145b7b3cSmrg os=-genix 1676145b7b3cSmrg ;; 1677145b7b3cSmrg i370-*) 1678145b7b3cSmrg os=-mvs 1679145b7b3cSmrg ;; 1680145b7b3cSmrg *-gould) 1681145b7b3cSmrg os=-sysv 1682145b7b3cSmrg ;; 1683145b7b3cSmrg *-highlevel) 1684145b7b3cSmrg os=-bsd 1685145b7b3cSmrg ;; 1686145b7b3cSmrg *-encore) 1687145b7b3cSmrg os=-bsd 1688145b7b3cSmrg ;; 1689145b7b3cSmrg *-sgi) 1690145b7b3cSmrg os=-irix 1691145b7b3cSmrg ;; 1692145b7b3cSmrg *-siemens) 1693145b7b3cSmrg os=-sysv4 1694145b7b3cSmrg ;; 1695145b7b3cSmrg *-masscomp) 1696145b7b3cSmrg os=-rtu 1697145b7b3cSmrg ;; 1698145b7b3cSmrg f30[01]-fujitsu | f700-fujitsu) 1699145b7b3cSmrg os=-uxpv 1700145b7b3cSmrg ;; 1701145b7b3cSmrg *-rom68k) 1702145b7b3cSmrg os=-coff 1703145b7b3cSmrg ;; 1704145b7b3cSmrg *-*bug) 1705145b7b3cSmrg os=-coff 1706145b7b3cSmrg ;; 1707145b7b3cSmrg *-apple) 1708145b7b3cSmrg os=-macos 1709145b7b3cSmrg ;; 1710145b7b3cSmrg *-atari*) 1711145b7b3cSmrg os=-mint 1712145b7b3cSmrg ;; 1713145b7b3cSmrg *) 1714145b7b3cSmrg os=-none 1715145b7b3cSmrg ;; 1716145b7b3cSmrgesac 1717145b7b3cSmrgfi 1718145b7b3cSmrg 1719145b7b3cSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1720145b7b3cSmrg# manufacturer. We pick the logical manufacturer. 1721145b7b3cSmrgvendor=unknown 1722145b7b3cSmrgcase $basic_machine in 1723145b7b3cSmrg *-unknown) 1724145b7b3cSmrg case $os in 1725145b7b3cSmrg -riscix*) 1726145b7b3cSmrg vendor=acorn 1727145b7b3cSmrg ;; 1728145b7b3cSmrg -sunos*) 1729145b7b3cSmrg vendor=sun 1730145b7b3cSmrg ;; 17315ffd6003Smrg -cnk*|-aix*) 1732145b7b3cSmrg vendor=ibm 1733145b7b3cSmrg ;; 1734145b7b3cSmrg -beos*) 1735145b7b3cSmrg vendor=be 1736145b7b3cSmrg ;; 1737145b7b3cSmrg -hpux*) 1738145b7b3cSmrg vendor=hp 1739145b7b3cSmrg ;; 1740145b7b3cSmrg -mpeix*) 1741145b7b3cSmrg vendor=hp 1742145b7b3cSmrg ;; 1743145b7b3cSmrg -hiux*) 1744145b7b3cSmrg vendor=hitachi 1745145b7b3cSmrg ;; 1746145b7b3cSmrg -unos*) 1747145b7b3cSmrg vendor=crds 1748145b7b3cSmrg ;; 1749145b7b3cSmrg -dgux*) 1750145b7b3cSmrg vendor=dg 1751145b7b3cSmrg ;; 1752145b7b3cSmrg -luna*) 1753145b7b3cSmrg vendor=omron 1754145b7b3cSmrg ;; 1755145b7b3cSmrg -genix*) 1756145b7b3cSmrg vendor=ns 1757145b7b3cSmrg ;; 1758145b7b3cSmrg -mvs* | -opened*) 1759145b7b3cSmrg vendor=ibm 1760145b7b3cSmrg ;; 1761145b7b3cSmrg -os400*) 1762145b7b3cSmrg vendor=ibm 1763145b7b3cSmrg ;; 1764145b7b3cSmrg -ptx*) 1765145b7b3cSmrg vendor=sequent 1766145b7b3cSmrg ;; 1767145b7b3cSmrg -tpf*) 1768145b7b3cSmrg vendor=ibm 1769145b7b3cSmrg ;; 1770145b7b3cSmrg -vxsim* | -vxworks* | -windiss*) 1771145b7b3cSmrg vendor=wrs 1772145b7b3cSmrg ;; 1773145b7b3cSmrg -aux*) 1774145b7b3cSmrg vendor=apple 1775145b7b3cSmrg ;; 1776145b7b3cSmrg -hms*) 1777145b7b3cSmrg vendor=hitachi 1778145b7b3cSmrg ;; 1779145b7b3cSmrg -mpw* | -macos*) 1780145b7b3cSmrg vendor=apple 1781145b7b3cSmrg ;; 1782145b7b3cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783145b7b3cSmrg vendor=atari 1784145b7b3cSmrg ;; 1785145b7b3cSmrg -vos*) 1786145b7b3cSmrg vendor=stratus 1787145b7b3cSmrg ;; 1788145b7b3cSmrg esac 1789b7d26471Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790145b7b3cSmrg ;; 1791145b7b3cSmrgesac 1792145b7b3cSmrg 1793b7d26471Smrgecho "$basic_machine$os" 1794145b7b3cSmrgexit 1795145b7b3cSmrg 1796145b7b3cSmrg# Local variables: 1797b7d26471Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798145b7b3cSmrg# time-stamp-start: "timestamp='" 1799145b7b3cSmrg# time-stamp-format: "%:y-%02m-%02d" 1800145b7b3cSmrg# time-stamp-end: "'" 1801145b7b3cSmrg# End: 1802