config.sub revision 6fbef84a
19fe995a9Smrg#! /bin/sh 29fe995a9Smrg# Configuration validation subroutine script. 36fbef84aSmrg# Copyright 1992-2018 Free Software Foundation, Inc. 49fe995a9Smrg 56fbef84aSmrgtimestamp='2018-02-28' 69fe995a9Smrg 79d794632Smrg# This file is free software; you can redistribute it and/or modify it 89d794632Smrg# under the terms of the GNU General Public License as published by 99d794632Smrg# the Free Software Foundation; either version 3 of the License, or 109fe995a9Smrg# (at your option) any later version. 119fe995a9Smrg# 129d794632Smrg# This program is distributed in the hope that it will be useful, but 139d794632Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 149d794632Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 159d794632Smrg# General Public License for more details. 169fe995a9Smrg# 179fe995a9Smrg# You should have received a copy of the GNU General Public License 186fbef84aSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 199fe995a9Smrg# 209fe995a9Smrg# As a special exception to the GNU General Public License, if you 219fe995a9Smrg# distribute this file as part of a program that contains a 229fe995a9Smrg# configuration script generated by Autoconf, you may include it under 239d794632Smrg# the same distribution terms that you use for the rest of that 249d794632Smrg# program. This Exception is an additional permission under section 7 259d794632Smrg# of the GNU General Public License, version 3 ("GPLv3"). 269fe995a9Smrg 279fe995a9Smrg 28e8ac26b0Smrg# Please send patches to <config-patches@gnu.org>. 299fe995a9Smrg# 309fe995a9Smrg# Configuration subroutine to validate and canonicalize a configuration type. 319fe995a9Smrg# Supply the specified configuration type as an argument. 329fe995a9Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 339fe995a9Smrg# Otherwise, we print the canonical config type on stdout and succeed. 349fe995a9Smrg 35b62cc08cSmrg# You can get the latest version of this script from: 366fbef84aSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37b62cc08cSmrg 389fe995a9Smrg# This file is supposed to be the same for all GNU packages 399fe995a9Smrg# and recognize all the CPU types, system types and aliases 409fe995a9Smrg# that are meaningful with *any* GNU software. 419fe995a9Smrg# Each package is responsible for reporting which valid configurations 429fe995a9Smrg# it does not support. The user should be able to distinguish 439fe995a9Smrg# a failure to support a valid configuration from a meaningless 449fe995a9Smrg# configuration. 459fe995a9Smrg 469fe995a9Smrg# The goal of this file is to map all the various variations of a given 479fe995a9Smrg# machine specification into a single specification in the form: 489fe995a9Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 499fe995a9Smrg# or in some cases, the newer four-part form: 509fe995a9Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 519fe995a9Smrg# It is wrong to echo any other type of specification. 529fe995a9Smrg 539fe995a9Smrgme=`echo "$0" | sed -e 's,.*/,,'` 549fe995a9Smrg 559fe995a9Smrgusage="\ 566fbef84aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 579fe995a9Smrg 589fe995a9SmrgCanonicalize a configuration name. 599fe995a9Smrg 606fbef84aSmrgOptions: 619fe995a9Smrg -h, --help print this help, then exit 629fe995a9Smrg -t, --time-stamp print date of last modification, then exit 639fe995a9Smrg -v, --version print version number, then exit 649fe995a9Smrg 659fe995a9SmrgReport bugs and patches to <config-patches@gnu.org>." 669fe995a9Smrg 679fe995a9Smrgversion="\ 689fe995a9SmrgGNU config.sub ($timestamp) 699fe995a9Smrg 706fbef84aSmrgCopyright 1992-2018 Free Software Foundation, Inc. 719fe995a9Smrg 729fe995a9SmrgThis is free software; see the source for copying conditions. There is NO 739fe995a9Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 749fe995a9Smrg 759fe995a9Smrghelp=" 769fe995a9SmrgTry \`$me --help' for more information." 779fe995a9Smrg 789fe995a9Smrg# Parse command line 799fe995a9Smrgwhile test $# -gt 0 ; do 809fe995a9Smrg case $1 in 819fe995a9Smrg --time-stamp | --time* | -t ) 829fe995a9Smrg echo "$timestamp" ; exit ;; 839fe995a9Smrg --version | -v ) 849fe995a9Smrg echo "$version" ; exit ;; 859fe995a9Smrg --help | --h* | -h ) 869fe995a9Smrg echo "$usage"; exit ;; 879fe995a9Smrg -- ) # Stop option processing 889fe995a9Smrg shift; break ;; 899fe995a9Smrg - ) # Use stdin as input. 909fe995a9Smrg break ;; 919fe995a9Smrg -* ) 929fe995a9Smrg echo "$me: invalid option $1$help" 939fe995a9Smrg exit 1 ;; 949fe995a9Smrg 959fe995a9Smrg *local*) 969fe995a9Smrg # First pass through any local machine types. 976fbef84aSmrg echo "$1" 989fe995a9Smrg exit ;; 999fe995a9Smrg 1009fe995a9Smrg * ) 1019fe995a9Smrg break ;; 1029fe995a9Smrg esac 1039fe995a9Smrgdone 1049fe995a9Smrg 1059fe995a9Smrgcase $# in 1069fe995a9Smrg 0) echo "$me: missing argument$help" >&2 1079fe995a9Smrg exit 1;; 1089fe995a9Smrg 1) ;; 1099fe995a9Smrg *) echo "$me: too many arguments$help" >&2 1109fe995a9Smrg exit 1;; 1119fe995a9Smrgesac 1129fe995a9Smrg 1139fe995a9Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1149fe995a9Smrg# Here we must recognize all the valid KERNEL-OS combinations. 1156fbef84aSmrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1169fe995a9Smrgcase $maybe_os in 1179d794632Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1189d794632Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1196fbef84aSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1206fbef84aSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1219fe995a9Smrg storm-chaos* | os2-emx* | rtmk-nova*) 1229fe995a9Smrg os=-$maybe_os 1236fbef84aSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1249fe995a9Smrg ;; 1259d794632Smrg android-linux) 1269d794632Smrg os=-linux-android 1276fbef84aSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1289d794632Smrg ;; 1299fe995a9Smrg *) 1306fbef84aSmrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1316fbef84aSmrg if [ "$basic_machine" != "$1" ] 1326fbef84aSmrg then os=`echo "$1" | sed 's/.*-/-/'` 1339fe995a9Smrg else os=; fi 1349fe995a9Smrg ;; 1359fe995a9Smrgesac 1369fe995a9Smrg 1379fe995a9Smrg### Let's recognize common machines as not being operating systems so 1389fe995a9Smrg### that things like config.sub decstation-3100 work. We also 1399fe995a9Smrg### recognize some manufacturers as not being operating systems, so we 1409fe995a9Smrg### can provide default operating systems below. 1419fe995a9Smrgcase $os in 1429fe995a9Smrg -sun*os*) 1439fe995a9Smrg # Prevent following clause from handling this invalid input. 1449fe995a9Smrg ;; 1459fe995a9Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1469fe995a9Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1479fe995a9Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1489fe995a9Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1499fe995a9Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1509fe995a9Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1519d794632Smrg -apple | -axis | -knuth | -cray | -microblaze*) 1529fe995a9Smrg os= 1539fe995a9Smrg basic_machine=$1 1549fe995a9Smrg ;; 1559d794632Smrg -bluegene*) 1569d794632Smrg os=-cnk 157b62cc08cSmrg ;; 1589fe995a9Smrg -sim | -cisco | -oki | -wec | -winbond) 1599fe995a9Smrg os= 1609fe995a9Smrg basic_machine=$1 1619fe995a9Smrg ;; 1629fe995a9Smrg -scout) 1639fe995a9Smrg ;; 1649fe995a9Smrg -wrs) 1659fe995a9Smrg os=-vxworks 1669fe995a9Smrg basic_machine=$1 1679fe995a9Smrg ;; 1689fe995a9Smrg -chorusos*) 1699fe995a9Smrg os=-chorusos 1709fe995a9Smrg basic_machine=$1 1719fe995a9Smrg ;; 1729d794632Smrg -chorusrdb) 1739d794632Smrg os=-chorusrdb 1749fe995a9Smrg basic_machine=$1 1759d794632Smrg ;; 1769fe995a9Smrg -hiux*) 1779fe995a9Smrg os=-hiuxwe2 1789fe995a9Smrg ;; 1799fe995a9Smrg -sco6) 1809fe995a9Smrg os=-sco5v6 1816fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1829fe995a9Smrg ;; 1839fe995a9Smrg -sco5) 1849fe995a9Smrg os=-sco3.2v5 1856fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1869fe995a9Smrg ;; 1879fe995a9Smrg -sco4) 1889fe995a9Smrg os=-sco3.2v4 1896fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1909fe995a9Smrg ;; 1919fe995a9Smrg -sco3.2.[4-9]*) 1929fe995a9Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1936fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1949fe995a9Smrg ;; 1959fe995a9Smrg -sco3.2v[4-9]*) 1969fe995a9Smrg # Don't forget version if it is 3.2v4 or newer. 1976fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1989fe995a9Smrg ;; 1999fe995a9Smrg -sco5v6*) 2009fe995a9Smrg # Don't forget version if it is 3.2v4 or newer. 2016fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2029fe995a9Smrg ;; 2039fe995a9Smrg -sco*) 2049fe995a9Smrg os=-sco3.2v2 2056fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2069fe995a9Smrg ;; 2079fe995a9Smrg -udk*) 2086fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2099fe995a9Smrg ;; 2109fe995a9Smrg -isc) 2119fe995a9Smrg os=-isc2.2 2126fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2139fe995a9Smrg ;; 2149fe995a9Smrg -clix*) 2159fe995a9Smrg basic_machine=clipper-intergraph 2169fe995a9Smrg ;; 2179fe995a9Smrg -isc*) 2186fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2199fe995a9Smrg ;; 2209d794632Smrg -lynx*178) 2219d794632Smrg os=-lynxos178 2229d794632Smrg ;; 2239d794632Smrg -lynx*5) 2249d794632Smrg os=-lynxos5 2259d794632Smrg ;; 2269fe995a9Smrg -lynx*) 2279fe995a9Smrg os=-lynxos 2289fe995a9Smrg ;; 2299fe995a9Smrg -ptx*) 2306fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 2319fe995a9Smrg ;; 2329fe995a9Smrg -psos*) 2339fe995a9Smrg os=-psos 2349fe995a9Smrg ;; 2359fe995a9Smrg -mint | -mint[0-9]*) 2369fe995a9Smrg basic_machine=m68k-atari 2379fe995a9Smrg os=-mint 2389fe995a9Smrg ;; 2399fe995a9Smrgesac 2409fe995a9Smrg 2419fe995a9Smrg# Decode aliases for certain CPU-COMPANY combinations. 2429fe995a9Smrgcase $basic_machine in 2439fe995a9Smrg # Recognize the basic CPU types without company name. 2449fe995a9Smrg # Some are omitted here because they have special meanings below. 2459fe995a9Smrg 1750a | 580 \ 2469fe995a9Smrg | a29k \ 2479d794632Smrg | aarch64 | aarch64_be \ 2489fe995a9Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2499fe995a9Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2509fe995a9Smrg | am33_2.0 \ 2519d794632Smrg | arc | arceb \ 2529d794632Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2539d794632Smrg | avr | avr32 \ 2546fbef84aSmrg | ba \ 2559d794632Smrg | be32 | be64 \ 2569fe995a9Smrg | bfin \ 257e8ac26b0Smrg | c4x | c8051 | clipper \ 2589fe995a9Smrg | d10v | d30v | dlx | dsp16xx \ 2596fbef84aSmrg | e2k | epiphany \ 2606fbef84aSmrg | fido | fr30 | frv | ft32 \ 2619fe995a9Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2629d794632Smrg | hexagon \ 2636fbef84aSmrg | i370 | i860 | i960 | ia16 | ia64 \ 2649fe995a9Smrg | ip2k | iq2000 \ 265e8ac26b0Smrg | k1om \ 2669d794632Smrg | le32 | le64 \ 267b62cc08cSmrg | lm32 \ 2689fe995a9Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2699d794632Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2709fe995a9Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2719fe995a9Smrg | mips16 \ 2729fe995a9Smrg | mips64 | mips64el \ 273b62cc08cSmrg | mips64octeon | mips64octeonel \ 2749fe995a9Smrg | mips64orion | mips64orionel \ 275b62cc08cSmrg | mips64r5900 | mips64r5900el \ 276b62cc08cSmrg | mips64vr | mips64vrel \ 2779fe995a9Smrg | mips64vr4100 | mips64vr4100el \ 2789fe995a9Smrg | mips64vr4300 | mips64vr4300el \ 2799fe995a9Smrg | mips64vr5000 | mips64vr5000el \ 2809fe995a9Smrg | mips64vr5900 | mips64vr5900el \ 2819fe995a9Smrg | mipsisa32 | mipsisa32el \ 2829fe995a9Smrg | mipsisa32r2 | mipsisa32r2el \ 283e8ac26b0Smrg | mipsisa32r6 | mipsisa32r6el \ 2849fe995a9Smrg | mipsisa64 | mipsisa64el \ 2859fe995a9Smrg | mipsisa64r2 | mipsisa64r2el \ 286e8ac26b0Smrg | mipsisa64r6 | mipsisa64r6el \ 2879fe995a9Smrg | mipsisa64sb1 | mipsisa64sb1el \ 2889fe995a9Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 2899d794632Smrg | mipsr5900 | mipsr5900el \ 2909fe995a9Smrg | mipstx39 | mipstx39el \ 2919fe995a9Smrg | mn10200 | mn10300 \ 292b62cc08cSmrg | moxie \ 2939fe995a9Smrg | mt \ 2949fe995a9Smrg | msp430 \ 2959d794632Smrg | nds32 | nds32le | nds32be \ 2969d794632Smrg | nios | nios2 | nios2eb | nios2el \ 2979fe995a9Smrg | ns16k | ns32k \ 298e8ac26b0Smrg | open8 | or1k | or1knd | or32 \ 2996fbef84aSmrg | pdp10 | pj | pjl \ 3009d794632Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3016fbef84aSmrg | pru \ 3029fe995a9Smrg | pyramid \ 303e8ac26b0Smrg | riscv32 | riscv64 \ 3049d794632Smrg | rl78 | rx \ 3059fe995a9Smrg | score \ 3066fbef84aSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3079fe995a9Smrg | sh64 | sh64le \ 3089fe995a9Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3099fe995a9Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3109d794632Smrg | spu \ 3119d794632Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312b62cc08cSmrg | ubicom32 \ 3139d794632Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 314e8ac26b0Smrg | visium \ 3156fbef84aSmrg | wasm32 \ 3169d794632Smrg | x86 | xc16x | xstormy16 | xtensa \ 317b62cc08cSmrg | z8k | z80) 3189fe995a9Smrg basic_machine=$basic_machine-unknown 3199fe995a9Smrg ;; 3209d794632Smrg c54x) 3219d794632Smrg basic_machine=tic54x-unknown 3229d794632Smrg ;; 3239d794632Smrg c55x) 3249d794632Smrg basic_machine=tic55x-unknown 3259d794632Smrg ;; 3269d794632Smrg c6x) 3279d794632Smrg basic_machine=tic6x-unknown 3289d794632Smrg ;; 329e8ac26b0Smrg leon|leon[3-9]) 330e8ac26b0Smrg basic_machine=sparc-$basic_machine 331e8ac26b0Smrg ;; 332e8ac26b0Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3339fe995a9Smrg basic_machine=$basic_machine-unknown 3349fe995a9Smrg os=-none 3359fe995a9Smrg ;; 3366fbef84aSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 3379fe995a9Smrg ;; 3389fe995a9Smrg ms1) 3399fe995a9Smrg basic_machine=mt-unknown 3409fe995a9Smrg ;; 3419fe995a9Smrg 3429d794632Smrg strongarm | thumb | xscale) 3439d794632Smrg basic_machine=arm-unknown 3449d794632Smrg ;; 3459d794632Smrg xgate) 3469d794632Smrg basic_machine=$basic_machine-unknown 3479d794632Smrg os=-none 3489d794632Smrg ;; 3499d794632Smrg xscaleeb) 3509d794632Smrg basic_machine=armeb-unknown 3519d794632Smrg ;; 3529d794632Smrg 3539d794632Smrg xscaleel) 3549d794632Smrg basic_machine=armel-unknown 3559d794632Smrg ;; 3569d794632Smrg 3579fe995a9Smrg # We use `pc' rather than `unknown' 3589fe995a9Smrg # because (1) that's what they normally are, and 3599fe995a9Smrg # (2) the word "unknown" tends to confuse beginning users. 3609fe995a9Smrg i*86 | x86_64) 3619fe995a9Smrg basic_machine=$basic_machine-pc 3629fe995a9Smrg ;; 3639fe995a9Smrg # Object if more than one company name word. 3649fe995a9Smrg *-*-*) 3656fbef84aSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 3669fe995a9Smrg exit 1 3679fe995a9Smrg ;; 3689fe995a9Smrg # Recognize the basic CPU types with company name. 3699fe995a9Smrg 580-* \ 3709fe995a9Smrg | a29k-* \ 3719d794632Smrg | aarch64-* | aarch64_be-* \ 3729fe995a9Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3739fe995a9Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3749d794632Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3759fe995a9Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3769fe995a9Smrg | avr-* | avr32-* \ 3776fbef84aSmrg | ba-* \ 3789d794632Smrg | be32-* | be64-* \ 3799fe995a9Smrg | bfin-* | bs2000-* \ 3809d794632Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 381e8ac26b0Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 3829fe995a9Smrg | d10v-* | d30v-* | dlx-* \ 3836fbef84aSmrg | e2k-* | elxsi-* \ 384b62cc08cSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3859fe995a9Smrg | h8300-* | h8500-* \ 3869fe995a9Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3879d794632Smrg | hexagon-* \ 3886fbef84aSmrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3899fe995a9Smrg | ip2k-* | iq2000-* \ 390e8ac26b0Smrg | k1om-* \ 3919d794632Smrg | le32-* | le64-* \ 392b62cc08cSmrg | lm32-* \ 3939fe995a9Smrg | m32c-* | m32r-* | m32rle-* \ 3949fe995a9Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3959d794632Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3969d794632Smrg | microblaze-* | microblazeel-* \ 3979fe995a9Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3989fe995a9Smrg | mips16-* \ 3999fe995a9Smrg | mips64-* | mips64el-* \ 400b62cc08cSmrg | mips64octeon-* | mips64octeonel-* \ 4019fe995a9Smrg | mips64orion-* | mips64orionel-* \ 402b62cc08cSmrg | mips64r5900-* | mips64r5900el-* \ 403b62cc08cSmrg | mips64vr-* | mips64vrel-* \ 4049fe995a9Smrg | mips64vr4100-* | mips64vr4100el-* \ 4059fe995a9Smrg | mips64vr4300-* | mips64vr4300el-* \ 4069fe995a9Smrg | mips64vr5000-* | mips64vr5000el-* \ 4079fe995a9Smrg | mips64vr5900-* | mips64vr5900el-* \ 4089fe995a9Smrg | mipsisa32-* | mipsisa32el-* \ 4099fe995a9Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 410e8ac26b0Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 4119fe995a9Smrg | mipsisa64-* | mipsisa64el-* \ 4129fe995a9Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 413e8ac26b0Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 4149fe995a9Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 4159fe995a9Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4169d794632Smrg | mipsr5900-* | mipsr5900el-* \ 4179fe995a9Smrg | mipstx39-* | mipstx39el-* \ 4189fe995a9Smrg | mmix-* \ 4199fe995a9Smrg | mt-* \ 4209fe995a9Smrg | msp430-* \ 4219d794632Smrg | nds32-* | nds32le-* | nds32be-* \ 4229d794632Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4239fe995a9Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4249d794632Smrg | open8-* \ 425e8ac26b0Smrg | or1k*-* \ 4269fe995a9Smrg | orion-* \ 4279fe995a9Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4289d794632Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4296fbef84aSmrg | pru-* \ 4309fe995a9Smrg | pyramid-* \ 4316fbef84aSmrg | riscv32-* | riscv64-* \ 4329d794632Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 433b62cc08cSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4349fe995a9Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4359fe995a9Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4369fe995a9Smrg | sparclite-* \ 4376fbef84aSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4389d794632Smrg | tahoe-* \ 4399d794632Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4409d794632Smrg | tile*-* \ 4419fe995a9Smrg | tron-* \ 442b62cc08cSmrg | ubicom32-* \ 4439d794632Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4449d794632Smrg | vax-* \ 445e8ac26b0Smrg | visium-* \ 4466fbef84aSmrg | wasm32-* \ 4479fe995a9Smrg | we32k-* \ 4489d794632Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449b62cc08cSmrg | xstormy16-* | xtensa*-* \ 4509fe995a9Smrg | ymp-* \ 451b62cc08cSmrg | z8k-* | z80-*) 452b62cc08cSmrg ;; 453b62cc08cSmrg # Recognize the basic CPU types without company name, with glob match. 454b62cc08cSmrg xtensa*) 455b62cc08cSmrg basic_machine=$basic_machine-unknown 4569fe995a9Smrg ;; 4579fe995a9Smrg # Recognize the various machine names and aliases which stand 4589fe995a9Smrg # for a CPU type and a company and sometimes even an OS. 4599fe995a9Smrg 386bsd) 4606fbef84aSmrg basic_machine=i386-pc 4619fe995a9Smrg os=-bsd 4629fe995a9Smrg ;; 4639fe995a9Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4649fe995a9Smrg basic_machine=m68000-att 4659fe995a9Smrg ;; 4669fe995a9Smrg 3b*) 4679fe995a9Smrg basic_machine=we32k-att 4689fe995a9Smrg ;; 4699fe995a9Smrg a29khif) 4709fe995a9Smrg basic_machine=a29k-amd 4719fe995a9Smrg os=-udi 4729fe995a9Smrg ;; 4739d794632Smrg abacus) 4749fe995a9Smrg basic_machine=abacus-unknown 4759fe995a9Smrg ;; 4769fe995a9Smrg adobe68k) 4779fe995a9Smrg basic_machine=m68010-adobe 4789fe995a9Smrg os=-scout 4799fe995a9Smrg ;; 4809fe995a9Smrg alliant | fx80) 4819fe995a9Smrg basic_machine=fx80-alliant 4829fe995a9Smrg ;; 4839fe995a9Smrg altos | altos3068) 4849fe995a9Smrg basic_machine=m68k-altos 4859fe995a9Smrg ;; 4869fe995a9Smrg am29k) 4879fe995a9Smrg basic_machine=a29k-none 4889fe995a9Smrg os=-bsd 4899fe995a9Smrg ;; 4909fe995a9Smrg amd64) 4919fe995a9Smrg basic_machine=x86_64-pc 4929fe995a9Smrg ;; 4939fe995a9Smrg amd64-*) 4946fbef84aSmrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4959fe995a9Smrg ;; 4969fe995a9Smrg amdahl) 4979fe995a9Smrg basic_machine=580-amdahl 4989fe995a9Smrg os=-sysv 4999fe995a9Smrg ;; 5009fe995a9Smrg amiga | amiga-*) 5019fe995a9Smrg basic_machine=m68k-unknown 5029fe995a9Smrg ;; 5039fe995a9Smrg amigaos | amigados) 5049fe995a9Smrg basic_machine=m68k-unknown 5059fe995a9Smrg os=-amigaos 5069fe995a9Smrg ;; 5079fe995a9Smrg amigaunix | amix) 5089fe995a9Smrg basic_machine=m68k-unknown 5099fe995a9Smrg os=-sysv4 5109fe995a9Smrg ;; 5119fe995a9Smrg apollo68) 5129fe995a9Smrg basic_machine=m68k-apollo 5139fe995a9Smrg os=-sysv 5149fe995a9Smrg ;; 5159fe995a9Smrg apollo68bsd) 5169fe995a9Smrg basic_machine=m68k-apollo 5179fe995a9Smrg os=-bsd 5189fe995a9Smrg ;; 519b62cc08cSmrg aros) 520b62cc08cSmrg basic_machine=i386-pc 521b62cc08cSmrg os=-aros 522b62cc08cSmrg ;; 5236fbef84aSmrg asmjs) 5246fbef84aSmrg basic_machine=asmjs-unknown 5256fbef84aSmrg ;; 5269fe995a9Smrg aux) 5279fe995a9Smrg basic_machine=m68k-apple 5289fe995a9Smrg os=-aux 5299fe995a9Smrg ;; 5309fe995a9Smrg balance) 5319fe995a9Smrg basic_machine=ns32k-sequent 5329fe995a9Smrg os=-dynix 5339fe995a9Smrg ;; 534b62cc08cSmrg blackfin) 535b62cc08cSmrg basic_machine=bfin-unknown 536b62cc08cSmrg os=-linux 537b62cc08cSmrg ;; 538b62cc08cSmrg blackfin-*) 5396fbef84aSmrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540b62cc08cSmrg os=-linux 541b62cc08cSmrg ;; 542b62cc08cSmrg bluegene*) 543b62cc08cSmrg basic_machine=powerpc-ibm 544b62cc08cSmrg os=-cnk 545b62cc08cSmrg ;; 5469d794632Smrg c54x-*) 5476fbef84aSmrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5489d794632Smrg ;; 5499d794632Smrg c55x-*) 5506fbef84aSmrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5519d794632Smrg ;; 5529d794632Smrg c6x-*) 5536fbef84aSmrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5549d794632Smrg ;; 5559fe995a9Smrg c90) 5569fe995a9Smrg basic_machine=c90-cray 5579fe995a9Smrg os=-unicos 5589fe995a9Smrg ;; 5599d794632Smrg cegcc) 560b62cc08cSmrg basic_machine=arm-unknown 561b62cc08cSmrg os=-cegcc 562b62cc08cSmrg ;; 5639fe995a9Smrg convex-c1) 5649fe995a9Smrg basic_machine=c1-convex 5659fe995a9Smrg os=-bsd 5669fe995a9Smrg ;; 5679fe995a9Smrg convex-c2) 5689fe995a9Smrg basic_machine=c2-convex 5699fe995a9Smrg os=-bsd 5709fe995a9Smrg ;; 5719fe995a9Smrg convex-c32) 5729fe995a9Smrg basic_machine=c32-convex 5739fe995a9Smrg os=-bsd 5749fe995a9Smrg ;; 5759fe995a9Smrg convex-c34) 5769fe995a9Smrg basic_machine=c34-convex 5779fe995a9Smrg os=-bsd 5789fe995a9Smrg ;; 5799fe995a9Smrg convex-c38) 5809fe995a9Smrg basic_machine=c38-convex 5819fe995a9Smrg os=-bsd 5829fe995a9Smrg ;; 5839fe995a9Smrg cray | j90) 5849fe995a9Smrg basic_machine=j90-cray 5859fe995a9Smrg os=-unicos 5869fe995a9Smrg ;; 5879fe995a9Smrg craynv) 5889fe995a9Smrg basic_machine=craynv-cray 5899fe995a9Smrg os=-unicosmp 5909fe995a9Smrg ;; 5919d794632Smrg cr16 | cr16-*) 592b62cc08cSmrg basic_machine=cr16-unknown 5939fe995a9Smrg os=-elf 5949fe995a9Smrg ;; 5959fe995a9Smrg crds | unos) 5969fe995a9Smrg basic_machine=m68k-crds 5979fe995a9Smrg ;; 5989fe995a9Smrg crisv32 | crisv32-* | etraxfs*) 5999fe995a9Smrg basic_machine=crisv32-axis 6009fe995a9Smrg ;; 6019fe995a9Smrg cris | cris-* | etrax*) 6029fe995a9Smrg basic_machine=cris-axis 6039fe995a9Smrg ;; 6049fe995a9Smrg crx) 6059fe995a9Smrg basic_machine=crx-unknown 6069fe995a9Smrg os=-elf 6079fe995a9Smrg ;; 6089fe995a9Smrg da30 | da30-*) 6099fe995a9Smrg basic_machine=m68k-da30 6109fe995a9Smrg ;; 6119fe995a9Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6129fe995a9Smrg basic_machine=mips-dec 6139fe995a9Smrg ;; 6149fe995a9Smrg decsystem10* | dec10*) 6159fe995a9Smrg basic_machine=pdp10-dec 6169fe995a9Smrg os=-tops10 6179fe995a9Smrg ;; 6189fe995a9Smrg decsystem20* | dec20*) 6199fe995a9Smrg basic_machine=pdp10-dec 6209fe995a9Smrg os=-tops20 6219fe995a9Smrg ;; 6229fe995a9Smrg delta | 3300 | motorola-3300 | motorola-delta \ 6239fe995a9Smrg | 3300-motorola | delta-motorola) 6249fe995a9Smrg basic_machine=m68k-motorola 6259fe995a9Smrg ;; 6269fe995a9Smrg delta88) 6279fe995a9Smrg basic_machine=m88k-motorola 6289fe995a9Smrg os=-sysv3 6299fe995a9Smrg ;; 630b62cc08cSmrg dicos) 631b62cc08cSmrg basic_machine=i686-pc 632b62cc08cSmrg os=-dicos 633b62cc08cSmrg ;; 6349fe995a9Smrg djgpp) 6359fe995a9Smrg basic_machine=i586-pc 6369fe995a9Smrg os=-msdosdjgpp 6379fe995a9Smrg ;; 6389fe995a9Smrg dpx20 | dpx20-*) 6399fe995a9Smrg basic_machine=rs6000-bull 6409fe995a9Smrg os=-bosx 6419fe995a9Smrg ;; 6426fbef84aSmrg dpx2*) 6439fe995a9Smrg basic_machine=m68k-bull 6449fe995a9Smrg os=-sysv3 6459fe995a9Smrg ;; 6466fbef84aSmrg e500v[12]) 6476fbef84aSmrg basic_machine=powerpc-unknown 6486fbef84aSmrg os=$os"spe" 6496fbef84aSmrg ;; 6506fbef84aSmrg e500v[12]-*) 6516fbef84aSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6526fbef84aSmrg os=$os"spe" 6536fbef84aSmrg ;; 6549fe995a9Smrg ebmon29k) 6559fe995a9Smrg basic_machine=a29k-amd 6569fe995a9Smrg os=-ebmon 6579fe995a9Smrg ;; 6589fe995a9Smrg elxsi) 6599fe995a9Smrg basic_machine=elxsi-elxsi 6609fe995a9Smrg os=-bsd 6619fe995a9Smrg ;; 6629fe995a9Smrg encore | umax | mmax) 6639fe995a9Smrg basic_machine=ns32k-encore 6649fe995a9Smrg ;; 6659fe995a9Smrg es1800 | OSE68k | ose68k | ose | OSE) 6669fe995a9Smrg basic_machine=m68k-ericsson 6679fe995a9Smrg os=-ose 6689fe995a9Smrg ;; 6699fe995a9Smrg fx2800) 6709fe995a9Smrg basic_machine=i860-alliant 6719fe995a9Smrg ;; 6729fe995a9Smrg genix) 6739fe995a9Smrg basic_machine=ns32k-ns 6749fe995a9Smrg ;; 6759fe995a9Smrg gmicro) 6769fe995a9Smrg basic_machine=tron-gmicro 6779fe995a9Smrg os=-sysv 6789fe995a9Smrg ;; 6799fe995a9Smrg go32) 6809fe995a9Smrg basic_machine=i386-pc 6819fe995a9Smrg os=-go32 6829fe995a9Smrg ;; 6839fe995a9Smrg h3050r* | hiux*) 6849fe995a9Smrg basic_machine=hppa1.1-hitachi 6859fe995a9Smrg os=-hiuxwe2 6869fe995a9Smrg ;; 6879fe995a9Smrg h8300hms) 6889fe995a9Smrg basic_machine=h8300-hitachi 6899fe995a9Smrg os=-hms 6909fe995a9Smrg ;; 6919fe995a9Smrg h8300xray) 6929fe995a9Smrg basic_machine=h8300-hitachi 6939fe995a9Smrg os=-xray 6949fe995a9Smrg ;; 6959fe995a9Smrg h8500hms) 6969fe995a9Smrg basic_machine=h8500-hitachi 6979fe995a9Smrg os=-hms 6989fe995a9Smrg ;; 6999fe995a9Smrg harris) 7009fe995a9Smrg basic_machine=m88k-harris 7019fe995a9Smrg os=-sysv3 7029fe995a9Smrg ;; 7039fe995a9Smrg hp300-*) 7049fe995a9Smrg basic_machine=m68k-hp 7059fe995a9Smrg ;; 7069fe995a9Smrg hp300bsd) 7079fe995a9Smrg basic_machine=m68k-hp 7089fe995a9Smrg os=-bsd 7099fe995a9Smrg ;; 7109fe995a9Smrg hp300hpux) 7119fe995a9Smrg basic_machine=m68k-hp 7129fe995a9Smrg os=-hpux 7139fe995a9Smrg ;; 7149fe995a9Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7159fe995a9Smrg basic_machine=hppa1.0-hp 7169fe995a9Smrg ;; 7179fe995a9Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 7189fe995a9Smrg basic_machine=m68000-hp 7199fe995a9Smrg ;; 7209fe995a9Smrg hp9k3[2-9][0-9]) 7219fe995a9Smrg basic_machine=m68k-hp 7229fe995a9Smrg ;; 7239fe995a9Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7249fe995a9Smrg basic_machine=hppa1.0-hp 7259fe995a9Smrg ;; 7269fe995a9Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7279fe995a9Smrg basic_machine=hppa1.1-hp 7289fe995a9Smrg ;; 7299fe995a9Smrg hp9k78[0-9] | hp78[0-9]) 7309fe995a9Smrg # FIXME: really hppa2.0-hp 7319fe995a9Smrg basic_machine=hppa1.1-hp 7329fe995a9Smrg ;; 7339fe995a9Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7349fe995a9Smrg # FIXME: really hppa2.0-hp 7359fe995a9Smrg basic_machine=hppa1.1-hp 7369fe995a9Smrg ;; 7379fe995a9Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7389fe995a9Smrg basic_machine=hppa1.1-hp 7399fe995a9Smrg ;; 7409fe995a9Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7419fe995a9Smrg basic_machine=hppa1.0-hp 7429fe995a9Smrg ;; 7439fe995a9Smrg hppaosf) 7449fe995a9Smrg basic_machine=hppa1.1-hp 7459fe995a9Smrg os=-osf 7469fe995a9Smrg ;; 7479fe995a9Smrg hppro) 7489fe995a9Smrg basic_machine=hppa1.1-hp 7499fe995a9Smrg os=-proelf 7509fe995a9Smrg ;; 7519fe995a9Smrg i370-ibm* | ibm*) 7529fe995a9Smrg basic_machine=i370-ibm 7539fe995a9Smrg ;; 7549fe995a9Smrg i*86v32) 7556fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7569fe995a9Smrg os=-sysv32 7579fe995a9Smrg ;; 7589fe995a9Smrg i*86v4*) 7596fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7609fe995a9Smrg os=-sysv4 7619fe995a9Smrg ;; 7629fe995a9Smrg i*86v) 7636fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7649fe995a9Smrg os=-sysv 7659fe995a9Smrg ;; 7669fe995a9Smrg i*86sol2) 7676fbef84aSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7689fe995a9Smrg os=-solaris2 7699fe995a9Smrg ;; 7709fe995a9Smrg i386mach) 7719fe995a9Smrg basic_machine=i386-mach 7729fe995a9Smrg os=-mach 7739fe995a9Smrg ;; 7746fbef84aSmrg vsta) 7759fe995a9Smrg basic_machine=i386-unknown 7769fe995a9Smrg os=-vsta 7779fe995a9Smrg ;; 7789fe995a9Smrg iris | iris4d) 7799fe995a9Smrg basic_machine=mips-sgi 7809fe995a9Smrg case $os in 7819fe995a9Smrg -irix*) 7829fe995a9Smrg ;; 7839fe995a9Smrg *) 7849fe995a9Smrg os=-irix4 7859fe995a9Smrg ;; 7869fe995a9Smrg esac 7879fe995a9Smrg ;; 7889fe995a9Smrg isi68 | isi) 7899fe995a9Smrg basic_machine=m68k-isi 7909fe995a9Smrg os=-sysv 7919fe995a9Smrg ;; 792e8ac26b0Smrg leon-*|leon[3-9]-*) 7936fbef84aSmrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 794e8ac26b0Smrg ;; 795b62cc08cSmrg m68knommu) 796b62cc08cSmrg basic_machine=m68k-unknown 797b62cc08cSmrg os=-linux 798b62cc08cSmrg ;; 799b62cc08cSmrg m68knommu-*) 8006fbef84aSmrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801b62cc08cSmrg os=-linux 802b62cc08cSmrg ;; 8039fe995a9Smrg magnum | m3230) 8049fe995a9Smrg basic_machine=mips-mips 8059fe995a9Smrg os=-sysv 8069fe995a9Smrg ;; 8079fe995a9Smrg merlin) 8089fe995a9Smrg basic_machine=ns32k-utek 8099fe995a9Smrg os=-sysv 8109fe995a9Smrg ;; 8119d794632Smrg microblaze*) 812b62cc08cSmrg basic_machine=microblaze-xilinx 813b62cc08cSmrg ;; 8149d794632Smrg mingw64) 8159d794632Smrg basic_machine=x86_64-pc 8169d794632Smrg os=-mingw64 8179d794632Smrg ;; 8189fe995a9Smrg mingw32) 819e8ac26b0Smrg basic_machine=i686-pc 8209fe995a9Smrg os=-mingw32 8219fe995a9Smrg ;; 822b62cc08cSmrg mingw32ce) 823b62cc08cSmrg basic_machine=arm-unknown 824b62cc08cSmrg os=-mingw32ce 825b62cc08cSmrg ;; 8269fe995a9Smrg miniframe) 8279fe995a9Smrg basic_machine=m68000-convergent 8289fe995a9Smrg ;; 8299fe995a9Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8309fe995a9Smrg basic_machine=m68k-atari 8319fe995a9Smrg os=-mint 8329fe995a9Smrg ;; 8339fe995a9Smrg mips3*-*) 8346fbef84aSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 8359fe995a9Smrg ;; 8369fe995a9Smrg mips3*) 8376fbef84aSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 8389fe995a9Smrg ;; 8399fe995a9Smrg monitor) 8409fe995a9Smrg basic_machine=m68k-rom68k 8419fe995a9Smrg os=-coff 8429fe995a9Smrg ;; 8439fe995a9Smrg morphos) 8449fe995a9Smrg basic_machine=powerpc-unknown 8459fe995a9Smrg os=-morphos 8469fe995a9Smrg ;; 847e8ac26b0Smrg moxiebox) 848e8ac26b0Smrg basic_machine=moxie-unknown 849e8ac26b0Smrg os=-moxiebox 850e8ac26b0Smrg ;; 8519fe995a9Smrg msdos) 8529fe995a9Smrg basic_machine=i386-pc 8539fe995a9Smrg os=-msdos 8549fe995a9Smrg ;; 8559fe995a9Smrg ms1-*) 8566fbef84aSmrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8579fe995a9Smrg ;; 8589d794632Smrg msys) 859e8ac26b0Smrg basic_machine=i686-pc 8609d794632Smrg os=-msys 8619d794632Smrg ;; 8629fe995a9Smrg mvs) 8639fe995a9Smrg basic_machine=i370-ibm 8649fe995a9Smrg os=-mvs 8659fe995a9Smrg ;; 8669d794632Smrg nacl) 8679d794632Smrg basic_machine=le32-unknown 8689d794632Smrg os=-nacl 8699d794632Smrg ;; 8709fe995a9Smrg ncr3000) 8719fe995a9Smrg basic_machine=i486-ncr 8729fe995a9Smrg os=-sysv4 8739fe995a9Smrg ;; 8749fe995a9Smrg netbsd386) 8759fe995a9Smrg basic_machine=i386-unknown 8769fe995a9Smrg os=-netbsd 8779fe995a9Smrg ;; 8789fe995a9Smrg netwinder) 8799fe995a9Smrg basic_machine=armv4l-rebel 8809fe995a9Smrg os=-linux 8819fe995a9Smrg ;; 8829fe995a9Smrg news | news700 | news800 | news900) 8839fe995a9Smrg basic_machine=m68k-sony 8849fe995a9Smrg os=-newsos 8859fe995a9Smrg ;; 8869fe995a9Smrg news1000) 8879fe995a9Smrg basic_machine=m68030-sony 8889fe995a9Smrg os=-newsos 8899fe995a9Smrg ;; 8909fe995a9Smrg news-3600 | risc-news) 8919fe995a9Smrg basic_machine=mips-sony 8929fe995a9Smrg os=-newsos 8939fe995a9Smrg ;; 8949fe995a9Smrg necv70) 8959fe995a9Smrg basic_machine=v70-nec 8969fe995a9Smrg os=-sysv 8979fe995a9Smrg ;; 8986fbef84aSmrg next | m*-next) 8999fe995a9Smrg basic_machine=m68k-next 9009fe995a9Smrg case $os in 9019fe995a9Smrg -nextstep* ) 9029fe995a9Smrg ;; 9039fe995a9Smrg -ns2*) 9049fe995a9Smrg os=-nextstep2 9059fe995a9Smrg ;; 9069fe995a9Smrg *) 9079fe995a9Smrg os=-nextstep3 9089fe995a9Smrg ;; 9099fe995a9Smrg esac 9109fe995a9Smrg ;; 9119fe995a9Smrg nh3000) 9129fe995a9Smrg basic_machine=m68k-harris 9139fe995a9Smrg os=-cxux 9149fe995a9Smrg ;; 9159fe995a9Smrg nh[45]000) 9169fe995a9Smrg basic_machine=m88k-harris 9179fe995a9Smrg os=-cxux 9189fe995a9Smrg ;; 9199fe995a9Smrg nindy960) 9209fe995a9Smrg basic_machine=i960-intel 9219fe995a9Smrg os=-nindy 9229fe995a9Smrg ;; 9239fe995a9Smrg mon960) 9249fe995a9Smrg basic_machine=i960-intel 9259fe995a9Smrg os=-mon960 9269fe995a9Smrg ;; 9279fe995a9Smrg nonstopux) 9289fe995a9Smrg basic_machine=mips-compaq 9299fe995a9Smrg os=-nonstopux 9309fe995a9Smrg ;; 9319fe995a9Smrg np1) 9329fe995a9Smrg basic_machine=np1-gould 9339fe995a9Smrg ;; 9349d794632Smrg neo-tandem) 9359d794632Smrg basic_machine=neo-tandem 9369d794632Smrg ;; 9379d794632Smrg nse-tandem) 9389d794632Smrg basic_machine=nse-tandem 9399d794632Smrg ;; 9409fe995a9Smrg nsr-tandem) 9419fe995a9Smrg basic_machine=nsr-tandem 9429fe995a9Smrg ;; 9436fbef84aSmrg nsv-tandem) 9446fbef84aSmrg basic_machine=nsv-tandem 9456fbef84aSmrg ;; 9466fbef84aSmrg nsx-tandem) 9476fbef84aSmrg basic_machine=nsx-tandem 9486fbef84aSmrg ;; 9499fe995a9Smrg op50n-* | op60c-*) 9509fe995a9Smrg basic_machine=hppa1.1-oki 9519fe995a9Smrg os=-proelf 9529fe995a9Smrg ;; 9539fe995a9Smrg openrisc | openrisc-*) 9549fe995a9Smrg basic_machine=or32-unknown 9559fe995a9Smrg ;; 9569fe995a9Smrg os400) 9579fe995a9Smrg basic_machine=powerpc-ibm 9589fe995a9Smrg os=-os400 9599fe995a9Smrg ;; 9609fe995a9Smrg OSE68000 | ose68000) 9619fe995a9Smrg basic_machine=m68000-ericsson 9629fe995a9Smrg os=-ose 9639fe995a9Smrg ;; 9649fe995a9Smrg os68k) 9659fe995a9Smrg basic_machine=m68k-none 9669fe995a9Smrg os=-os68k 9679fe995a9Smrg ;; 9689fe995a9Smrg pa-hitachi) 9699fe995a9Smrg basic_machine=hppa1.1-hitachi 9709fe995a9Smrg os=-hiuxwe2 9719fe995a9Smrg ;; 9729fe995a9Smrg paragon) 9739fe995a9Smrg basic_machine=i860-intel 9749fe995a9Smrg os=-osf 9759fe995a9Smrg ;; 976b62cc08cSmrg parisc) 977b62cc08cSmrg basic_machine=hppa-unknown 978b62cc08cSmrg os=-linux 979b62cc08cSmrg ;; 980b62cc08cSmrg parisc-*) 9816fbef84aSmrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982b62cc08cSmrg os=-linux 983b62cc08cSmrg ;; 9849fe995a9Smrg pbd) 9859fe995a9Smrg basic_machine=sparc-tti 9869fe995a9Smrg ;; 9879fe995a9Smrg pbb) 9889fe995a9Smrg basic_machine=m68k-tti 9899fe995a9Smrg ;; 9909fe995a9Smrg pc532 | pc532-*) 9919fe995a9Smrg basic_machine=ns32k-pc532 9929fe995a9Smrg ;; 9939fe995a9Smrg pc98) 9949fe995a9Smrg basic_machine=i386-pc 9959fe995a9Smrg ;; 9969fe995a9Smrg pc98-*) 9976fbef84aSmrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9989fe995a9Smrg ;; 9999fe995a9Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 10009fe995a9Smrg basic_machine=i586-pc 10019fe995a9Smrg ;; 10029fe995a9Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 10039fe995a9Smrg basic_machine=i686-pc 10049fe995a9Smrg ;; 10059fe995a9Smrg pentiumii | pentium2 | pentiumiii | pentium3) 10069fe995a9Smrg basic_machine=i686-pc 10079fe995a9Smrg ;; 10089fe995a9Smrg pentium4) 10099fe995a9Smrg basic_machine=i786-pc 10109fe995a9Smrg ;; 10119fe995a9Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10126fbef84aSmrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10139fe995a9Smrg ;; 10149fe995a9Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 10156fbef84aSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10169fe995a9Smrg ;; 10179fe995a9Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10186fbef84aSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10199fe995a9Smrg ;; 10209fe995a9Smrg pentium4-*) 10216fbef84aSmrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10229fe995a9Smrg ;; 10239fe995a9Smrg pn) 10249fe995a9Smrg basic_machine=pn-gould 10259fe995a9Smrg ;; 10269fe995a9Smrg power) basic_machine=power-ibm 10279fe995a9Smrg ;; 10289d794632Smrg ppc | ppcbe) basic_machine=powerpc-unknown 10299fe995a9Smrg ;; 10309d794632Smrg ppc-* | ppcbe-*) 10316fbef84aSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10329fe995a9Smrg ;; 10336fbef84aSmrg ppcle | powerpclittle) 10349fe995a9Smrg basic_machine=powerpcle-unknown 10359fe995a9Smrg ;; 10369fe995a9Smrg ppcle-* | powerpclittle-*) 10376fbef84aSmrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10389fe995a9Smrg ;; 10399fe995a9Smrg ppc64) basic_machine=powerpc64-unknown 10409fe995a9Smrg ;; 10416fbef84aSmrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10429fe995a9Smrg ;; 10436fbef84aSmrg ppc64le | powerpc64little) 10449fe995a9Smrg basic_machine=powerpc64le-unknown 10459fe995a9Smrg ;; 10469fe995a9Smrg ppc64le-* | powerpc64little-*) 10476fbef84aSmrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10489fe995a9Smrg ;; 10499fe995a9Smrg ps2) 10509fe995a9Smrg basic_machine=i386-ibm 10519fe995a9Smrg ;; 10529fe995a9Smrg pw32) 10539fe995a9Smrg basic_machine=i586-unknown 10549fe995a9Smrg os=-pw32 10559fe995a9Smrg ;; 10569d794632Smrg rdos | rdos64) 10579d794632Smrg basic_machine=x86_64-pc 10589d794632Smrg os=-rdos 10599d794632Smrg ;; 10609d794632Smrg rdos32) 10619fe995a9Smrg basic_machine=i386-pc 10629fe995a9Smrg os=-rdos 10639fe995a9Smrg ;; 10649fe995a9Smrg rom68k) 10659fe995a9Smrg basic_machine=m68k-rom68k 10669fe995a9Smrg os=-coff 10679fe995a9Smrg ;; 10689fe995a9Smrg rm[46]00) 10699fe995a9Smrg basic_machine=mips-siemens 10709fe995a9Smrg ;; 10719fe995a9Smrg rtpc | rtpc-*) 10729fe995a9Smrg basic_machine=romp-ibm 10739fe995a9Smrg ;; 10749fe995a9Smrg s390 | s390-*) 10759fe995a9Smrg basic_machine=s390-ibm 10769fe995a9Smrg ;; 10779fe995a9Smrg s390x | s390x-*) 10789fe995a9Smrg basic_machine=s390x-ibm 10799fe995a9Smrg ;; 10809fe995a9Smrg sa29200) 10819fe995a9Smrg basic_machine=a29k-amd 10829fe995a9Smrg os=-udi 10839fe995a9Smrg ;; 10849fe995a9Smrg sb1) 10859fe995a9Smrg basic_machine=mipsisa64sb1-unknown 10869fe995a9Smrg ;; 10879fe995a9Smrg sb1el) 10889fe995a9Smrg basic_machine=mipsisa64sb1el-unknown 10899fe995a9Smrg ;; 10909fe995a9Smrg sde) 10919fe995a9Smrg basic_machine=mipsisa32-sde 10929fe995a9Smrg os=-elf 10939fe995a9Smrg ;; 10949fe995a9Smrg sei) 10959fe995a9Smrg basic_machine=mips-sei 10969fe995a9Smrg os=-seiux 10979fe995a9Smrg ;; 10989fe995a9Smrg sequent) 10999fe995a9Smrg basic_machine=i386-sequent 11009fe995a9Smrg ;; 1101b62cc08cSmrg sh5el) 1102b62cc08cSmrg basic_machine=sh5le-unknown 1103b62cc08cSmrg ;; 11046fbef84aSmrg simso-wrs) 11059fe995a9Smrg basic_machine=sparclite-wrs 11069fe995a9Smrg os=-vxworks 11079fe995a9Smrg ;; 11089fe995a9Smrg sps7) 11099fe995a9Smrg basic_machine=m68k-bull 11109fe995a9Smrg os=-sysv2 11119fe995a9Smrg ;; 11129fe995a9Smrg spur) 11139fe995a9Smrg basic_machine=spur-unknown 11149fe995a9Smrg ;; 11159fe995a9Smrg st2000) 11169fe995a9Smrg basic_machine=m68k-tandem 11179fe995a9Smrg ;; 11189fe995a9Smrg stratus) 11199fe995a9Smrg basic_machine=i860-stratus 11209fe995a9Smrg os=-sysv4 11219fe995a9Smrg ;; 11229d794632Smrg strongarm-* | thumb-*) 11236fbef84aSmrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11249d794632Smrg ;; 11259fe995a9Smrg sun2) 11269fe995a9Smrg basic_machine=m68000-sun 11279fe995a9Smrg ;; 11289fe995a9Smrg sun2os3) 11299fe995a9Smrg basic_machine=m68000-sun 11309fe995a9Smrg os=-sunos3 11319fe995a9Smrg ;; 11329fe995a9Smrg sun2os4) 11339fe995a9Smrg basic_machine=m68000-sun 11349fe995a9Smrg os=-sunos4 11359fe995a9Smrg ;; 11369fe995a9Smrg sun3os3) 11379fe995a9Smrg basic_machine=m68k-sun 11389fe995a9Smrg os=-sunos3 11399fe995a9Smrg ;; 11409fe995a9Smrg sun3os4) 11419fe995a9Smrg basic_machine=m68k-sun 11429fe995a9Smrg os=-sunos4 11439fe995a9Smrg ;; 11449fe995a9Smrg sun4os3) 11459fe995a9Smrg basic_machine=sparc-sun 11469fe995a9Smrg os=-sunos3 11479fe995a9Smrg ;; 11489fe995a9Smrg sun4os4) 11499fe995a9Smrg basic_machine=sparc-sun 11509fe995a9Smrg os=-sunos4 11519fe995a9Smrg ;; 11529fe995a9Smrg sun4sol2) 11539fe995a9Smrg basic_machine=sparc-sun 11549fe995a9Smrg os=-solaris2 11559fe995a9Smrg ;; 11569fe995a9Smrg sun3 | sun3-*) 11579fe995a9Smrg basic_machine=m68k-sun 11589fe995a9Smrg ;; 11599fe995a9Smrg sun4) 11609fe995a9Smrg basic_machine=sparc-sun 11619fe995a9Smrg ;; 11629fe995a9Smrg sun386 | sun386i | roadrunner) 11639fe995a9Smrg basic_machine=i386-sun 11649fe995a9Smrg ;; 11659fe995a9Smrg sv1) 11669fe995a9Smrg basic_machine=sv1-cray 11679fe995a9Smrg os=-unicos 11689fe995a9Smrg ;; 11699fe995a9Smrg symmetry) 11709fe995a9Smrg basic_machine=i386-sequent 11719fe995a9Smrg os=-dynix 11729fe995a9Smrg ;; 11739fe995a9Smrg t3e) 11749fe995a9Smrg basic_machine=alphaev5-cray 11759fe995a9Smrg os=-unicos 11769fe995a9Smrg ;; 11779fe995a9Smrg t90) 11789fe995a9Smrg basic_machine=t90-cray 11799fe995a9Smrg os=-unicos 11809fe995a9Smrg ;; 1181b62cc08cSmrg tile*) 11829d794632Smrg basic_machine=$basic_machine-unknown 1183b62cc08cSmrg os=-linux-gnu 11849fe995a9Smrg ;; 11859fe995a9Smrg tx39) 11869fe995a9Smrg basic_machine=mipstx39-unknown 11879fe995a9Smrg ;; 11889fe995a9Smrg tx39el) 11899fe995a9Smrg basic_machine=mipstx39el-unknown 11909fe995a9Smrg ;; 11919fe995a9Smrg toad1) 11929fe995a9Smrg basic_machine=pdp10-xkl 11939fe995a9Smrg os=-tops20 11949fe995a9Smrg ;; 11959fe995a9Smrg tower | tower-32) 11969fe995a9Smrg basic_machine=m68k-ncr 11979fe995a9Smrg ;; 11989fe995a9Smrg tpf) 11999fe995a9Smrg basic_machine=s390x-ibm 12009fe995a9Smrg os=-tpf 12019fe995a9Smrg ;; 12029fe995a9Smrg udi29k) 12039fe995a9Smrg basic_machine=a29k-amd 12049fe995a9Smrg os=-udi 12059fe995a9Smrg ;; 12069fe995a9Smrg ultra3) 12079fe995a9Smrg basic_machine=a29k-nyu 12089fe995a9Smrg os=-sym1 12099fe995a9Smrg ;; 12109fe995a9Smrg v810 | necv810) 12119fe995a9Smrg basic_machine=v810-nec 12129fe995a9Smrg os=-none 12139fe995a9Smrg ;; 12149fe995a9Smrg vaxv) 12159fe995a9Smrg basic_machine=vax-dec 12169fe995a9Smrg os=-sysv 12179fe995a9Smrg ;; 12189fe995a9Smrg vms) 12199fe995a9Smrg basic_machine=vax-dec 12209fe995a9Smrg os=-vms 12219fe995a9Smrg ;; 12229fe995a9Smrg vpp*|vx|vx-*) 12239fe995a9Smrg basic_machine=f301-fujitsu 12249fe995a9Smrg ;; 12259fe995a9Smrg vxworks960) 12269fe995a9Smrg basic_machine=i960-wrs 12279fe995a9Smrg os=-vxworks 12289fe995a9Smrg ;; 12299fe995a9Smrg vxworks68) 12309fe995a9Smrg basic_machine=m68k-wrs 12319fe995a9Smrg os=-vxworks 12329fe995a9Smrg ;; 12339fe995a9Smrg vxworks29k) 12349fe995a9Smrg basic_machine=a29k-wrs 12359fe995a9Smrg os=-vxworks 12369fe995a9Smrg ;; 12379fe995a9Smrg w65*) 12389fe995a9Smrg basic_machine=w65-wdc 12399fe995a9Smrg os=-none 12409fe995a9Smrg ;; 12419fe995a9Smrg w89k-*) 12429fe995a9Smrg basic_machine=hppa1.1-winbond 12439fe995a9Smrg os=-proelf 12449fe995a9Smrg ;; 12456fbef84aSmrg x64) 12466fbef84aSmrg basic_machine=x86_64-pc 12476fbef84aSmrg ;; 12489fe995a9Smrg xbox) 12499fe995a9Smrg basic_machine=i686-pc 12509fe995a9Smrg os=-mingw32 12519fe995a9Smrg ;; 12529fe995a9Smrg xps | xps100) 12539fe995a9Smrg basic_machine=xps100-honeywell 12549fe995a9Smrg ;; 12559d794632Smrg xscale-* | xscalee[bl]-*) 12566fbef84aSmrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12579d794632Smrg ;; 12589fe995a9Smrg ymp) 12599fe995a9Smrg basic_machine=ymp-cray 12609fe995a9Smrg os=-unicos 12619fe995a9Smrg ;; 12629fe995a9Smrg none) 12639fe995a9Smrg basic_machine=none-none 12649fe995a9Smrg os=-none 12659fe995a9Smrg ;; 12669fe995a9Smrg 12679fe995a9Smrg# Here we handle the default manufacturer of certain CPU types. It is in 12689fe995a9Smrg# some cases the only manufacturer, in others, it is the most popular. 12699fe995a9Smrg w89k) 12709fe995a9Smrg basic_machine=hppa1.1-winbond 12719fe995a9Smrg ;; 12729fe995a9Smrg op50n) 12739fe995a9Smrg basic_machine=hppa1.1-oki 12749fe995a9Smrg ;; 12759fe995a9Smrg op60c) 12769fe995a9Smrg basic_machine=hppa1.1-oki 12779fe995a9Smrg ;; 12789fe995a9Smrg romp) 12799fe995a9Smrg basic_machine=romp-ibm 12809fe995a9Smrg ;; 12819fe995a9Smrg mmix) 12829fe995a9Smrg basic_machine=mmix-knuth 12839fe995a9Smrg ;; 12849fe995a9Smrg rs6000) 12859fe995a9Smrg basic_machine=rs6000-ibm 12869fe995a9Smrg ;; 12879fe995a9Smrg vax) 12889fe995a9Smrg basic_machine=vax-dec 12899fe995a9Smrg ;; 12909fe995a9Smrg pdp11) 12919fe995a9Smrg basic_machine=pdp11-dec 12929fe995a9Smrg ;; 12939fe995a9Smrg we32k) 12949fe995a9Smrg basic_machine=we32k-att 12959fe995a9Smrg ;; 1296b62cc08cSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12979fe995a9Smrg basic_machine=sh-unknown 12989fe995a9Smrg ;; 12999fe995a9Smrg cydra) 13009fe995a9Smrg basic_machine=cydra-cydrome 13019fe995a9Smrg ;; 13029fe995a9Smrg orion) 13039fe995a9Smrg basic_machine=orion-highlevel 13049fe995a9Smrg ;; 13059fe995a9Smrg orion105) 13069fe995a9Smrg basic_machine=clipper-highlevel 13079fe995a9Smrg ;; 13089fe995a9Smrg mac | mpw | mac-mpw) 13099fe995a9Smrg basic_machine=m68k-apple 13109fe995a9Smrg ;; 13119fe995a9Smrg pmac | pmac-mpw) 13129fe995a9Smrg basic_machine=powerpc-apple 13139fe995a9Smrg ;; 13149fe995a9Smrg *-unknown) 13159fe995a9Smrg # Make sure to match an already-canonicalized machine name. 13169fe995a9Smrg ;; 13179fe995a9Smrg *) 13186fbef84aSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 13199fe995a9Smrg exit 1 13209fe995a9Smrg ;; 13219fe995a9Smrgesac 13229fe995a9Smrg 13239fe995a9Smrg# Here we canonicalize certain aliases for manufacturers. 13249fe995a9Smrgcase $basic_machine in 13259fe995a9Smrg *-digital*) 13266fbef84aSmrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 13279fe995a9Smrg ;; 13289fe995a9Smrg *-commodore*) 13296fbef84aSmrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 13309fe995a9Smrg ;; 13319fe995a9Smrg *) 13329fe995a9Smrg ;; 13339fe995a9Smrgesac 13349fe995a9Smrg 13359fe995a9Smrg# Decode manufacturer-specific aliases for certain operating systems. 13369fe995a9Smrg 13379fe995a9Smrgif [ x"$os" != x"" ] 13389fe995a9Smrgthen 13399fe995a9Smrgcase $os in 13406fbef84aSmrg # First match some system type aliases that might get confused 13416fbef84aSmrg # with valid system types. 13429fe995a9Smrg # -solaris* is a basic system type, with this one exception. 13439d794632Smrg -auroraux) 13449d794632Smrg os=-auroraux 1345b62cc08cSmrg ;; 13469fe995a9Smrg -solaris1 | -solaris1.*) 13479fe995a9Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13489fe995a9Smrg ;; 13499fe995a9Smrg -solaris) 13509fe995a9Smrg os=-solaris2 13519fe995a9Smrg ;; 13529fe995a9Smrg -unixware*) 13539fe995a9Smrg os=-sysv4.2uw 13549fe995a9Smrg ;; 13559fe995a9Smrg -gnu/linux*) 13569fe995a9Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13579fe995a9Smrg ;; 13586fbef84aSmrg # es1800 is here to avoid being matched by es* (a different OS) 13596fbef84aSmrg -es1800*) 13606fbef84aSmrg os=-ose 13616fbef84aSmrg ;; 13626fbef84aSmrg # Now accept the basic system types. 13639fe995a9Smrg # The portable systems comes first. 13646fbef84aSmrg # Each alternative MUST end in a * to match a version number. 13659fe995a9Smrg # -sysv* is not here because it comes later, after sysvr4. 13669fe995a9Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367b62cc08cSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368b62cc08cSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13699d794632Smrg | -sym* | -kopensolaris* | -plan9* \ 13709fe995a9Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13716fbef84aSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 13729fe995a9Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13739fe995a9Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13746fbef84aSmrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13756fbef84aSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13769fe995a9Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13779fe995a9Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13789fe995a9Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13796fbef84aSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 13806fbef84aSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13819d794632Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13826fbef84aSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13839d794632Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1384e8ac26b0Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13856fbef84aSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 13869fe995a9Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13879fe995a9Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13889fe995a9Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13896fbef84aSmrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13909fe995a9Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13916fbef84aSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13926fbef84aSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13936fbef84aSmrg | -midnightbsd*) 13949fe995a9Smrg # Remember, each alternative MUST END IN *, to match a version number. 13959fe995a9Smrg ;; 13969fe995a9Smrg -qnx*) 13979fe995a9Smrg case $basic_machine in 13989fe995a9Smrg x86-* | i*86-*) 13999fe995a9Smrg ;; 14009fe995a9Smrg *) 14019fe995a9Smrg os=-nto$os 14029fe995a9Smrg ;; 14039fe995a9Smrg esac 14049fe995a9Smrg ;; 14059fe995a9Smrg -nto-qnx*) 14069fe995a9Smrg ;; 14079fe995a9Smrg -nto*) 14089fe995a9Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 14099fe995a9Smrg ;; 14106fbef84aSmrg -sim | -xray | -os68k* | -v88r* \ 14116fbef84aSmrg | -windows* | -osx | -abug | -netware* | -os9* \ 14129fe995a9Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14139fe995a9Smrg ;; 14149fe995a9Smrg -mac*) 14156fbef84aSmrg os=`echo "$os" | sed -e 's|mac|macos|'` 14169fe995a9Smrg ;; 14179fe995a9Smrg -linux-dietlibc) 14189fe995a9Smrg os=-linux-dietlibc 14199fe995a9Smrg ;; 14209fe995a9Smrg -linux*) 14219fe995a9Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 14229fe995a9Smrg ;; 14239fe995a9Smrg -sunos5*) 14246fbef84aSmrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14259fe995a9Smrg ;; 14269fe995a9Smrg -sunos6*) 14276fbef84aSmrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14289fe995a9Smrg ;; 14299fe995a9Smrg -opened*) 14309fe995a9Smrg os=-openedition 14319fe995a9Smrg ;; 14329d794632Smrg -os400*) 14339fe995a9Smrg os=-os400 14349fe995a9Smrg ;; 14359fe995a9Smrg -wince*) 14369fe995a9Smrg os=-wince 14379fe995a9Smrg ;; 14389fe995a9Smrg -utek*) 14399fe995a9Smrg os=-bsd 14409fe995a9Smrg ;; 14419fe995a9Smrg -dynix*) 14429fe995a9Smrg os=-bsd 14439fe995a9Smrg ;; 14449fe995a9Smrg -acis*) 14459fe995a9Smrg os=-aos 14469fe995a9Smrg ;; 14479fe995a9Smrg -atheos*) 14489fe995a9Smrg os=-atheos 14499fe995a9Smrg ;; 14509fe995a9Smrg -syllable*) 14519fe995a9Smrg os=-syllable 14529fe995a9Smrg ;; 14539fe995a9Smrg -386bsd) 14549fe995a9Smrg os=-bsd 14559fe995a9Smrg ;; 14569fe995a9Smrg -ctix* | -uts*) 14579fe995a9Smrg os=-sysv 14589fe995a9Smrg ;; 14599fe995a9Smrg -nova*) 14609fe995a9Smrg os=-rtmk-nova 14619fe995a9Smrg ;; 14626fbef84aSmrg -ns2) 14639fe995a9Smrg os=-nextstep2 14649fe995a9Smrg ;; 14659fe995a9Smrg -nsk*) 14669fe995a9Smrg os=-nsk 14679fe995a9Smrg ;; 14689fe995a9Smrg # Preserve the version number of sinix5. 14699fe995a9Smrg -sinix5.*) 14709fe995a9Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 14719fe995a9Smrg ;; 14729fe995a9Smrg -sinix*) 14739fe995a9Smrg os=-sysv4 14749fe995a9Smrg ;; 14759d794632Smrg -tpf*) 14769fe995a9Smrg os=-tpf 14779fe995a9Smrg ;; 14789fe995a9Smrg -triton*) 14799fe995a9Smrg os=-sysv3 14809fe995a9Smrg ;; 14819fe995a9Smrg -oss*) 14829fe995a9Smrg os=-sysv3 14839fe995a9Smrg ;; 14846fbef84aSmrg -svr4*) 14859fe995a9Smrg os=-sysv4 14869fe995a9Smrg ;; 14879fe995a9Smrg -svr3) 14889fe995a9Smrg os=-sysv3 14899fe995a9Smrg ;; 14909fe995a9Smrg -sysvr4) 14919fe995a9Smrg os=-sysv4 14929fe995a9Smrg ;; 14939fe995a9Smrg # This must come after -sysvr4. 14949fe995a9Smrg -sysv*) 14959fe995a9Smrg ;; 14969fe995a9Smrg -ose*) 14979fe995a9Smrg os=-ose 14989fe995a9Smrg ;; 14999fe995a9Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15009fe995a9Smrg os=-mint 15019fe995a9Smrg ;; 15029fe995a9Smrg -zvmoe) 15039fe995a9Smrg os=-zvmoe 15049fe995a9Smrg ;; 1505b62cc08cSmrg -dicos*) 1506b62cc08cSmrg os=-dicos 1507b62cc08cSmrg ;; 15086fbef84aSmrg -pikeos*) 15096fbef84aSmrg # Until real need of OS specific support for 15106fbef84aSmrg # particular features comes up, bare metal 15116fbef84aSmrg # configurations are quite functional. 15126fbef84aSmrg case $basic_machine in 15136fbef84aSmrg arm*) 15146fbef84aSmrg os=-eabi 15156fbef84aSmrg ;; 15166fbef84aSmrg *) 15176fbef84aSmrg os=-elf 15186fbef84aSmrg ;; 15196fbef84aSmrg esac 15206fbef84aSmrg ;; 15219d794632Smrg -nacl*) 15229d794632Smrg ;; 15236fbef84aSmrg -ios) 15246fbef84aSmrg ;; 15259fe995a9Smrg -none) 15269fe995a9Smrg ;; 15279fe995a9Smrg *) 15289fe995a9Smrg # Get rid of the `-' at the beginning of $os. 15299fe995a9Smrg os=`echo $os | sed 's/[^-]*-//'` 15306fbef84aSmrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 15319fe995a9Smrg exit 1 15329fe995a9Smrg ;; 15339fe995a9Smrgesac 15349fe995a9Smrgelse 15359fe995a9Smrg 15369fe995a9Smrg# Here we handle the default operating systems that come with various machines. 15379fe995a9Smrg# The value should be what the vendor currently ships out the door with their 15389fe995a9Smrg# machine or put another way, the most popular os provided with the machine. 15399fe995a9Smrg 15409fe995a9Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15419fe995a9Smrg# "-sun"), then you have to tell the case statement up towards the top 15429fe995a9Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15439fe995a9Smrg# will signal an error saying that MANUFACTURER isn't an operating 15449fe995a9Smrg# system, and we'll never get to this point. 15459fe995a9Smrg 15469fe995a9Smrgcase $basic_machine in 15479d794632Smrg score-*) 15489fe995a9Smrg os=-elf 15499fe995a9Smrg ;; 15509d794632Smrg spu-*) 15519fe995a9Smrg os=-elf 15529fe995a9Smrg ;; 15539fe995a9Smrg *-acorn) 15549fe995a9Smrg os=-riscix1.2 15559fe995a9Smrg ;; 15569fe995a9Smrg arm*-rebel) 15579fe995a9Smrg os=-linux 15589fe995a9Smrg ;; 15599fe995a9Smrg arm*-semi) 15609fe995a9Smrg os=-aout 15619fe995a9Smrg ;; 15629d794632Smrg c4x-* | tic4x-*) 15639d794632Smrg os=-coff 15649d794632Smrg ;; 1565e8ac26b0Smrg c8051-*) 1566e8ac26b0Smrg os=-elf 1567e8ac26b0Smrg ;; 15689d794632Smrg hexagon-*) 15699d794632Smrg os=-elf 15709d794632Smrg ;; 15719d794632Smrg tic54x-*) 15729d794632Smrg os=-coff 15739d794632Smrg ;; 15749d794632Smrg tic55x-*) 15759d794632Smrg os=-coff 15769d794632Smrg ;; 15779d794632Smrg tic6x-*) 15789d794632Smrg os=-coff 15799fe995a9Smrg ;; 15809fe995a9Smrg # This must come before the *-dec entry. 15819fe995a9Smrg pdp10-*) 15829fe995a9Smrg os=-tops20 15839fe995a9Smrg ;; 15849fe995a9Smrg pdp11-*) 15859fe995a9Smrg os=-none 15869fe995a9Smrg ;; 15879fe995a9Smrg *-dec | vax-*) 15889fe995a9Smrg os=-ultrix4.2 15899fe995a9Smrg ;; 15909fe995a9Smrg m68*-apollo) 15919fe995a9Smrg os=-domain 15929fe995a9Smrg ;; 15939fe995a9Smrg i386-sun) 15949fe995a9Smrg os=-sunos4.0.2 15959fe995a9Smrg ;; 15969fe995a9Smrg m68000-sun) 15979fe995a9Smrg os=-sunos3 15989fe995a9Smrg ;; 15999fe995a9Smrg m68*-cisco) 16009fe995a9Smrg os=-aout 16019fe995a9Smrg ;; 16029d794632Smrg mep-*) 1603b62cc08cSmrg os=-elf 1604b62cc08cSmrg ;; 16059fe995a9Smrg mips*-cisco) 16069fe995a9Smrg os=-elf 16079fe995a9Smrg ;; 16089fe995a9Smrg mips*-*) 16099fe995a9Smrg os=-elf 16109fe995a9Smrg ;; 16119fe995a9Smrg or32-*) 16129fe995a9Smrg os=-coff 16139fe995a9Smrg ;; 16149fe995a9Smrg *-tti) # must be before sparc entry or we get the wrong os. 16159fe995a9Smrg os=-sysv3 16169fe995a9Smrg ;; 16179fe995a9Smrg sparc-* | *-sun) 16189fe995a9Smrg os=-sunos4.1.1 16199fe995a9Smrg ;; 16206fbef84aSmrg pru-*) 16216fbef84aSmrg os=-elf 16226fbef84aSmrg ;; 16239fe995a9Smrg *-be) 16249fe995a9Smrg os=-beos 16259fe995a9Smrg ;; 16269fe995a9Smrg *-ibm) 16279fe995a9Smrg os=-aix 16289fe995a9Smrg ;; 16299d794632Smrg *-knuth) 16309fe995a9Smrg os=-mmixware 16319fe995a9Smrg ;; 16329fe995a9Smrg *-wec) 16339fe995a9Smrg os=-proelf 16349fe995a9Smrg ;; 16359fe995a9Smrg *-winbond) 16369fe995a9Smrg os=-proelf 16379fe995a9Smrg ;; 16389fe995a9Smrg *-oki) 16399fe995a9Smrg os=-proelf 16409fe995a9Smrg ;; 16419fe995a9Smrg *-hp) 16429fe995a9Smrg os=-hpux 16439fe995a9Smrg ;; 16449fe995a9Smrg *-hitachi) 16459fe995a9Smrg os=-hiux 16469fe995a9Smrg ;; 16479fe995a9Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16489fe995a9Smrg os=-sysv 16499fe995a9Smrg ;; 16509fe995a9Smrg *-cbm) 16519fe995a9Smrg os=-amigaos 16529fe995a9Smrg ;; 16539fe995a9Smrg *-dg) 16549fe995a9Smrg os=-dgux 16559fe995a9Smrg ;; 16569fe995a9Smrg *-dolphin) 16579fe995a9Smrg os=-sysv3 16589fe995a9Smrg ;; 16599fe995a9Smrg m68k-ccur) 16609fe995a9Smrg os=-rtu 16619fe995a9Smrg ;; 16629fe995a9Smrg m88k-omron*) 16639fe995a9Smrg os=-luna 16649fe995a9Smrg ;; 16656fbef84aSmrg *-next) 16669fe995a9Smrg os=-nextstep 16679fe995a9Smrg ;; 16689fe995a9Smrg *-sequent) 16699fe995a9Smrg os=-ptx 16709fe995a9Smrg ;; 16719fe995a9Smrg *-crds) 16729fe995a9Smrg os=-unos 16739fe995a9Smrg ;; 16749fe995a9Smrg *-ns) 16759fe995a9Smrg os=-genix 16769fe995a9Smrg ;; 16779fe995a9Smrg i370-*) 16789fe995a9Smrg os=-mvs 16799fe995a9Smrg ;; 16809fe995a9Smrg *-gould) 16819fe995a9Smrg os=-sysv 16829fe995a9Smrg ;; 16839fe995a9Smrg *-highlevel) 16849fe995a9Smrg os=-bsd 16859fe995a9Smrg ;; 16869fe995a9Smrg *-encore) 16879fe995a9Smrg os=-bsd 16889fe995a9Smrg ;; 16899fe995a9Smrg *-sgi) 16909fe995a9Smrg os=-irix 16919fe995a9Smrg ;; 16929fe995a9Smrg *-siemens) 16939fe995a9Smrg os=-sysv4 16949fe995a9Smrg ;; 16959fe995a9Smrg *-masscomp) 16969fe995a9Smrg os=-rtu 16979fe995a9Smrg ;; 16989fe995a9Smrg f30[01]-fujitsu | f700-fujitsu) 16999fe995a9Smrg os=-uxpv 17009fe995a9Smrg ;; 17019fe995a9Smrg *-rom68k) 17029fe995a9Smrg os=-coff 17039fe995a9Smrg ;; 17049fe995a9Smrg *-*bug) 17059fe995a9Smrg os=-coff 17069fe995a9Smrg ;; 17079fe995a9Smrg *-apple) 17089fe995a9Smrg os=-macos 17099fe995a9Smrg ;; 17109fe995a9Smrg *-atari*) 17119fe995a9Smrg os=-mint 17129fe995a9Smrg ;; 17139fe995a9Smrg *) 17149fe995a9Smrg os=-none 17159fe995a9Smrg ;; 17169fe995a9Smrgesac 17179fe995a9Smrgfi 17189fe995a9Smrg 17199fe995a9Smrg# Here we handle the case where we know the os, and the CPU type, but not the 17209fe995a9Smrg# manufacturer. We pick the logical manufacturer. 17219fe995a9Smrgvendor=unknown 17229fe995a9Smrgcase $basic_machine in 17239fe995a9Smrg *-unknown) 17249fe995a9Smrg case $os in 17259fe995a9Smrg -riscix*) 17269fe995a9Smrg vendor=acorn 17279fe995a9Smrg ;; 17289fe995a9Smrg -sunos*) 17299fe995a9Smrg vendor=sun 17309fe995a9Smrg ;; 1731b62cc08cSmrg -cnk*|-aix*) 17329fe995a9Smrg vendor=ibm 17339fe995a9Smrg ;; 17349fe995a9Smrg -beos*) 17359fe995a9Smrg vendor=be 17369fe995a9Smrg ;; 17379fe995a9Smrg -hpux*) 17389fe995a9Smrg vendor=hp 17399fe995a9Smrg ;; 17409fe995a9Smrg -mpeix*) 17419fe995a9Smrg vendor=hp 17429fe995a9Smrg ;; 17439fe995a9Smrg -hiux*) 17449fe995a9Smrg vendor=hitachi 17459fe995a9Smrg ;; 17469fe995a9Smrg -unos*) 17479fe995a9Smrg vendor=crds 17489fe995a9Smrg ;; 17499fe995a9Smrg -dgux*) 17509fe995a9Smrg vendor=dg 17519fe995a9Smrg ;; 17529fe995a9Smrg -luna*) 17539fe995a9Smrg vendor=omron 17549fe995a9Smrg ;; 17559fe995a9Smrg -genix*) 17569fe995a9Smrg vendor=ns 17579fe995a9Smrg ;; 17589fe995a9Smrg -mvs* | -opened*) 17599fe995a9Smrg vendor=ibm 17609fe995a9Smrg ;; 17619fe995a9Smrg -os400*) 17629fe995a9Smrg vendor=ibm 17639fe995a9Smrg ;; 17649fe995a9Smrg -ptx*) 17659fe995a9Smrg vendor=sequent 17669fe995a9Smrg ;; 17679fe995a9Smrg -tpf*) 17689fe995a9Smrg vendor=ibm 17699fe995a9Smrg ;; 17709fe995a9Smrg -vxsim* | -vxworks* | -windiss*) 17719fe995a9Smrg vendor=wrs 17729fe995a9Smrg ;; 17739fe995a9Smrg -aux*) 17749fe995a9Smrg vendor=apple 17759fe995a9Smrg ;; 17769fe995a9Smrg -hms*) 17779fe995a9Smrg vendor=hitachi 17789fe995a9Smrg ;; 17799fe995a9Smrg -mpw* | -macos*) 17809fe995a9Smrg vendor=apple 17819fe995a9Smrg ;; 17829fe995a9Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17839fe995a9Smrg vendor=atari 17849fe995a9Smrg ;; 17859fe995a9Smrg -vos*) 17869fe995a9Smrg vendor=stratus 17879fe995a9Smrg ;; 17889fe995a9Smrg esac 17896fbef84aSmrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 17909fe995a9Smrg ;; 17919fe995a9Smrgesac 17929fe995a9Smrg 17936fbef84aSmrgecho "$basic_machine$os" 17949fe995a9Smrgexit 17959fe995a9Smrg 17969fe995a9Smrg# Local variables: 17976fbef84aSmrg# eval: (add-hook 'write-file-functions 'time-stamp) 17989fe995a9Smrg# time-stamp-start: "timestamp='" 17999fe995a9Smrg# time-stamp-format: "%:y-%02m-%02d" 18009fe995a9Smrg# time-stamp-end: "'" 18019fe995a9Smrg# End: 1802