config.sub revision 198e4c3c
16c321187Smrg#! /bin/sh 26c321187Smrg# Configuration validation subroutine script. 3198e4c3cSmrg# Copyright 1992-2018 Free Software Foundation, Inc. 46c321187Smrg 5198e4c3cSmrgtimestamp='2018-02-28' 66c321187Smrg 79d0b5e55Smrg# This file is free software; you can redistribute it and/or modify it 89d0b5e55Smrg# under the terms of the GNU General Public License as published by 99d0b5e55Smrg# the Free Software Foundation; either version 3 of the License, or 106c321187Smrg# (at your option) any later version. 116c321187Smrg# 129d0b5e55Smrg# This program is distributed in the hope that it will be useful, but 139d0b5e55Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 149d0b5e55Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 159d0b5e55Smrg# General Public License for more details. 166c321187Smrg# 176c321187Smrg# You should have received a copy of the GNU General Public License 18198e4c3cSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 196c321187Smrg# 206c321187Smrg# As a special exception to the GNU General Public License, if you 216c321187Smrg# distribute this file as part of a program that contains a 226c321187Smrg# configuration script generated by Autoconf, you may include it under 239d0b5e55Smrg# the same distribution terms that you use for the rest of that 249d0b5e55Smrg# program. This Exception is an additional permission under section 7 259d0b5e55Smrg# of the GNU General Public License, version 3 ("GPLv3"). 266c321187Smrg 276c321187Smrg 28198e4c3cSmrg# Please send patches to <config-patches@gnu.org>. 296c321187Smrg# 306c321187Smrg# Configuration subroutine to validate and canonicalize a configuration type. 316c321187Smrg# Supply the specified configuration type as an argument. 326c321187Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 336c321187Smrg# Otherwise, we print the canonical config type on stdout and succeed. 346c321187Smrg 35e120bd27Smrg# You can get the latest version of this script from: 36198e4c3cSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37e120bd27Smrg 386c321187Smrg# This file is supposed to be the same for all GNU packages 396c321187Smrg# and recognize all the CPU types, system types and aliases 406c321187Smrg# that are meaningful with *any* GNU software. 416c321187Smrg# Each package is responsible for reporting which valid configurations 426c321187Smrg# it does not support. The user should be able to distinguish 436c321187Smrg# a failure to support a valid configuration from a meaningless 446c321187Smrg# configuration. 456c321187Smrg 466c321187Smrg# The goal of this file is to map all the various variations of a given 476c321187Smrg# machine specification into a single specification in the form: 486c321187Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 496c321187Smrg# or in some cases, the newer four-part form: 506c321187Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 516c321187Smrg# It is wrong to echo any other type of specification. 526c321187Smrg 536c321187Smrgme=`echo "$0" | sed -e 's,.*/,,'` 546c321187Smrg 556c321187Smrgusage="\ 56198e4c3cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 576c321187Smrg 586c321187SmrgCanonicalize a configuration name. 596c321187Smrg 60198e4c3cSmrgOptions: 616c321187Smrg -h, --help print this help, then exit 626c321187Smrg -t, --time-stamp print date of last modification, then exit 636c321187Smrg -v, --version print version number, then exit 646c321187Smrg 656c321187SmrgReport bugs and patches to <config-patches@gnu.org>." 666c321187Smrg 676c321187Smrgversion="\ 686c321187SmrgGNU config.sub ($timestamp) 696c321187Smrg 70198e4c3cSmrgCopyright 1992-2018 Free Software Foundation, Inc. 716c321187Smrg 726c321187SmrgThis is free software; see the source for copying conditions. There is NO 736c321187Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 746c321187Smrg 756c321187Smrghelp=" 766c321187SmrgTry \`$me --help' for more information." 776c321187Smrg 786c321187Smrg# Parse command line 796c321187Smrgwhile test $# -gt 0 ; do 806c321187Smrg case $1 in 816c321187Smrg --time-stamp | --time* | -t ) 826c321187Smrg echo "$timestamp" ; exit ;; 836c321187Smrg --version | -v ) 846c321187Smrg echo "$version" ; exit ;; 856c321187Smrg --help | --h* | -h ) 866c321187Smrg echo "$usage"; exit ;; 876c321187Smrg -- ) # Stop option processing 886c321187Smrg shift; break ;; 896c321187Smrg - ) # Use stdin as input. 906c321187Smrg break ;; 916c321187Smrg -* ) 926c321187Smrg echo "$me: invalid option $1$help" 936c321187Smrg exit 1 ;; 946c321187Smrg 956c321187Smrg *local*) 966c321187Smrg # First pass through any local machine types. 97198e4c3cSmrg echo "$1" 986c321187Smrg exit ;; 996c321187Smrg 1006c321187Smrg * ) 1016c321187Smrg break ;; 1026c321187Smrg esac 1036c321187Smrgdone 1046c321187Smrg 1056c321187Smrgcase $# in 1066c321187Smrg 0) echo "$me: missing argument$help" >&2 1076c321187Smrg exit 1;; 1086c321187Smrg 1) ;; 1096c321187Smrg *) echo "$me: too many arguments$help" >&2 1106c321187Smrg exit 1;; 1116c321187Smrgesac 1126c321187Smrg 1136c321187Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1146c321187Smrg# Here we must recognize all the valid KERNEL-OS combinations. 115198e4c3cSmrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1166c321187Smrgcase $maybe_os in 117e120bd27Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1189d0b5e55Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 119198e4c3cSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120198e4c3cSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1216c321187Smrg storm-chaos* | os2-emx* | rtmk-nova*) 1226c321187Smrg os=-$maybe_os 123198e4c3cSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1246c321187Smrg ;; 1259d0b5e55Smrg android-linux) 1269d0b5e55Smrg os=-linux-android 127198e4c3cSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1289d0b5e55Smrg ;; 1296c321187Smrg *) 130198e4c3cSmrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 131198e4c3cSmrg if [ "$basic_machine" != "$1" ] 132198e4c3cSmrg then os=`echo "$1" | sed 's/.*-/-/'` 1336c321187Smrg else os=; fi 1346c321187Smrg ;; 1356c321187Smrgesac 1366c321187Smrg 1376c321187Smrg### Let's recognize common machines as not being operating systems so 1386c321187Smrg### that things like config.sub decstation-3100 work. We also 1396c321187Smrg### recognize some manufacturers as not being operating systems, so we 1406c321187Smrg### can provide default operating systems below. 1416c321187Smrgcase $os in 1426c321187Smrg -sun*os*) 1436c321187Smrg # Prevent following clause from handling this invalid input. 1446c321187Smrg ;; 1456c321187Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1466c321187Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1476c321187Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1486c321187Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1496c321187Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1506c321187Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1519d0b5e55Smrg -apple | -axis | -knuth | -cray | -microblaze*) 1526c321187Smrg os= 1536c321187Smrg basic_machine=$1 1546c321187Smrg ;; 1559d0b5e55Smrg -bluegene*) 1569d0b5e55Smrg os=-cnk 157e120bd27Smrg ;; 1586c321187Smrg -sim | -cisco | -oki | -wec | -winbond) 1596c321187Smrg os= 1606c321187Smrg basic_machine=$1 1616c321187Smrg ;; 1626c321187Smrg -scout) 1636c321187Smrg ;; 1646c321187Smrg -wrs) 1656c321187Smrg os=-vxworks 1666c321187Smrg basic_machine=$1 1676c321187Smrg ;; 1686c321187Smrg -chorusos*) 1696c321187Smrg os=-chorusos 1706c321187Smrg basic_machine=$1 1716c321187Smrg ;; 1729d0b5e55Smrg -chorusrdb) 1739d0b5e55Smrg os=-chorusrdb 1746c321187Smrg basic_machine=$1 1759d0b5e55Smrg ;; 1766c321187Smrg -hiux*) 1776c321187Smrg os=-hiuxwe2 1786c321187Smrg ;; 1796c321187Smrg -sco6) 1806c321187Smrg os=-sco5v6 181198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1826c321187Smrg ;; 1836c321187Smrg -sco5) 1846c321187Smrg os=-sco3.2v5 185198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1866c321187Smrg ;; 1876c321187Smrg -sco4) 1886c321187Smrg os=-sco3.2v4 189198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1906c321187Smrg ;; 1916c321187Smrg -sco3.2.[4-9]*) 1926c321187Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1946c321187Smrg ;; 1956c321187Smrg -sco3.2v[4-9]*) 1966c321187Smrg # Don't forget version if it is 3.2v4 or newer. 197198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1986c321187Smrg ;; 1996c321187Smrg -sco5v6*) 2006c321187Smrg # Don't forget version if it is 3.2v4 or newer. 201198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2026c321187Smrg ;; 2036c321187Smrg -sco*) 2046c321187Smrg os=-sco3.2v2 205198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2066c321187Smrg ;; 2076c321187Smrg -udk*) 208198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2096c321187Smrg ;; 2106c321187Smrg -isc) 2116c321187Smrg os=-isc2.2 212198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2136c321187Smrg ;; 2146c321187Smrg -clix*) 2156c321187Smrg basic_machine=clipper-intergraph 2166c321187Smrg ;; 2176c321187Smrg -isc*) 218198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2196c321187Smrg ;; 2209d0b5e55Smrg -lynx*178) 2219d0b5e55Smrg os=-lynxos178 2229d0b5e55Smrg ;; 2239d0b5e55Smrg -lynx*5) 2249d0b5e55Smrg os=-lynxos5 2259d0b5e55Smrg ;; 2266c321187Smrg -lynx*) 2276c321187Smrg os=-lynxos 2286c321187Smrg ;; 2296c321187Smrg -ptx*) 230198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 2316c321187Smrg ;; 2326c321187Smrg -psos*) 2336c321187Smrg os=-psos 2346c321187Smrg ;; 2356c321187Smrg -mint | -mint[0-9]*) 2366c321187Smrg basic_machine=m68k-atari 2376c321187Smrg os=-mint 2386c321187Smrg ;; 2396c321187Smrgesac 2406c321187Smrg 2416c321187Smrg# Decode aliases for certain CPU-COMPANY combinations. 2426c321187Smrgcase $basic_machine in 2436c321187Smrg # Recognize the basic CPU types without company name. 2446c321187Smrg # Some are omitted here because they have special meanings below. 2456c321187Smrg 1750a | 580 \ 2466c321187Smrg | a29k \ 2479d0b5e55Smrg | aarch64 | aarch64_be \ 2486c321187Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2496c321187Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2506c321187Smrg | am33_2.0 \ 2519d0b5e55Smrg | arc | arceb \ 2529d0b5e55Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2539d0b5e55Smrg | avr | avr32 \ 254198e4c3cSmrg | ba \ 2559d0b5e55Smrg | be32 | be64 \ 2566c321187Smrg | bfin \ 257198e4c3cSmrg | c4x | c8051 | clipper \ 2586c321187Smrg | d10v | d30v | dlx | dsp16xx \ 259198e4c3cSmrg | e2k | epiphany \ 260198e4c3cSmrg | fido | fr30 | frv | ft32 \ 2616c321187Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2629d0b5e55Smrg | hexagon \ 263198e4c3cSmrg | i370 | i860 | i960 | ia16 | ia64 \ 2646c321187Smrg | ip2k | iq2000 \ 265198e4c3cSmrg | k1om \ 2669d0b5e55Smrg | le32 | le64 \ 267e120bd27Smrg | lm32 \ 26893493779Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2699d0b5e55Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2706c321187Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2716c321187Smrg | mips16 \ 2726c321187Smrg | mips64 | mips64el \ 273e120bd27Smrg | mips64octeon | mips64octeonel \ 2746c321187Smrg | mips64orion | mips64orionel \ 275e120bd27Smrg | mips64r5900 | mips64r5900el \ 276e120bd27Smrg | mips64vr | mips64vrel \ 2776c321187Smrg | mips64vr4100 | mips64vr4100el \ 2786c321187Smrg | mips64vr4300 | mips64vr4300el \ 2796c321187Smrg | mips64vr5000 | mips64vr5000el \ 2806c321187Smrg | mips64vr5900 | mips64vr5900el \ 2816c321187Smrg | mipsisa32 | mipsisa32el \ 2826c321187Smrg | mipsisa32r2 | mipsisa32r2el \ 283198e4c3cSmrg | mipsisa32r6 | mipsisa32r6el \ 2846c321187Smrg | mipsisa64 | mipsisa64el \ 2856c321187Smrg | mipsisa64r2 | mipsisa64r2el \ 286198e4c3cSmrg | mipsisa64r6 | mipsisa64r6el \ 2876c321187Smrg | mipsisa64sb1 | mipsisa64sb1el \ 2886c321187Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 2899d0b5e55Smrg | mipsr5900 | mipsr5900el \ 2906c321187Smrg | mipstx39 | mipstx39el \ 2916c321187Smrg | mn10200 | mn10300 \ 292e120bd27Smrg | moxie \ 2936c321187Smrg | mt \ 2946c321187Smrg | msp430 \ 295e120bd27Smrg | nds32 | nds32le | nds32be \ 2969d0b5e55Smrg | nios | nios2 | nios2eb | nios2el \ 2976c321187Smrg | ns16k | ns32k \ 298198e4c3cSmrg | open8 | or1k | or1knd | or32 \ 299198e4c3cSmrg | pdp10 | pj | pjl \ 3009d0b5e55Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 301198e4c3cSmrg | pru \ 3026c321187Smrg | pyramid \ 303198e4c3cSmrg | riscv32 | riscv64 \ 3049d0b5e55Smrg | rl78 | rx \ 30593493779Smrg | score \ 306198e4c3cSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3076c321187Smrg | sh64 | sh64le \ 30893493779Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 30993493779Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3109d0b5e55Smrg | spu \ 3119d0b5e55Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312e120bd27Smrg | ubicom32 \ 3139d0b5e55Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 314198e4c3cSmrg | visium \ 315198e4c3cSmrg | wasm32 \ 3169d0b5e55Smrg | x86 | xc16x | xstormy16 | xtensa \ 317e120bd27Smrg | z8k | z80) 3186c321187Smrg basic_machine=$basic_machine-unknown 3196c321187Smrg ;; 320e120bd27Smrg c54x) 321e120bd27Smrg basic_machine=tic54x-unknown 322e120bd27Smrg ;; 323e120bd27Smrg c55x) 324e120bd27Smrg basic_machine=tic55x-unknown 325e120bd27Smrg ;; 326e120bd27Smrg c6x) 327e120bd27Smrg basic_machine=tic6x-unknown 328e120bd27Smrg ;; 329198e4c3cSmrg leon|leon[3-9]) 330198e4c3cSmrg basic_machine=sparc-$basic_machine 331198e4c3cSmrg ;; 332198e4c3cSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3336c321187Smrg basic_machine=$basic_machine-unknown 3346c321187Smrg os=-none 3356c321187Smrg ;; 336198e4c3cSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 3376c321187Smrg ;; 3386c321187Smrg ms1) 3396c321187Smrg basic_machine=mt-unknown 3406c321187Smrg ;; 3416c321187Smrg 3429d0b5e55Smrg strongarm | thumb | xscale) 3439d0b5e55Smrg basic_machine=arm-unknown 3449d0b5e55Smrg ;; 3459d0b5e55Smrg xgate) 3469d0b5e55Smrg basic_machine=$basic_machine-unknown 3479d0b5e55Smrg os=-none 3489d0b5e55Smrg ;; 3499d0b5e55Smrg xscaleeb) 3509d0b5e55Smrg basic_machine=armeb-unknown 3519d0b5e55Smrg ;; 3529d0b5e55Smrg 3539d0b5e55Smrg xscaleel) 3549d0b5e55Smrg basic_machine=armel-unknown 3559d0b5e55Smrg ;; 3569d0b5e55Smrg 3576c321187Smrg # We use `pc' rather than `unknown' 3586c321187Smrg # because (1) that's what they normally are, and 3596c321187Smrg # (2) the word "unknown" tends to confuse beginning users. 3606c321187Smrg i*86 | x86_64) 3616c321187Smrg basic_machine=$basic_machine-pc 3626c321187Smrg ;; 3636c321187Smrg # Object if more than one company name word. 3646c321187Smrg *-*-*) 365198e4c3cSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 3666c321187Smrg exit 1 3676c321187Smrg ;; 3686c321187Smrg # Recognize the basic CPU types with company name. 3696c321187Smrg 580-* \ 3706c321187Smrg | a29k-* \ 3719d0b5e55Smrg | aarch64-* | aarch64_be-* \ 3726c321187Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3736c321187Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3749d0b5e55Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3756c321187Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37693493779Smrg | avr-* | avr32-* \ 377198e4c3cSmrg | ba-* \ 3789d0b5e55Smrg | be32-* | be64-* \ 3796c321187Smrg | bfin-* | bs2000-* \ 380e120bd27Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 381198e4c3cSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 3826c321187Smrg | d10v-* | d30v-* | dlx-* \ 383198e4c3cSmrg | e2k-* | elxsi-* \ 38493493779Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3856c321187Smrg | h8300-* | h8500-* \ 3866c321187Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3879d0b5e55Smrg | hexagon-* \ 388198e4c3cSmrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3896c321187Smrg | ip2k-* | iq2000-* \ 390198e4c3cSmrg | k1om-* \ 3919d0b5e55Smrg | le32-* | le64-* \ 392e120bd27Smrg | lm32-* \ 39393493779Smrg | m32c-* | m32r-* | m32rle-* \ 3946c321187Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3959d0b5e55Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3969d0b5e55Smrg | microblaze-* | microblazeel-* \ 3976c321187Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3986c321187Smrg | mips16-* \ 3996c321187Smrg | mips64-* | mips64el-* \ 400e120bd27Smrg | mips64octeon-* | mips64octeonel-* \ 4016c321187Smrg | mips64orion-* | mips64orionel-* \ 402e120bd27Smrg | mips64r5900-* | mips64r5900el-* \ 403e120bd27Smrg | mips64vr-* | mips64vrel-* \ 4046c321187Smrg | mips64vr4100-* | mips64vr4100el-* \ 4056c321187Smrg | mips64vr4300-* | mips64vr4300el-* \ 4066c321187Smrg | mips64vr5000-* | mips64vr5000el-* \ 4076c321187Smrg | mips64vr5900-* | mips64vr5900el-* \ 4086c321187Smrg | mipsisa32-* | mipsisa32el-* \ 4096c321187Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 410198e4c3cSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 4116c321187Smrg | mipsisa64-* | mipsisa64el-* \ 4126c321187Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 413198e4c3cSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 4146c321187Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 4156c321187Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4169d0b5e55Smrg | mipsr5900-* | mipsr5900el-* \ 4176c321187Smrg | mipstx39-* | mipstx39el-* \ 4186c321187Smrg | mmix-* \ 4196c321187Smrg | mt-* \ 4206c321187Smrg | msp430-* \ 421e120bd27Smrg | nds32-* | nds32le-* | nds32be-* \ 4229d0b5e55Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4236c321187Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4249d0b5e55Smrg | open8-* \ 425198e4c3cSmrg | or1k*-* \ 4266c321187Smrg | orion-* \ 4276c321187Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4289d0b5e55Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 429198e4c3cSmrg | pru-* \ 4306c321187Smrg | pyramid-* \ 431198e4c3cSmrg | riscv32-* | riscv64-* \ 4329d0b5e55Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 433e120bd27Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4346c321187Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43593493779Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4366c321187Smrg | sparclite-* \ 437198e4c3cSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4389d0b5e55Smrg | tahoe-* \ 4396c321187Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4409d0b5e55Smrg | tile*-* \ 4416c321187Smrg | tron-* \ 442e120bd27Smrg | ubicom32-* \ 4439d0b5e55Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4449d0b5e55Smrg | vax-* \ 445198e4c3cSmrg | visium-* \ 446198e4c3cSmrg | wasm32-* \ 4476c321187Smrg | we32k-* \ 4489d0b5e55Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 44993493779Smrg | xstormy16-* | xtensa*-* \ 4506c321187Smrg | ymp-* \ 451e120bd27Smrg | z8k-* | z80-*) 4526c321187Smrg ;; 45393493779Smrg # Recognize the basic CPU types without company name, with glob match. 45493493779Smrg xtensa*) 45593493779Smrg basic_machine=$basic_machine-unknown 4566c321187Smrg ;; 4576c321187Smrg # Recognize the various machine names and aliases which stand 4586c321187Smrg # for a CPU type and a company and sometimes even an OS. 4596c321187Smrg 386bsd) 460198e4c3cSmrg basic_machine=i386-pc 4616c321187Smrg os=-bsd 4626c321187Smrg ;; 4636c321187Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4646c321187Smrg basic_machine=m68000-att 4656c321187Smrg ;; 4666c321187Smrg 3b*) 4676c321187Smrg basic_machine=we32k-att 4686c321187Smrg ;; 4696c321187Smrg a29khif) 4706c321187Smrg basic_machine=a29k-amd 4716c321187Smrg os=-udi 4726c321187Smrg ;; 4739d0b5e55Smrg abacus) 4746c321187Smrg basic_machine=abacus-unknown 4756c321187Smrg ;; 4766c321187Smrg adobe68k) 4776c321187Smrg basic_machine=m68010-adobe 4786c321187Smrg os=-scout 4796c321187Smrg ;; 4806c321187Smrg alliant | fx80) 4816c321187Smrg basic_machine=fx80-alliant 4826c321187Smrg ;; 4836c321187Smrg altos | altos3068) 4846c321187Smrg basic_machine=m68k-altos 4856c321187Smrg ;; 4866c321187Smrg am29k) 4876c321187Smrg basic_machine=a29k-none 4886c321187Smrg os=-bsd 4896c321187Smrg ;; 4906c321187Smrg amd64) 4916c321187Smrg basic_machine=x86_64-pc 4926c321187Smrg ;; 4936c321187Smrg amd64-*) 494198e4c3cSmrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4956c321187Smrg ;; 4966c321187Smrg amdahl) 4976c321187Smrg basic_machine=580-amdahl 4986c321187Smrg os=-sysv 4996c321187Smrg ;; 5006c321187Smrg amiga | amiga-*) 5016c321187Smrg basic_machine=m68k-unknown 5026c321187Smrg ;; 5036c321187Smrg amigaos | amigados) 5046c321187Smrg basic_machine=m68k-unknown 5056c321187Smrg os=-amigaos 5066c321187Smrg ;; 5076c321187Smrg amigaunix | amix) 5086c321187Smrg basic_machine=m68k-unknown 5096c321187Smrg os=-sysv4 5106c321187Smrg ;; 5116c321187Smrg apollo68) 5126c321187Smrg basic_machine=m68k-apollo 5136c321187Smrg os=-sysv 5146c321187Smrg ;; 5156c321187Smrg apollo68bsd) 5166c321187Smrg basic_machine=m68k-apollo 5176c321187Smrg os=-bsd 5186c321187Smrg ;; 519e120bd27Smrg aros) 520e120bd27Smrg basic_machine=i386-pc 521e120bd27Smrg os=-aros 522e120bd27Smrg ;; 523198e4c3cSmrg asmjs) 524198e4c3cSmrg basic_machine=asmjs-unknown 525198e4c3cSmrg ;; 5266c321187Smrg aux) 5276c321187Smrg basic_machine=m68k-apple 5286c321187Smrg os=-aux 5296c321187Smrg ;; 5306c321187Smrg balance) 5316c321187Smrg basic_machine=ns32k-sequent 5326c321187Smrg os=-dynix 5336c321187Smrg ;; 53493493779Smrg blackfin) 53593493779Smrg basic_machine=bfin-unknown 53693493779Smrg os=-linux 53793493779Smrg ;; 53893493779Smrg blackfin-*) 539198e4c3cSmrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 54093493779Smrg os=-linux 54193493779Smrg ;; 542e120bd27Smrg bluegene*) 543e120bd27Smrg basic_machine=powerpc-ibm 544e120bd27Smrg os=-cnk 545e120bd27Smrg ;; 546e120bd27Smrg c54x-*) 547198e4c3cSmrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548e120bd27Smrg ;; 549e120bd27Smrg c55x-*) 550198e4c3cSmrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551e120bd27Smrg ;; 552e120bd27Smrg c6x-*) 553198e4c3cSmrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554e120bd27Smrg ;; 5556c321187Smrg c90) 5566c321187Smrg basic_machine=c90-cray 5576c321187Smrg os=-unicos 5586c321187Smrg ;; 5599d0b5e55Smrg cegcc) 560e120bd27Smrg basic_machine=arm-unknown 561e120bd27Smrg os=-cegcc 562e120bd27Smrg ;; 5636c321187Smrg convex-c1) 5646c321187Smrg basic_machine=c1-convex 5656c321187Smrg os=-bsd 5666c321187Smrg ;; 5676c321187Smrg convex-c2) 5686c321187Smrg basic_machine=c2-convex 5696c321187Smrg os=-bsd 5706c321187Smrg ;; 5716c321187Smrg convex-c32) 5726c321187Smrg basic_machine=c32-convex 5736c321187Smrg os=-bsd 5746c321187Smrg ;; 5756c321187Smrg convex-c34) 5766c321187Smrg basic_machine=c34-convex 5776c321187Smrg os=-bsd 5786c321187Smrg ;; 5796c321187Smrg convex-c38) 5806c321187Smrg basic_machine=c38-convex 5816c321187Smrg os=-bsd 5826c321187Smrg ;; 5836c321187Smrg cray | j90) 5846c321187Smrg basic_machine=j90-cray 5856c321187Smrg os=-unicos 5866c321187Smrg ;; 5876c321187Smrg craynv) 5886c321187Smrg basic_machine=craynv-cray 5896c321187Smrg os=-unicosmp 5906c321187Smrg ;; 5919d0b5e55Smrg cr16 | cr16-*) 59293493779Smrg basic_machine=cr16-unknown 5936c321187Smrg os=-elf 5946c321187Smrg ;; 5956c321187Smrg crds | unos) 5966c321187Smrg basic_machine=m68k-crds 5976c321187Smrg ;; 5986c321187Smrg crisv32 | crisv32-* | etraxfs*) 5996c321187Smrg basic_machine=crisv32-axis 6006c321187Smrg ;; 6016c321187Smrg cris | cris-* | etrax*) 6026c321187Smrg basic_machine=cris-axis 6036c321187Smrg ;; 6046c321187Smrg crx) 6056c321187Smrg basic_machine=crx-unknown 6066c321187Smrg os=-elf 6076c321187Smrg ;; 6086c321187Smrg da30 | da30-*) 6096c321187Smrg basic_machine=m68k-da30 6106c321187Smrg ;; 6116c321187Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6126c321187Smrg basic_machine=mips-dec 6136c321187Smrg ;; 6146c321187Smrg decsystem10* | dec10*) 6156c321187Smrg basic_machine=pdp10-dec 6166c321187Smrg os=-tops10 6176c321187Smrg ;; 6186c321187Smrg decsystem20* | dec20*) 6196c321187Smrg basic_machine=pdp10-dec 6206c321187Smrg os=-tops20 6216c321187Smrg ;; 6226c321187Smrg delta | 3300 | motorola-3300 | motorola-delta \ 6236c321187Smrg | 3300-motorola | delta-motorola) 6246c321187Smrg basic_machine=m68k-motorola 6256c321187Smrg ;; 6266c321187Smrg delta88) 6276c321187Smrg basic_machine=m88k-motorola 6286c321187Smrg os=-sysv3 6296c321187Smrg ;; 630e120bd27Smrg dicos) 631e120bd27Smrg basic_machine=i686-pc 632e120bd27Smrg os=-dicos 633e120bd27Smrg ;; 6346c321187Smrg djgpp) 6356c321187Smrg basic_machine=i586-pc 6366c321187Smrg os=-msdosdjgpp 6376c321187Smrg ;; 6386c321187Smrg dpx20 | dpx20-*) 6396c321187Smrg basic_machine=rs6000-bull 6406c321187Smrg os=-bosx 6416c321187Smrg ;; 642198e4c3cSmrg dpx2*) 6436c321187Smrg basic_machine=m68k-bull 6446c321187Smrg os=-sysv3 6456c321187Smrg ;; 646198e4c3cSmrg e500v[12]) 647198e4c3cSmrg basic_machine=powerpc-unknown 648198e4c3cSmrg os=$os"spe" 649198e4c3cSmrg ;; 650198e4c3cSmrg e500v[12]-*) 651198e4c3cSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 652198e4c3cSmrg os=$os"spe" 653198e4c3cSmrg ;; 6546c321187Smrg ebmon29k) 6556c321187Smrg basic_machine=a29k-amd 6566c321187Smrg os=-ebmon 6576c321187Smrg ;; 6586c321187Smrg elxsi) 6596c321187Smrg basic_machine=elxsi-elxsi 6606c321187Smrg os=-bsd 6616c321187Smrg ;; 6626c321187Smrg encore | umax | mmax) 6636c321187Smrg basic_machine=ns32k-encore 6646c321187Smrg ;; 6656c321187Smrg es1800 | OSE68k | ose68k | ose | OSE) 6666c321187Smrg basic_machine=m68k-ericsson 6676c321187Smrg os=-ose 6686c321187Smrg ;; 6696c321187Smrg fx2800) 6706c321187Smrg basic_machine=i860-alliant 6716c321187Smrg ;; 6726c321187Smrg genix) 6736c321187Smrg basic_machine=ns32k-ns 6746c321187Smrg ;; 6756c321187Smrg gmicro) 6766c321187Smrg basic_machine=tron-gmicro 6776c321187Smrg os=-sysv 6786c321187Smrg ;; 6796c321187Smrg go32) 6806c321187Smrg basic_machine=i386-pc 6816c321187Smrg os=-go32 6826c321187Smrg ;; 6836c321187Smrg h3050r* | hiux*) 6846c321187Smrg basic_machine=hppa1.1-hitachi 6856c321187Smrg os=-hiuxwe2 6866c321187Smrg ;; 6876c321187Smrg h8300hms) 6886c321187Smrg basic_machine=h8300-hitachi 6896c321187Smrg os=-hms 6906c321187Smrg ;; 6916c321187Smrg h8300xray) 6926c321187Smrg basic_machine=h8300-hitachi 6936c321187Smrg os=-xray 6946c321187Smrg ;; 6956c321187Smrg h8500hms) 6966c321187Smrg basic_machine=h8500-hitachi 6976c321187Smrg os=-hms 6986c321187Smrg ;; 6996c321187Smrg harris) 7006c321187Smrg basic_machine=m88k-harris 7016c321187Smrg os=-sysv3 7026c321187Smrg ;; 7036c321187Smrg hp300-*) 7046c321187Smrg basic_machine=m68k-hp 7056c321187Smrg ;; 7066c321187Smrg hp300bsd) 7076c321187Smrg basic_machine=m68k-hp 7086c321187Smrg os=-bsd 7096c321187Smrg ;; 7106c321187Smrg hp300hpux) 7116c321187Smrg basic_machine=m68k-hp 7126c321187Smrg os=-hpux 7136c321187Smrg ;; 7146c321187Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7156c321187Smrg basic_machine=hppa1.0-hp 7166c321187Smrg ;; 7176c321187Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 7186c321187Smrg basic_machine=m68000-hp 7196c321187Smrg ;; 7206c321187Smrg hp9k3[2-9][0-9]) 7216c321187Smrg basic_machine=m68k-hp 7226c321187Smrg ;; 7236c321187Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7246c321187Smrg basic_machine=hppa1.0-hp 7256c321187Smrg ;; 7266c321187Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7276c321187Smrg basic_machine=hppa1.1-hp 7286c321187Smrg ;; 7296c321187Smrg hp9k78[0-9] | hp78[0-9]) 7306c321187Smrg # FIXME: really hppa2.0-hp 7316c321187Smrg basic_machine=hppa1.1-hp 7326c321187Smrg ;; 7336c321187Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7346c321187Smrg # FIXME: really hppa2.0-hp 7356c321187Smrg basic_machine=hppa1.1-hp 7366c321187Smrg ;; 7376c321187Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7386c321187Smrg basic_machine=hppa1.1-hp 7396c321187Smrg ;; 7406c321187Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7416c321187Smrg basic_machine=hppa1.0-hp 7426c321187Smrg ;; 7436c321187Smrg hppaosf) 7446c321187Smrg basic_machine=hppa1.1-hp 7456c321187Smrg os=-osf 7466c321187Smrg ;; 7476c321187Smrg hppro) 7486c321187Smrg basic_machine=hppa1.1-hp 7496c321187Smrg os=-proelf 7506c321187Smrg ;; 7516c321187Smrg i370-ibm* | ibm*) 7526c321187Smrg basic_machine=i370-ibm 7536c321187Smrg ;; 7546c321187Smrg i*86v32) 755198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7566c321187Smrg os=-sysv32 7576c321187Smrg ;; 7586c321187Smrg i*86v4*) 759198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7606c321187Smrg os=-sysv4 7616c321187Smrg ;; 7626c321187Smrg i*86v) 763198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7646c321187Smrg os=-sysv 7656c321187Smrg ;; 7666c321187Smrg i*86sol2) 767198e4c3cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7686c321187Smrg os=-solaris2 7696c321187Smrg ;; 7706c321187Smrg i386mach) 7716c321187Smrg basic_machine=i386-mach 7726c321187Smrg os=-mach 7736c321187Smrg ;; 774198e4c3cSmrg vsta) 7756c321187Smrg basic_machine=i386-unknown 7766c321187Smrg os=-vsta 7776c321187Smrg ;; 7786c321187Smrg iris | iris4d) 7796c321187Smrg basic_machine=mips-sgi 7806c321187Smrg case $os in 7816c321187Smrg -irix*) 7826c321187Smrg ;; 7836c321187Smrg *) 7846c321187Smrg os=-irix4 7856c321187Smrg ;; 7866c321187Smrg esac 7876c321187Smrg ;; 7886c321187Smrg isi68 | isi) 7896c321187Smrg basic_machine=m68k-isi 7906c321187Smrg os=-sysv 7916c321187Smrg ;; 792198e4c3cSmrg leon-*|leon[3-9]-*) 793198e4c3cSmrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 794198e4c3cSmrg ;; 79593493779Smrg m68knommu) 79693493779Smrg basic_machine=m68k-unknown 79793493779Smrg os=-linux 79893493779Smrg ;; 79993493779Smrg m68knommu-*) 800198e4c3cSmrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 80193493779Smrg os=-linux 80293493779Smrg ;; 8036c321187Smrg magnum | m3230) 8046c321187Smrg basic_machine=mips-mips 8056c321187Smrg os=-sysv 8066c321187Smrg ;; 8076c321187Smrg merlin) 8086c321187Smrg basic_machine=ns32k-utek 8096c321187Smrg os=-sysv 8106c321187Smrg ;; 8119d0b5e55Smrg microblaze*) 812e120bd27Smrg basic_machine=microblaze-xilinx 813e120bd27Smrg ;; 8149d0b5e55Smrg mingw64) 8159d0b5e55Smrg basic_machine=x86_64-pc 8169d0b5e55Smrg os=-mingw64 8179d0b5e55Smrg ;; 8186c321187Smrg mingw32) 819198e4c3cSmrg basic_machine=i686-pc 8206c321187Smrg os=-mingw32 8216c321187Smrg ;; 82293493779Smrg mingw32ce) 82393493779Smrg basic_machine=arm-unknown 82493493779Smrg os=-mingw32ce 82593493779Smrg ;; 8266c321187Smrg miniframe) 8276c321187Smrg basic_machine=m68000-convergent 8286c321187Smrg ;; 8296c321187Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8306c321187Smrg basic_machine=m68k-atari 8316c321187Smrg os=-mint 8326c321187Smrg ;; 8336c321187Smrg mips3*-*) 834198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 8356c321187Smrg ;; 8366c321187Smrg mips3*) 837198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 8386c321187Smrg ;; 8396c321187Smrg monitor) 8406c321187Smrg basic_machine=m68k-rom68k 8416c321187Smrg os=-coff 8426c321187Smrg ;; 8436c321187Smrg morphos) 8446c321187Smrg basic_machine=powerpc-unknown 8456c321187Smrg os=-morphos 8466c321187Smrg ;; 847198e4c3cSmrg moxiebox) 848198e4c3cSmrg basic_machine=moxie-unknown 849198e4c3cSmrg os=-moxiebox 850198e4c3cSmrg ;; 8516c321187Smrg msdos) 8526c321187Smrg basic_machine=i386-pc 8536c321187Smrg os=-msdos 8546c321187Smrg ;; 8556c321187Smrg ms1-*) 856198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8576c321187Smrg ;; 8589d0b5e55Smrg msys) 859198e4c3cSmrg basic_machine=i686-pc 8609d0b5e55Smrg os=-msys 8619d0b5e55Smrg ;; 8626c321187Smrg mvs) 8636c321187Smrg basic_machine=i370-ibm 8646c321187Smrg os=-mvs 8656c321187Smrg ;; 8669d0b5e55Smrg nacl) 8679d0b5e55Smrg basic_machine=le32-unknown 8689d0b5e55Smrg os=-nacl 8699d0b5e55Smrg ;; 8706c321187Smrg ncr3000) 8716c321187Smrg basic_machine=i486-ncr 8726c321187Smrg os=-sysv4 8736c321187Smrg ;; 8746c321187Smrg netbsd386) 8756c321187Smrg basic_machine=i386-unknown 8766c321187Smrg os=-netbsd 8776c321187Smrg ;; 8786c321187Smrg netwinder) 8796c321187Smrg basic_machine=armv4l-rebel 8806c321187Smrg os=-linux 8816c321187Smrg ;; 8826c321187Smrg news | news700 | news800 | news900) 8836c321187Smrg basic_machine=m68k-sony 8846c321187Smrg os=-newsos 8856c321187Smrg ;; 8866c321187Smrg news1000) 8876c321187Smrg basic_machine=m68030-sony 8886c321187Smrg os=-newsos 8896c321187Smrg ;; 8906c321187Smrg news-3600 | risc-news) 8916c321187Smrg basic_machine=mips-sony 8926c321187Smrg os=-newsos 8936c321187Smrg ;; 8946c321187Smrg necv70) 8956c321187Smrg basic_machine=v70-nec 8966c321187Smrg os=-sysv 8976c321187Smrg ;; 898198e4c3cSmrg next | m*-next) 8996c321187Smrg basic_machine=m68k-next 9006c321187Smrg case $os in 9016c321187Smrg -nextstep* ) 9026c321187Smrg ;; 9036c321187Smrg -ns2*) 9046c321187Smrg os=-nextstep2 9056c321187Smrg ;; 9066c321187Smrg *) 9076c321187Smrg os=-nextstep3 9086c321187Smrg ;; 9096c321187Smrg esac 9106c321187Smrg ;; 9116c321187Smrg nh3000) 9126c321187Smrg basic_machine=m68k-harris 9136c321187Smrg os=-cxux 9146c321187Smrg ;; 9156c321187Smrg nh[45]000) 9166c321187Smrg basic_machine=m88k-harris 9176c321187Smrg os=-cxux 9186c321187Smrg ;; 9196c321187Smrg nindy960) 9206c321187Smrg basic_machine=i960-intel 9216c321187Smrg os=-nindy 9226c321187Smrg ;; 9236c321187Smrg mon960) 9246c321187Smrg basic_machine=i960-intel 9256c321187Smrg os=-mon960 9266c321187Smrg ;; 9276c321187Smrg nonstopux) 9286c321187Smrg basic_machine=mips-compaq 9296c321187Smrg os=-nonstopux 9306c321187Smrg ;; 9316c321187Smrg np1) 9326c321187Smrg basic_machine=np1-gould 9336c321187Smrg ;; 9349d0b5e55Smrg neo-tandem) 935e120bd27Smrg basic_machine=neo-tandem 936e120bd27Smrg ;; 9379d0b5e55Smrg nse-tandem) 938e120bd27Smrg basic_machine=nse-tandem 939e120bd27Smrg ;; 9406c321187Smrg nsr-tandem) 9416c321187Smrg basic_machine=nsr-tandem 9426c321187Smrg ;; 943198e4c3cSmrg nsv-tandem) 944198e4c3cSmrg basic_machine=nsv-tandem 945198e4c3cSmrg ;; 946198e4c3cSmrg nsx-tandem) 947198e4c3cSmrg basic_machine=nsx-tandem 948198e4c3cSmrg ;; 9496c321187Smrg op50n-* | op60c-*) 9506c321187Smrg basic_machine=hppa1.1-oki 9516c321187Smrg os=-proelf 9526c321187Smrg ;; 9536c321187Smrg openrisc | openrisc-*) 9546c321187Smrg basic_machine=or32-unknown 9556c321187Smrg ;; 9566c321187Smrg os400) 9576c321187Smrg basic_machine=powerpc-ibm 9586c321187Smrg os=-os400 9596c321187Smrg ;; 9606c321187Smrg OSE68000 | ose68000) 9616c321187Smrg basic_machine=m68000-ericsson 9626c321187Smrg os=-ose 9636c321187Smrg ;; 9646c321187Smrg os68k) 9656c321187Smrg basic_machine=m68k-none 9666c321187Smrg os=-os68k 9676c321187Smrg ;; 9686c321187Smrg pa-hitachi) 9696c321187Smrg basic_machine=hppa1.1-hitachi 9706c321187Smrg os=-hiuxwe2 9716c321187Smrg ;; 9726c321187Smrg paragon) 9736c321187Smrg basic_machine=i860-intel 9746c321187Smrg os=-osf 9756c321187Smrg ;; 97693493779Smrg parisc) 97793493779Smrg basic_machine=hppa-unknown 97893493779Smrg os=-linux 97993493779Smrg ;; 98093493779Smrg parisc-*) 981198e4c3cSmrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 98293493779Smrg os=-linux 98393493779Smrg ;; 9846c321187Smrg pbd) 9856c321187Smrg basic_machine=sparc-tti 9866c321187Smrg ;; 9876c321187Smrg pbb) 9886c321187Smrg basic_machine=m68k-tti 9896c321187Smrg ;; 9906c321187Smrg pc532 | pc532-*) 9916c321187Smrg basic_machine=ns32k-pc532 9926c321187Smrg ;; 99393493779Smrg pc98) 99493493779Smrg basic_machine=i386-pc 99593493779Smrg ;; 99693493779Smrg pc98-*) 997198e4c3cSmrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 99893493779Smrg ;; 9996c321187Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 10006c321187Smrg basic_machine=i586-pc 10016c321187Smrg ;; 10026c321187Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 10036c321187Smrg basic_machine=i686-pc 10046c321187Smrg ;; 10056c321187Smrg pentiumii | pentium2 | pentiumiii | pentium3) 10066c321187Smrg basic_machine=i686-pc 10076c321187Smrg ;; 10086c321187Smrg pentium4) 10096c321187Smrg basic_machine=i786-pc 10106c321187Smrg ;; 10116c321187Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1012198e4c3cSmrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10136c321187Smrg ;; 10146c321187Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1015198e4c3cSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10166c321187Smrg ;; 10176c321187Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1018198e4c3cSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10196c321187Smrg ;; 10206c321187Smrg pentium4-*) 1021198e4c3cSmrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10226c321187Smrg ;; 10236c321187Smrg pn) 10246c321187Smrg basic_machine=pn-gould 10256c321187Smrg ;; 10266c321187Smrg power) basic_machine=power-ibm 10276c321187Smrg ;; 10289d0b5e55Smrg ppc | ppcbe) basic_machine=powerpc-unknown 10296c321187Smrg ;; 10309d0b5e55Smrg ppc-* | ppcbe-*) 1031198e4c3cSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10326c321187Smrg ;; 1033198e4c3cSmrg ppcle | powerpclittle) 10346c321187Smrg basic_machine=powerpcle-unknown 10356c321187Smrg ;; 10366c321187Smrg ppcle-* | powerpclittle-*) 1037198e4c3cSmrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10386c321187Smrg ;; 10396c321187Smrg ppc64) basic_machine=powerpc64-unknown 10406c321187Smrg ;; 1041198e4c3cSmrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10426c321187Smrg ;; 1043198e4c3cSmrg ppc64le | powerpc64little) 10446c321187Smrg basic_machine=powerpc64le-unknown 10456c321187Smrg ;; 10466c321187Smrg ppc64le-* | powerpc64little-*) 1047198e4c3cSmrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10486c321187Smrg ;; 10496c321187Smrg ps2) 10506c321187Smrg basic_machine=i386-ibm 10516c321187Smrg ;; 10526c321187Smrg pw32) 10536c321187Smrg basic_machine=i586-unknown 10546c321187Smrg os=-pw32 10556c321187Smrg ;; 10569d0b5e55Smrg rdos | rdos64) 10579d0b5e55Smrg basic_machine=x86_64-pc 10589d0b5e55Smrg os=-rdos 10599d0b5e55Smrg ;; 10609d0b5e55Smrg rdos32) 10616c321187Smrg basic_machine=i386-pc 10626c321187Smrg os=-rdos 10636c321187Smrg ;; 10646c321187Smrg rom68k) 10656c321187Smrg basic_machine=m68k-rom68k 10666c321187Smrg os=-coff 10676c321187Smrg ;; 10686c321187Smrg rm[46]00) 10696c321187Smrg basic_machine=mips-siemens 10706c321187Smrg ;; 10716c321187Smrg rtpc | rtpc-*) 10726c321187Smrg basic_machine=romp-ibm 10736c321187Smrg ;; 10746c321187Smrg s390 | s390-*) 10756c321187Smrg basic_machine=s390-ibm 10766c321187Smrg ;; 10776c321187Smrg s390x | s390x-*) 10786c321187Smrg basic_machine=s390x-ibm 10796c321187Smrg ;; 10806c321187Smrg sa29200) 10816c321187Smrg basic_machine=a29k-amd 10826c321187Smrg os=-udi 10836c321187Smrg ;; 10846c321187Smrg sb1) 10856c321187Smrg basic_machine=mipsisa64sb1-unknown 10866c321187Smrg ;; 10876c321187Smrg sb1el) 10886c321187Smrg basic_machine=mipsisa64sb1el-unknown 10896c321187Smrg ;; 109093493779Smrg sde) 109193493779Smrg basic_machine=mipsisa32-sde 109293493779Smrg os=-elf 109393493779Smrg ;; 10946c321187Smrg sei) 10956c321187Smrg basic_machine=mips-sei 10966c321187Smrg os=-seiux 10976c321187Smrg ;; 10986c321187Smrg sequent) 10996c321187Smrg basic_machine=i386-sequent 11006c321187Smrg ;; 110193493779Smrg sh5el) 110293493779Smrg basic_machine=sh5le-unknown 110393493779Smrg ;; 1104198e4c3cSmrg simso-wrs) 11056c321187Smrg basic_machine=sparclite-wrs 11066c321187Smrg os=-vxworks 11076c321187Smrg ;; 11086c321187Smrg sps7) 11096c321187Smrg basic_machine=m68k-bull 11106c321187Smrg os=-sysv2 11116c321187Smrg ;; 11126c321187Smrg spur) 11136c321187Smrg basic_machine=spur-unknown 11146c321187Smrg ;; 11156c321187Smrg st2000) 11166c321187Smrg basic_machine=m68k-tandem 11176c321187Smrg ;; 11186c321187Smrg stratus) 11196c321187Smrg basic_machine=i860-stratus 11206c321187Smrg os=-sysv4 11216c321187Smrg ;; 11229d0b5e55Smrg strongarm-* | thumb-*) 1123198e4c3cSmrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11249d0b5e55Smrg ;; 11256c321187Smrg sun2) 11266c321187Smrg basic_machine=m68000-sun 11276c321187Smrg ;; 11286c321187Smrg sun2os3) 11296c321187Smrg basic_machine=m68000-sun 11306c321187Smrg os=-sunos3 11316c321187Smrg ;; 11326c321187Smrg sun2os4) 11336c321187Smrg basic_machine=m68000-sun 11346c321187Smrg os=-sunos4 11356c321187Smrg ;; 11366c321187Smrg sun3os3) 11376c321187Smrg basic_machine=m68k-sun 11386c321187Smrg os=-sunos3 11396c321187Smrg ;; 11406c321187Smrg sun3os4) 11416c321187Smrg basic_machine=m68k-sun 11426c321187Smrg os=-sunos4 11436c321187Smrg ;; 11446c321187Smrg sun4os3) 11456c321187Smrg basic_machine=sparc-sun 11466c321187Smrg os=-sunos3 11476c321187Smrg ;; 11486c321187Smrg sun4os4) 11496c321187Smrg basic_machine=sparc-sun 11506c321187Smrg os=-sunos4 11516c321187Smrg ;; 11526c321187Smrg sun4sol2) 11536c321187Smrg basic_machine=sparc-sun 11546c321187Smrg os=-solaris2 11556c321187Smrg ;; 11566c321187Smrg sun3 | sun3-*) 11576c321187Smrg basic_machine=m68k-sun 11586c321187Smrg ;; 11596c321187Smrg sun4) 11606c321187Smrg basic_machine=sparc-sun 11616c321187Smrg ;; 11626c321187Smrg sun386 | sun386i | roadrunner) 11636c321187Smrg basic_machine=i386-sun 11646c321187Smrg ;; 11656c321187Smrg sv1) 11666c321187Smrg basic_machine=sv1-cray 11676c321187Smrg os=-unicos 11686c321187Smrg ;; 11696c321187Smrg symmetry) 11706c321187Smrg basic_machine=i386-sequent 11716c321187Smrg os=-dynix 11726c321187Smrg ;; 11736c321187Smrg t3e) 11746c321187Smrg basic_machine=alphaev5-cray 11756c321187Smrg os=-unicos 11766c321187Smrg ;; 11776c321187Smrg t90) 11786c321187Smrg basic_machine=t90-cray 11796c321187Smrg os=-unicos 11806c321187Smrg ;; 118193493779Smrg tile*) 11829d0b5e55Smrg basic_machine=$basic_machine-unknown 118393493779Smrg os=-linux-gnu 118493493779Smrg ;; 11856c321187Smrg tx39) 11866c321187Smrg basic_machine=mipstx39-unknown 11876c321187Smrg ;; 11886c321187Smrg tx39el) 11896c321187Smrg basic_machine=mipstx39el-unknown 11906c321187Smrg ;; 11916c321187Smrg toad1) 11926c321187Smrg basic_machine=pdp10-xkl 11936c321187Smrg os=-tops20 11946c321187Smrg ;; 11956c321187Smrg tower | tower-32) 11966c321187Smrg basic_machine=m68k-ncr 11976c321187Smrg ;; 11986c321187Smrg tpf) 11996c321187Smrg basic_machine=s390x-ibm 12006c321187Smrg os=-tpf 12016c321187Smrg ;; 12026c321187Smrg udi29k) 12036c321187Smrg basic_machine=a29k-amd 12046c321187Smrg os=-udi 12056c321187Smrg ;; 12066c321187Smrg ultra3) 12076c321187Smrg basic_machine=a29k-nyu 12086c321187Smrg os=-sym1 12096c321187Smrg ;; 12106c321187Smrg v810 | necv810) 12116c321187Smrg basic_machine=v810-nec 12126c321187Smrg os=-none 12136c321187Smrg ;; 12146c321187Smrg vaxv) 12156c321187Smrg basic_machine=vax-dec 12166c321187Smrg os=-sysv 12176c321187Smrg ;; 12186c321187Smrg vms) 12196c321187Smrg basic_machine=vax-dec 12206c321187Smrg os=-vms 12216c321187Smrg ;; 12226c321187Smrg vpp*|vx|vx-*) 12236c321187Smrg basic_machine=f301-fujitsu 12246c321187Smrg ;; 12256c321187Smrg vxworks960) 12266c321187Smrg basic_machine=i960-wrs 12276c321187Smrg os=-vxworks 12286c321187Smrg ;; 12296c321187Smrg vxworks68) 12306c321187Smrg basic_machine=m68k-wrs 12316c321187Smrg os=-vxworks 12326c321187Smrg ;; 12336c321187Smrg vxworks29k) 12346c321187Smrg basic_machine=a29k-wrs 12356c321187Smrg os=-vxworks 12366c321187Smrg ;; 12376c321187Smrg w65*) 12386c321187Smrg basic_machine=w65-wdc 12396c321187Smrg os=-none 12406c321187Smrg ;; 12416c321187Smrg w89k-*) 12426c321187Smrg basic_machine=hppa1.1-winbond 12436c321187Smrg os=-proelf 12446c321187Smrg ;; 1245198e4c3cSmrg x64) 1246198e4c3cSmrg basic_machine=x86_64-pc 1247198e4c3cSmrg ;; 12486c321187Smrg xbox) 12496c321187Smrg basic_machine=i686-pc 12506c321187Smrg os=-mingw32 12516c321187Smrg ;; 12526c321187Smrg xps | xps100) 12536c321187Smrg basic_machine=xps100-honeywell 12546c321187Smrg ;; 12559d0b5e55Smrg xscale-* | xscalee[bl]-*) 1256198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12579d0b5e55Smrg ;; 12586c321187Smrg ymp) 12596c321187Smrg basic_machine=ymp-cray 12606c321187Smrg os=-unicos 12616c321187Smrg ;; 12626c321187Smrg none) 12636c321187Smrg basic_machine=none-none 12646c321187Smrg os=-none 12656c321187Smrg ;; 12666c321187Smrg 12676c321187Smrg# Here we handle the default manufacturer of certain CPU types. It is in 12686c321187Smrg# some cases the only manufacturer, in others, it is the most popular. 12696c321187Smrg w89k) 12706c321187Smrg basic_machine=hppa1.1-winbond 12716c321187Smrg ;; 12726c321187Smrg op50n) 12736c321187Smrg basic_machine=hppa1.1-oki 12746c321187Smrg ;; 12756c321187Smrg op60c) 12766c321187Smrg basic_machine=hppa1.1-oki 12776c321187Smrg ;; 12786c321187Smrg romp) 12796c321187Smrg basic_machine=romp-ibm 12806c321187Smrg ;; 12816c321187Smrg mmix) 12826c321187Smrg basic_machine=mmix-knuth 12836c321187Smrg ;; 12846c321187Smrg rs6000) 12856c321187Smrg basic_machine=rs6000-ibm 12866c321187Smrg ;; 12876c321187Smrg vax) 12886c321187Smrg basic_machine=vax-dec 12896c321187Smrg ;; 12906c321187Smrg pdp11) 12916c321187Smrg basic_machine=pdp11-dec 12926c321187Smrg ;; 12936c321187Smrg we32k) 12946c321187Smrg basic_machine=we32k-att 12956c321187Smrg ;; 1296e120bd27Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12976c321187Smrg basic_machine=sh-unknown 12986c321187Smrg ;; 12996c321187Smrg cydra) 13006c321187Smrg basic_machine=cydra-cydrome 13016c321187Smrg ;; 13026c321187Smrg orion) 13036c321187Smrg basic_machine=orion-highlevel 13046c321187Smrg ;; 13056c321187Smrg orion105) 13066c321187Smrg basic_machine=clipper-highlevel 13076c321187Smrg ;; 13086c321187Smrg mac | mpw | mac-mpw) 13096c321187Smrg basic_machine=m68k-apple 13106c321187Smrg ;; 13116c321187Smrg pmac | pmac-mpw) 13126c321187Smrg basic_machine=powerpc-apple 13136c321187Smrg ;; 13146c321187Smrg *-unknown) 13156c321187Smrg # Make sure to match an already-canonicalized machine name. 13166c321187Smrg ;; 13176c321187Smrg *) 1318198e4c3cSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 13196c321187Smrg exit 1 13206c321187Smrg ;; 13216c321187Smrgesac 13226c321187Smrg 13236c321187Smrg# Here we canonicalize certain aliases for manufacturers. 13246c321187Smrgcase $basic_machine in 13256c321187Smrg *-digital*) 1326198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 13276c321187Smrg ;; 13286c321187Smrg *-commodore*) 1329198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 13306c321187Smrg ;; 13316c321187Smrg *) 13326c321187Smrg ;; 13336c321187Smrgesac 13346c321187Smrg 13356c321187Smrg# Decode manufacturer-specific aliases for certain operating systems. 13366c321187Smrg 13376c321187Smrgif [ x"$os" != x"" ] 13386c321187Smrgthen 13396c321187Smrgcase $os in 1340198e4c3cSmrg # First match some system type aliases that might get confused 1341198e4c3cSmrg # with valid system types. 13426c321187Smrg # -solaris* is a basic system type, with this one exception. 13439d0b5e55Smrg -auroraux) 13449d0b5e55Smrg os=-auroraux 1345e120bd27Smrg ;; 13466c321187Smrg -solaris1 | -solaris1.*) 13476c321187Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13486c321187Smrg ;; 13496c321187Smrg -solaris) 13506c321187Smrg os=-solaris2 13516c321187Smrg ;; 13526c321187Smrg -unixware*) 13536c321187Smrg os=-sysv4.2uw 13546c321187Smrg ;; 13556c321187Smrg -gnu/linux*) 13566c321187Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13576c321187Smrg ;; 1358198e4c3cSmrg # es1800 is here to avoid being matched by es* (a different OS) 1359198e4c3cSmrg -es1800*) 1360198e4c3cSmrg os=-ose 1361198e4c3cSmrg ;; 1362198e4c3cSmrg # Now accept the basic system types. 13636c321187Smrg # The portable systems comes first. 1364198e4c3cSmrg # Each alternative MUST end in a * to match a version number. 13656c321187Smrg # -sysv* is not here because it comes later, after sysvr4. 13666c321187Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367e120bd27Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368e120bd27Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13699d0b5e55Smrg | -sym* | -kopensolaris* | -plan9* \ 13706c321187Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1371198e4c3cSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 13726c321187Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13736c321187Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1374198e4c3cSmrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 1375198e4c3cSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13766c321187Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13776c321187Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13786c321187Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1379198e4c3cSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 1380198e4c3cSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13819d0b5e55Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1382198e4c3cSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13839d0b5e55Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1384198e4c3cSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1385198e4c3cSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 13866c321187Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13876c321187Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13886c321187Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1389198e4c3cSmrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13906c321187Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1391198e4c3cSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1392198e4c3cSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 1393198e4c3cSmrg | -midnightbsd*) 13946c321187Smrg # Remember, each alternative MUST END IN *, to match a version number. 13956c321187Smrg ;; 13966c321187Smrg -qnx*) 13976c321187Smrg case $basic_machine in 13986c321187Smrg x86-* | i*86-*) 13996c321187Smrg ;; 14006c321187Smrg *) 14016c321187Smrg os=-nto$os 14026c321187Smrg ;; 14036c321187Smrg esac 14046c321187Smrg ;; 14056c321187Smrg -nto-qnx*) 14066c321187Smrg ;; 14076c321187Smrg -nto*) 14086c321187Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 14096c321187Smrg ;; 1410198e4c3cSmrg -sim | -xray | -os68k* | -v88r* \ 1411198e4c3cSmrg | -windows* | -osx | -abug | -netware* | -os9* \ 14126c321187Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14136c321187Smrg ;; 14146c321187Smrg -mac*) 1415198e4c3cSmrg os=`echo "$os" | sed -e 's|mac|macos|'` 14166c321187Smrg ;; 14176c321187Smrg -linux-dietlibc) 14186c321187Smrg os=-linux-dietlibc 14196c321187Smrg ;; 14206c321187Smrg -linux*) 14216c321187Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 14226c321187Smrg ;; 14236c321187Smrg -sunos5*) 1424198e4c3cSmrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14256c321187Smrg ;; 14266c321187Smrg -sunos6*) 1427198e4c3cSmrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14286c321187Smrg ;; 14296c321187Smrg -opened*) 14306c321187Smrg os=-openedition 14316c321187Smrg ;; 14329d0b5e55Smrg -os400*) 14336c321187Smrg os=-os400 14346c321187Smrg ;; 14356c321187Smrg -wince*) 14366c321187Smrg os=-wince 14376c321187Smrg ;; 14386c321187Smrg -utek*) 14396c321187Smrg os=-bsd 14406c321187Smrg ;; 14416c321187Smrg -dynix*) 14426c321187Smrg os=-bsd 14436c321187Smrg ;; 14446c321187Smrg -acis*) 14456c321187Smrg os=-aos 14466c321187Smrg ;; 14476c321187Smrg -atheos*) 14486c321187Smrg os=-atheos 14496c321187Smrg ;; 14506c321187Smrg -syllable*) 14516c321187Smrg os=-syllable 14526c321187Smrg ;; 14536c321187Smrg -386bsd) 14546c321187Smrg os=-bsd 14556c321187Smrg ;; 14566c321187Smrg -ctix* | -uts*) 14576c321187Smrg os=-sysv 14586c321187Smrg ;; 14596c321187Smrg -nova*) 14606c321187Smrg os=-rtmk-nova 14616c321187Smrg ;; 1462198e4c3cSmrg -ns2) 14636c321187Smrg os=-nextstep2 14646c321187Smrg ;; 14656c321187Smrg -nsk*) 14666c321187Smrg os=-nsk 14676c321187Smrg ;; 14686c321187Smrg # Preserve the version number of sinix5. 14696c321187Smrg -sinix5.*) 14706c321187Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 14716c321187Smrg ;; 14726c321187Smrg -sinix*) 14736c321187Smrg os=-sysv4 14746c321187Smrg ;; 14759d0b5e55Smrg -tpf*) 14766c321187Smrg os=-tpf 14776c321187Smrg ;; 14786c321187Smrg -triton*) 14796c321187Smrg os=-sysv3 14806c321187Smrg ;; 14816c321187Smrg -oss*) 14826c321187Smrg os=-sysv3 14836c321187Smrg ;; 1484198e4c3cSmrg -svr4*) 14856c321187Smrg os=-sysv4 14866c321187Smrg ;; 14876c321187Smrg -svr3) 14886c321187Smrg os=-sysv3 14896c321187Smrg ;; 14906c321187Smrg -sysvr4) 14916c321187Smrg os=-sysv4 14926c321187Smrg ;; 14936c321187Smrg # This must come after -sysvr4. 14946c321187Smrg -sysv*) 14956c321187Smrg ;; 14966c321187Smrg -ose*) 14976c321187Smrg os=-ose 14986c321187Smrg ;; 14996c321187Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15006c321187Smrg os=-mint 15016c321187Smrg ;; 15026c321187Smrg -zvmoe) 15036c321187Smrg os=-zvmoe 15046c321187Smrg ;; 1505e120bd27Smrg -dicos*) 1506e120bd27Smrg os=-dicos 1507e120bd27Smrg ;; 1508198e4c3cSmrg -pikeos*) 1509198e4c3cSmrg # Until real need of OS specific support for 1510198e4c3cSmrg # particular features comes up, bare metal 1511198e4c3cSmrg # configurations are quite functional. 1512198e4c3cSmrg case $basic_machine in 1513198e4c3cSmrg arm*) 1514198e4c3cSmrg os=-eabi 1515198e4c3cSmrg ;; 1516198e4c3cSmrg *) 1517198e4c3cSmrg os=-elf 1518198e4c3cSmrg ;; 1519198e4c3cSmrg esac 1520198e4c3cSmrg ;; 15219d0b5e55Smrg -nacl*) 15229d0b5e55Smrg ;; 1523198e4c3cSmrg -ios) 1524198e4c3cSmrg ;; 15256c321187Smrg -none) 15266c321187Smrg ;; 15276c321187Smrg *) 15286c321187Smrg # Get rid of the `-' at the beginning of $os. 15296c321187Smrg os=`echo $os | sed 's/[^-]*-//'` 1530198e4c3cSmrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 15316c321187Smrg exit 1 15326c321187Smrg ;; 15336c321187Smrgesac 15346c321187Smrgelse 15356c321187Smrg 15366c321187Smrg# Here we handle the default operating systems that come with various machines. 15376c321187Smrg# The value should be what the vendor currently ships out the door with their 15386c321187Smrg# machine or put another way, the most popular os provided with the machine. 15396c321187Smrg 15406c321187Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15416c321187Smrg# "-sun"), then you have to tell the case statement up towards the top 15426c321187Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15436c321187Smrg# will signal an error saying that MANUFACTURER isn't an operating 15446c321187Smrg# system, and we'll never get to this point. 15456c321187Smrg 15466c321187Smrgcase $basic_machine in 15479d0b5e55Smrg score-*) 154893493779Smrg os=-elf 154993493779Smrg ;; 15509d0b5e55Smrg spu-*) 155193493779Smrg os=-elf 155293493779Smrg ;; 15536c321187Smrg *-acorn) 15546c321187Smrg os=-riscix1.2 15556c321187Smrg ;; 15566c321187Smrg arm*-rebel) 15576c321187Smrg os=-linux 15586c321187Smrg ;; 15596c321187Smrg arm*-semi) 15606c321187Smrg os=-aout 15616c321187Smrg ;; 15629d0b5e55Smrg c4x-* | tic4x-*) 15639d0b5e55Smrg os=-coff 15649d0b5e55Smrg ;; 1565198e4c3cSmrg c8051-*) 1566198e4c3cSmrg os=-elf 1567198e4c3cSmrg ;; 15689d0b5e55Smrg hexagon-*) 15699d0b5e55Smrg os=-elf 157093493779Smrg ;; 1571e120bd27Smrg tic54x-*) 1572e120bd27Smrg os=-coff 1573e120bd27Smrg ;; 1574e120bd27Smrg tic55x-*) 1575e120bd27Smrg os=-coff 1576e120bd27Smrg ;; 1577e120bd27Smrg tic6x-*) 1578e120bd27Smrg os=-coff 1579e120bd27Smrg ;; 15806c321187Smrg # This must come before the *-dec entry. 15816c321187Smrg pdp10-*) 15826c321187Smrg os=-tops20 15836c321187Smrg ;; 15846c321187Smrg pdp11-*) 15856c321187Smrg os=-none 15866c321187Smrg ;; 15876c321187Smrg *-dec | vax-*) 15886c321187Smrg os=-ultrix4.2 15896c321187Smrg ;; 15906c321187Smrg m68*-apollo) 15916c321187Smrg os=-domain 15926c321187Smrg ;; 15936c321187Smrg i386-sun) 15946c321187Smrg os=-sunos4.0.2 15956c321187Smrg ;; 15966c321187Smrg m68000-sun) 15976c321187Smrg os=-sunos3 15986c321187Smrg ;; 15996c321187Smrg m68*-cisco) 16006c321187Smrg os=-aout 16016c321187Smrg ;; 16029d0b5e55Smrg mep-*) 160393493779Smrg os=-elf 160493493779Smrg ;; 16056c321187Smrg mips*-cisco) 16066c321187Smrg os=-elf 16076c321187Smrg ;; 16086c321187Smrg mips*-*) 16096c321187Smrg os=-elf 16106c321187Smrg ;; 16116c321187Smrg or32-*) 16126c321187Smrg os=-coff 16136c321187Smrg ;; 16146c321187Smrg *-tti) # must be before sparc entry or we get the wrong os. 16156c321187Smrg os=-sysv3 16166c321187Smrg ;; 16176c321187Smrg sparc-* | *-sun) 16186c321187Smrg os=-sunos4.1.1 16196c321187Smrg ;; 1620198e4c3cSmrg pru-*) 1621198e4c3cSmrg os=-elf 1622198e4c3cSmrg ;; 16236c321187Smrg *-be) 16246c321187Smrg os=-beos 16256c321187Smrg ;; 16266c321187Smrg *-ibm) 16276c321187Smrg os=-aix 16286c321187Smrg ;; 16299d0b5e55Smrg *-knuth) 16306c321187Smrg os=-mmixware 16316c321187Smrg ;; 16326c321187Smrg *-wec) 16336c321187Smrg os=-proelf 16346c321187Smrg ;; 16356c321187Smrg *-winbond) 16366c321187Smrg os=-proelf 16376c321187Smrg ;; 16386c321187Smrg *-oki) 16396c321187Smrg os=-proelf 16406c321187Smrg ;; 16416c321187Smrg *-hp) 16426c321187Smrg os=-hpux 16436c321187Smrg ;; 16446c321187Smrg *-hitachi) 16456c321187Smrg os=-hiux 16466c321187Smrg ;; 16476c321187Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16486c321187Smrg os=-sysv 16496c321187Smrg ;; 16506c321187Smrg *-cbm) 16516c321187Smrg os=-amigaos 16526c321187Smrg ;; 16536c321187Smrg *-dg) 16546c321187Smrg os=-dgux 16556c321187Smrg ;; 16566c321187Smrg *-dolphin) 16576c321187Smrg os=-sysv3 16586c321187Smrg ;; 16596c321187Smrg m68k-ccur) 16606c321187Smrg os=-rtu 16616c321187Smrg ;; 16626c321187Smrg m88k-omron*) 16636c321187Smrg os=-luna 16646c321187Smrg ;; 1665198e4c3cSmrg *-next) 16666c321187Smrg os=-nextstep 16676c321187Smrg ;; 16686c321187Smrg *-sequent) 16696c321187Smrg os=-ptx 16706c321187Smrg ;; 16716c321187Smrg *-crds) 16726c321187Smrg os=-unos 16736c321187Smrg ;; 16746c321187Smrg *-ns) 16756c321187Smrg os=-genix 16766c321187Smrg ;; 16776c321187Smrg i370-*) 16786c321187Smrg os=-mvs 16796c321187Smrg ;; 16806c321187Smrg *-gould) 16816c321187Smrg os=-sysv 16826c321187Smrg ;; 16836c321187Smrg *-highlevel) 16846c321187Smrg os=-bsd 16856c321187Smrg ;; 16866c321187Smrg *-encore) 16876c321187Smrg os=-bsd 16886c321187Smrg ;; 16896c321187Smrg *-sgi) 16906c321187Smrg os=-irix 16916c321187Smrg ;; 16926c321187Smrg *-siemens) 16936c321187Smrg os=-sysv4 16946c321187Smrg ;; 16956c321187Smrg *-masscomp) 16966c321187Smrg os=-rtu 16976c321187Smrg ;; 16986c321187Smrg f30[01]-fujitsu | f700-fujitsu) 16996c321187Smrg os=-uxpv 17006c321187Smrg ;; 17016c321187Smrg *-rom68k) 17026c321187Smrg os=-coff 17036c321187Smrg ;; 17046c321187Smrg *-*bug) 17056c321187Smrg os=-coff 17066c321187Smrg ;; 17076c321187Smrg *-apple) 17086c321187Smrg os=-macos 17096c321187Smrg ;; 17106c321187Smrg *-atari*) 17116c321187Smrg os=-mint 17126c321187Smrg ;; 17136c321187Smrg *) 17146c321187Smrg os=-none 17156c321187Smrg ;; 17166c321187Smrgesac 17176c321187Smrgfi 17186c321187Smrg 17196c321187Smrg# Here we handle the case where we know the os, and the CPU type, but not the 17206c321187Smrg# manufacturer. We pick the logical manufacturer. 17216c321187Smrgvendor=unknown 17226c321187Smrgcase $basic_machine in 17236c321187Smrg *-unknown) 17246c321187Smrg case $os in 17256c321187Smrg -riscix*) 17266c321187Smrg vendor=acorn 17276c321187Smrg ;; 17286c321187Smrg -sunos*) 17296c321187Smrg vendor=sun 17306c321187Smrg ;; 1731e120bd27Smrg -cnk*|-aix*) 17326c321187Smrg vendor=ibm 17336c321187Smrg ;; 17346c321187Smrg -beos*) 17356c321187Smrg vendor=be 17366c321187Smrg ;; 17376c321187Smrg -hpux*) 17386c321187Smrg vendor=hp 17396c321187Smrg ;; 17406c321187Smrg -mpeix*) 17416c321187Smrg vendor=hp 17426c321187Smrg ;; 17436c321187Smrg -hiux*) 17446c321187Smrg vendor=hitachi 17456c321187Smrg ;; 17466c321187Smrg -unos*) 17476c321187Smrg vendor=crds 17486c321187Smrg ;; 17496c321187Smrg -dgux*) 17506c321187Smrg vendor=dg 17516c321187Smrg ;; 17526c321187Smrg -luna*) 17536c321187Smrg vendor=omron 17546c321187Smrg ;; 17556c321187Smrg -genix*) 17566c321187Smrg vendor=ns 17576c321187Smrg ;; 17586c321187Smrg -mvs* | -opened*) 17596c321187Smrg vendor=ibm 17606c321187Smrg ;; 17616c321187Smrg -os400*) 17626c321187Smrg vendor=ibm 17636c321187Smrg ;; 17646c321187Smrg -ptx*) 17656c321187Smrg vendor=sequent 17666c321187Smrg ;; 17676c321187Smrg -tpf*) 17686c321187Smrg vendor=ibm 17696c321187Smrg ;; 17706c321187Smrg -vxsim* | -vxworks* | -windiss*) 17716c321187Smrg vendor=wrs 17726c321187Smrg ;; 17736c321187Smrg -aux*) 17746c321187Smrg vendor=apple 17756c321187Smrg ;; 17766c321187Smrg -hms*) 17776c321187Smrg vendor=hitachi 17786c321187Smrg ;; 17796c321187Smrg -mpw* | -macos*) 17806c321187Smrg vendor=apple 17816c321187Smrg ;; 17826c321187Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17836c321187Smrg vendor=atari 17846c321187Smrg ;; 17856c321187Smrg -vos*) 17866c321187Smrg vendor=stratus 17876c321187Smrg ;; 17886c321187Smrg esac 1789198e4c3cSmrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 17906c321187Smrg ;; 17916c321187Smrgesac 17926c321187Smrg 1793198e4c3cSmrgecho "$basic_machine$os" 17946c321187Smrgexit 17956c321187Smrg 17966c321187Smrg# Local variables: 1797198e4c3cSmrg# eval: (add-hook 'write-file-functions 'time-stamp) 17986c321187Smrg# time-stamp-start: "timestamp='" 17996c321187Smrg# time-stamp-format: "%:y-%02m-%02d" 18006c321187Smrg# time-stamp-end: "'" 18016c321187Smrg# End: 1802