config.sub revision 18b08247
12d62a77cSmrg#! /bin/sh 22d62a77cSmrg# Configuration validation subroutine script. 318b08247Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 42d62a77cSmrg 518b08247Smrgtimestamp='2018-02-28' 62d62a77cSmrg 718b08247Smrg# This file is free software; you can redistribute it and/or modify it 818b08247Smrg# under the terms of the GNU General Public License as published by 918b08247Smrg# the Free Software Foundation; either version 3 of the License, or 102d62a77cSmrg# (at your option) any later version. 112d62a77cSmrg# 1218b08247Smrg# This program is distributed in the hope that it will be useful, but 1318b08247Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1418b08247Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1518b08247Smrg# General Public License for more details. 162d62a77cSmrg# 172d62a77cSmrg# You should have received a copy of the GNU General Public License 1818b08247Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 192d62a77cSmrg# 202d62a77cSmrg# As a special exception to the GNU General Public License, if you 212d62a77cSmrg# distribute this file as part of a program that contains a 222d62a77cSmrg# configuration script generated by Autoconf, you may include it under 2318b08247Smrg# the same distribution terms that you use for the rest of that 2418b08247Smrg# program. This Exception is an additional permission under section 7 2518b08247Smrg# of the GNU General Public License, version 3 ("GPLv3"). 262d62a77cSmrg 272d62a77cSmrg 2818b08247Smrg# Please send patches to <config-patches@gnu.org>. 292d62a77cSmrg# 302d62a77cSmrg# Configuration subroutine to validate and canonicalize a configuration type. 312d62a77cSmrg# Supply the specified configuration type as an argument. 322d62a77cSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 332d62a77cSmrg# Otherwise, we print the canonical config type on stdout and succeed. 342d62a77cSmrg 356d325d25Smrg# You can get the latest version of this script from: 3618b08247Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 376d325d25Smrg 382d62a77cSmrg# This file is supposed to be the same for all GNU packages 392d62a77cSmrg# and recognize all the CPU types, system types and aliases 402d62a77cSmrg# that are meaningful with *any* GNU software. 412d62a77cSmrg# Each package is responsible for reporting which valid configurations 422d62a77cSmrg# it does not support. The user should be able to distinguish 432d62a77cSmrg# a failure to support a valid configuration from a meaningless 442d62a77cSmrg# configuration. 452d62a77cSmrg 462d62a77cSmrg# The goal of this file is to map all the various variations of a given 472d62a77cSmrg# machine specification into a single specification in the form: 482d62a77cSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 492d62a77cSmrg# or in some cases, the newer four-part form: 502d62a77cSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 512d62a77cSmrg# It is wrong to echo any other type of specification. 522d62a77cSmrg 532d62a77cSmrgme=`echo "$0" | sed -e 's,.*/,,'` 542d62a77cSmrg 552d62a77cSmrgusage="\ 5618b08247SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 572d62a77cSmrg 582d62a77cSmrgCanonicalize a configuration name. 592d62a77cSmrg 6018b08247SmrgOptions: 612d62a77cSmrg -h, --help print this help, then exit 622d62a77cSmrg -t, --time-stamp print date of last modification, then exit 632d62a77cSmrg -v, --version print version number, then exit 642d62a77cSmrg 652d62a77cSmrgReport bugs and patches to <config-patches@gnu.org>." 662d62a77cSmrg 672d62a77cSmrgversion="\ 682d62a77cSmrgGNU config.sub ($timestamp) 692d62a77cSmrg 7018b08247SmrgCopyright 1992-2018 Free Software Foundation, Inc. 712d62a77cSmrg 722d62a77cSmrgThis is free software; see the source for copying conditions. There is NO 732d62a77cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 742d62a77cSmrg 752d62a77cSmrghelp=" 762d62a77cSmrgTry \`$me --help' for more information." 772d62a77cSmrg 782d62a77cSmrg# Parse command line 792d62a77cSmrgwhile test $# -gt 0 ; do 802d62a77cSmrg case $1 in 812d62a77cSmrg --time-stamp | --time* | -t ) 822d62a77cSmrg echo "$timestamp" ; exit ;; 832d62a77cSmrg --version | -v ) 842d62a77cSmrg echo "$version" ; exit ;; 852d62a77cSmrg --help | --h* | -h ) 862d62a77cSmrg echo "$usage"; exit ;; 872d62a77cSmrg -- ) # Stop option processing 882d62a77cSmrg shift; break ;; 892d62a77cSmrg - ) # Use stdin as input. 902d62a77cSmrg break ;; 912d62a77cSmrg -* ) 922d62a77cSmrg echo "$me: invalid option $1$help" 932d62a77cSmrg exit 1 ;; 942d62a77cSmrg 952d62a77cSmrg *local*) 962d62a77cSmrg # First pass through any local machine types. 9718b08247Smrg echo "$1" 982d62a77cSmrg exit ;; 992d62a77cSmrg 1002d62a77cSmrg * ) 1012d62a77cSmrg break ;; 1022d62a77cSmrg esac 1032d62a77cSmrgdone 1042d62a77cSmrg 1052d62a77cSmrgcase $# in 1062d62a77cSmrg 0) echo "$me: missing argument$help" >&2 1072d62a77cSmrg exit 1;; 1082d62a77cSmrg 1) ;; 1092d62a77cSmrg *) echo "$me: too many arguments$help" >&2 1102d62a77cSmrg exit 1;; 1112d62a77cSmrgesac 1122d62a77cSmrg 1132d62a77cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1142d62a77cSmrg# Here we must recognize all the valid KERNEL-OS combinations. 11518b08247Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1162d62a77cSmrgcase $maybe_os in 1176d325d25Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11818b08247Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11918b08247Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 12018b08247Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1212d62a77cSmrg storm-chaos* | os2-emx* | rtmk-nova*) 1222d62a77cSmrg os=-$maybe_os 12318b08247Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12418b08247Smrg ;; 12518b08247Smrg android-linux) 12618b08247Smrg os=-linux-android 12718b08247Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1282d62a77cSmrg ;; 1292d62a77cSmrg *) 13018b08247Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 13118b08247Smrg if [ "$basic_machine" != "$1" ] 13218b08247Smrg then os=`echo "$1" | sed 's/.*-/-/'` 1332d62a77cSmrg else os=; fi 1342d62a77cSmrg ;; 1352d62a77cSmrgesac 1362d62a77cSmrg 1372d62a77cSmrg### Let's recognize common machines as not being operating systems so 1382d62a77cSmrg### that things like config.sub decstation-3100 work. We also 1392d62a77cSmrg### recognize some manufacturers as not being operating systems, so we 1402d62a77cSmrg### can provide default operating systems below. 1412d62a77cSmrgcase $os in 1422d62a77cSmrg -sun*os*) 1432d62a77cSmrg # Prevent following clause from handling this invalid input. 1442d62a77cSmrg ;; 1452d62a77cSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1462d62a77cSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1472d62a77cSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1482d62a77cSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1492d62a77cSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1502d62a77cSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15118b08247Smrg -apple | -axis | -knuth | -cray | -microblaze*) 1522d62a77cSmrg os= 1532d62a77cSmrg basic_machine=$1 1542d62a77cSmrg ;; 15518b08247Smrg -bluegene*) 15618b08247Smrg os=-cnk 1576d325d25Smrg ;; 1582d62a77cSmrg -sim | -cisco | -oki | -wec | -winbond) 1592d62a77cSmrg os= 1602d62a77cSmrg basic_machine=$1 1612d62a77cSmrg ;; 1622d62a77cSmrg -scout) 1632d62a77cSmrg ;; 1642d62a77cSmrg -wrs) 1652d62a77cSmrg os=-vxworks 1662d62a77cSmrg basic_machine=$1 1672d62a77cSmrg ;; 1682d62a77cSmrg -chorusos*) 1692d62a77cSmrg os=-chorusos 1702d62a77cSmrg basic_machine=$1 1712d62a77cSmrg ;; 17218b08247Smrg -chorusrdb) 17318b08247Smrg os=-chorusrdb 1742d62a77cSmrg basic_machine=$1 17518b08247Smrg ;; 1762d62a77cSmrg -hiux*) 1772d62a77cSmrg os=-hiuxwe2 1782d62a77cSmrg ;; 1792d62a77cSmrg -sco6) 1802d62a77cSmrg os=-sco5v6 18118b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1822d62a77cSmrg ;; 1832d62a77cSmrg -sco5) 1842d62a77cSmrg os=-sco3.2v5 18518b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1862d62a77cSmrg ;; 1872d62a77cSmrg -sco4) 1882d62a77cSmrg os=-sco3.2v4 18918b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1902d62a77cSmrg ;; 1912d62a77cSmrg -sco3.2.[4-9]*) 1922d62a77cSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19318b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1942d62a77cSmrg ;; 1952d62a77cSmrg -sco3.2v[4-9]*) 1962d62a77cSmrg # Don't forget version if it is 3.2v4 or newer. 19718b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1982d62a77cSmrg ;; 1992d62a77cSmrg -sco5v6*) 2002d62a77cSmrg # Don't forget version if it is 3.2v4 or newer. 20118b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2022d62a77cSmrg ;; 2032d62a77cSmrg -sco*) 2042d62a77cSmrg os=-sco3.2v2 20518b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2062d62a77cSmrg ;; 2072d62a77cSmrg -udk*) 20818b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2092d62a77cSmrg ;; 2102d62a77cSmrg -isc) 2112d62a77cSmrg os=-isc2.2 21218b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2132d62a77cSmrg ;; 2142d62a77cSmrg -clix*) 2152d62a77cSmrg basic_machine=clipper-intergraph 2162d62a77cSmrg ;; 2172d62a77cSmrg -isc*) 21818b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 21918b08247Smrg ;; 22018b08247Smrg -lynx*178) 22118b08247Smrg os=-lynxos178 22218b08247Smrg ;; 22318b08247Smrg -lynx*5) 22418b08247Smrg os=-lynxos5 2252d62a77cSmrg ;; 2262d62a77cSmrg -lynx*) 2272d62a77cSmrg os=-lynxos 2282d62a77cSmrg ;; 2292d62a77cSmrg -ptx*) 23018b08247Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 2312d62a77cSmrg ;; 2322d62a77cSmrg -psos*) 2332d62a77cSmrg os=-psos 2342d62a77cSmrg ;; 2352d62a77cSmrg -mint | -mint[0-9]*) 2362d62a77cSmrg basic_machine=m68k-atari 2372d62a77cSmrg os=-mint 2382d62a77cSmrg ;; 2392d62a77cSmrgesac 2402d62a77cSmrg 2412d62a77cSmrg# Decode aliases for certain CPU-COMPANY combinations. 2422d62a77cSmrgcase $basic_machine in 2432d62a77cSmrg # Recognize the basic CPU types without company name. 2442d62a77cSmrg # Some are omitted here because they have special meanings below. 2452d62a77cSmrg 1750a | 580 \ 2462d62a77cSmrg | a29k \ 24718b08247Smrg | aarch64 | aarch64_be \ 2482d62a77cSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2492d62a77cSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2502d62a77cSmrg | am33_2.0 \ 25118b08247Smrg | arc | arceb \ 25218b08247Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25318b08247Smrg | avr | avr32 \ 25418b08247Smrg | ba \ 25518b08247Smrg | be32 | be64 \ 2562d62a77cSmrg | bfin \ 25718b08247Smrg | c4x | c8051 | clipper \ 2582d62a77cSmrg | d10v | d30v | dlx | dsp16xx \ 25918b08247Smrg | e2k | epiphany \ 26018b08247Smrg | fido | fr30 | frv | ft32 \ 2612d62a77cSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 26218b08247Smrg | hexagon \ 26318b08247Smrg | i370 | i860 | i960 | ia16 | ia64 \ 2642d62a77cSmrg | ip2k | iq2000 \ 26518b08247Smrg | k1om \ 26618b08247Smrg | le32 | le64 \ 2672d62a77cSmrg | lm32 \ 2682d62a77cSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26918b08247Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2702d62a77cSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2712d62a77cSmrg | mips16 \ 2722d62a77cSmrg | mips64 | mips64el \ 2732d62a77cSmrg | mips64octeon | mips64octeonel \ 2742d62a77cSmrg | mips64orion | mips64orionel \ 2752d62a77cSmrg | mips64r5900 | mips64r5900el \ 2762d62a77cSmrg | mips64vr | mips64vrel \ 2772d62a77cSmrg | mips64vr4100 | mips64vr4100el \ 2782d62a77cSmrg | mips64vr4300 | mips64vr4300el \ 2792d62a77cSmrg | mips64vr5000 | mips64vr5000el \ 2802d62a77cSmrg | mips64vr5900 | mips64vr5900el \ 2812d62a77cSmrg | mipsisa32 | mipsisa32el \ 2822d62a77cSmrg | mipsisa32r2 | mipsisa32r2el \ 28318b08247Smrg | mipsisa32r6 | mipsisa32r6el \ 2842d62a77cSmrg | mipsisa64 | mipsisa64el \ 2852d62a77cSmrg | mipsisa64r2 | mipsisa64r2el \ 28618b08247Smrg | mipsisa64r6 | mipsisa64r6el \ 2872d62a77cSmrg | mipsisa64sb1 | mipsisa64sb1el \ 2882d62a77cSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 28918b08247Smrg | mipsr5900 | mipsr5900el \ 2902d62a77cSmrg | mipstx39 | mipstx39el \ 2912d62a77cSmrg | mn10200 | mn10300 \ 2922d62a77cSmrg | moxie \ 2932d62a77cSmrg | mt \ 2942d62a77cSmrg | msp430 \ 2956d325d25Smrg | nds32 | nds32le | nds32be \ 29618b08247Smrg | nios | nios2 | nios2eb | nios2el \ 2972d62a77cSmrg | ns16k | ns32k \ 29818b08247Smrg | open8 | or1k | or1knd | or32 \ 29918b08247Smrg | pdp10 | pj | pjl \ 30018b08247Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30118b08247Smrg | pru \ 3022d62a77cSmrg | pyramid \ 30318b08247Smrg | riscv32 | riscv64 \ 30418b08247Smrg | rl78 | rx \ 3052d62a77cSmrg | score \ 30618b08247Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3072d62a77cSmrg | sh64 | sh64le \ 3082d62a77cSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3092d62a77cSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 31018b08247Smrg | spu \ 31118b08247Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3126d325d25Smrg | ubicom32 \ 31318b08247Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31418b08247Smrg | visium \ 31518b08247Smrg | wasm32 \ 31618b08247Smrg | x86 | xc16x | xstormy16 | xtensa \ 3172d62a77cSmrg | z8k | z80) 3182d62a77cSmrg basic_machine=$basic_machine-unknown 3192d62a77cSmrg ;; 3206d325d25Smrg c54x) 3216d325d25Smrg basic_machine=tic54x-unknown 3226d325d25Smrg ;; 3236d325d25Smrg c55x) 3246d325d25Smrg basic_machine=tic55x-unknown 3256d325d25Smrg ;; 3266d325d25Smrg c6x) 3276d325d25Smrg basic_machine=tic6x-unknown 3286d325d25Smrg ;; 32918b08247Smrg leon|leon[3-9]) 33018b08247Smrg basic_machine=sparc-$basic_machine 33118b08247Smrg ;; 33218b08247Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3332d62a77cSmrg basic_machine=$basic_machine-unknown 3342d62a77cSmrg os=-none 3352d62a77cSmrg ;; 33618b08247Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 3372d62a77cSmrg ;; 3382d62a77cSmrg ms1) 3392d62a77cSmrg basic_machine=mt-unknown 3402d62a77cSmrg ;; 3412d62a77cSmrg 34218b08247Smrg strongarm | thumb | xscale) 34318b08247Smrg basic_machine=arm-unknown 34418b08247Smrg ;; 34518b08247Smrg xgate) 34618b08247Smrg basic_machine=$basic_machine-unknown 34718b08247Smrg os=-none 34818b08247Smrg ;; 34918b08247Smrg xscaleeb) 35018b08247Smrg basic_machine=armeb-unknown 35118b08247Smrg ;; 35218b08247Smrg 35318b08247Smrg xscaleel) 35418b08247Smrg basic_machine=armel-unknown 35518b08247Smrg ;; 35618b08247Smrg 3572d62a77cSmrg # We use `pc' rather than `unknown' 3582d62a77cSmrg # because (1) that's what they normally are, and 3592d62a77cSmrg # (2) the word "unknown" tends to confuse beginning users. 3602d62a77cSmrg i*86 | x86_64) 3612d62a77cSmrg basic_machine=$basic_machine-pc 3622d62a77cSmrg ;; 3632d62a77cSmrg # Object if more than one company name word. 3642d62a77cSmrg *-*-*) 36518b08247Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 3662d62a77cSmrg exit 1 3672d62a77cSmrg ;; 3682d62a77cSmrg # Recognize the basic CPU types with company name. 3692d62a77cSmrg 580-* \ 3702d62a77cSmrg | a29k-* \ 37118b08247Smrg | aarch64-* | aarch64_be-* \ 3722d62a77cSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3732d62a77cSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37418b08247Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3752d62a77cSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3762d62a77cSmrg | avr-* | avr32-* \ 37718b08247Smrg | ba-* \ 37818b08247Smrg | be32-* | be64-* \ 3792d62a77cSmrg | bfin-* | bs2000-* \ 3806d325d25Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38118b08247Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 3822d62a77cSmrg | d10v-* | d30v-* | dlx-* \ 38318b08247Smrg | e2k-* | elxsi-* \ 3842d62a77cSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3852d62a77cSmrg | h8300-* | h8500-* \ 3862d62a77cSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 38718b08247Smrg | hexagon-* \ 38818b08247Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3892d62a77cSmrg | ip2k-* | iq2000-* \ 39018b08247Smrg | k1om-* \ 39118b08247Smrg | le32-* | le64-* \ 3922d62a77cSmrg | lm32-* \ 3932d62a77cSmrg | m32c-* | m32r-* | m32rle-* \ 3942d62a77cSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39518b08247Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39618b08247Smrg | microblaze-* | microblazeel-* \ 3972d62a77cSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3982d62a77cSmrg | mips16-* \ 3992d62a77cSmrg | mips64-* | mips64el-* \ 4002d62a77cSmrg | mips64octeon-* | mips64octeonel-* \ 4012d62a77cSmrg | mips64orion-* | mips64orionel-* \ 4022d62a77cSmrg | mips64r5900-* | mips64r5900el-* \ 4032d62a77cSmrg | mips64vr-* | mips64vrel-* \ 4042d62a77cSmrg | mips64vr4100-* | mips64vr4100el-* \ 4052d62a77cSmrg | mips64vr4300-* | mips64vr4300el-* \ 4062d62a77cSmrg | mips64vr5000-* | mips64vr5000el-* \ 4072d62a77cSmrg | mips64vr5900-* | mips64vr5900el-* \ 4082d62a77cSmrg | mipsisa32-* | mipsisa32el-* \ 4092d62a77cSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 41018b08247Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 4112d62a77cSmrg | mipsisa64-* | mipsisa64el-* \ 4122d62a77cSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 41318b08247Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 4142d62a77cSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 4152d62a77cSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41618b08247Smrg | mipsr5900-* | mipsr5900el-* \ 4172d62a77cSmrg | mipstx39-* | mipstx39el-* \ 4182d62a77cSmrg | mmix-* \ 4192d62a77cSmrg | mt-* \ 4202d62a77cSmrg | msp430-* \ 4216d325d25Smrg | nds32-* | nds32le-* | nds32be-* \ 42218b08247Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4232d62a77cSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 42418b08247Smrg | open8-* \ 42518b08247Smrg | or1k*-* \ 4262d62a77cSmrg | orion-* \ 4272d62a77cSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 42818b08247Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 42918b08247Smrg | pru-* \ 4302d62a77cSmrg | pyramid-* \ 43118b08247Smrg | riscv32-* | riscv64-* \ 43218b08247Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4332d62a77cSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4342d62a77cSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4352d62a77cSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4362d62a77cSmrg | sparclite-* \ 43718b08247Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 43818b08247Smrg | tahoe-* \ 4396d325d25Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 44018b08247Smrg | tile*-* \ 4412d62a77cSmrg | tron-* \ 4426d325d25Smrg | ubicom32-* \ 44318b08247Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 44418b08247Smrg | vax-* \ 44518b08247Smrg | visium-* \ 44618b08247Smrg | wasm32-* \ 4472d62a77cSmrg | we32k-* \ 44818b08247Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4492d62a77cSmrg | xstormy16-* | xtensa*-* \ 4502d62a77cSmrg | ymp-* \ 4512d62a77cSmrg | z8k-* | z80-*) 4522d62a77cSmrg ;; 4532d62a77cSmrg # Recognize the basic CPU types without company name, with glob match. 4542d62a77cSmrg xtensa*) 4552d62a77cSmrg basic_machine=$basic_machine-unknown 4562d62a77cSmrg ;; 4572d62a77cSmrg # Recognize the various machine names and aliases which stand 4582d62a77cSmrg # for a CPU type and a company and sometimes even an OS. 4592d62a77cSmrg 386bsd) 46018b08247Smrg basic_machine=i386-pc 4612d62a77cSmrg os=-bsd 4622d62a77cSmrg ;; 4632d62a77cSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4642d62a77cSmrg basic_machine=m68000-att 4652d62a77cSmrg ;; 4662d62a77cSmrg 3b*) 4672d62a77cSmrg basic_machine=we32k-att 4682d62a77cSmrg ;; 4692d62a77cSmrg a29khif) 4702d62a77cSmrg basic_machine=a29k-amd 4712d62a77cSmrg os=-udi 4722d62a77cSmrg ;; 47318b08247Smrg abacus) 4742d62a77cSmrg basic_machine=abacus-unknown 4752d62a77cSmrg ;; 4762d62a77cSmrg adobe68k) 4772d62a77cSmrg basic_machine=m68010-adobe 4782d62a77cSmrg os=-scout 4792d62a77cSmrg ;; 4802d62a77cSmrg alliant | fx80) 4812d62a77cSmrg basic_machine=fx80-alliant 4822d62a77cSmrg ;; 4832d62a77cSmrg altos | altos3068) 4842d62a77cSmrg basic_machine=m68k-altos 4852d62a77cSmrg ;; 4862d62a77cSmrg am29k) 4872d62a77cSmrg basic_machine=a29k-none 4882d62a77cSmrg os=-bsd 4892d62a77cSmrg ;; 4902d62a77cSmrg amd64) 4912d62a77cSmrg basic_machine=x86_64-pc 4922d62a77cSmrg ;; 4932d62a77cSmrg amd64-*) 49418b08247Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4952d62a77cSmrg ;; 4962d62a77cSmrg amdahl) 4972d62a77cSmrg basic_machine=580-amdahl 4982d62a77cSmrg os=-sysv 4992d62a77cSmrg ;; 5002d62a77cSmrg amiga | amiga-*) 5012d62a77cSmrg basic_machine=m68k-unknown 5022d62a77cSmrg ;; 5032d62a77cSmrg amigaos | amigados) 5042d62a77cSmrg basic_machine=m68k-unknown 5052d62a77cSmrg os=-amigaos 5062d62a77cSmrg ;; 5072d62a77cSmrg amigaunix | amix) 5082d62a77cSmrg basic_machine=m68k-unknown 5092d62a77cSmrg os=-sysv4 5102d62a77cSmrg ;; 5112d62a77cSmrg apollo68) 5122d62a77cSmrg basic_machine=m68k-apollo 5132d62a77cSmrg os=-sysv 5142d62a77cSmrg ;; 5152d62a77cSmrg apollo68bsd) 5162d62a77cSmrg basic_machine=m68k-apollo 5172d62a77cSmrg os=-bsd 5182d62a77cSmrg ;; 5192d62a77cSmrg aros) 5202d62a77cSmrg basic_machine=i386-pc 5212d62a77cSmrg os=-aros 5222d62a77cSmrg ;; 52318b08247Smrg asmjs) 52418b08247Smrg basic_machine=asmjs-unknown 52518b08247Smrg ;; 5262d62a77cSmrg aux) 5272d62a77cSmrg basic_machine=m68k-apple 5282d62a77cSmrg os=-aux 5292d62a77cSmrg ;; 5302d62a77cSmrg balance) 5312d62a77cSmrg basic_machine=ns32k-sequent 5322d62a77cSmrg os=-dynix 5332d62a77cSmrg ;; 5342d62a77cSmrg blackfin) 5352d62a77cSmrg basic_machine=bfin-unknown 5362d62a77cSmrg os=-linux 5372d62a77cSmrg ;; 5382d62a77cSmrg blackfin-*) 53918b08247Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5402d62a77cSmrg os=-linux 5412d62a77cSmrg ;; 5426d325d25Smrg bluegene*) 5436d325d25Smrg basic_machine=powerpc-ibm 5446d325d25Smrg os=-cnk 5456d325d25Smrg ;; 5466d325d25Smrg c54x-*) 54718b08247Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5486d325d25Smrg ;; 5496d325d25Smrg c55x-*) 55018b08247Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5516d325d25Smrg ;; 5526d325d25Smrg c6x-*) 55318b08247Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5546d325d25Smrg ;; 5552d62a77cSmrg c90) 5562d62a77cSmrg basic_machine=c90-cray 5572d62a77cSmrg os=-unicos 5582d62a77cSmrg ;; 55918b08247Smrg cegcc) 5602d62a77cSmrg basic_machine=arm-unknown 5612d62a77cSmrg os=-cegcc 5622d62a77cSmrg ;; 5632d62a77cSmrg convex-c1) 5642d62a77cSmrg basic_machine=c1-convex 5652d62a77cSmrg os=-bsd 5662d62a77cSmrg ;; 5672d62a77cSmrg convex-c2) 5682d62a77cSmrg basic_machine=c2-convex 5692d62a77cSmrg os=-bsd 5702d62a77cSmrg ;; 5712d62a77cSmrg convex-c32) 5722d62a77cSmrg basic_machine=c32-convex 5732d62a77cSmrg os=-bsd 5742d62a77cSmrg ;; 5752d62a77cSmrg convex-c34) 5762d62a77cSmrg basic_machine=c34-convex 5772d62a77cSmrg os=-bsd 5782d62a77cSmrg ;; 5792d62a77cSmrg convex-c38) 5802d62a77cSmrg basic_machine=c38-convex 5812d62a77cSmrg os=-bsd 5822d62a77cSmrg ;; 5832d62a77cSmrg cray | j90) 5842d62a77cSmrg basic_machine=j90-cray 5852d62a77cSmrg os=-unicos 5862d62a77cSmrg ;; 5872d62a77cSmrg craynv) 5882d62a77cSmrg basic_machine=craynv-cray 5892d62a77cSmrg os=-unicosmp 5902d62a77cSmrg ;; 59118b08247Smrg cr16 | cr16-*) 5922d62a77cSmrg basic_machine=cr16-unknown 5932d62a77cSmrg os=-elf 5942d62a77cSmrg ;; 5952d62a77cSmrg crds | unos) 5962d62a77cSmrg basic_machine=m68k-crds 5972d62a77cSmrg ;; 5982d62a77cSmrg crisv32 | crisv32-* | etraxfs*) 5992d62a77cSmrg basic_machine=crisv32-axis 6002d62a77cSmrg ;; 6012d62a77cSmrg cris | cris-* | etrax*) 6022d62a77cSmrg basic_machine=cris-axis 6032d62a77cSmrg ;; 6042d62a77cSmrg crx) 6052d62a77cSmrg basic_machine=crx-unknown 6062d62a77cSmrg os=-elf 6072d62a77cSmrg ;; 6082d62a77cSmrg da30 | da30-*) 6092d62a77cSmrg basic_machine=m68k-da30 6102d62a77cSmrg ;; 6112d62a77cSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6122d62a77cSmrg basic_machine=mips-dec 6132d62a77cSmrg ;; 6142d62a77cSmrg decsystem10* | dec10*) 6152d62a77cSmrg basic_machine=pdp10-dec 6162d62a77cSmrg os=-tops10 6172d62a77cSmrg ;; 6182d62a77cSmrg decsystem20* | dec20*) 6192d62a77cSmrg basic_machine=pdp10-dec 6202d62a77cSmrg os=-tops20 6212d62a77cSmrg ;; 6222d62a77cSmrg delta | 3300 | motorola-3300 | motorola-delta \ 6232d62a77cSmrg | 3300-motorola | delta-motorola) 6242d62a77cSmrg basic_machine=m68k-motorola 6252d62a77cSmrg ;; 6262d62a77cSmrg delta88) 6272d62a77cSmrg basic_machine=m88k-motorola 6282d62a77cSmrg os=-sysv3 6292d62a77cSmrg ;; 6302d62a77cSmrg dicos) 6312d62a77cSmrg basic_machine=i686-pc 6322d62a77cSmrg os=-dicos 6332d62a77cSmrg ;; 6342d62a77cSmrg djgpp) 6352d62a77cSmrg basic_machine=i586-pc 6362d62a77cSmrg os=-msdosdjgpp 6372d62a77cSmrg ;; 6382d62a77cSmrg dpx20 | dpx20-*) 6392d62a77cSmrg basic_machine=rs6000-bull 6402d62a77cSmrg os=-bosx 6412d62a77cSmrg ;; 64218b08247Smrg dpx2*) 6432d62a77cSmrg basic_machine=m68k-bull 6442d62a77cSmrg os=-sysv3 6452d62a77cSmrg ;; 64618b08247Smrg e500v[12]) 64718b08247Smrg basic_machine=powerpc-unknown 64818b08247Smrg os=$os"spe" 64918b08247Smrg ;; 65018b08247Smrg e500v[12]-*) 65118b08247Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 65218b08247Smrg os=$os"spe" 65318b08247Smrg ;; 6542d62a77cSmrg ebmon29k) 6552d62a77cSmrg basic_machine=a29k-amd 6562d62a77cSmrg os=-ebmon 6572d62a77cSmrg ;; 6582d62a77cSmrg elxsi) 6592d62a77cSmrg basic_machine=elxsi-elxsi 6602d62a77cSmrg os=-bsd 6612d62a77cSmrg ;; 6622d62a77cSmrg encore | umax | mmax) 6632d62a77cSmrg basic_machine=ns32k-encore 6642d62a77cSmrg ;; 6652d62a77cSmrg es1800 | OSE68k | ose68k | ose | OSE) 6662d62a77cSmrg basic_machine=m68k-ericsson 6672d62a77cSmrg os=-ose 6682d62a77cSmrg ;; 6692d62a77cSmrg fx2800) 6702d62a77cSmrg basic_machine=i860-alliant 6712d62a77cSmrg ;; 6722d62a77cSmrg genix) 6732d62a77cSmrg basic_machine=ns32k-ns 6742d62a77cSmrg ;; 6752d62a77cSmrg gmicro) 6762d62a77cSmrg basic_machine=tron-gmicro 6772d62a77cSmrg os=-sysv 6782d62a77cSmrg ;; 6792d62a77cSmrg go32) 6802d62a77cSmrg basic_machine=i386-pc 6812d62a77cSmrg os=-go32 6822d62a77cSmrg ;; 6832d62a77cSmrg h3050r* | hiux*) 6842d62a77cSmrg basic_machine=hppa1.1-hitachi 6852d62a77cSmrg os=-hiuxwe2 6862d62a77cSmrg ;; 6872d62a77cSmrg h8300hms) 6882d62a77cSmrg basic_machine=h8300-hitachi 6892d62a77cSmrg os=-hms 6902d62a77cSmrg ;; 6912d62a77cSmrg h8300xray) 6922d62a77cSmrg basic_machine=h8300-hitachi 6932d62a77cSmrg os=-xray 6942d62a77cSmrg ;; 6952d62a77cSmrg h8500hms) 6962d62a77cSmrg basic_machine=h8500-hitachi 6972d62a77cSmrg os=-hms 6982d62a77cSmrg ;; 6992d62a77cSmrg harris) 7002d62a77cSmrg basic_machine=m88k-harris 7012d62a77cSmrg os=-sysv3 7022d62a77cSmrg ;; 7032d62a77cSmrg hp300-*) 7042d62a77cSmrg basic_machine=m68k-hp 7052d62a77cSmrg ;; 7062d62a77cSmrg hp300bsd) 7072d62a77cSmrg basic_machine=m68k-hp 7082d62a77cSmrg os=-bsd 7092d62a77cSmrg ;; 7102d62a77cSmrg hp300hpux) 7112d62a77cSmrg basic_machine=m68k-hp 7122d62a77cSmrg os=-hpux 7132d62a77cSmrg ;; 7142d62a77cSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7152d62a77cSmrg basic_machine=hppa1.0-hp 7162d62a77cSmrg ;; 7172d62a77cSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 7182d62a77cSmrg basic_machine=m68000-hp 7192d62a77cSmrg ;; 7202d62a77cSmrg hp9k3[2-9][0-9]) 7212d62a77cSmrg basic_machine=m68k-hp 7222d62a77cSmrg ;; 7232d62a77cSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7242d62a77cSmrg basic_machine=hppa1.0-hp 7252d62a77cSmrg ;; 7262d62a77cSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7272d62a77cSmrg basic_machine=hppa1.1-hp 7282d62a77cSmrg ;; 7292d62a77cSmrg hp9k78[0-9] | hp78[0-9]) 7302d62a77cSmrg # FIXME: really hppa2.0-hp 7312d62a77cSmrg basic_machine=hppa1.1-hp 7322d62a77cSmrg ;; 7332d62a77cSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7342d62a77cSmrg # FIXME: really hppa2.0-hp 7352d62a77cSmrg basic_machine=hppa1.1-hp 7362d62a77cSmrg ;; 7372d62a77cSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7382d62a77cSmrg basic_machine=hppa1.1-hp 7392d62a77cSmrg ;; 7402d62a77cSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7412d62a77cSmrg basic_machine=hppa1.0-hp 7422d62a77cSmrg ;; 7432d62a77cSmrg hppaosf) 7442d62a77cSmrg basic_machine=hppa1.1-hp 7452d62a77cSmrg os=-osf 7462d62a77cSmrg ;; 7472d62a77cSmrg hppro) 7482d62a77cSmrg basic_machine=hppa1.1-hp 7492d62a77cSmrg os=-proelf 7502d62a77cSmrg ;; 7512d62a77cSmrg i370-ibm* | ibm*) 7522d62a77cSmrg basic_machine=i370-ibm 7532d62a77cSmrg ;; 7542d62a77cSmrg i*86v32) 75518b08247Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7562d62a77cSmrg os=-sysv32 7572d62a77cSmrg ;; 7582d62a77cSmrg i*86v4*) 75918b08247Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7602d62a77cSmrg os=-sysv4 7612d62a77cSmrg ;; 7622d62a77cSmrg i*86v) 76318b08247Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7642d62a77cSmrg os=-sysv 7652d62a77cSmrg ;; 7662d62a77cSmrg i*86sol2) 76718b08247Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7682d62a77cSmrg os=-solaris2 7692d62a77cSmrg ;; 7702d62a77cSmrg i386mach) 7712d62a77cSmrg basic_machine=i386-mach 7722d62a77cSmrg os=-mach 7732d62a77cSmrg ;; 77418b08247Smrg vsta) 7752d62a77cSmrg basic_machine=i386-unknown 7762d62a77cSmrg os=-vsta 7772d62a77cSmrg ;; 7782d62a77cSmrg iris | iris4d) 7792d62a77cSmrg basic_machine=mips-sgi 7802d62a77cSmrg case $os in 7812d62a77cSmrg -irix*) 7822d62a77cSmrg ;; 7832d62a77cSmrg *) 7842d62a77cSmrg os=-irix4 7852d62a77cSmrg ;; 7862d62a77cSmrg esac 7872d62a77cSmrg ;; 7882d62a77cSmrg isi68 | isi) 7892d62a77cSmrg basic_machine=m68k-isi 7902d62a77cSmrg os=-sysv 7912d62a77cSmrg ;; 79218b08247Smrg leon-*|leon[3-9]-*) 79318b08247Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 79418b08247Smrg ;; 7952d62a77cSmrg m68knommu) 7962d62a77cSmrg basic_machine=m68k-unknown 7972d62a77cSmrg os=-linux 7982d62a77cSmrg ;; 7992d62a77cSmrg m68knommu-*) 80018b08247Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 8012d62a77cSmrg os=-linux 8022d62a77cSmrg ;; 8032d62a77cSmrg magnum | m3230) 8042d62a77cSmrg basic_machine=mips-mips 8052d62a77cSmrg os=-sysv 8062d62a77cSmrg ;; 8072d62a77cSmrg merlin) 8082d62a77cSmrg basic_machine=ns32k-utek 8092d62a77cSmrg os=-sysv 8102d62a77cSmrg ;; 81118b08247Smrg microblaze*) 8126d325d25Smrg basic_machine=microblaze-xilinx 8136d325d25Smrg ;; 81418b08247Smrg mingw64) 81518b08247Smrg basic_machine=x86_64-pc 81618b08247Smrg os=-mingw64 81718b08247Smrg ;; 8182d62a77cSmrg mingw32) 81918b08247Smrg basic_machine=i686-pc 8202d62a77cSmrg os=-mingw32 8212d62a77cSmrg ;; 8222d62a77cSmrg mingw32ce) 8232d62a77cSmrg basic_machine=arm-unknown 8242d62a77cSmrg os=-mingw32ce 8252d62a77cSmrg ;; 8262d62a77cSmrg miniframe) 8272d62a77cSmrg basic_machine=m68000-convergent 8282d62a77cSmrg ;; 8292d62a77cSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8302d62a77cSmrg basic_machine=m68k-atari 8312d62a77cSmrg os=-mint 8322d62a77cSmrg ;; 8332d62a77cSmrg mips3*-*) 83418b08247Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 8352d62a77cSmrg ;; 8362d62a77cSmrg mips3*) 83718b08247Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 8382d62a77cSmrg ;; 8392d62a77cSmrg monitor) 8402d62a77cSmrg basic_machine=m68k-rom68k 8412d62a77cSmrg os=-coff 8422d62a77cSmrg ;; 8432d62a77cSmrg morphos) 8442d62a77cSmrg basic_machine=powerpc-unknown 8452d62a77cSmrg os=-morphos 8462d62a77cSmrg ;; 84718b08247Smrg moxiebox) 84818b08247Smrg basic_machine=moxie-unknown 84918b08247Smrg os=-moxiebox 85018b08247Smrg ;; 8512d62a77cSmrg msdos) 8522d62a77cSmrg basic_machine=i386-pc 8532d62a77cSmrg os=-msdos 8542d62a77cSmrg ;; 8552d62a77cSmrg ms1-*) 85618b08247Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 85718b08247Smrg ;; 85818b08247Smrg msys) 85918b08247Smrg basic_machine=i686-pc 86018b08247Smrg os=-msys 8612d62a77cSmrg ;; 8622d62a77cSmrg mvs) 8632d62a77cSmrg basic_machine=i370-ibm 8642d62a77cSmrg os=-mvs 8652d62a77cSmrg ;; 86618b08247Smrg nacl) 86718b08247Smrg basic_machine=le32-unknown 86818b08247Smrg os=-nacl 86918b08247Smrg ;; 8702d62a77cSmrg ncr3000) 8712d62a77cSmrg basic_machine=i486-ncr 8722d62a77cSmrg os=-sysv4 8732d62a77cSmrg ;; 8742d62a77cSmrg netbsd386) 8752d62a77cSmrg basic_machine=i386-unknown 8762d62a77cSmrg os=-netbsd 8772d62a77cSmrg ;; 8782d62a77cSmrg netwinder) 8792d62a77cSmrg basic_machine=armv4l-rebel 8802d62a77cSmrg os=-linux 8812d62a77cSmrg ;; 8822d62a77cSmrg news | news700 | news800 | news900) 8832d62a77cSmrg basic_machine=m68k-sony 8842d62a77cSmrg os=-newsos 8852d62a77cSmrg ;; 8862d62a77cSmrg news1000) 8872d62a77cSmrg basic_machine=m68030-sony 8882d62a77cSmrg os=-newsos 8892d62a77cSmrg ;; 8902d62a77cSmrg news-3600 | risc-news) 8912d62a77cSmrg basic_machine=mips-sony 8922d62a77cSmrg os=-newsos 8932d62a77cSmrg ;; 8942d62a77cSmrg necv70) 8952d62a77cSmrg basic_machine=v70-nec 8962d62a77cSmrg os=-sysv 8972d62a77cSmrg ;; 89818b08247Smrg next | m*-next) 8992d62a77cSmrg basic_machine=m68k-next 9002d62a77cSmrg case $os in 9012d62a77cSmrg -nextstep* ) 9022d62a77cSmrg ;; 9032d62a77cSmrg -ns2*) 9042d62a77cSmrg os=-nextstep2 9052d62a77cSmrg ;; 9062d62a77cSmrg *) 9072d62a77cSmrg os=-nextstep3 9082d62a77cSmrg ;; 9092d62a77cSmrg esac 9102d62a77cSmrg ;; 9112d62a77cSmrg nh3000) 9122d62a77cSmrg basic_machine=m68k-harris 9132d62a77cSmrg os=-cxux 9142d62a77cSmrg ;; 9152d62a77cSmrg nh[45]000) 9162d62a77cSmrg basic_machine=m88k-harris 9172d62a77cSmrg os=-cxux 9182d62a77cSmrg ;; 9192d62a77cSmrg nindy960) 9202d62a77cSmrg basic_machine=i960-intel 9212d62a77cSmrg os=-nindy 9222d62a77cSmrg ;; 9232d62a77cSmrg mon960) 9242d62a77cSmrg basic_machine=i960-intel 9252d62a77cSmrg os=-mon960 9262d62a77cSmrg ;; 9272d62a77cSmrg nonstopux) 9282d62a77cSmrg basic_machine=mips-compaq 9292d62a77cSmrg os=-nonstopux 9302d62a77cSmrg ;; 9312d62a77cSmrg np1) 9322d62a77cSmrg basic_machine=np1-gould 9332d62a77cSmrg ;; 93418b08247Smrg neo-tandem) 9356d325d25Smrg basic_machine=neo-tandem 9366d325d25Smrg ;; 93718b08247Smrg nse-tandem) 9386d325d25Smrg basic_machine=nse-tandem 9396d325d25Smrg ;; 9402d62a77cSmrg nsr-tandem) 9412d62a77cSmrg basic_machine=nsr-tandem 9422d62a77cSmrg ;; 94318b08247Smrg nsv-tandem) 94418b08247Smrg basic_machine=nsv-tandem 94518b08247Smrg ;; 94618b08247Smrg nsx-tandem) 94718b08247Smrg basic_machine=nsx-tandem 94818b08247Smrg ;; 9492d62a77cSmrg op50n-* | op60c-*) 9502d62a77cSmrg basic_machine=hppa1.1-oki 9512d62a77cSmrg os=-proelf 9522d62a77cSmrg ;; 9532d62a77cSmrg openrisc | openrisc-*) 9542d62a77cSmrg basic_machine=or32-unknown 9552d62a77cSmrg ;; 9562d62a77cSmrg os400) 9572d62a77cSmrg basic_machine=powerpc-ibm 9582d62a77cSmrg os=-os400 9592d62a77cSmrg ;; 9602d62a77cSmrg OSE68000 | ose68000) 9612d62a77cSmrg basic_machine=m68000-ericsson 9622d62a77cSmrg os=-ose 9632d62a77cSmrg ;; 9642d62a77cSmrg os68k) 9652d62a77cSmrg basic_machine=m68k-none 9662d62a77cSmrg os=-os68k 9672d62a77cSmrg ;; 9682d62a77cSmrg pa-hitachi) 9692d62a77cSmrg basic_machine=hppa1.1-hitachi 9702d62a77cSmrg os=-hiuxwe2 9712d62a77cSmrg ;; 9722d62a77cSmrg paragon) 9732d62a77cSmrg basic_machine=i860-intel 9742d62a77cSmrg os=-osf 9752d62a77cSmrg ;; 9762d62a77cSmrg parisc) 9772d62a77cSmrg basic_machine=hppa-unknown 9782d62a77cSmrg os=-linux 9792d62a77cSmrg ;; 9802d62a77cSmrg parisc-*) 98118b08247Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9822d62a77cSmrg os=-linux 9832d62a77cSmrg ;; 9842d62a77cSmrg pbd) 9852d62a77cSmrg basic_machine=sparc-tti 9862d62a77cSmrg ;; 9872d62a77cSmrg pbb) 9882d62a77cSmrg basic_machine=m68k-tti 9892d62a77cSmrg ;; 9902d62a77cSmrg pc532 | pc532-*) 9912d62a77cSmrg basic_machine=ns32k-pc532 9922d62a77cSmrg ;; 9932d62a77cSmrg pc98) 9942d62a77cSmrg basic_machine=i386-pc 9952d62a77cSmrg ;; 9962d62a77cSmrg pc98-*) 99718b08247Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9982d62a77cSmrg ;; 9992d62a77cSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 10002d62a77cSmrg basic_machine=i586-pc 10012d62a77cSmrg ;; 10022d62a77cSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 10032d62a77cSmrg basic_machine=i686-pc 10042d62a77cSmrg ;; 10052d62a77cSmrg pentiumii | pentium2 | pentiumiii | pentium3) 10062d62a77cSmrg basic_machine=i686-pc 10072d62a77cSmrg ;; 10082d62a77cSmrg pentium4) 10092d62a77cSmrg basic_machine=i786-pc 10102d62a77cSmrg ;; 10112d62a77cSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101218b08247Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10132d62a77cSmrg ;; 10142d62a77cSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 101518b08247Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10162d62a77cSmrg ;; 10172d62a77cSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101818b08247Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10192d62a77cSmrg ;; 10202d62a77cSmrg pentium4-*) 102118b08247Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10222d62a77cSmrg ;; 10232d62a77cSmrg pn) 10242d62a77cSmrg basic_machine=pn-gould 10252d62a77cSmrg ;; 10262d62a77cSmrg power) basic_machine=power-ibm 10272d62a77cSmrg ;; 102818b08247Smrg ppc | ppcbe) basic_machine=powerpc-unknown 10292d62a77cSmrg ;; 103018b08247Smrg ppc-* | ppcbe-*) 103118b08247Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10322d62a77cSmrg ;; 103318b08247Smrg ppcle | powerpclittle) 10342d62a77cSmrg basic_machine=powerpcle-unknown 10352d62a77cSmrg ;; 10362d62a77cSmrg ppcle-* | powerpclittle-*) 103718b08247Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10382d62a77cSmrg ;; 10392d62a77cSmrg ppc64) basic_machine=powerpc64-unknown 10402d62a77cSmrg ;; 104118b08247Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10422d62a77cSmrg ;; 104318b08247Smrg ppc64le | powerpc64little) 10442d62a77cSmrg basic_machine=powerpc64le-unknown 10452d62a77cSmrg ;; 10462d62a77cSmrg ppc64le-* | powerpc64little-*) 104718b08247Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10482d62a77cSmrg ;; 10492d62a77cSmrg ps2) 10502d62a77cSmrg basic_machine=i386-ibm 10512d62a77cSmrg ;; 10522d62a77cSmrg pw32) 10532d62a77cSmrg basic_machine=i586-unknown 10542d62a77cSmrg os=-pw32 10552d62a77cSmrg ;; 105618b08247Smrg rdos | rdos64) 105718b08247Smrg basic_machine=x86_64-pc 105818b08247Smrg os=-rdos 105918b08247Smrg ;; 106018b08247Smrg rdos32) 10612d62a77cSmrg basic_machine=i386-pc 10622d62a77cSmrg os=-rdos 10632d62a77cSmrg ;; 10642d62a77cSmrg rom68k) 10652d62a77cSmrg basic_machine=m68k-rom68k 10662d62a77cSmrg os=-coff 10672d62a77cSmrg ;; 10682d62a77cSmrg rm[46]00) 10692d62a77cSmrg basic_machine=mips-siemens 10702d62a77cSmrg ;; 10712d62a77cSmrg rtpc | rtpc-*) 10722d62a77cSmrg basic_machine=romp-ibm 10732d62a77cSmrg ;; 10742d62a77cSmrg s390 | s390-*) 10752d62a77cSmrg basic_machine=s390-ibm 10762d62a77cSmrg ;; 10772d62a77cSmrg s390x | s390x-*) 10782d62a77cSmrg basic_machine=s390x-ibm 10792d62a77cSmrg ;; 10802d62a77cSmrg sa29200) 10812d62a77cSmrg basic_machine=a29k-amd 10822d62a77cSmrg os=-udi 10832d62a77cSmrg ;; 10842d62a77cSmrg sb1) 10852d62a77cSmrg basic_machine=mipsisa64sb1-unknown 10862d62a77cSmrg ;; 10872d62a77cSmrg sb1el) 10882d62a77cSmrg basic_machine=mipsisa64sb1el-unknown 10892d62a77cSmrg ;; 10902d62a77cSmrg sde) 10912d62a77cSmrg basic_machine=mipsisa32-sde 10922d62a77cSmrg os=-elf 10932d62a77cSmrg ;; 10942d62a77cSmrg sei) 10952d62a77cSmrg basic_machine=mips-sei 10962d62a77cSmrg os=-seiux 10972d62a77cSmrg ;; 10982d62a77cSmrg sequent) 10992d62a77cSmrg basic_machine=i386-sequent 11002d62a77cSmrg ;; 11012d62a77cSmrg sh5el) 11022d62a77cSmrg basic_machine=sh5le-unknown 11032d62a77cSmrg ;; 110418b08247Smrg simso-wrs) 11052d62a77cSmrg basic_machine=sparclite-wrs 11062d62a77cSmrg os=-vxworks 11072d62a77cSmrg ;; 11082d62a77cSmrg sps7) 11092d62a77cSmrg basic_machine=m68k-bull 11102d62a77cSmrg os=-sysv2 11112d62a77cSmrg ;; 11122d62a77cSmrg spur) 11132d62a77cSmrg basic_machine=spur-unknown 11142d62a77cSmrg ;; 11152d62a77cSmrg st2000) 11162d62a77cSmrg basic_machine=m68k-tandem 11172d62a77cSmrg ;; 11182d62a77cSmrg stratus) 11192d62a77cSmrg basic_machine=i860-stratus 11202d62a77cSmrg os=-sysv4 11212d62a77cSmrg ;; 112218b08247Smrg strongarm-* | thumb-*) 112318b08247Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 112418b08247Smrg ;; 11252d62a77cSmrg sun2) 11262d62a77cSmrg basic_machine=m68000-sun 11272d62a77cSmrg ;; 11282d62a77cSmrg sun2os3) 11292d62a77cSmrg basic_machine=m68000-sun 11302d62a77cSmrg os=-sunos3 11312d62a77cSmrg ;; 11322d62a77cSmrg sun2os4) 11332d62a77cSmrg basic_machine=m68000-sun 11342d62a77cSmrg os=-sunos4 11352d62a77cSmrg ;; 11362d62a77cSmrg sun3os3) 11372d62a77cSmrg basic_machine=m68k-sun 11382d62a77cSmrg os=-sunos3 11392d62a77cSmrg ;; 11402d62a77cSmrg sun3os4) 11412d62a77cSmrg basic_machine=m68k-sun 11422d62a77cSmrg os=-sunos4 11432d62a77cSmrg ;; 11442d62a77cSmrg sun4os3) 11452d62a77cSmrg basic_machine=sparc-sun 11462d62a77cSmrg os=-sunos3 11472d62a77cSmrg ;; 11482d62a77cSmrg sun4os4) 11492d62a77cSmrg basic_machine=sparc-sun 11502d62a77cSmrg os=-sunos4 11512d62a77cSmrg ;; 11522d62a77cSmrg sun4sol2) 11532d62a77cSmrg basic_machine=sparc-sun 11542d62a77cSmrg os=-solaris2 11552d62a77cSmrg ;; 11562d62a77cSmrg sun3 | sun3-*) 11572d62a77cSmrg basic_machine=m68k-sun 11582d62a77cSmrg ;; 11592d62a77cSmrg sun4) 11602d62a77cSmrg basic_machine=sparc-sun 11612d62a77cSmrg ;; 11622d62a77cSmrg sun386 | sun386i | roadrunner) 11632d62a77cSmrg basic_machine=i386-sun 11642d62a77cSmrg ;; 11652d62a77cSmrg sv1) 11662d62a77cSmrg basic_machine=sv1-cray 11672d62a77cSmrg os=-unicos 11682d62a77cSmrg ;; 11692d62a77cSmrg symmetry) 11702d62a77cSmrg basic_machine=i386-sequent 11712d62a77cSmrg os=-dynix 11722d62a77cSmrg ;; 11732d62a77cSmrg t3e) 11742d62a77cSmrg basic_machine=alphaev5-cray 11752d62a77cSmrg os=-unicos 11762d62a77cSmrg ;; 11772d62a77cSmrg t90) 11782d62a77cSmrg basic_machine=t90-cray 11792d62a77cSmrg os=-unicos 11802d62a77cSmrg ;; 11812d62a77cSmrg tile*) 118218b08247Smrg basic_machine=$basic_machine-unknown 11832d62a77cSmrg os=-linux-gnu 11842d62a77cSmrg ;; 11852d62a77cSmrg tx39) 11862d62a77cSmrg basic_machine=mipstx39-unknown 11872d62a77cSmrg ;; 11882d62a77cSmrg tx39el) 11892d62a77cSmrg basic_machine=mipstx39el-unknown 11902d62a77cSmrg ;; 11912d62a77cSmrg toad1) 11922d62a77cSmrg basic_machine=pdp10-xkl 11932d62a77cSmrg os=-tops20 11942d62a77cSmrg ;; 11952d62a77cSmrg tower | tower-32) 11962d62a77cSmrg basic_machine=m68k-ncr 11972d62a77cSmrg ;; 11982d62a77cSmrg tpf) 11992d62a77cSmrg basic_machine=s390x-ibm 12002d62a77cSmrg os=-tpf 12012d62a77cSmrg ;; 12022d62a77cSmrg udi29k) 12032d62a77cSmrg basic_machine=a29k-amd 12042d62a77cSmrg os=-udi 12052d62a77cSmrg ;; 12062d62a77cSmrg ultra3) 12072d62a77cSmrg basic_machine=a29k-nyu 12082d62a77cSmrg os=-sym1 12092d62a77cSmrg ;; 12102d62a77cSmrg v810 | necv810) 12112d62a77cSmrg basic_machine=v810-nec 12122d62a77cSmrg os=-none 12132d62a77cSmrg ;; 12142d62a77cSmrg vaxv) 12152d62a77cSmrg basic_machine=vax-dec 12162d62a77cSmrg os=-sysv 12172d62a77cSmrg ;; 12182d62a77cSmrg vms) 12192d62a77cSmrg basic_machine=vax-dec 12202d62a77cSmrg os=-vms 12212d62a77cSmrg ;; 12222d62a77cSmrg vpp*|vx|vx-*) 12232d62a77cSmrg basic_machine=f301-fujitsu 12242d62a77cSmrg ;; 12252d62a77cSmrg vxworks960) 12262d62a77cSmrg basic_machine=i960-wrs 12272d62a77cSmrg os=-vxworks 12282d62a77cSmrg ;; 12292d62a77cSmrg vxworks68) 12302d62a77cSmrg basic_machine=m68k-wrs 12312d62a77cSmrg os=-vxworks 12322d62a77cSmrg ;; 12332d62a77cSmrg vxworks29k) 12342d62a77cSmrg basic_machine=a29k-wrs 12352d62a77cSmrg os=-vxworks 12362d62a77cSmrg ;; 12372d62a77cSmrg w65*) 12382d62a77cSmrg basic_machine=w65-wdc 12392d62a77cSmrg os=-none 12402d62a77cSmrg ;; 12412d62a77cSmrg w89k-*) 12422d62a77cSmrg basic_machine=hppa1.1-winbond 12432d62a77cSmrg os=-proelf 12442d62a77cSmrg ;; 124518b08247Smrg x64) 124618b08247Smrg basic_machine=x86_64-pc 124718b08247Smrg ;; 12482d62a77cSmrg xbox) 12492d62a77cSmrg basic_machine=i686-pc 12502d62a77cSmrg os=-mingw32 12512d62a77cSmrg ;; 12522d62a77cSmrg xps | xps100) 12532d62a77cSmrg basic_machine=xps100-honeywell 12542d62a77cSmrg ;; 125518b08247Smrg xscale-* | xscalee[bl]-*) 125618b08247Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 125718b08247Smrg ;; 12582d62a77cSmrg ymp) 12592d62a77cSmrg basic_machine=ymp-cray 12602d62a77cSmrg os=-unicos 12612d62a77cSmrg ;; 12622d62a77cSmrg none) 12632d62a77cSmrg basic_machine=none-none 12642d62a77cSmrg os=-none 12652d62a77cSmrg ;; 12662d62a77cSmrg 12672d62a77cSmrg# Here we handle the default manufacturer of certain CPU types. It is in 12682d62a77cSmrg# some cases the only manufacturer, in others, it is the most popular. 12692d62a77cSmrg w89k) 12702d62a77cSmrg basic_machine=hppa1.1-winbond 12712d62a77cSmrg ;; 12722d62a77cSmrg op50n) 12732d62a77cSmrg basic_machine=hppa1.1-oki 12742d62a77cSmrg ;; 12752d62a77cSmrg op60c) 12762d62a77cSmrg basic_machine=hppa1.1-oki 12772d62a77cSmrg ;; 12782d62a77cSmrg romp) 12792d62a77cSmrg basic_machine=romp-ibm 12802d62a77cSmrg ;; 12812d62a77cSmrg mmix) 12822d62a77cSmrg basic_machine=mmix-knuth 12832d62a77cSmrg ;; 12842d62a77cSmrg rs6000) 12852d62a77cSmrg basic_machine=rs6000-ibm 12862d62a77cSmrg ;; 12872d62a77cSmrg vax) 12882d62a77cSmrg basic_machine=vax-dec 12892d62a77cSmrg ;; 12902d62a77cSmrg pdp11) 12912d62a77cSmrg basic_machine=pdp11-dec 12922d62a77cSmrg ;; 12932d62a77cSmrg we32k) 12942d62a77cSmrg basic_machine=we32k-att 12952d62a77cSmrg ;; 12962d62a77cSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12972d62a77cSmrg basic_machine=sh-unknown 12982d62a77cSmrg ;; 12992d62a77cSmrg cydra) 13002d62a77cSmrg basic_machine=cydra-cydrome 13012d62a77cSmrg ;; 13022d62a77cSmrg orion) 13032d62a77cSmrg basic_machine=orion-highlevel 13042d62a77cSmrg ;; 13052d62a77cSmrg orion105) 13062d62a77cSmrg basic_machine=clipper-highlevel 13072d62a77cSmrg ;; 13082d62a77cSmrg mac | mpw | mac-mpw) 13092d62a77cSmrg basic_machine=m68k-apple 13102d62a77cSmrg ;; 13112d62a77cSmrg pmac | pmac-mpw) 13122d62a77cSmrg basic_machine=powerpc-apple 13132d62a77cSmrg ;; 13142d62a77cSmrg *-unknown) 13152d62a77cSmrg # Make sure to match an already-canonicalized machine name. 13162d62a77cSmrg ;; 13172d62a77cSmrg *) 131818b08247Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 13192d62a77cSmrg exit 1 13202d62a77cSmrg ;; 13212d62a77cSmrgesac 13222d62a77cSmrg 13232d62a77cSmrg# Here we canonicalize certain aliases for manufacturers. 13242d62a77cSmrgcase $basic_machine in 13252d62a77cSmrg *-digital*) 132618b08247Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 13272d62a77cSmrg ;; 13282d62a77cSmrg *-commodore*) 132918b08247Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 13302d62a77cSmrg ;; 13312d62a77cSmrg *) 13322d62a77cSmrg ;; 13332d62a77cSmrgesac 13342d62a77cSmrg 13352d62a77cSmrg# Decode manufacturer-specific aliases for certain operating systems. 13362d62a77cSmrg 13372d62a77cSmrgif [ x"$os" != x"" ] 13382d62a77cSmrgthen 13392d62a77cSmrgcase $os in 134018b08247Smrg # First match some system type aliases that might get confused 134118b08247Smrg # with valid system types. 13422d62a77cSmrg # -solaris* is a basic system type, with this one exception. 134318b08247Smrg -auroraux) 134418b08247Smrg os=-auroraux 13456d325d25Smrg ;; 13462d62a77cSmrg -solaris1 | -solaris1.*) 13472d62a77cSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13482d62a77cSmrg ;; 13492d62a77cSmrg -solaris) 13502d62a77cSmrg os=-solaris2 13512d62a77cSmrg ;; 13522d62a77cSmrg -unixware*) 13532d62a77cSmrg os=-sysv4.2uw 13542d62a77cSmrg ;; 13552d62a77cSmrg -gnu/linux*) 13562d62a77cSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13572d62a77cSmrg ;; 135818b08247Smrg # es1800 is here to avoid being matched by es* (a different OS) 135918b08247Smrg -es1800*) 136018b08247Smrg os=-ose 136118b08247Smrg ;; 136218b08247Smrg # Now accept the basic system types. 13632d62a77cSmrg # The portable systems comes first. 136418b08247Smrg # Each alternative MUST end in a * to match a version number. 13652d62a77cSmrg # -sysv* is not here because it comes later, after sysvr4. 13662d62a77cSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13676d325d25Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13686d325d25Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136918b08247Smrg | -sym* | -kopensolaris* | -plan9* \ 13702d62a77cSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137118b08247Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 13722d62a77cSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13732d62a77cSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 137418b08247Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 137518b08247Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13762d62a77cSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13772d62a77cSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13782d62a77cSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 137918b08247Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 138018b08247Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 138118b08247Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 138218b08247Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138318b08247Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138418b08247Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 138518b08247Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 13862d62a77cSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13872d62a77cSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13882d62a77cSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 138918b08247Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13902d62a77cSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 139118b08247Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 139218b08247Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 139318b08247Smrg | -midnightbsd*) 13942d62a77cSmrg # Remember, each alternative MUST END IN *, to match a version number. 13952d62a77cSmrg ;; 13962d62a77cSmrg -qnx*) 13972d62a77cSmrg case $basic_machine in 13982d62a77cSmrg x86-* | i*86-*) 13992d62a77cSmrg ;; 14002d62a77cSmrg *) 14012d62a77cSmrg os=-nto$os 14022d62a77cSmrg ;; 14032d62a77cSmrg esac 14042d62a77cSmrg ;; 14052d62a77cSmrg -nto-qnx*) 14062d62a77cSmrg ;; 14072d62a77cSmrg -nto*) 14082d62a77cSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 14092d62a77cSmrg ;; 141018b08247Smrg -sim | -xray | -os68k* | -v88r* \ 141118b08247Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 14122d62a77cSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14132d62a77cSmrg ;; 14142d62a77cSmrg -mac*) 141518b08247Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 14162d62a77cSmrg ;; 14172d62a77cSmrg -linux-dietlibc) 14182d62a77cSmrg os=-linux-dietlibc 14192d62a77cSmrg ;; 14202d62a77cSmrg -linux*) 14212d62a77cSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 14222d62a77cSmrg ;; 14232d62a77cSmrg -sunos5*) 142418b08247Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14252d62a77cSmrg ;; 14262d62a77cSmrg -sunos6*) 142718b08247Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14282d62a77cSmrg ;; 14292d62a77cSmrg -opened*) 14302d62a77cSmrg os=-openedition 14312d62a77cSmrg ;; 143218b08247Smrg -os400*) 14332d62a77cSmrg os=-os400 14342d62a77cSmrg ;; 14352d62a77cSmrg -wince*) 14362d62a77cSmrg os=-wince 14372d62a77cSmrg ;; 14382d62a77cSmrg -utek*) 14392d62a77cSmrg os=-bsd 14402d62a77cSmrg ;; 14412d62a77cSmrg -dynix*) 14422d62a77cSmrg os=-bsd 14432d62a77cSmrg ;; 14442d62a77cSmrg -acis*) 14452d62a77cSmrg os=-aos 14462d62a77cSmrg ;; 14472d62a77cSmrg -atheos*) 14482d62a77cSmrg os=-atheos 14492d62a77cSmrg ;; 14502d62a77cSmrg -syllable*) 14512d62a77cSmrg os=-syllable 14522d62a77cSmrg ;; 14532d62a77cSmrg -386bsd) 14542d62a77cSmrg os=-bsd 14552d62a77cSmrg ;; 14562d62a77cSmrg -ctix* | -uts*) 14572d62a77cSmrg os=-sysv 14582d62a77cSmrg ;; 14592d62a77cSmrg -nova*) 14602d62a77cSmrg os=-rtmk-nova 14612d62a77cSmrg ;; 146218b08247Smrg -ns2) 14632d62a77cSmrg os=-nextstep2 14642d62a77cSmrg ;; 14652d62a77cSmrg -nsk*) 14662d62a77cSmrg os=-nsk 14672d62a77cSmrg ;; 14682d62a77cSmrg # Preserve the version number of sinix5. 14692d62a77cSmrg -sinix5.*) 14702d62a77cSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 14712d62a77cSmrg ;; 14722d62a77cSmrg -sinix*) 14732d62a77cSmrg os=-sysv4 14742d62a77cSmrg ;; 147518b08247Smrg -tpf*) 14762d62a77cSmrg os=-tpf 14772d62a77cSmrg ;; 14782d62a77cSmrg -triton*) 14792d62a77cSmrg os=-sysv3 14802d62a77cSmrg ;; 14812d62a77cSmrg -oss*) 14822d62a77cSmrg os=-sysv3 14832d62a77cSmrg ;; 148418b08247Smrg -svr4*) 14852d62a77cSmrg os=-sysv4 14862d62a77cSmrg ;; 14872d62a77cSmrg -svr3) 14882d62a77cSmrg os=-sysv3 14892d62a77cSmrg ;; 14902d62a77cSmrg -sysvr4) 14912d62a77cSmrg os=-sysv4 14922d62a77cSmrg ;; 14932d62a77cSmrg # This must come after -sysvr4. 14942d62a77cSmrg -sysv*) 14952d62a77cSmrg ;; 14962d62a77cSmrg -ose*) 14972d62a77cSmrg os=-ose 14982d62a77cSmrg ;; 14992d62a77cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15002d62a77cSmrg os=-mint 15012d62a77cSmrg ;; 15022d62a77cSmrg -zvmoe) 15032d62a77cSmrg os=-zvmoe 15042d62a77cSmrg ;; 15052d62a77cSmrg -dicos*) 15062d62a77cSmrg os=-dicos 15072d62a77cSmrg ;; 150818b08247Smrg -pikeos*) 150918b08247Smrg # Until real need of OS specific support for 151018b08247Smrg # particular features comes up, bare metal 151118b08247Smrg # configurations are quite functional. 151218b08247Smrg case $basic_machine in 151318b08247Smrg arm*) 151418b08247Smrg os=-eabi 151518b08247Smrg ;; 151618b08247Smrg *) 151718b08247Smrg os=-elf 151818b08247Smrg ;; 151918b08247Smrg esac 152018b08247Smrg ;; 152118b08247Smrg -nacl*) 152218b08247Smrg ;; 152318b08247Smrg -ios) 152418b08247Smrg ;; 15252d62a77cSmrg -none) 15262d62a77cSmrg ;; 15272d62a77cSmrg *) 15282d62a77cSmrg # Get rid of the `-' at the beginning of $os. 15292d62a77cSmrg os=`echo $os | sed 's/[^-]*-//'` 153018b08247Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 15312d62a77cSmrg exit 1 15322d62a77cSmrg ;; 15332d62a77cSmrgesac 15342d62a77cSmrgelse 15352d62a77cSmrg 15362d62a77cSmrg# Here we handle the default operating systems that come with various machines. 15372d62a77cSmrg# The value should be what the vendor currently ships out the door with their 15382d62a77cSmrg# machine or put another way, the most popular os provided with the machine. 15392d62a77cSmrg 15402d62a77cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15412d62a77cSmrg# "-sun"), then you have to tell the case statement up towards the top 15422d62a77cSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15432d62a77cSmrg# will signal an error saying that MANUFACTURER isn't an operating 15442d62a77cSmrg# system, and we'll never get to this point. 15452d62a77cSmrg 15462d62a77cSmrgcase $basic_machine in 154718b08247Smrg score-*) 15482d62a77cSmrg os=-elf 15492d62a77cSmrg ;; 155018b08247Smrg spu-*) 15512d62a77cSmrg os=-elf 15522d62a77cSmrg ;; 15532d62a77cSmrg *-acorn) 15542d62a77cSmrg os=-riscix1.2 15552d62a77cSmrg ;; 15562d62a77cSmrg arm*-rebel) 15572d62a77cSmrg os=-linux 15582d62a77cSmrg ;; 15592d62a77cSmrg arm*-semi) 15602d62a77cSmrg os=-aout 15612d62a77cSmrg ;; 156218b08247Smrg c4x-* | tic4x-*) 156318b08247Smrg os=-coff 156418b08247Smrg ;; 156518b08247Smrg c8051-*) 156618b08247Smrg os=-elf 156718b08247Smrg ;; 156818b08247Smrg hexagon-*) 156918b08247Smrg os=-elf 15702d62a77cSmrg ;; 15716d325d25Smrg tic54x-*) 15726d325d25Smrg os=-coff 15736d325d25Smrg ;; 15746d325d25Smrg tic55x-*) 15756d325d25Smrg os=-coff 15766d325d25Smrg ;; 15776d325d25Smrg tic6x-*) 15786d325d25Smrg os=-coff 15796d325d25Smrg ;; 15802d62a77cSmrg # This must come before the *-dec entry. 15812d62a77cSmrg pdp10-*) 15822d62a77cSmrg os=-tops20 15832d62a77cSmrg ;; 15842d62a77cSmrg pdp11-*) 15852d62a77cSmrg os=-none 15862d62a77cSmrg ;; 15872d62a77cSmrg *-dec | vax-*) 15882d62a77cSmrg os=-ultrix4.2 15892d62a77cSmrg ;; 15902d62a77cSmrg m68*-apollo) 15912d62a77cSmrg os=-domain 15922d62a77cSmrg ;; 15932d62a77cSmrg i386-sun) 15942d62a77cSmrg os=-sunos4.0.2 15952d62a77cSmrg ;; 15962d62a77cSmrg m68000-sun) 15972d62a77cSmrg os=-sunos3 15982d62a77cSmrg ;; 15992d62a77cSmrg m68*-cisco) 16002d62a77cSmrg os=-aout 16012d62a77cSmrg ;; 160218b08247Smrg mep-*) 16032d62a77cSmrg os=-elf 16042d62a77cSmrg ;; 16052d62a77cSmrg mips*-cisco) 16062d62a77cSmrg os=-elf 16072d62a77cSmrg ;; 16082d62a77cSmrg mips*-*) 16092d62a77cSmrg os=-elf 16102d62a77cSmrg ;; 16112d62a77cSmrg or32-*) 16122d62a77cSmrg os=-coff 16132d62a77cSmrg ;; 16142d62a77cSmrg *-tti) # must be before sparc entry or we get the wrong os. 16152d62a77cSmrg os=-sysv3 16162d62a77cSmrg ;; 16172d62a77cSmrg sparc-* | *-sun) 16182d62a77cSmrg os=-sunos4.1.1 16192d62a77cSmrg ;; 162018b08247Smrg pru-*) 162118b08247Smrg os=-elf 162218b08247Smrg ;; 16232d62a77cSmrg *-be) 16242d62a77cSmrg os=-beos 16252d62a77cSmrg ;; 16262d62a77cSmrg *-ibm) 16272d62a77cSmrg os=-aix 16282d62a77cSmrg ;; 162918b08247Smrg *-knuth) 16302d62a77cSmrg os=-mmixware 16312d62a77cSmrg ;; 16322d62a77cSmrg *-wec) 16332d62a77cSmrg os=-proelf 16342d62a77cSmrg ;; 16352d62a77cSmrg *-winbond) 16362d62a77cSmrg os=-proelf 16372d62a77cSmrg ;; 16382d62a77cSmrg *-oki) 16392d62a77cSmrg os=-proelf 16402d62a77cSmrg ;; 16412d62a77cSmrg *-hp) 16422d62a77cSmrg os=-hpux 16432d62a77cSmrg ;; 16442d62a77cSmrg *-hitachi) 16452d62a77cSmrg os=-hiux 16462d62a77cSmrg ;; 16472d62a77cSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16482d62a77cSmrg os=-sysv 16492d62a77cSmrg ;; 16502d62a77cSmrg *-cbm) 16512d62a77cSmrg os=-amigaos 16522d62a77cSmrg ;; 16532d62a77cSmrg *-dg) 16542d62a77cSmrg os=-dgux 16552d62a77cSmrg ;; 16562d62a77cSmrg *-dolphin) 16572d62a77cSmrg os=-sysv3 16582d62a77cSmrg ;; 16592d62a77cSmrg m68k-ccur) 16602d62a77cSmrg os=-rtu 16612d62a77cSmrg ;; 16622d62a77cSmrg m88k-omron*) 16632d62a77cSmrg os=-luna 16642d62a77cSmrg ;; 166518b08247Smrg *-next) 16662d62a77cSmrg os=-nextstep 16672d62a77cSmrg ;; 16682d62a77cSmrg *-sequent) 16692d62a77cSmrg os=-ptx 16702d62a77cSmrg ;; 16712d62a77cSmrg *-crds) 16722d62a77cSmrg os=-unos 16732d62a77cSmrg ;; 16742d62a77cSmrg *-ns) 16752d62a77cSmrg os=-genix 16762d62a77cSmrg ;; 16772d62a77cSmrg i370-*) 16782d62a77cSmrg os=-mvs 16792d62a77cSmrg ;; 16802d62a77cSmrg *-gould) 16812d62a77cSmrg os=-sysv 16822d62a77cSmrg ;; 16832d62a77cSmrg *-highlevel) 16842d62a77cSmrg os=-bsd 16852d62a77cSmrg ;; 16862d62a77cSmrg *-encore) 16872d62a77cSmrg os=-bsd 16882d62a77cSmrg ;; 16892d62a77cSmrg *-sgi) 16902d62a77cSmrg os=-irix 16912d62a77cSmrg ;; 16922d62a77cSmrg *-siemens) 16932d62a77cSmrg os=-sysv4 16942d62a77cSmrg ;; 16952d62a77cSmrg *-masscomp) 16962d62a77cSmrg os=-rtu 16972d62a77cSmrg ;; 16982d62a77cSmrg f30[01]-fujitsu | f700-fujitsu) 16992d62a77cSmrg os=-uxpv 17002d62a77cSmrg ;; 17012d62a77cSmrg *-rom68k) 17022d62a77cSmrg os=-coff 17032d62a77cSmrg ;; 17042d62a77cSmrg *-*bug) 17052d62a77cSmrg os=-coff 17062d62a77cSmrg ;; 17072d62a77cSmrg *-apple) 17082d62a77cSmrg os=-macos 17092d62a77cSmrg ;; 17102d62a77cSmrg *-atari*) 17112d62a77cSmrg os=-mint 17122d62a77cSmrg ;; 17132d62a77cSmrg *) 17142d62a77cSmrg os=-none 17152d62a77cSmrg ;; 17162d62a77cSmrgesac 17172d62a77cSmrgfi 17182d62a77cSmrg 17192d62a77cSmrg# Here we handle the case where we know the os, and the CPU type, but not the 17202d62a77cSmrg# manufacturer. We pick the logical manufacturer. 17212d62a77cSmrgvendor=unknown 17222d62a77cSmrgcase $basic_machine in 17232d62a77cSmrg *-unknown) 17242d62a77cSmrg case $os in 17252d62a77cSmrg -riscix*) 17262d62a77cSmrg vendor=acorn 17272d62a77cSmrg ;; 17282d62a77cSmrg -sunos*) 17292d62a77cSmrg vendor=sun 17302d62a77cSmrg ;; 17316d325d25Smrg -cnk*|-aix*) 17322d62a77cSmrg vendor=ibm 17332d62a77cSmrg ;; 17342d62a77cSmrg -beos*) 17352d62a77cSmrg vendor=be 17362d62a77cSmrg ;; 17372d62a77cSmrg -hpux*) 17382d62a77cSmrg vendor=hp 17392d62a77cSmrg ;; 17402d62a77cSmrg -mpeix*) 17412d62a77cSmrg vendor=hp 17422d62a77cSmrg ;; 17432d62a77cSmrg -hiux*) 17442d62a77cSmrg vendor=hitachi 17452d62a77cSmrg ;; 17462d62a77cSmrg -unos*) 17472d62a77cSmrg vendor=crds 17482d62a77cSmrg ;; 17492d62a77cSmrg -dgux*) 17502d62a77cSmrg vendor=dg 17512d62a77cSmrg ;; 17522d62a77cSmrg -luna*) 17532d62a77cSmrg vendor=omron 17542d62a77cSmrg ;; 17552d62a77cSmrg -genix*) 17562d62a77cSmrg vendor=ns 17572d62a77cSmrg ;; 17582d62a77cSmrg -mvs* | -opened*) 17592d62a77cSmrg vendor=ibm 17602d62a77cSmrg ;; 17612d62a77cSmrg -os400*) 17622d62a77cSmrg vendor=ibm 17632d62a77cSmrg ;; 17642d62a77cSmrg -ptx*) 17652d62a77cSmrg vendor=sequent 17662d62a77cSmrg ;; 17672d62a77cSmrg -tpf*) 17682d62a77cSmrg vendor=ibm 17692d62a77cSmrg ;; 17702d62a77cSmrg -vxsim* | -vxworks* | -windiss*) 17712d62a77cSmrg vendor=wrs 17722d62a77cSmrg ;; 17732d62a77cSmrg -aux*) 17742d62a77cSmrg vendor=apple 17752d62a77cSmrg ;; 17762d62a77cSmrg -hms*) 17772d62a77cSmrg vendor=hitachi 17782d62a77cSmrg ;; 17792d62a77cSmrg -mpw* | -macos*) 17802d62a77cSmrg vendor=apple 17812d62a77cSmrg ;; 17822d62a77cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17832d62a77cSmrg vendor=atari 17842d62a77cSmrg ;; 17852d62a77cSmrg -vos*) 17862d62a77cSmrg vendor=stratus 17872d62a77cSmrg ;; 17882d62a77cSmrg esac 178918b08247Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 17902d62a77cSmrg ;; 17912d62a77cSmrgesac 17922d62a77cSmrg 179318b08247Smrgecho "$basic_machine$os" 17942d62a77cSmrgexit 17952d62a77cSmrg 17962d62a77cSmrg# Local variables: 179718b08247Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 17982d62a77cSmrg# time-stamp-start: "timestamp='" 17992d62a77cSmrg# time-stamp-format: "%:y-%02m-%02d" 18002d62a77cSmrg# time-stamp-end: "'" 18012d62a77cSmrg# End: 1802