config.sub revision 0c91c449
1ff7e0accSmrg#! /bin/sh 2ff7e0accSmrg# Configuration validation subroutine script. 30c91c449Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 4ff7e0accSmrg 50c91c449Smrgtimestamp='2018-02-28' 6ff7e0accSmrg 705bee9bcSmrg# This file is free software; you can redistribute it and/or modify it 805bee9bcSmrg# under the terms of the GNU General Public License as published by 905bee9bcSmrg# the Free Software Foundation; either version 3 of the License, or 10ff7e0accSmrg# (at your option) any later version. 11ff7e0accSmrg# 1205bee9bcSmrg# This program is distributed in the hope that it will be useful, but 1305bee9bcSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1405bee9bcSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1505bee9bcSmrg# General Public License for more details. 16ff7e0accSmrg# 17ff7e0accSmrg# You should have received a copy of the GNU General Public License 180c91c449Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19ff7e0accSmrg# 20ff7e0accSmrg# As a special exception to the GNU General Public License, if you 21ff7e0accSmrg# distribute this file as part of a program that contains a 22ff7e0accSmrg# configuration script generated by Autoconf, you may include it under 2305bee9bcSmrg# the same distribution terms that you use for the rest of that 2405bee9bcSmrg# program. This Exception is an additional permission under section 7 2505bee9bcSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26ff7e0accSmrg 27ff7e0accSmrg 280c91c449Smrg# Please send patches to <config-patches@gnu.org>. 29ff7e0accSmrg# 30ff7e0accSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31ff7e0accSmrg# Supply the specified configuration type as an argument. 32ff7e0accSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33ff7e0accSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34ff7e0accSmrg 35863f95b1Smrg# You can get the latest version of this script from: 360c91c449Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37863f95b1Smrg 38ff7e0accSmrg# This file is supposed to be the same for all GNU packages 39ff7e0accSmrg# and recognize all the CPU types, system types and aliases 40ff7e0accSmrg# that are meaningful with *any* GNU software. 41ff7e0accSmrg# Each package is responsible for reporting which valid configurations 42ff7e0accSmrg# it does not support. The user should be able to distinguish 43ff7e0accSmrg# a failure to support a valid configuration from a meaningless 44ff7e0accSmrg# configuration. 45ff7e0accSmrg 46ff7e0accSmrg# The goal of this file is to map all the various variations of a given 47ff7e0accSmrg# machine specification into a single specification in the form: 48ff7e0accSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49ff7e0accSmrg# or in some cases, the newer four-part form: 50ff7e0accSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51ff7e0accSmrg# It is wrong to echo any other type of specification. 52ff7e0accSmrg 53ff7e0accSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54ff7e0accSmrg 55ff7e0accSmrgusage="\ 560c91c449SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57ff7e0accSmrg 58ff7e0accSmrgCanonicalize a configuration name. 59ff7e0accSmrg 600c91c449SmrgOptions: 61ff7e0accSmrg -h, --help print this help, then exit 62ff7e0accSmrg -t, --time-stamp print date of last modification, then exit 63ff7e0accSmrg -v, --version print version number, then exit 64ff7e0accSmrg 65ff7e0accSmrgReport bugs and patches to <config-patches@gnu.org>." 66ff7e0accSmrg 67ff7e0accSmrgversion="\ 68ff7e0accSmrgGNU config.sub ($timestamp) 69ff7e0accSmrg 700c91c449SmrgCopyright 1992-2018 Free Software Foundation, Inc. 71ff7e0accSmrg 72ff7e0accSmrgThis is free software; see the source for copying conditions. There is NO 73ff7e0accSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74ff7e0accSmrg 75ff7e0accSmrghelp=" 76ff7e0accSmrgTry \`$me --help' for more information." 77ff7e0accSmrg 78ff7e0accSmrg# Parse command line 79ff7e0accSmrgwhile test $# -gt 0 ; do 80ff7e0accSmrg case $1 in 81ff7e0accSmrg --time-stamp | --time* | -t ) 82ff7e0accSmrg echo "$timestamp" ; exit ;; 83ff7e0accSmrg --version | -v ) 84ff7e0accSmrg echo "$version" ; exit ;; 85ff7e0accSmrg --help | --h* | -h ) 86ff7e0accSmrg echo "$usage"; exit ;; 87ff7e0accSmrg -- ) # Stop option processing 88ff7e0accSmrg shift; break ;; 89ff7e0accSmrg - ) # Use stdin as input. 90ff7e0accSmrg break ;; 91ff7e0accSmrg -* ) 92ff7e0accSmrg echo "$me: invalid option $1$help" 93ff7e0accSmrg exit 1 ;; 94ff7e0accSmrg 95ff7e0accSmrg *local*) 96ff7e0accSmrg # First pass through any local machine types. 970c91c449Smrg echo "$1" 98ff7e0accSmrg exit ;; 99ff7e0accSmrg 100ff7e0accSmrg * ) 101ff7e0accSmrg break ;; 102ff7e0accSmrg esac 103ff7e0accSmrgdone 104ff7e0accSmrg 105ff7e0accSmrgcase $# in 106ff7e0accSmrg 0) echo "$me: missing argument$help" >&2 107ff7e0accSmrg exit 1;; 108ff7e0accSmrg 1) ;; 109ff7e0accSmrg *) echo "$me: too many arguments$help" >&2 110ff7e0accSmrg exit 1;; 111ff7e0accSmrgesac 112ff7e0accSmrg 113ff7e0accSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114ff7e0accSmrg# Here we must recognize all the valid KERNEL-OS combinations. 1150c91c449Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116ff7e0accSmrgcase $maybe_os in 117863f95b1Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11805bee9bcSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1190c91c449Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1200c91c449Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121ff7e0accSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122ff7e0accSmrg os=-$maybe_os 1230c91c449Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124ff7e0accSmrg ;; 12505bee9bcSmrg android-linux) 12605bee9bcSmrg os=-linux-android 1270c91c449Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12805bee9bcSmrg ;; 129ff7e0accSmrg *) 1300c91c449Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1310c91c449Smrg if [ "$basic_machine" != "$1" ] 1320c91c449Smrg then os=`echo "$1" | sed 's/.*-/-/'` 133ff7e0accSmrg else os=; fi 134ff7e0accSmrg ;; 135ff7e0accSmrgesac 136ff7e0accSmrg 137ff7e0accSmrg### Let's recognize common machines as not being operating systems so 138ff7e0accSmrg### that things like config.sub decstation-3100 work. We also 139ff7e0accSmrg### recognize some manufacturers as not being operating systems, so we 140ff7e0accSmrg### can provide default operating systems below. 141ff7e0accSmrgcase $os in 142ff7e0accSmrg -sun*os*) 143ff7e0accSmrg # Prevent following clause from handling this invalid input. 144ff7e0accSmrg ;; 145ff7e0accSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146ff7e0accSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147ff7e0accSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148ff7e0accSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149ff7e0accSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150ff7e0accSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15105bee9bcSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152ff7e0accSmrg os= 153ff7e0accSmrg basic_machine=$1 154ff7e0accSmrg ;; 15505bee9bcSmrg -bluegene*) 15605bee9bcSmrg os=-cnk 157863f95b1Smrg ;; 158ff7e0accSmrg -sim | -cisco | -oki | -wec | -winbond) 159ff7e0accSmrg os= 160ff7e0accSmrg basic_machine=$1 161ff7e0accSmrg ;; 162ff7e0accSmrg -scout) 163ff7e0accSmrg ;; 164ff7e0accSmrg -wrs) 165ff7e0accSmrg os=-vxworks 166ff7e0accSmrg basic_machine=$1 167ff7e0accSmrg ;; 168ff7e0accSmrg -chorusos*) 169ff7e0accSmrg os=-chorusos 170ff7e0accSmrg basic_machine=$1 171ff7e0accSmrg ;; 17205bee9bcSmrg -chorusrdb) 17305bee9bcSmrg os=-chorusrdb 174ff7e0accSmrg basic_machine=$1 17505bee9bcSmrg ;; 176ff7e0accSmrg -hiux*) 177ff7e0accSmrg os=-hiuxwe2 178ff7e0accSmrg ;; 179ff7e0accSmrg -sco6) 180ff7e0accSmrg os=-sco5v6 1810c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 182ff7e0accSmrg ;; 183ff7e0accSmrg -sco5) 184ff7e0accSmrg os=-sco3.2v5 1850c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186ff7e0accSmrg ;; 187ff7e0accSmrg -sco4) 188ff7e0accSmrg os=-sco3.2v4 1890c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190ff7e0accSmrg ;; 191ff7e0accSmrg -sco3.2.[4-9]*) 192ff7e0accSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1930c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194ff7e0accSmrg ;; 195ff7e0accSmrg -sco3.2v[4-9]*) 196ff7e0accSmrg # Don't forget version if it is 3.2v4 or newer. 1970c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198ff7e0accSmrg ;; 199ff7e0accSmrg -sco5v6*) 200ff7e0accSmrg # Don't forget version if it is 3.2v4 or newer. 2010c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 202ff7e0accSmrg ;; 203ff7e0accSmrg -sco*) 204ff7e0accSmrg os=-sco3.2v2 2050c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206ff7e0accSmrg ;; 207ff7e0accSmrg -udk*) 2080c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209ff7e0accSmrg ;; 210ff7e0accSmrg -isc) 211ff7e0accSmrg os=-isc2.2 2120c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213ff7e0accSmrg ;; 214ff7e0accSmrg -clix*) 215ff7e0accSmrg basic_machine=clipper-intergraph 216ff7e0accSmrg ;; 217ff7e0accSmrg -isc*) 2180c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219ff7e0accSmrg ;; 22005bee9bcSmrg -lynx*178) 22105bee9bcSmrg os=-lynxos178 22205bee9bcSmrg ;; 22305bee9bcSmrg -lynx*5) 22405bee9bcSmrg os=-lynxos5 22505bee9bcSmrg ;; 226ff7e0accSmrg -lynx*) 227ff7e0accSmrg os=-lynxos 228ff7e0accSmrg ;; 229ff7e0accSmrg -ptx*) 2300c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231ff7e0accSmrg ;; 232ff7e0accSmrg -psos*) 233ff7e0accSmrg os=-psos 234ff7e0accSmrg ;; 235ff7e0accSmrg -mint | -mint[0-9]*) 236ff7e0accSmrg basic_machine=m68k-atari 237ff7e0accSmrg os=-mint 238ff7e0accSmrg ;; 239ff7e0accSmrgesac 240ff7e0accSmrg 241ff7e0accSmrg# Decode aliases for certain CPU-COMPANY combinations. 242ff7e0accSmrgcase $basic_machine in 243ff7e0accSmrg # Recognize the basic CPU types without company name. 244ff7e0accSmrg # Some are omitted here because they have special meanings below. 245ff7e0accSmrg 1750a | 580 \ 246ff7e0accSmrg | a29k \ 24705bee9bcSmrg | aarch64 | aarch64_be \ 248ff7e0accSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249ff7e0accSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 250ff7e0accSmrg | am33_2.0 \ 25105bee9bcSmrg | arc | arceb \ 25205bee9bcSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25305bee9bcSmrg | avr | avr32 \ 2540c91c449Smrg | ba \ 25505bee9bcSmrg | be32 | be64 \ 256ff7e0accSmrg | bfin \ 2570c91c449Smrg | c4x | c8051 | clipper \ 25810998002Smrg | d10v | d30v | dlx | dsp16xx \ 2590c91c449Smrg | e2k | epiphany \ 2600c91c449Smrg | fido | fr30 | frv | ft32 \ 261ff7e0accSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 26205bee9bcSmrg | hexagon \ 2630c91c449Smrg | i370 | i860 | i960 | ia16 | ia64 \ 264ff7e0accSmrg | ip2k | iq2000 \ 2650c91c449Smrg | k1om \ 26605bee9bcSmrg | le32 | le64 \ 26710998002Smrg | lm32 \ 268ff7e0accSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26905bee9bcSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270ff7e0accSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271ff7e0accSmrg | mips16 \ 272ff7e0accSmrg | mips64 | mips64el \ 27310998002Smrg | mips64octeon | mips64octeonel \ 274ff7e0accSmrg | mips64orion | mips64orionel \ 27510998002Smrg | mips64r5900 | mips64r5900el \ 27610998002Smrg | mips64vr | mips64vrel \ 277ff7e0accSmrg | mips64vr4100 | mips64vr4100el \ 278ff7e0accSmrg | mips64vr4300 | mips64vr4300el \ 279ff7e0accSmrg | mips64vr5000 | mips64vr5000el \ 280ff7e0accSmrg | mips64vr5900 | mips64vr5900el \ 281ff7e0accSmrg | mipsisa32 | mipsisa32el \ 282ff7e0accSmrg | mipsisa32r2 | mipsisa32r2el \ 2830c91c449Smrg | mipsisa32r6 | mipsisa32r6el \ 284ff7e0accSmrg | mipsisa64 | mipsisa64el \ 285ff7e0accSmrg | mipsisa64r2 | mipsisa64r2el \ 2860c91c449Smrg | mipsisa64r6 | mipsisa64r6el \ 287ff7e0accSmrg | mipsisa64sb1 | mipsisa64sb1el \ 288ff7e0accSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 28905bee9bcSmrg | mipsr5900 | mipsr5900el \ 290ff7e0accSmrg | mipstx39 | mipstx39el \ 291ff7e0accSmrg | mn10200 | mn10300 \ 29210998002Smrg | moxie \ 293ff7e0accSmrg | mt \ 294ff7e0accSmrg | msp430 \ 295863f95b1Smrg | nds32 | nds32le | nds32be \ 29605bee9bcSmrg | nios | nios2 | nios2eb | nios2el \ 297ff7e0accSmrg | ns16k | ns32k \ 2980c91c449Smrg | open8 | or1k | or1knd | or32 \ 2990c91c449Smrg | pdp10 | pj | pjl \ 30005bee9bcSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3010c91c449Smrg | pru \ 302ff7e0accSmrg | pyramid \ 3030c91c449Smrg | riscv32 | riscv64 \ 30405bee9bcSmrg | rl78 | rx \ 305ff7e0accSmrg | score \ 3060c91c449Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307ff7e0accSmrg | sh64 | sh64le \ 308ff7e0accSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 309ff7e0accSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 31005bee9bcSmrg | spu \ 31105bee9bcSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312863f95b1Smrg | ubicom32 \ 31305bee9bcSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3140c91c449Smrg | visium \ 3150c91c449Smrg | wasm32 \ 31605bee9bcSmrg | x86 | xc16x | xstormy16 | xtensa \ 31710998002Smrg | z8k | z80) 318ff7e0accSmrg basic_machine=$basic_machine-unknown 319ff7e0accSmrg ;; 320863f95b1Smrg c54x) 321863f95b1Smrg basic_machine=tic54x-unknown 322863f95b1Smrg ;; 323863f95b1Smrg c55x) 324863f95b1Smrg basic_machine=tic55x-unknown 325863f95b1Smrg ;; 326863f95b1Smrg c6x) 327863f95b1Smrg basic_machine=tic6x-unknown 328863f95b1Smrg ;; 3290c91c449Smrg leon|leon[3-9]) 3300c91c449Smrg basic_machine=sparc-$basic_machine 3310c91c449Smrg ;; 3320c91c449Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333ff7e0accSmrg basic_machine=$basic_machine-unknown 334ff7e0accSmrg os=-none 335ff7e0accSmrg ;; 3360c91c449Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337ff7e0accSmrg ;; 338ff7e0accSmrg ms1) 339ff7e0accSmrg basic_machine=mt-unknown 340ff7e0accSmrg ;; 341ff7e0accSmrg 34205bee9bcSmrg strongarm | thumb | xscale) 34305bee9bcSmrg basic_machine=arm-unknown 34405bee9bcSmrg ;; 34505bee9bcSmrg xgate) 34605bee9bcSmrg basic_machine=$basic_machine-unknown 34705bee9bcSmrg os=-none 34805bee9bcSmrg ;; 34905bee9bcSmrg xscaleeb) 35005bee9bcSmrg basic_machine=armeb-unknown 35105bee9bcSmrg ;; 35205bee9bcSmrg 35305bee9bcSmrg xscaleel) 35405bee9bcSmrg basic_machine=armel-unknown 35505bee9bcSmrg ;; 35605bee9bcSmrg 357ff7e0accSmrg # We use `pc' rather than `unknown' 358ff7e0accSmrg # because (1) that's what they normally are, and 359ff7e0accSmrg # (2) the word "unknown" tends to confuse beginning users. 360ff7e0accSmrg i*86 | x86_64) 361ff7e0accSmrg basic_machine=$basic_machine-pc 362ff7e0accSmrg ;; 363ff7e0accSmrg # Object if more than one company name word. 364ff7e0accSmrg *-*-*) 3650c91c449Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366ff7e0accSmrg exit 1 367ff7e0accSmrg ;; 368ff7e0accSmrg # Recognize the basic CPU types with company name. 369ff7e0accSmrg 580-* \ 370ff7e0accSmrg | a29k-* \ 37105bee9bcSmrg | aarch64-* | aarch64_be-* \ 372ff7e0accSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373ff7e0accSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37405bee9bcSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375ff7e0accSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 376ff7e0accSmrg | avr-* | avr32-* \ 3770c91c449Smrg | ba-* \ 37805bee9bcSmrg | be32-* | be64-* \ 379ff7e0accSmrg | bfin-* | bs2000-* \ 380863f95b1Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3810c91c449Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382ff7e0accSmrg | d10v-* | d30v-* | dlx-* \ 3830c91c449Smrg | e2k-* | elxsi-* \ 384ff7e0accSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385ff7e0accSmrg | h8300-* | h8500-* \ 386ff7e0accSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 38705bee9bcSmrg | hexagon-* \ 3880c91c449Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 389ff7e0accSmrg | ip2k-* | iq2000-* \ 3900c91c449Smrg | k1om-* \ 39105bee9bcSmrg | le32-* | le64-* \ 39210998002Smrg | lm32-* \ 393ff7e0accSmrg | m32c-* | m32r-* | m32rle-* \ 394ff7e0accSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39505bee9bcSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39605bee9bcSmrg | microblaze-* | microblazeel-* \ 397ff7e0accSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398ff7e0accSmrg | mips16-* \ 399ff7e0accSmrg | mips64-* | mips64el-* \ 40010998002Smrg | mips64octeon-* | mips64octeonel-* \ 401ff7e0accSmrg | mips64orion-* | mips64orionel-* \ 40210998002Smrg | mips64r5900-* | mips64r5900el-* \ 40310998002Smrg | mips64vr-* | mips64vrel-* \ 404ff7e0accSmrg | mips64vr4100-* | mips64vr4100el-* \ 405ff7e0accSmrg | mips64vr4300-* | mips64vr4300el-* \ 406ff7e0accSmrg | mips64vr5000-* | mips64vr5000el-* \ 407ff7e0accSmrg | mips64vr5900-* | mips64vr5900el-* \ 408ff7e0accSmrg | mipsisa32-* | mipsisa32el-* \ 409ff7e0accSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 4100c91c449Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 411ff7e0accSmrg | mipsisa64-* | mipsisa64el-* \ 412ff7e0accSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 4130c91c449Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 414ff7e0accSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415ff7e0accSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41605bee9bcSmrg | mipsr5900-* | mipsr5900el-* \ 417ff7e0accSmrg | mipstx39-* | mipstx39el-* \ 418ff7e0accSmrg | mmix-* \ 419ff7e0accSmrg | mt-* \ 420ff7e0accSmrg | msp430-* \ 421863f95b1Smrg | nds32-* | nds32le-* | nds32be-* \ 42205bee9bcSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 423ff7e0accSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 42405bee9bcSmrg | open8-* \ 4250c91c449Smrg | or1k*-* \ 426ff7e0accSmrg | orion-* \ 427ff7e0accSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 42805bee9bcSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4290c91c449Smrg | pru-* \ 430ff7e0accSmrg | pyramid-* \ 4310c91c449Smrg | riscv32-* | riscv64-* \ 43205bee9bcSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 43310998002Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434ff7e0accSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 435ff7e0accSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 436ff7e0accSmrg | sparclite-* \ 4370c91c449Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 43805bee9bcSmrg | tahoe-* \ 439863f95b1Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 44005bee9bcSmrg | tile*-* \ 441ff7e0accSmrg | tron-* \ 442863f95b1Smrg | ubicom32-* \ 44305bee9bcSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 44405bee9bcSmrg | vax-* \ 4450c91c449Smrg | visium-* \ 4460c91c449Smrg | wasm32-* \ 447ff7e0accSmrg | we32k-* \ 44805bee9bcSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449a005d216Smrg | xstormy16-* | xtensa*-* \ 450ff7e0accSmrg | ymp-* \ 45110998002Smrg | z8k-* | z80-*) 452ff7e0accSmrg ;; 453a005d216Smrg # Recognize the basic CPU types without company name, with glob match. 454a005d216Smrg xtensa*) 455a005d216Smrg basic_machine=$basic_machine-unknown 456a005d216Smrg ;; 457ff7e0accSmrg # Recognize the various machine names and aliases which stand 458ff7e0accSmrg # for a CPU type and a company and sometimes even an OS. 459ff7e0accSmrg 386bsd) 4600c91c449Smrg basic_machine=i386-pc 461ff7e0accSmrg os=-bsd 462ff7e0accSmrg ;; 463ff7e0accSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464ff7e0accSmrg basic_machine=m68000-att 465ff7e0accSmrg ;; 466ff7e0accSmrg 3b*) 467ff7e0accSmrg basic_machine=we32k-att 468ff7e0accSmrg ;; 469ff7e0accSmrg a29khif) 470ff7e0accSmrg basic_machine=a29k-amd 471ff7e0accSmrg os=-udi 472ff7e0accSmrg ;; 47305bee9bcSmrg abacus) 474ff7e0accSmrg basic_machine=abacus-unknown 475ff7e0accSmrg ;; 476ff7e0accSmrg adobe68k) 477ff7e0accSmrg basic_machine=m68010-adobe 478ff7e0accSmrg os=-scout 479ff7e0accSmrg ;; 480ff7e0accSmrg alliant | fx80) 481ff7e0accSmrg basic_machine=fx80-alliant 482ff7e0accSmrg ;; 483ff7e0accSmrg altos | altos3068) 484ff7e0accSmrg basic_machine=m68k-altos 485ff7e0accSmrg ;; 486ff7e0accSmrg am29k) 487ff7e0accSmrg basic_machine=a29k-none 488ff7e0accSmrg os=-bsd 489ff7e0accSmrg ;; 490ff7e0accSmrg amd64) 491ff7e0accSmrg basic_machine=x86_64-pc 492ff7e0accSmrg ;; 493ff7e0accSmrg amd64-*) 4940c91c449Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 495ff7e0accSmrg ;; 496ff7e0accSmrg amdahl) 497ff7e0accSmrg basic_machine=580-amdahl 498ff7e0accSmrg os=-sysv 499ff7e0accSmrg ;; 500ff7e0accSmrg amiga | amiga-*) 501ff7e0accSmrg basic_machine=m68k-unknown 502ff7e0accSmrg ;; 503ff7e0accSmrg amigaos | amigados) 504ff7e0accSmrg basic_machine=m68k-unknown 505ff7e0accSmrg os=-amigaos 506ff7e0accSmrg ;; 507ff7e0accSmrg amigaunix | amix) 508ff7e0accSmrg basic_machine=m68k-unknown 509ff7e0accSmrg os=-sysv4 510ff7e0accSmrg ;; 511ff7e0accSmrg apollo68) 512ff7e0accSmrg basic_machine=m68k-apollo 513ff7e0accSmrg os=-sysv 514ff7e0accSmrg ;; 515ff7e0accSmrg apollo68bsd) 516ff7e0accSmrg basic_machine=m68k-apollo 517ff7e0accSmrg os=-bsd 518ff7e0accSmrg ;; 51910998002Smrg aros) 52010998002Smrg basic_machine=i386-pc 52110998002Smrg os=-aros 52210998002Smrg ;; 5230c91c449Smrg asmjs) 5240c91c449Smrg basic_machine=asmjs-unknown 5250c91c449Smrg ;; 526ff7e0accSmrg aux) 527ff7e0accSmrg basic_machine=m68k-apple 528ff7e0accSmrg os=-aux 529ff7e0accSmrg ;; 530ff7e0accSmrg balance) 531ff7e0accSmrg basic_machine=ns32k-sequent 532ff7e0accSmrg os=-dynix 533ff7e0accSmrg ;; 534a005d216Smrg blackfin) 535a005d216Smrg basic_machine=bfin-unknown 536a005d216Smrg os=-linux 537a005d216Smrg ;; 538a005d216Smrg blackfin-*) 5390c91c449Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540a005d216Smrg os=-linux 541a005d216Smrg ;; 542863f95b1Smrg bluegene*) 543863f95b1Smrg basic_machine=powerpc-ibm 544863f95b1Smrg os=-cnk 545863f95b1Smrg ;; 546863f95b1Smrg c54x-*) 5470c91c449Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548863f95b1Smrg ;; 549863f95b1Smrg c55x-*) 5500c91c449Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551863f95b1Smrg ;; 552863f95b1Smrg c6x-*) 5530c91c449Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554863f95b1Smrg ;; 555ff7e0accSmrg c90) 556ff7e0accSmrg basic_machine=c90-cray 557ff7e0accSmrg os=-unicos 558ff7e0accSmrg ;; 55905bee9bcSmrg cegcc) 56010998002Smrg basic_machine=arm-unknown 56110998002Smrg os=-cegcc 56210998002Smrg ;; 563ff7e0accSmrg convex-c1) 564ff7e0accSmrg basic_machine=c1-convex 565ff7e0accSmrg os=-bsd 566ff7e0accSmrg ;; 567ff7e0accSmrg convex-c2) 568ff7e0accSmrg basic_machine=c2-convex 569ff7e0accSmrg os=-bsd 570ff7e0accSmrg ;; 571ff7e0accSmrg convex-c32) 572ff7e0accSmrg basic_machine=c32-convex 573ff7e0accSmrg os=-bsd 574ff7e0accSmrg ;; 575ff7e0accSmrg convex-c34) 576ff7e0accSmrg basic_machine=c34-convex 577ff7e0accSmrg os=-bsd 578ff7e0accSmrg ;; 579ff7e0accSmrg convex-c38) 580ff7e0accSmrg basic_machine=c38-convex 581ff7e0accSmrg os=-bsd 582ff7e0accSmrg ;; 583ff7e0accSmrg cray | j90) 584ff7e0accSmrg basic_machine=j90-cray 585ff7e0accSmrg os=-unicos 586ff7e0accSmrg ;; 587ff7e0accSmrg craynv) 588ff7e0accSmrg basic_machine=craynv-cray 589ff7e0accSmrg os=-unicosmp 590ff7e0accSmrg ;; 59105bee9bcSmrg cr16 | cr16-*) 592ff7e0accSmrg basic_machine=cr16-unknown 593ff7e0accSmrg os=-elf 594ff7e0accSmrg ;; 595ff7e0accSmrg crds | unos) 596ff7e0accSmrg basic_machine=m68k-crds 597ff7e0accSmrg ;; 598ff7e0accSmrg crisv32 | crisv32-* | etraxfs*) 599ff7e0accSmrg basic_machine=crisv32-axis 600ff7e0accSmrg ;; 601ff7e0accSmrg cris | cris-* | etrax*) 602ff7e0accSmrg basic_machine=cris-axis 603ff7e0accSmrg ;; 604ff7e0accSmrg crx) 605ff7e0accSmrg basic_machine=crx-unknown 606ff7e0accSmrg os=-elf 607ff7e0accSmrg ;; 608ff7e0accSmrg da30 | da30-*) 609ff7e0accSmrg basic_machine=m68k-da30 610ff7e0accSmrg ;; 611ff7e0accSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612ff7e0accSmrg basic_machine=mips-dec 613ff7e0accSmrg ;; 614ff7e0accSmrg decsystem10* | dec10*) 615ff7e0accSmrg basic_machine=pdp10-dec 616ff7e0accSmrg os=-tops10 617ff7e0accSmrg ;; 618ff7e0accSmrg decsystem20* | dec20*) 619ff7e0accSmrg basic_machine=pdp10-dec 620ff7e0accSmrg os=-tops20 621ff7e0accSmrg ;; 622ff7e0accSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623ff7e0accSmrg | 3300-motorola | delta-motorola) 624ff7e0accSmrg basic_machine=m68k-motorola 625ff7e0accSmrg ;; 626ff7e0accSmrg delta88) 627ff7e0accSmrg basic_machine=m88k-motorola 628ff7e0accSmrg os=-sysv3 629ff7e0accSmrg ;; 63010998002Smrg dicos) 63110998002Smrg basic_machine=i686-pc 63210998002Smrg os=-dicos 63310998002Smrg ;; 634ff7e0accSmrg djgpp) 635ff7e0accSmrg basic_machine=i586-pc 636ff7e0accSmrg os=-msdosdjgpp 637ff7e0accSmrg ;; 638ff7e0accSmrg dpx20 | dpx20-*) 639ff7e0accSmrg basic_machine=rs6000-bull 640ff7e0accSmrg os=-bosx 641ff7e0accSmrg ;; 6420c91c449Smrg dpx2*) 643ff7e0accSmrg basic_machine=m68k-bull 644ff7e0accSmrg os=-sysv3 645ff7e0accSmrg ;; 6460c91c449Smrg e500v[12]) 6470c91c449Smrg basic_machine=powerpc-unknown 6480c91c449Smrg os=$os"spe" 6490c91c449Smrg ;; 6500c91c449Smrg e500v[12]-*) 6510c91c449Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6520c91c449Smrg os=$os"spe" 6530c91c449Smrg ;; 654ff7e0accSmrg ebmon29k) 655ff7e0accSmrg basic_machine=a29k-amd 656ff7e0accSmrg os=-ebmon 657ff7e0accSmrg ;; 658ff7e0accSmrg elxsi) 659ff7e0accSmrg basic_machine=elxsi-elxsi 660ff7e0accSmrg os=-bsd 661ff7e0accSmrg ;; 662ff7e0accSmrg encore | umax | mmax) 663ff7e0accSmrg basic_machine=ns32k-encore 664ff7e0accSmrg ;; 665ff7e0accSmrg es1800 | OSE68k | ose68k | ose | OSE) 666ff7e0accSmrg basic_machine=m68k-ericsson 667ff7e0accSmrg os=-ose 668ff7e0accSmrg ;; 669ff7e0accSmrg fx2800) 670ff7e0accSmrg basic_machine=i860-alliant 671ff7e0accSmrg ;; 672ff7e0accSmrg genix) 673ff7e0accSmrg basic_machine=ns32k-ns 674ff7e0accSmrg ;; 675ff7e0accSmrg gmicro) 676ff7e0accSmrg basic_machine=tron-gmicro 677ff7e0accSmrg os=-sysv 678ff7e0accSmrg ;; 679ff7e0accSmrg go32) 680ff7e0accSmrg basic_machine=i386-pc 681ff7e0accSmrg os=-go32 682ff7e0accSmrg ;; 683ff7e0accSmrg h3050r* | hiux*) 684ff7e0accSmrg basic_machine=hppa1.1-hitachi 685ff7e0accSmrg os=-hiuxwe2 686ff7e0accSmrg ;; 687ff7e0accSmrg h8300hms) 688ff7e0accSmrg basic_machine=h8300-hitachi 689ff7e0accSmrg os=-hms 690ff7e0accSmrg ;; 691ff7e0accSmrg h8300xray) 692ff7e0accSmrg basic_machine=h8300-hitachi 693ff7e0accSmrg os=-xray 694ff7e0accSmrg ;; 695ff7e0accSmrg h8500hms) 696ff7e0accSmrg basic_machine=h8500-hitachi 697ff7e0accSmrg os=-hms 698ff7e0accSmrg ;; 699ff7e0accSmrg harris) 700ff7e0accSmrg basic_machine=m88k-harris 701ff7e0accSmrg os=-sysv3 702ff7e0accSmrg ;; 703ff7e0accSmrg hp300-*) 704ff7e0accSmrg basic_machine=m68k-hp 705ff7e0accSmrg ;; 706ff7e0accSmrg hp300bsd) 707ff7e0accSmrg basic_machine=m68k-hp 708ff7e0accSmrg os=-bsd 709ff7e0accSmrg ;; 710ff7e0accSmrg hp300hpux) 711ff7e0accSmrg basic_machine=m68k-hp 712ff7e0accSmrg os=-hpux 713ff7e0accSmrg ;; 714ff7e0accSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715ff7e0accSmrg basic_machine=hppa1.0-hp 716ff7e0accSmrg ;; 717ff7e0accSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718ff7e0accSmrg basic_machine=m68000-hp 719ff7e0accSmrg ;; 720ff7e0accSmrg hp9k3[2-9][0-9]) 721ff7e0accSmrg basic_machine=m68k-hp 722ff7e0accSmrg ;; 723ff7e0accSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724ff7e0accSmrg basic_machine=hppa1.0-hp 725ff7e0accSmrg ;; 726ff7e0accSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727ff7e0accSmrg basic_machine=hppa1.1-hp 728ff7e0accSmrg ;; 729ff7e0accSmrg hp9k78[0-9] | hp78[0-9]) 730ff7e0accSmrg # FIXME: really hppa2.0-hp 731ff7e0accSmrg basic_machine=hppa1.1-hp 732ff7e0accSmrg ;; 733ff7e0accSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734ff7e0accSmrg # FIXME: really hppa2.0-hp 735ff7e0accSmrg basic_machine=hppa1.1-hp 736ff7e0accSmrg ;; 737ff7e0accSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738ff7e0accSmrg basic_machine=hppa1.1-hp 739ff7e0accSmrg ;; 740ff7e0accSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741ff7e0accSmrg basic_machine=hppa1.0-hp 742ff7e0accSmrg ;; 743ff7e0accSmrg hppaosf) 744ff7e0accSmrg basic_machine=hppa1.1-hp 745ff7e0accSmrg os=-osf 746ff7e0accSmrg ;; 747ff7e0accSmrg hppro) 748ff7e0accSmrg basic_machine=hppa1.1-hp 749ff7e0accSmrg os=-proelf 750ff7e0accSmrg ;; 751ff7e0accSmrg i370-ibm* | ibm*) 752ff7e0accSmrg basic_machine=i370-ibm 753ff7e0accSmrg ;; 754ff7e0accSmrg i*86v32) 7550c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756ff7e0accSmrg os=-sysv32 757ff7e0accSmrg ;; 758ff7e0accSmrg i*86v4*) 7590c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760ff7e0accSmrg os=-sysv4 761ff7e0accSmrg ;; 762ff7e0accSmrg i*86v) 7630c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764ff7e0accSmrg os=-sysv 765ff7e0accSmrg ;; 766ff7e0accSmrg i*86sol2) 7670c91c449Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768ff7e0accSmrg os=-solaris2 769ff7e0accSmrg ;; 770ff7e0accSmrg i386mach) 771ff7e0accSmrg basic_machine=i386-mach 772ff7e0accSmrg os=-mach 773ff7e0accSmrg ;; 7740c91c449Smrg vsta) 775ff7e0accSmrg basic_machine=i386-unknown 776ff7e0accSmrg os=-vsta 777ff7e0accSmrg ;; 778ff7e0accSmrg iris | iris4d) 779ff7e0accSmrg basic_machine=mips-sgi 780ff7e0accSmrg case $os in 781ff7e0accSmrg -irix*) 782ff7e0accSmrg ;; 783ff7e0accSmrg *) 784ff7e0accSmrg os=-irix4 785ff7e0accSmrg ;; 786ff7e0accSmrg esac 787ff7e0accSmrg ;; 788ff7e0accSmrg isi68 | isi) 789ff7e0accSmrg basic_machine=m68k-isi 790ff7e0accSmrg os=-sysv 791ff7e0accSmrg ;; 7920c91c449Smrg leon-*|leon[3-9]-*) 7930c91c449Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 7940c91c449Smrg ;; 795a005d216Smrg m68knommu) 796a005d216Smrg basic_machine=m68k-unknown 797a005d216Smrg os=-linux 798a005d216Smrg ;; 799a005d216Smrg m68knommu-*) 8000c91c449Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801a005d216Smrg os=-linux 802a005d216Smrg ;; 803ff7e0accSmrg magnum | m3230) 804ff7e0accSmrg basic_machine=mips-mips 805ff7e0accSmrg os=-sysv 806ff7e0accSmrg ;; 807ff7e0accSmrg merlin) 808ff7e0accSmrg basic_machine=ns32k-utek 809ff7e0accSmrg os=-sysv 810ff7e0accSmrg ;; 81105bee9bcSmrg microblaze*) 812863f95b1Smrg basic_machine=microblaze-xilinx 813863f95b1Smrg ;; 81405bee9bcSmrg mingw64) 81505bee9bcSmrg basic_machine=x86_64-pc 81605bee9bcSmrg os=-mingw64 81705bee9bcSmrg ;; 818ff7e0accSmrg mingw32) 8190c91c449Smrg basic_machine=i686-pc 820ff7e0accSmrg os=-mingw32 821ff7e0accSmrg ;; 822ff7e0accSmrg mingw32ce) 823ff7e0accSmrg basic_machine=arm-unknown 824ff7e0accSmrg os=-mingw32ce 825ff7e0accSmrg ;; 826ff7e0accSmrg miniframe) 827ff7e0accSmrg basic_machine=m68000-convergent 828ff7e0accSmrg ;; 829ff7e0accSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830ff7e0accSmrg basic_machine=m68k-atari 831ff7e0accSmrg os=-mint 832ff7e0accSmrg ;; 833ff7e0accSmrg mips3*-*) 8340c91c449Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835ff7e0accSmrg ;; 836ff7e0accSmrg mips3*) 8370c91c449Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838ff7e0accSmrg ;; 839ff7e0accSmrg monitor) 840ff7e0accSmrg basic_machine=m68k-rom68k 841ff7e0accSmrg os=-coff 842ff7e0accSmrg ;; 843ff7e0accSmrg morphos) 844ff7e0accSmrg basic_machine=powerpc-unknown 845ff7e0accSmrg os=-morphos 846ff7e0accSmrg ;; 8470c91c449Smrg moxiebox) 8480c91c449Smrg basic_machine=moxie-unknown 8490c91c449Smrg os=-moxiebox 8500c91c449Smrg ;; 851ff7e0accSmrg msdos) 852ff7e0accSmrg basic_machine=i386-pc 853ff7e0accSmrg os=-msdos 854ff7e0accSmrg ;; 855ff7e0accSmrg ms1-*) 8560c91c449Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 857ff7e0accSmrg ;; 85805bee9bcSmrg msys) 8590c91c449Smrg basic_machine=i686-pc 86005bee9bcSmrg os=-msys 86105bee9bcSmrg ;; 862ff7e0accSmrg mvs) 863ff7e0accSmrg basic_machine=i370-ibm 864ff7e0accSmrg os=-mvs 865ff7e0accSmrg ;; 86605bee9bcSmrg nacl) 86705bee9bcSmrg basic_machine=le32-unknown 86805bee9bcSmrg os=-nacl 86905bee9bcSmrg ;; 870ff7e0accSmrg ncr3000) 871ff7e0accSmrg basic_machine=i486-ncr 872ff7e0accSmrg os=-sysv4 873ff7e0accSmrg ;; 874ff7e0accSmrg netbsd386) 875ff7e0accSmrg basic_machine=i386-unknown 876ff7e0accSmrg os=-netbsd 877ff7e0accSmrg ;; 878ff7e0accSmrg netwinder) 879ff7e0accSmrg basic_machine=armv4l-rebel 880ff7e0accSmrg os=-linux 881ff7e0accSmrg ;; 882ff7e0accSmrg news | news700 | news800 | news900) 883ff7e0accSmrg basic_machine=m68k-sony 884ff7e0accSmrg os=-newsos 885ff7e0accSmrg ;; 886ff7e0accSmrg news1000) 887ff7e0accSmrg basic_machine=m68030-sony 888ff7e0accSmrg os=-newsos 889ff7e0accSmrg ;; 890ff7e0accSmrg news-3600 | risc-news) 891ff7e0accSmrg basic_machine=mips-sony 892ff7e0accSmrg os=-newsos 893ff7e0accSmrg ;; 894ff7e0accSmrg necv70) 895ff7e0accSmrg basic_machine=v70-nec 896ff7e0accSmrg os=-sysv 897ff7e0accSmrg ;; 8980c91c449Smrg next | m*-next) 899ff7e0accSmrg basic_machine=m68k-next 900ff7e0accSmrg case $os in 901ff7e0accSmrg -nextstep* ) 902ff7e0accSmrg ;; 903ff7e0accSmrg -ns2*) 904ff7e0accSmrg os=-nextstep2 905ff7e0accSmrg ;; 906ff7e0accSmrg *) 907ff7e0accSmrg os=-nextstep3 908ff7e0accSmrg ;; 909ff7e0accSmrg esac 910ff7e0accSmrg ;; 911ff7e0accSmrg nh3000) 912ff7e0accSmrg basic_machine=m68k-harris 913ff7e0accSmrg os=-cxux 914ff7e0accSmrg ;; 915ff7e0accSmrg nh[45]000) 916ff7e0accSmrg basic_machine=m88k-harris 917ff7e0accSmrg os=-cxux 918ff7e0accSmrg ;; 919ff7e0accSmrg nindy960) 920ff7e0accSmrg basic_machine=i960-intel 921ff7e0accSmrg os=-nindy 922ff7e0accSmrg ;; 923ff7e0accSmrg mon960) 924ff7e0accSmrg basic_machine=i960-intel 925ff7e0accSmrg os=-mon960 926ff7e0accSmrg ;; 927ff7e0accSmrg nonstopux) 928ff7e0accSmrg basic_machine=mips-compaq 929ff7e0accSmrg os=-nonstopux 930ff7e0accSmrg ;; 931ff7e0accSmrg np1) 932ff7e0accSmrg basic_machine=np1-gould 933ff7e0accSmrg ;; 93405bee9bcSmrg neo-tandem) 935863f95b1Smrg basic_machine=neo-tandem 936863f95b1Smrg ;; 93705bee9bcSmrg nse-tandem) 938863f95b1Smrg basic_machine=nse-tandem 939863f95b1Smrg ;; 940ff7e0accSmrg nsr-tandem) 941ff7e0accSmrg basic_machine=nsr-tandem 942ff7e0accSmrg ;; 9430c91c449Smrg nsv-tandem) 9440c91c449Smrg basic_machine=nsv-tandem 9450c91c449Smrg ;; 9460c91c449Smrg nsx-tandem) 9470c91c449Smrg basic_machine=nsx-tandem 9480c91c449Smrg ;; 949ff7e0accSmrg op50n-* | op60c-*) 950ff7e0accSmrg basic_machine=hppa1.1-oki 951ff7e0accSmrg os=-proelf 952ff7e0accSmrg ;; 953ff7e0accSmrg openrisc | openrisc-*) 954ff7e0accSmrg basic_machine=or32-unknown 955ff7e0accSmrg ;; 956ff7e0accSmrg os400) 957ff7e0accSmrg basic_machine=powerpc-ibm 958ff7e0accSmrg os=-os400 959ff7e0accSmrg ;; 960ff7e0accSmrg OSE68000 | ose68000) 961ff7e0accSmrg basic_machine=m68000-ericsson 962ff7e0accSmrg os=-ose 963ff7e0accSmrg ;; 964ff7e0accSmrg os68k) 965ff7e0accSmrg basic_machine=m68k-none 966ff7e0accSmrg os=-os68k 967ff7e0accSmrg ;; 968ff7e0accSmrg pa-hitachi) 969ff7e0accSmrg basic_machine=hppa1.1-hitachi 970ff7e0accSmrg os=-hiuxwe2 971ff7e0accSmrg ;; 972ff7e0accSmrg paragon) 973ff7e0accSmrg basic_machine=i860-intel 974ff7e0accSmrg os=-osf 975ff7e0accSmrg ;; 976a005d216Smrg parisc) 977a005d216Smrg basic_machine=hppa-unknown 978a005d216Smrg os=-linux 979a005d216Smrg ;; 980a005d216Smrg parisc-*) 9810c91c449Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982a005d216Smrg os=-linux 983a005d216Smrg ;; 984ff7e0accSmrg pbd) 985ff7e0accSmrg basic_machine=sparc-tti 986ff7e0accSmrg ;; 987ff7e0accSmrg pbb) 988ff7e0accSmrg basic_machine=m68k-tti 989ff7e0accSmrg ;; 990ff7e0accSmrg pc532 | pc532-*) 991ff7e0accSmrg basic_machine=ns32k-pc532 992ff7e0accSmrg ;; 993ff7e0accSmrg pc98) 994ff7e0accSmrg basic_machine=i386-pc 995ff7e0accSmrg ;; 996ff7e0accSmrg pc98-*) 9970c91c449Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 998ff7e0accSmrg ;; 999ff7e0accSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000ff7e0accSmrg basic_machine=i586-pc 1001ff7e0accSmrg ;; 1002ff7e0accSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003ff7e0accSmrg basic_machine=i686-pc 1004ff7e0accSmrg ;; 1005ff7e0accSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1006ff7e0accSmrg basic_machine=i686-pc 1007ff7e0accSmrg ;; 1008ff7e0accSmrg pentium4) 1009ff7e0accSmrg basic_machine=i786-pc 1010ff7e0accSmrg ;; 1011ff7e0accSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10120c91c449Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013ff7e0accSmrg ;; 1014ff7e0accSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 10150c91c449Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016ff7e0accSmrg ;; 1017ff7e0accSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10180c91c449Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019ff7e0accSmrg ;; 1020ff7e0accSmrg pentium4-*) 10210c91c449Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022ff7e0accSmrg ;; 1023ff7e0accSmrg pn) 1024ff7e0accSmrg basic_machine=pn-gould 1025ff7e0accSmrg ;; 1026ff7e0accSmrg power) basic_machine=power-ibm 1027ff7e0accSmrg ;; 102805bee9bcSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1029ff7e0accSmrg ;; 103005bee9bcSmrg ppc-* | ppcbe-*) 10310c91c449Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032ff7e0accSmrg ;; 10330c91c449Smrg ppcle | powerpclittle) 1034ff7e0accSmrg basic_machine=powerpcle-unknown 1035ff7e0accSmrg ;; 1036ff7e0accSmrg ppcle-* | powerpclittle-*) 10370c91c449Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038ff7e0accSmrg ;; 1039ff7e0accSmrg ppc64) basic_machine=powerpc64-unknown 1040ff7e0accSmrg ;; 10410c91c449Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042ff7e0accSmrg ;; 10430c91c449Smrg ppc64le | powerpc64little) 1044ff7e0accSmrg basic_machine=powerpc64le-unknown 1045ff7e0accSmrg ;; 1046ff7e0accSmrg ppc64le-* | powerpc64little-*) 10470c91c449Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048ff7e0accSmrg ;; 1049ff7e0accSmrg ps2) 1050ff7e0accSmrg basic_machine=i386-ibm 1051ff7e0accSmrg ;; 1052ff7e0accSmrg pw32) 1053ff7e0accSmrg basic_machine=i586-unknown 1054ff7e0accSmrg os=-pw32 1055ff7e0accSmrg ;; 105605bee9bcSmrg rdos | rdos64) 105705bee9bcSmrg basic_machine=x86_64-pc 105805bee9bcSmrg os=-rdos 105905bee9bcSmrg ;; 106005bee9bcSmrg rdos32) 1061ff7e0accSmrg basic_machine=i386-pc 1062ff7e0accSmrg os=-rdos 1063ff7e0accSmrg ;; 1064ff7e0accSmrg rom68k) 1065ff7e0accSmrg basic_machine=m68k-rom68k 1066ff7e0accSmrg os=-coff 1067ff7e0accSmrg ;; 1068ff7e0accSmrg rm[46]00) 1069ff7e0accSmrg basic_machine=mips-siemens 1070ff7e0accSmrg ;; 1071ff7e0accSmrg rtpc | rtpc-*) 1072ff7e0accSmrg basic_machine=romp-ibm 1073ff7e0accSmrg ;; 1074ff7e0accSmrg s390 | s390-*) 1075ff7e0accSmrg basic_machine=s390-ibm 1076ff7e0accSmrg ;; 1077ff7e0accSmrg s390x | s390x-*) 1078ff7e0accSmrg basic_machine=s390x-ibm 1079ff7e0accSmrg ;; 1080ff7e0accSmrg sa29200) 1081ff7e0accSmrg basic_machine=a29k-amd 1082ff7e0accSmrg os=-udi 1083ff7e0accSmrg ;; 1084ff7e0accSmrg sb1) 1085ff7e0accSmrg basic_machine=mipsisa64sb1-unknown 1086ff7e0accSmrg ;; 1087ff7e0accSmrg sb1el) 1088ff7e0accSmrg basic_machine=mipsisa64sb1el-unknown 1089ff7e0accSmrg ;; 1090ff7e0accSmrg sde) 1091ff7e0accSmrg basic_machine=mipsisa32-sde 1092ff7e0accSmrg os=-elf 1093ff7e0accSmrg ;; 1094ff7e0accSmrg sei) 1095ff7e0accSmrg basic_machine=mips-sei 1096ff7e0accSmrg os=-seiux 1097ff7e0accSmrg ;; 1098ff7e0accSmrg sequent) 1099ff7e0accSmrg basic_machine=i386-sequent 1100ff7e0accSmrg ;; 1101ff7e0accSmrg sh5el) 1102ff7e0accSmrg basic_machine=sh5le-unknown 1103ff7e0accSmrg ;; 11040c91c449Smrg simso-wrs) 1105ff7e0accSmrg basic_machine=sparclite-wrs 1106ff7e0accSmrg os=-vxworks 1107ff7e0accSmrg ;; 1108ff7e0accSmrg sps7) 1109ff7e0accSmrg basic_machine=m68k-bull 1110ff7e0accSmrg os=-sysv2 1111ff7e0accSmrg ;; 1112ff7e0accSmrg spur) 1113ff7e0accSmrg basic_machine=spur-unknown 1114ff7e0accSmrg ;; 1115ff7e0accSmrg st2000) 1116ff7e0accSmrg basic_machine=m68k-tandem 1117ff7e0accSmrg ;; 1118ff7e0accSmrg stratus) 1119ff7e0accSmrg basic_machine=i860-stratus 1120ff7e0accSmrg os=-sysv4 1121ff7e0accSmrg ;; 112205bee9bcSmrg strongarm-* | thumb-*) 11230c91c449Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 112405bee9bcSmrg ;; 1125ff7e0accSmrg sun2) 1126ff7e0accSmrg basic_machine=m68000-sun 1127ff7e0accSmrg ;; 1128ff7e0accSmrg sun2os3) 1129ff7e0accSmrg basic_machine=m68000-sun 1130ff7e0accSmrg os=-sunos3 1131ff7e0accSmrg ;; 1132ff7e0accSmrg sun2os4) 1133ff7e0accSmrg basic_machine=m68000-sun 1134ff7e0accSmrg os=-sunos4 1135ff7e0accSmrg ;; 1136ff7e0accSmrg sun3os3) 1137ff7e0accSmrg basic_machine=m68k-sun 1138ff7e0accSmrg os=-sunos3 1139ff7e0accSmrg ;; 1140ff7e0accSmrg sun3os4) 1141ff7e0accSmrg basic_machine=m68k-sun 1142ff7e0accSmrg os=-sunos4 1143ff7e0accSmrg ;; 1144ff7e0accSmrg sun4os3) 1145ff7e0accSmrg basic_machine=sparc-sun 1146ff7e0accSmrg os=-sunos3 1147ff7e0accSmrg ;; 1148ff7e0accSmrg sun4os4) 1149ff7e0accSmrg basic_machine=sparc-sun 1150ff7e0accSmrg os=-sunos4 1151ff7e0accSmrg ;; 1152ff7e0accSmrg sun4sol2) 1153ff7e0accSmrg basic_machine=sparc-sun 1154ff7e0accSmrg os=-solaris2 1155ff7e0accSmrg ;; 1156ff7e0accSmrg sun3 | sun3-*) 1157ff7e0accSmrg basic_machine=m68k-sun 1158ff7e0accSmrg ;; 1159ff7e0accSmrg sun4) 1160ff7e0accSmrg basic_machine=sparc-sun 1161ff7e0accSmrg ;; 1162ff7e0accSmrg sun386 | sun386i | roadrunner) 1163ff7e0accSmrg basic_machine=i386-sun 1164ff7e0accSmrg ;; 1165ff7e0accSmrg sv1) 1166ff7e0accSmrg basic_machine=sv1-cray 1167ff7e0accSmrg os=-unicos 1168ff7e0accSmrg ;; 1169ff7e0accSmrg symmetry) 1170ff7e0accSmrg basic_machine=i386-sequent 1171ff7e0accSmrg os=-dynix 1172ff7e0accSmrg ;; 1173ff7e0accSmrg t3e) 1174ff7e0accSmrg basic_machine=alphaev5-cray 1175ff7e0accSmrg os=-unicos 1176ff7e0accSmrg ;; 1177ff7e0accSmrg t90) 1178ff7e0accSmrg basic_machine=t90-cray 1179ff7e0accSmrg os=-unicos 1180ff7e0accSmrg ;; 1181a005d216Smrg tile*) 118205bee9bcSmrg basic_machine=$basic_machine-unknown 1183a005d216Smrg os=-linux-gnu 1184a005d216Smrg ;; 1185ff7e0accSmrg tx39) 1186ff7e0accSmrg basic_machine=mipstx39-unknown 1187ff7e0accSmrg ;; 1188ff7e0accSmrg tx39el) 1189ff7e0accSmrg basic_machine=mipstx39el-unknown 1190ff7e0accSmrg ;; 1191ff7e0accSmrg toad1) 1192ff7e0accSmrg basic_machine=pdp10-xkl 1193ff7e0accSmrg os=-tops20 1194ff7e0accSmrg ;; 1195ff7e0accSmrg tower | tower-32) 1196ff7e0accSmrg basic_machine=m68k-ncr 1197ff7e0accSmrg ;; 1198ff7e0accSmrg tpf) 1199ff7e0accSmrg basic_machine=s390x-ibm 1200ff7e0accSmrg os=-tpf 1201ff7e0accSmrg ;; 1202ff7e0accSmrg udi29k) 1203ff7e0accSmrg basic_machine=a29k-amd 1204ff7e0accSmrg os=-udi 1205ff7e0accSmrg ;; 1206ff7e0accSmrg ultra3) 1207ff7e0accSmrg basic_machine=a29k-nyu 1208ff7e0accSmrg os=-sym1 1209ff7e0accSmrg ;; 1210ff7e0accSmrg v810 | necv810) 1211ff7e0accSmrg basic_machine=v810-nec 1212ff7e0accSmrg os=-none 1213ff7e0accSmrg ;; 1214ff7e0accSmrg vaxv) 1215ff7e0accSmrg basic_machine=vax-dec 1216ff7e0accSmrg os=-sysv 1217ff7e0accSmrg ;; 1218ff7e0accSmrg vms) 1219ff7e0accSmrg basic_machine=vax-dec 1220ff7e0accSmrg os=-vms 1221ff7e0accSmrg ;; 1222ff7e0accSmrg vpp*|vx|vx-*) 1223ff7e0accSmrg basic_machine=f301-fujitsu 1224ff7e0accSmrg ;; 1225ff7e0accSmrg vxworks960) 1226ff7e0accSmrg basic_machine=i960-wrs 1227ff7e0accSmrg os=-vxworks 1228ff7e0accSmrg ;; 1229ff7e0accSmrg vxworks68) 1230ff7e0accSmrg basic_machine=m68k-wrs 1231ff7e0accSmrg os=-vxworks 1232ff7e0accSmrg ;; 1233ff7e0accSmrg vxworks29k) 1234ff7e0accSmrg basic_machine=a29k-wrs 1235ff7e0accSmrg os=-vxworks 1236ff7e0accSmrg ;; 1237ff7e0accSmrg w65*) 1238ff7e0accSmrg basic_machine=w65-wdc 1239ff7e0accSmrg os=-none 1240ff7e0accSmrg ;; 1241ff7e0accSmrg w89k-*) 1242ff7e0accSmrg basic_machine=hppa1.1-winbond 1243ff7e0accSmrg os=-proelf 1244ff7e0accSmrg ;; 12450c91c449Smrg x64) 12460c91c449Smrg basic_machine=x86_64-pc 12470c91c449Smrg ;; 1248ff7e0accSmrg xbox) 1249ff7e0accSmrg basic_machine=i686-pc 1250ff7e0accSmrg os=-mingw32 1251ff7e0accSmrg ;; 1252ff7e0accSmrg xps | xps100) 1253ff7e0accSmrg basic_machine=xps100-honeywell 1254ff7e0accSmrg ;; 125505bee9bcSmrg xscale-* | xscalee[bl]-*) 12560c91c449Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 125705bee9bcSmrg ;; 1258ff7e0accSmrg ymp) 1259ff7e0accSmrg basic_machine=ymp-cray 1260ff7e0accSmrg os=-unicos 1261ff7e0accSmrg ;; 1262ff7e0accSmrg none) 1263ff7e0accSmrg basic_machine=none-none 1264ff7e0accSmrg os=-none 1265ff7e0accSmrg ;; 1266ff7e0accSmrg 1267ff7e0accSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1268ff7e0accSmrg# some cases the only manufacturer, in others, it is the most popular. 1269ff7e0accSmrg w89k) 1270ff7e0accSmrg basic_machine=hppa1.1-winbond 1271ff7e0accSmrg ;; 1272ff7e0accSmrg op50n) 1273ff7e0accSmrg basic_machine=hppa1.1-oki 1274ff7e0accSmrg ;; 1275ff7e0accSmrg op60c) 1276ff7e0accSmrg basic_machine=hppa1.1-oki 1277ff7e0accSmrg ;; 1278ff7e0accSmrg romp) 1279ff7e0accSmrg basic_machine=romp-ibm 1280ff7e0accSmrg ;; 1281ff7e0accSmrg mmix) 1282ff7e0accSmrg basic_machine=mmix-knuth 1283ff7e0accSmrg ;; 1284ff7e0accSmrg rs6000) 1285ff7e0accSmrg basic_machine=rs6000-ibm 1286ff7e0accSmrg ;; 1287ff7e0accSmrg vax) 1288ff7e0accSmrg basic_machine=vax-dec 1289ff7e0accSmrg ;; 1290ff7e0accSmrg pdp11) 1291ff7e0accSmrg basic_machine=pdp11-dec 1292ff7e0accSmrg ;; 1293ff7e0accSmrg we32k) 1294ff7e0accSmrg basic_machine=we32k-att 1295ff7e0accSmrg ;; 129610998002Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297ff7e0accSmrg basic_machine=sh-unknown 1298ff7e0accSmrg ;; 1299ff7e0accSmrg cydra) 1300ff7e0accSmrg basic_machine=cydra-cydrome 1301ff7e0accSmrg ;; 1302ff7e0accSmrg orion) 1303ff7e0accSmrg basic_machine=orion-highlevel 1304ff7e0accSmrg ;; 1305ff7e0accSmrg orion105) 1306ff7e0accSmrg basic_machine=clipper-highlevel 1307ff7e0accSmrg ;; 1308ff7e0accSmrg mac | mpw | mac-mpw) 1309ff7e0accSmrg basic_machine=m68k-apple 1310ff7e0accSmrg ;; 1311ff7e0accSmrg pmac | pmac-mpw) 1312ff7e0accSmrg basic_machine=powerpc-apple 1313ff7e0accSmrg ;; 1314ff7e0accSmrg *-unknown) 1315ff7e0accSmrg # Make sure to match an already-canonicalized machine name. 1316ff7e0accSmrg ;; 1317ff7e0accSmrg *) 13180c91c449Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319ff7e0accSmrg exit 1 1320ff7e0accSmrg ;; 1321ff7e0accSmrgesac 1322ff7e0accSmrg 1323ff7e0accSmrg# Here we canonicalize certain aliases for manufacturers. 1324ff7e0accSmrgcase $basic_machine in 1325ff7e0accSmrg *-digital*) 13260c91c449Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327ff7e0accSmrg ;; 1328ff7e0accSmrg *-commodore*) 13290c91c449Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330ff7e0accSmrg ;; 1331ff7e0accSmrg *) 1332ff7e0accSmrg ;; 1333ff7e0accSmrgesac 1334ff7e0accSmrg 1335ff7e0accSmrg# Decode manufacturer-specific aliases for certain operating systems. 1336ff7e0accSmrg 1337ff7e0accSmrgif [ x"$os" != x"" ] 1338ff7e0accSmrgthen 1339ff7e0accSmrgcase $os in 13400c91c449Smrg # First match some system type aliases that might get confused 13410c91c449Smrg # with valid system types. 1342ff7e0accSmrg # -solaris* is a basic system type, with this one exception. 134305bee9bcSmrg -auroraux) 134405bee9bcSmrg os=-auroraux 1345863f95b1Smrg ;; 1346ff7e0accSmrg -solaris1 | -solaris1.*) 1347ff7e0accSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348ff7e0accSmrg ;; 1349ff7e0accSmrg -solaris) 1350ff7e0accSmrg os=-solaris2 1351ff7e0accSmrg ;; 1352ff7e0accSmrg -unixware*) 1353ff7e0accSmrg os=-sysv4.2uw 1354ff7e0accSmrg ;; 1355ff7e0accSmrg -gnu/linux*) 1356ff7e0accSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357ff7e0accSmrg ;; 13580c91c449Smrg # es1800 is here to avoid being matched by es* (a different OS) 13590c91c449Smrg -es1800*) 13600c91c449Smrg os=-ose 13610c91c449Smrg ;; 13620c91c449Smrg # Now accept the basic system types. 1363ff7e0accSmrg # The portable systems comes first. 13640c91c449Smrg # Each alternative MUST end in a * to match a version number. 1365ff7e0accSmrg # -sysv* is not here because it comes later, after sysvr4. 1366ff7e0accSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367863f95b1Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368863f95b1Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136905bee9bcSmrg | -sym* | -kopensolaris* | -plan9* \ 1370ff7e0accSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13710c91c449Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372ff7e0accSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373ff7e0accSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13740c91c449Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13750c91c449Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1376ff7e0accSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1377ff7e0accSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378ff7e0accSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13790c91c449Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 13800c91c449Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 138105bee9bcSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13820c91c449Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138305bee9bcSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 13840c91c449Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13850c91c449Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386ff7e0accSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387ff7e0accSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388ff7e0accSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13890c91c449Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 1390ff7e0accSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13910c91c449Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13920c91c449Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13930c91c449Smrg | -midnightbsd*) 1394ff7e0accSmrg # Remember, each alternative MUST END IN *, to match a version number. 1395ff7e0accSmrg ;; 1396ff7e0accSmrg -qnx*) 1397ff7e0accSmrg case $basic_machine in 1398ff7e0accSmrg x86-* | i*86-*) 1399ff7e0accSmrg ;; 1400ff7e0accSmrg *) 1401ff7e0accSmrg os=-nto$os 1402ff7e0accSmrg ;; 1403ff7e0accSmrg esac 1404ff7e0accSmrg ;; 1405ff7e0accSmrg -nto-qnx*) 1406ff7e0accSmrg ;; 1407ff7e0accSmrg -nto*) 1408ff7e0accSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409ff7e0accSmrg ;; 14100c91c449Smrg -sim | -xray | -os68k* | -v88r* \ 14110c91c449Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412ff7e0accSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413ff7e0accSmrg ;; 1414ff7e0accSmrg -mac*) 14150c91c449Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416ff7e0accSmrg ;; 1417ff7e0accSmrg -linux-dietlibc) 1418ff7e0accSmrg os=-linux-dietlibc 1419ff7e0accSmrg ;; 1420ff7e0accSmrg -linux*) 1421ff7e0accSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422ff7e0accSmrg ;; 1423ff7e0accSmrg -sunos5*) 14240c91c449Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425ff7e0accSmrg ;; 1426ff7e0accSmrg -sunos6*) 14270c91c449Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428ff7e0accSmrg ;; 1429ff7e0accSmrg -opened*) 1430ff7e0accSmrg os=-openedition 1431ff7e0accSmrg ;; 143205bee9bcSmrg -os400*) 1433ff7e0accSmrg os=-os400 1434ff7e0accSmrg ;; 1435ff7e0accSmrg -wince*) 1436ff7e0accSmrg os=-wince 1437ff7e0accSmrg ;; 1438ff7e0accSmrg -utek*) 1439ff7e0accSmrg os=-bsd 1440ff7e0accSmrg ;; 1441ff7e0accSmrg -dynix*) 1442ff7e0accSmrg os=-bsd 1443ff7e0accSmrg ;; 1444ff7e0accSmrg -acis*) 1445ff7e0accSmrg os=-aos 1446ff7e0accSmrg ;; 1447ff7e0accSmrg -atheos*) 1448ff7e0accSmrg os=-atheos 1449ff7e0accSmrg ;; 1450ff7e0accSmrg -syllable*) 1451ff7e0accSmrg os=-syllable 1452ff7e0accSmrg ;; 1453ff7e0accSmrg -386bsd) 1454ff7e0accSmrg os=-bsd 1455ff7e0accSmrg ;; 1456ff7e0accSmrg -ctix* | -uts*) 1457ff7e0accSmrg os=-sysv 1458ff7e0accSmrg ;; 1459ff7e0accSmrg -nova*) 1460ff7e0accSmrg os=-rtmk-nova 1461ff7e0accSmrg ;; 14620c91c449Smrg -ns2) 1463ff7e0accSmrg os=-nextstep2 1464ff7e0accSmrg ;; 1465ff7e0accSmrg -nsk*) 1466ff7e0accSmrg os=-nsk 1467ff7e0accSmrg ;; 1468ff7e0accSmrg # Preserve the version number of sinix5. 1469ff7e0accSmrg -sinix5.*) 1470ff7e0accSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471ff7e0accSmrg ;; 1472ff7e0accSmrg -sinix*) 1473ff7e0accSmrg os=-sysv4 1474ff7e0accSmrg ;; 147505bee9bcSmrg -tpf*) 1476ff7e0accSmrg os=-tpf 1477ff7e0accSmrg ;; 1478ff7e0accSmrg -triton*) 1479ff7e0accSmrg os=-sysv3 1480ff7e0accSmrg ;; 1481ff7e0accSmrg -oss*) 1482ff7e0accSmrg os=-sysv3 1483ff7e0accSmrg ;; 14840c91c449Smrg -svr4*) 1485ff7e0accSmrg os=-sysv4 1486ff7e0accSmrg ;; 1487ff7e0accSmrg -svr3) 1488ff7e0accSmrg os=-sysv3 1489ff7e0accSmrg ;; 1490ff7e0accSmrg -sysvr4) 1491ff7e0accSmrg os=-sysv4 1492ff7e0accSmrg ;; 1493ff7e0accSmrg # This must come after -sysvr4. 1494ff7e0accSmrg -sysv*) 1495ff7e0accSmrg ;; 1496ff7e0accSmrg -ose*) 1497ff7e0accSmrg os=-ose 1498ff7e0accSmrg ;; 1499ff7e0accSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500ff7e0accSmrg os=-mint 1501ff7e0accSmrg ;; 1502ff7e0accSmrg -zvmoe) 1503ff7e0accSmrg os=-zvmoe 1504ff7e0accSmrg ;; 150510998002Smrg -dicos*) 150610998002Smrg os=-dicos 150710998002Smrg ;; 15080c91c449Smrg -pikeos*) 15090c91c449Smrg # Until real need of OS specific support for 15100c91c449Smrg # particular features comes up, bare metal 15110c91c449Smrg # configurations are quite functional. 15120c91c449Smrg case $basic_machine in 15130c91c449Smrg arm*) 15140c91c449Smrg os=-eabi 15150c91c449Smrg ;; 15160c91c449Smrg *) 15170c91c449Smrg os=-elf 15180c91c449Smrg ;; 15190c91c449Smrg esac 15200c91c449Smrg ;; 152105bee9bcSmrg -nacl*) 152205bee9bcSmrg ;; 15230c91c449Smrg -ios) 15240c91c449Smrg ;; 1525ff7e0accSmrg -none) 1526ff7e0accSmrg ;; 1527ff7e0accSmrg *) 1528ff7e0accSmrg # Get rid of the `-' at the beginning of $os. 1529ff7e0accSmrg os=`echo $os | sed 's/[^-]*-//'` 15300c91c449Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531ff7e0accSmrg exit 1 1532ff7e0accSmrg ;; 1533ff7e0accSmrgesac 1534ff7e0accSmrgelse 1535ff7e0accSmrg 1536ff7e0accSmrg# Here we handle the default operating systems that come with various machines. 1537ff7e0accSmrg# The value should be what the vendor currently ships out the door with their 1538ff7e0accSmrg# machine or put another way, the most popular os provided with the machine. 1539ff7e0accSmrg 1540ff7e0accSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541ff7e0accSmrg# "-sun"), then you have to tell the case statement up towards the top 1542ff7e0accSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543ff7e0accSmrg# will signal an error saying that MANUFACTURER isn't an operating 1544ff7e0accSmrg# system, and we'll never get to this point. 1545ff7e0accSmrg 1546ff7e0accSmrgcase $basic_machine in 154705bee9bcSmrg score-*) 1548ff7e0accSmrg os=-elf 1549ff7e0accSmrg ;; 155005bee9bcSmrg spu-*) 1551ff7e0accSmrg os=-elf 1552ff7e0accSmrg ;; 1553ff7e0accSmrg *-acorn) 1554ff7e0accSmrg os=-riscix1.2 1555ff7e0accSmrg ;; 1556ff7e0accSmrg arm*-rebel) 1557ff7e0accSmrg os=-linux 1558ff7e0accSmrg ;; 1559ff7e0accSmrg arm*-semi) 1560ff7e0accSmrg os=-aout 1561ff7e0accSmrg ;; 156205bee9bcSmrg c4x-* | tic4x-*) 156305bee9bcSmrg os=-coff 156405bee9bcSmrg ;; 15650c91c449Smrg c8051-*) 15660c91c449Smrg os=-elf 15670c91c449Smrg ;; 156805bee9bcSmrg hexagon-*) 156905bee9bcSmrg os=-elf 1570ff7e0accSmrg ;; 1571863f95b1Smrg tic54x-*) 1572863f95b1Smrg os=-coff 1573863f95b1Smrg ;; 1574863f95b1Smrg tic55x-*) 1575863f95b1Smrg os=-coff 1576863f95b1Smrg ;; 1577863f95b1Smrg tic6x-*) 1578863f95b1Smrg os=-coff 1579863f95b1Smrg ;; 1580ff7e0accSmrg # This must come before the *-dec entry. 1581ff7e0accSmrg pdp10-*) 1582ff7e0accSmrg os=-tops20 1583ff7e0accSmrg ;; 1584ff7e0accSmrg pdp11-*) 1585ff7e0accSmrg os=-none 1586ff7e0accSmrg ;; 1587ff7e0accSmrg *-dec | vax-*) 1588ff7e0accSmrg os=-ultrix4.2 1589ff7e0accSmrg ;; 1590ff7e0accSmrg m68*-apollo) 1591ff7e0accSmrg os=-domain 1592ff7e0accSmrg ;; 1593ff7e0accSmrg i386-sun) 1594ff7e0accSmrg os=-sunos4.0.2 1595ff7e0accSmrg ;; 1596ff7e0accSmrg m68000-sun) 1597ff7e0accSmrg os=-sunos3 1598ff7e0accSmrg ;; 1599ff7e0accSmrg m68*-cisco) 1600ff7e0accSmrg os=-aout 1601ff7e0accSmrg ;; 160205bee9bcSmrg mep-*) 1603ff7e0accSmrg os=-elf 1604ff7e0accSmrg ;; 1605ff7e0accSmrg mips*-cisco) 1606ff7e0accSmrg os=-elf 1607ff7e0accSmrg ;; 1608ff7e0accSmrg mips*-*) 1609ff7e0accSmrg os=-elf 1610ff7e0accSmrg ;; 1611ff7e0accSmrg or32-*) 1612ff7e0accSmrg os=-coff 1613ff7e0accSmrg ;; 1614ff7e0accSmrg *-tti) # must be before sparc entry or we get the wrong os. 1615ff7e0accSmrg os=-sysv3 1616ff7e0accSmrg ;; 1617ff7e0accSmrg sparc-* | *-sun) 1618ff7e0accSmrg os=-sunos4.1.1 1619ff7e0accSmrg ;; 16200c91c449Smrg pru-*) 16210c91c449Smrg os=-elf 16220c91c449Smrg ;; 1623ff7e0accSmrg *-be) 1624ff7e0accSmrg os=-beos 1625ff7e0accSmrg ;; 1626ff7e0accSmrg *-ibm) 1627ff7e0accSmrg os=-aix 1628ff7e0accSmrg ;; 162905bee9bcSmrg *-knuth) 1630ff7e0accSmrg os=-mmixware 1631ff7e0accSmrg ;; 1632ff7e0accSmrg *-wec) 1633ff7e0accSmrg os=-proelf 1634ff7e0accSmrg ;; 1635ff7e0accSmrg *-winbond) 1636ff7e0accSmrg os=-proelf 1637ff7e0accSmrg ;; 1638ff7e0accSmrg *-oki) 1639ff7e0accSmrg os=-proelf 1640ff7e0accSmrg ;; 1641ff7e0accSmrg *-hp) 1642ff7e0accSmrg os=-hpux 1643ff7e0accSmrg ;; 1644ff7e0accSmrg *-hitachi) 1645ff7e0accSmrg os=-hiux 1646ff7e0accSmrg ;; 1647ff7e0accSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648ff7e0accSmrg os=-sysv 1649ff7e0accSmrg ;; 1650ff7e0accSmrg *-cbm) 1651ff7e0accSmrg os=-amigaos 1652ff7e0accSmrg ;; 1653ff7e0accSmrg *-dg) 1654ff7e0accSmrg os=-dgux 1655ff7e0accSmrg ;; 1656ff7e0accSmrg *-dolphin) 1657ff7e0accSmrg os=-sysv3 1658ff7e0accSmrg ;; 1659ff7e0accSmrg m68k-ccur) 1660ff7e0accSmrg os=-rtu 1661ff7e0accSmrg ;; 1662ff7e0accSmrg m88k-omron*) 1663ff7e0accSmrg os=-luna 1664ff7e0accSmrg ;; 16650c91c449Smrg *-next) 1666ff7e0accSmrg os=-nextstep 1667ff7e0accSmrg ;; 1668ff7e0accSmrg *-sequent) 1669ff7e0accSmrg os=-ptx 1670ff7e0accSmrg ;; 1671ff7e0accSmrg *-crds) 1672ff7e0accSmrg os=-unos 1673ff7e0accSmrg ;; 1674ff7e0accSmrg *-ns) 1675ff7e0accSmrg os=-genix 1676ff7e0accSmrg ;; 1677ff7e0accSmrg i370-*) 1678ff7e0accSmrg os=-mvs 1679ff7e0accSmrg ;; 1680ff7e0accSmrg *-gould) 1681ff7e0accSmrg os=-sysv 1682ff7e0accSmrg ;; 1683ff7e0accSmrg *-highlevel) 1684ff7e0accSmrg os=-bsd 1685ff7e0accSmrg ;; 1686ff7e0accSmrg *-encore) 1687ff7e0accSmrg os=-bsd 1688ff7e0accSmrg ;; 1689ff7e0accSmrg *-sgi) 1690ff7e0accSmrg os=-irix 1691ff7e0accSmrg ;; 1692ff7e0accSmrg *-siemens) 1693ff7e0accSmrg os=-sysv4 1694ff7e0accSmrg ;; 1695ff7e0accSmrg *-masscomp) 1696ff7e0accSmrg os=-rtu 1697ff7e0accSmrg ;; 1698ff7e0accSmrg f30[01]-fujitsu | f700-fujitsu) 1699ff7e0accSmrg os=-uxpv 1700ff7e0accSmrg ;; 1701ff7e0accSmrg *-rom68k) 1702ff7e0accSmrg os=-coff 1703ff7e0accSmrg ;; 1704ff7e0accSmrg *-*bug) 1705ff7e0accSmrg os=-coff 1706ff7e0accSmrg ;; 1707ff7e0accSmrg *-apple) 1708ff7e0accSmrg os=-macos 1709ff7e0accSmrg ;; 1710ff7e0accSmrg *-atari*) 1711ff7e0accSmrg os=-mint 1712ff7e0accSmrg ;; 1713ff7e0accSmrg *) 1714ff7e0accSmrg os=-none 1715ff7e0accSmrg ;; 1716ff7e0accSmrgesac 1717ff7e0accSmrgfi 1718ff7e0accSmrg 1719ff7e0accSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1720ff7e0accSmrg# manufacturer. We pick the logical manufacturer. 1721ff7e0accSmrgvendor=unknown 1722ff7e0accSmrgcase $basic_machine in 1723ff7e0accSmrg *-unknown) 1724ff7e0accSmrg case $os in 1725ff7e0accSmrg -riscix*) 1726ff7e0accSmrg vendor=acorn 1727ff7e0accSmrg ;; 1728ff7e0accSmrg -sunos*) 1729ff7e0accSmrg vendor=sun 1730ff7e0accSmrg ;; 1731863f95b1Smrg -cnk*|-aix*) 1732ff7e0accSmrg vendor=ibm 1733ff7e0accSmrg ;; 1734ff7e0accSmrg -beos*) 1735ff7e0accSmrg vendor=be 1736ff7e0accSmrg ;; 1737ff7e0accSmrg -hpux*) 1738ff7e0accSmrg vendor=hp 1739ff7e0accSmrg ;; 1740ff7e0accSmrg -mpeix*) 1741ff7e0accSmrg vendor=hp 1742ff7e0accSmrg ;; 1743ff7e0accSmrg -hiux*) 1744ff7e0accSmrg vendor=hitachi 1745ff7e0accSmrg ;; 1746ff7e0accSmrg -unos*) 1747ff7e0accSmrg vendor=crds 1748ff7e0accSmrg ;; 1749ff7e0accSmrg -dgux*) 1750ff7e0accSmrg vendor=dg 1751ff7e0accSmrg ;; 1752ff7e0accSmrg -luna*) 1753ff7e0accSmrg vendor=omron 1754ff7e0accSmrg ;; 1755ff7e0accSmrg -genix*) 1756ff7e0accSmrg vendor=ns 1757ff7e0accSmrg ;; 1758ff7e0accSmrg -mvs* | -opened*) 1759ff7e0accSmrg vendor=ibm 1760ff7e0accSmrg ;; 1761ff7e0accSmrg -os400*) 1762ff7e0accSmrg vendor=ibm 1763ff7e0accSmrg ;; 1764ff7e0accSmrg -ptx*) 1765ff7e0accSmrg vendor=sequent 1766ff7e0accSmrg ;; 1767ff7e0accSmrg -tpf*) 1768ff7e0accSmrg vendor=ibm 1769ff7e0accSmrg ;; 1770ff7e0accSmrg -vxsim* | -vxworks* | -windiss*) 1771ff7e0accSmrg vendor=wrs 1772ff7e0accSmrg ;; 1773ff7e0accSmrg -aux*) 1774ff7e0accSmrg vendor=apple 1775ff7e0accSmrg ;; 1776ff7e0accSmrg -hms*) 1777ff7e0accSmrg vendor=hitachi 1778ff7e0accSmrg ;; 1779ff7e0accSmrg -mpw* | -macos*) 1780ff7e0accSmrg vendor=apple 1781ff7e0accSmrg ;; 1782ff7e0accSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783ff7e0accSmrg vendor=atari 1784ff7e0accSmrg ;; 1785ff7e0accSmrg -vos*) 1786ff7e0accSmrg vendor=stratus 1787ff7e0accSmrg ;; 1788ff7e0accSmrg esac 17890c91c449Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790ff7e0accSmrg ;; 1791ff7e0accSmrgesac 1792ff7e0accSmrg 17930c91c449Smrgecho "$basic_machine$os" 1794ff7e0accSmrgexit 1795ff7e0accSmrg 1796ff7e0accSmrg# Local variables: 17970c91c449Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798ff7e0accSmrg# time-stamp-start: "timestamp='" 1799ff7e0accSmrg# time-stamp-format: "%:y-%02m-%02d" 1800ff7e0accSmrg# time-stamp-end: "'" 1801ff7e0accSmrg# End: 1802