config.sub revision 6ef05171
16ef05171Smrg#!/bin/sh 243f32c10Smrg# Configuration validation subroutine script. 36ef05171Smrg# Copyright 1992-2017 Free Software Foundation, Inc. 443f32c10Smrg 56ef05171Smrgtimestamp='2017-04-02' 643f32c10Smrg 76ef05171Smrg# This file is free software; you can redistribute it and/or modify it 86ef05171Smrg# under the terms of the GNU General Public License as published by 96ef05171Smrg# the Free Software Foundation; either version 3 of the License, or 1043f32c10Smrg# (at your option) any later version. 1143f32c10Smrg# 126ef05171Smrg# This program is distributed in the hope that it will be useful, but 136ef05171Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 146ef05171Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 156ef05171Smrg# General Public License for more details. 1643f32c10Smrg# 1743f32c10Smrg# You should have received a copy of the GNU General Public License 186ef05171Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1943f32c10Smrg# 2043f32c10Smrg# As a special exception to the GNU General Public License, if you 2143f32c10Smrg# distribute this file as part of a program that contains a 2243f32c10Smrg# configuration script generated by Autoconf, you may include it under 236ef05171Smrg# the same distribution terms that you use for the rest of that 246ef05171Smrg# program. This Exception is an additional permission under section 7 256ef05171Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2643f32c10Smrg 2743f32c10Smrg 286ef05171Smrg# Please send patches to <config-patches@gnu.org>. 2943f32c10Smrg# 3043f32c10Smrg# Configuration subroutine to validate and canonicalize a configuration type. 3143f32c10Smrg# Supply the specified configuration type as an argument. 3243f32c10Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 3343f32c10Smrg# Otherwise, we print the canonical config type on stdout and succeed. 3443f32c10Smrg 356ef05171Smrg# You can get the latest version of this script from: 366ef05171Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 376ef05171Smrg 3843f32c10Smrg# This file is supposed to be the same for all GNU packages 3943f32c10Smrg# and recognize all the CPU types, system types and aliases 4043f32c10Smrg# that are meaningful with *any* GNU software. 4143f32c10Smrg# Each package is responsible for reporting which valid configurations 4243f32c10Smrg# it does not support. The user should be able to distinguish 4343f32c10Smrg# a failure to support a valid configuration from a meaningless 4443f32c10Smrg# configuration. 4543f32c10Smrg 4643f32c10Smrg# The goal of this file is to map all the various variations of a given 4743f32c10Smrg# machine specification into a single specification in the form: 4843f32c10Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4943f32c10Smrg# or in some cases, the newer four-part form: 5043f32c10Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5143f32c10Smrg# It is wrong to echo any other type of specification. 5243f32c10Smrg 5343f32c10Smrgme=`echo "$0" | sed -e 's,.*/,,'` 5443f32c10Smrg 5543f32c10Smrgusage="\ 566ef05171SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 5743f32c10Smrg 5843f32c10SmrgCanonicalize a configuration name. 5943f32c10Smrg 6043f32c10SmrgOperation modes: 6143f32c10Smrg -h, --help print this help, then exit 6243f32c10Smrg -t, --time-stamp print date of last modification, then exit 6343f32c10Smrg -v, --version print version number, then exit 6443f32c10Smrg 6543f32c10SmrgReport bugs and patches to <config-patches@gnu.org>." 6643f32c10Smrg 6743f32c10Smrgversion="\ 6843f32c10SmrgGNU config.sub ($timestamp) 6943f32c10Smrg 706ef05171SmrgCopyright 1992-2017 Free Software Foundation, Inc. 7143f32c10Smrg 7243f32c10SmrgThis is free software; see the source for copying conditions. There is NO 7343f32c10Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7443f32c10Smrg 7543f32c10Smrghelp=" 7643f32c10SmrgTry \`$me --help' for more information." 7743f32c10Smrg 7843f32c10Smrg# Parse command line 7943f32c10Smrgwhile test $# -gt 0 ; do 8043f32c10Smrg case $1 in 8143f32c10Smrg --time-stamp | --time* | -t ) 8243f32c10Smrg echo "$timestamp" ; exit ;; 8343f32c10Smrg --version | -v ) 8443f32c10Smrg echo "$version" ; exit ;; 8543f32c10Smrg --help | --h* | -h ) 8643f32c10Smrg echo "$usage"; exit ;; 8743f32c10Smrg -- ) # Stop option processing 8843f32c10Smrg shift; break ;; 8943f32c10Smrg - ) # Use stdin as input. 9043f32c10Smrg break ;; 9143f32c10Smrg -* ) 9243f32c10Smrg echo "$me: invalid option $1$help" 9343f32c10Smrg exit 1 ;; 9443f32c10Smrg 9543f32c10Smrg *local*) 9643f32c10Smrg # First pass through any local machine types. 9743f32c10Smrg echo $1 9843f32c10Smrg exit ;; 9943f32c10Smrg 10043f32c10Smrg * ) 10143f32c10Smrg break ;; 10243f32c10Smrg esac 10343f32c10Smrgdone 10443f32c10Smrg 10543f32c10Smrgcase $# in 10643f32c10Smrg 0) echo "$me: missing argument$help" >&2 10743f32c10Smrg exit 1;; 10843f32c10Smrg 1) ;; 10943f32c10Smrg *) echo "$me: too many arguments$help" >&2 11043f32c10Smrg exit 1;; 11143f32c10Smrgesac 11243f32c10Smrg 11343f32c10Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11443f32c10Smrg# Here we must recognize all the valid KERNEL-OS combinations. 11543f32c10Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11643f32c10Smrgcase $maybe_os in 1176ef05171Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1186ef05171Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1196ef05171Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1206ef05171Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 12143f32c10Smrg storm-chaos* | os2-emx* | rtmk-nova*) 12243f32c10Smrg os=-$maybe_os 12343f32c10Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12443f32c10Smrg ;; 1256ef05171Smrg android-linux) 1266ef05171Smrg os=-linux-android 1276ef05171Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1286ef05171Smrg ;; 12943f32c10Smrg *) 13043f32c10Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 13143f32c10Smrg if [ $basic_machine != $1 ] 13243f32c10Smrg then os=`echo $1 | sed 's/.*-/-/'` 13343f32c10Smrg else os=; fi 13443f32c10Smrg ;; 13543f32c10Smrgesac 13643f32c10Smrg 13743f32c10Smrg### Let's recognize common machines as not being operating systems so 13843f32c10Smrg### that things like config.sub decstation-3100 work. We also 13943f32c10Smrg### recognize some manufacturers as not being operating systems, so we 14043f32c10Smrg### can provide default operating systems below. 14143f32c10Smrgcase $os in 14243f32c10Smrg -sun*os*) 14343f32c10Smrg # Prevent following clause from handling this invalid input. 14443f32c10Smrg ;; 14543f32c10Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14643f32c10Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14743f32c10Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14843f32c10Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 14943f32c10Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 15043f32c10Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1516ef05171Smrg -apple | -axis | -knuth | -cray | -microblaze*) 15243f32c10Smrg os= 15343f32c10Smrg basic_machine=$1 15443f32c10Smrg ;; 1556ef05171Smrg -bluegene*) 1566ef05171Smrg os=-cnk 1576ef05171Smrg ;; 15843f32c10Smrg -sim | -cisco | -oki | -wec | -winbond) 15943f32c10Smrg os= 16043f32c10Smrg basic_machine=$1 16143f32c10Smrg ;; 16243f32c10Smrg -scout) 16343f32c10Smrg ;; 16443f32c10Smrg -wrs) 16543f32c10Smrg os=-vxworks 16643f32c10Smrg basic_machine=$1 16743f32c10Smrg ;; 16843f32c10Smrg -chorusos*) 16943f32c10Smrg os=-chorusos 17043f32c10Smrg basic_machine=$1 17143f32c10Smrg ;; 1726ef05171Smrg -chorusrdb) 1736ef05171Smrg os=-chorusrdb 17443f32c10Smrg basic_machine=$1 1756ef05171Smrg ;; 17643f32c10Smrg -hiux*) 17743f32c10Smrg os=-hiuxwe2 17843f32c10Smrg ;; 17943f32c10Smrg -sco6) 18043f32c10Smrg os=-sco5v6 18143f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18243f32c10Smrg ;; 18343f32c10Smrg -sco5) 18443f32c10Smrg os=-sco3.2v5 18543f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18643f32c10Smrg ;; 18743f32c10Smrg -sco4) 18843f32c10Smrg os=-sco3.2v4 18943f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19043f32c10Smrg ;; 19143f32c10Smrg -sco3.2.[4-9]*) 19243f32c10Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19343f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19443f32c10Smrg ;; 19543f32c10Smrg -sco3.2v[4-9]*) 19643f32c10Smrg # Don't forget version if it is 3.2v4 or newer. 19743f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19843f32c10Smrg ;; 19943f32c10Smrg -sco5v6*) 20043f32c10Smrg # Don't forget version if it is 3.2v4 or newer. 20143f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20243f32c10Smrg ;; 20343f32c10Smrg -sco*) 20443f32c10Smrg os=-sco3.2v2 20543f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20643f32c10Smrg ;; 20743f32c10Smrg -udk*) 20843f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20943f32c10Smrg ;; 21043f32c10Smrg -isc) 21143f32c10Smrg os=-isc2.2 21243f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21343f32c10Smrg ;; 21443f32c10Smrg -clix*) 21543f32c10Smrg basic_machine=clipper-intergraph 21643f32c10Smrg ;; 21743f32c10Smrg -isc*) 21843f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21943f32c10Smrg ;; 2206ef05171Smrg -lynx*178) 2216ef05171Smrg os=-lynxos178 2226ef05171Smrg ;; 2236ef05171Smrg -lynx*5) 2246ef05171Smrg os=-lynxos5 2256ef05171Smrg ;; 22643f32c10Smrg -lynx*) 22743f32c10Smrg os=-lynxos 22843f32c10Smrg ;; 22943f32c10Smrg -ptx*) 23043f32c10Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 23143f32c10Smrg ;; 23243f32c10Smrg -windowsnt*) 23343f32c10Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 23443f32c10Smrg ;; 23543f32c10Smrg -psos*) 23643f32c10Smrg os=-psos 23743f32c10Smrg ;; 23843f32c10Smrg -mint | -mint[0-9]*) 23943f32c10Smrg basic_machine=m68k-atari 24043f32c10Smrg os=-mint 24143f32c10Smrg ;; 24243f32c10Smrgesac 24343f32c10Smrg 24443f32c10Smrg# Decode aliases for certain CPU-COMPANY combinations. 24543f32c10Smrgcase $basic_machine in 24643f32c10Smrg # Recognize the basic CPU types without company name. 24743f32c10Smrg # Some are omitted here because they have special meanings below. 24843f32c10Smrg 1750a | 580 \ 24943f32c10Smrg | a29k \ 2506ef05171Smrg | aarch64 | aarch64_be \ 25143f32c10Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 25243f32c10Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25343f32c10Smrg | am33_2.0 \ 2546ef05171Smrg | arc | arceb \ 2556ef05171Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2566ef05171Smrg | avr | avr32 \ 2576ef05171Smrg | ba \ 2586ef05171Smrg | be32 | be64 \ 25943f32c10Smrg | bfin \ 2606ef05171Smrg | c4x | c8051 | clipper \ 26143f32c10Smrg | d10v | d30v | dlx | dsp16xx \ 2626ef05171Smrg | e2k | epiphany \ 2636ef05171Smrg | fido | fr30 | frv | ft32 \ 26443f32c10Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2656ef05171Smrg | hexagon \ 2666ef05171Smrg | i370 | i860 | i960 | ia16 | ia64 \ 26743f32c10Smrg | ip2k | iq2000 \ 2686ef05171Smrg | k1om \ 2696ef05171Smrg | le32 | le64 \ 2706ef05171Smrg | lm32 \ 27143f32c10Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2726ef05171Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27343f32c10Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27443f32c10Smrg | mips16 \ 27543f32c10Smrg | mips64 | mips64el \ 2766ef05171Smrg | mips64octeon | mips64octeonel \ 27743f32c10Smrg | mips64orion | mips64orionel \ 2786ef05171Smrg | mips64r5900 | mips64r5900el \ 2796ef05171Smrg | mips64vr | mips64vrel \ 28043f32c10Smrg | mips64vr4100 | mips64vr4100el \ 28143f32c10Smrg | mips64vr4300 | mips64vr4300el \ 28243f32c10Smrg | mips64vr5000 | mips64vr5000el \ 28343f32c10Smrg | mips64vr5900 | mips64vr5900el \ 28443f32c10Smrg | mipsisa32 | mipsisa32el \ 28543f32c10Smrg | mipsisa32r2 | mipsisa32r2el \ 2866ef05171Smrg | mipsisa32r6 | mipsisa32r6el \ 28743f32c10Smrg | mipsisa64 | mipsisa64el \ 28843f32c10Smrg | mipsisa64r2 | mipsisa64r2el \ 2896ef05171Smrg | mipsisa64r6 | mipsisa64r6el \ 29043f32c10Smrg | mipsisa64sb1 | mipsisa64sb1el \ 29143f32c10Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 2926ef05171Smrg | mipsr5900 | mipsr5900el \ 29343f32c10Smrg | mipstx39 | mipstx39el \ 29443f32c10Smrg | mn10200 | mn10300 \ 2956ef05171Smrg | moxie \ 29643f32c10Smrg | mt \ 29743f32c10Smrg | msp430 \ 2986ef05171Smrg | nds32 | nds32le | nds32be \ 2996ef05171Smrg | nios | nios2 | nios2eb | nios2el \ 30043f32c10Smrg | ns16k | ns32k \ 3016ef05171Smrg | open8 | or1k | or1knd | or32 \ 30243f32c10Smrg | pdp10 | pdp11 | pj | pjl \ 3036ef05171Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3046ef05171Smrg | pru \ 30543f32c10Smrg | pyramid \ 3066ef05171Smrg | riscv32 | riscv64 \ 3076ef05171Smrg | rl78 | rx \ 30843f32c10Smrg | score \ 3096ef05171Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 31043f32c10Smrg | sh64 | sh64le \ 31143f32c10Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31243f32c10Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3136ef05171Smrg | spu \ 3146ef05171Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3156ef05171Smrg | ubicom32 \ 3166ef05171Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3176ef05171Smrg | visium \ 3186ef05171Smrg | wasm32 \ 31943f32c10Smrg | we32k \ 3206ef05171Smrg | x86 | xc16x | xstormy16 | xtensa \ 3216ef05171Smrg | z8k | z80) 32243f32c10Smrg basic_machine=$basic_machine-unknown 32343f32c10Smrg ;; 3246ef05171Smrg c54x) 3256ef05171Smrg basic_machine=tic54x-unknown 3266ef05171Smrg ;; 3276ef05171Smrg c55x) 3286ef05171Smrg basic_machine=tic55x-unknown 3296ef05171Smrg ;; 3306ef05171Smrg c6x) 3316ef05171Smrg basic_machine=tic6x-unknown 3326ef05171Smrg ;; 3336ef05171Smrg leon|leon[3-9]) 3346ef05171Smrg basic_machine=sparc-$basic_machine 3356ef05171Smrg ;; 3366ef05171Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33743f32c10Smrg basic_machine=$basic_machine-unknown 33843f32c10Smrg os=-none 33943f32c10Smrg ;; 34043f32c10Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 34143f32c10Smrg ;; 34243f32c10Smrg ms1) 34343f32c10Smrg basic_machine=mt-unknown 34443f32c10Smrg ;; 34543f32c10Smrg 3466ef05171Smrg strongarm | thumb | xscale) 3476ef05171Smrg basic_machine=arm-unknown 3486ef05171Smrg ;; 3496ef05171Smrg xgate) 3506ef05171Smrg basic_machine=$basic_machine-unknown 3516ef05171Smrg os=-none 3526ef05171Smrg ;; 3536ef05171Smrg xscaleeb) 3546ef05171Smrg basic_machine=armeb-unknown 3556ef05171Smrg ;; 3566ef05171Smrg 3576ef05171Smrg xscaleel) 3586ef05171Smrg basic_machine=armel-unknown 3596ef05171Smrg ;; 3606ef05171Smrg 36143f32c10Smrg # We use `pc' rather than `unknown' 36243f32c10Smrg # because (1) that's what they normally are, and 36343f32c10Smrg # (2) the word "unknown" tends to confuse beginning users. 36443f32c10Smrg i*86 | x86_64) 36543f32c10Smrg basic_machine=$basic_machine-pc 36643f32c10Smrg ;; 36743f32c10Smrg # Object if more than one company name word. 36843f32c10Smrg *-*-*) 36943f32c10Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 37043f32c10Smrg exit 1 37143f32c10Smrg ;; 37243f32c10Smrg # Recognize the basic CPU types with company name. 37343f32c10Smrg 580-* \ 37443f32c10Smrg | a29k-* \ 3756ef05171Smrg | aarch64-* | aarch64_be-* \ 37643f32c10Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37743f32c10Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3786ef05171Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37943f32c10Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 38043f32c10Smrg | avr-* | avr32-* \ 3816ef05171Smrg | ba-* \ 3826ef05171Smrg | be32-* | be64-* \ 38343f32c10Smrg | bfin-* | bs2000-* \ 3846ef05171Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3856ef05171Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 38643f32c10Smrg | d10v-* | d30v-* | dlx-* \ 3876ef05171Smrg | e2k-* | elxsi-* \ 38843f32c10Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38943f32c10Smrg | h8300-* | h8500-* \ 39043f32c10Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3916ef05171Smrg | hexagon-* \ 3926ef05171Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 39343f32c10Smrg | ip2k-* | iq2000-* \ 3946ef05171Smrg | k1om-* \ 3956ef05171Smrg | le32-* | le64-* \ 3966ef05171Smrg | lm32-* \ 39743f32c10Smrg | m32c-* | m32r-* | m32rle-* \ 39843f32c10Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3996ef05171Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 4006ef05171Smrg | microblaze-* | microblazeel-* \ 40143f32c10Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 40243f32c10Smrg | mips16-* \ 40343f32c10Smrg | mips64-* | mips64el-* \ 4046ef05171Smrg | mips64octeon-* | mips64octeonel-* \ 40543f32c10Smrg | mips64orion-* | mips64orionel-* \ 4066ef05171Smrg | mips64r5900-* | mips64r5900el-* \ 4076ef05171Smrg | mips64vr-* | mips64vrel-* \ 40843f32c10Smrg | mips64vr4100-* | mips64vr4100el-* \ 40943f32c10Smrg | mips64vr4300-* | mips64vr4300el-* \ 41043f32c10Smrg | mips64vr5000-* | mips64vr5000el-* \ 41143f32c10Smrg | mips64vr5900-* | mips64vr5900el-* \ 41243f32c10Smrg | mipsisa32-* | mipsisa32el-* \ 41343f32c10Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 4146ef05171Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41543f32c10Smrg | mipsisa64-* | mipsisa64el-* \ 41643f32c10Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 4176ef05171Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41843f32c10Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41943f32c10Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4206ef05171Smrg | mipsr5900-* | mipsr5900el-* \ 42143f32c10Smrg | mipstx39-* | mipstx39el-* \ 42243f32c10Smrg | mmix-* \ 42343f32c10Smrg | mt-* \ 42443f32c10Smrg | msp430-* \ 4256ef05171Smrg | nds32-* | nds32le-* | nds32be-* \ 4266ef05171Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42743f32c10Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4286ef05171Smrg | open8-* \ 4296ef05171Smrg | or1k*-* \ 43043f32c10Smrg | orion-* \ 43143f32c10Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4326ef05171Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4336ef05171Smrg | pru-* \ 43443f32c10Smrg | pyramid-* \ 4356ef05171Smrg | riscv32-* | riscv64-* \ 4366ef05171Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4376ef05171Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43843f32c10Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43943f32c10Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 44043f32c10Smrg | sparclite-* \ 4416ef05171Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4426ef05171Smrg | tahoe-* \ 44343f32c10Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4446ef05171Smrg | tile*-* \ 44543f32c10Smrg | tron-* \ 4466ef05171Smrg | ubicom32-* \ 4476ef05171Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4486ef05171Smrg | vax-* \ 4496ef05171Smrg | visium-* \ 4506ef05171Smrg | wasm32-* \ 45143f32c10Smrg | we32k-* \ 4526ef05171Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 45343f32c10Smrg | xstormy16-* | xtensa*-* \ 45443f32c10Smrg | ymp-* \ 4556ef05171Smrg | z8k-* | z80-*) 45643f32c10Smrg ;; 45743f32c10Smrg # Recognize the basic CPU types without company name, with glob match. 45843f32c10Smrg xtensa*) 45943f32c10Smrg basic_machine=$basic_machine-unknown 46043f32c10Smrg ;; 46143f32c10Smrg # Recognize the various machine names and aliases which stand 46243f32c10Smrg # for a CPU type and a company and sometimes even an OS. 46343f32c10Smrg 386bsd) 46443f32c10Smrg basic_machine=i386-unknown 46543f32c10Smrg os=-bsd 46643f32c10Smrg ;; 46743f32c10Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46843f32c10Smrg basic_machine=m68000-att 46943f32c10Smrg ;; 47043f32c10Smrg 3b*) 47143f32c10Smrg basic_machine=we32k-att 47243f32c10Smrg ;; 47343f32c10Smrg a29khif) 47443f32c10Smrg basic_machine=a29k-amd 47543f32c10Smrg os=-udi 47643f32c10Smrg ;; 4776ef05171Smrg abacus) 47843f32c10Smrg basic_machine=abacus-unknown 47943f32c10Smrg ;; 48043f32c10Smrg adobe68k) 48143f32c10Smrg basic_machine=m68010-adobe 48243f32c10Smrg os=-scout 48343f32c10Smrg ;; 48443f32c10Smrg alliant | fx80) 48543f32c10Smrg basic_machine=fx80-alliant 48643f32c10Smrg ;; 48743f32c10Smrg altos | altos3068) 48843f32c10Smrg basic_machine=m68k-altos 48943f32c10Smrg ;; 49043f32c10Smrg am29k) 49143f32c10Smrg basic_machine=a29k-none 49243f32c10Smrg os=-bsd 49343f32c10Smrg ;; 49443f32c10Smrg amd64) 49543f32c10Smrg basic_machine=x86_64-pc 49643f32c10Smrg ;; 49743f32c10Smrg amd64-*) 49843f32c10Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49943f32c10Smrg ;; 50043f32c10Smrg amdahl) 50143f32c10Smrg basic_machine=580-amdahl 50243f32c10Smrg os=-sysv 50343f32c10Smrg ;; 50443f32c10Smrg amiga | amiga-*) 50543f32c10Smrg basic_machine=m68k-unknown 50643f32c10Smrg ;; 50743f32c10Smrg amigaos | amigados) 50843f32c10Smrg basic_machine=m68k-unknown 50943f32c10Smrg os=-amigaos 51043f32c10Smrg ;; 51143f32c10Smrg amigaunix | amix) 51243f32c10Smrg basic_machine=m68k-unknown 51343f32c10Smrg os=-sysv4 51443f32c10Smrg ;; 51543f32c10Smrg apollo68) 51643f32c10Smrg basic_machine=m68k-apollo 51743f32c10Smrg os=-sysv 51843f32c10Smrg ;; 51943f32c10Smrg apollo68bsd) 52043f32c10Smrg basic_machine=m68k-apollo 52143f32c10Smrg os=-bsd 52243f32c10Smrg ;; 5236ef05171Smrg aros) 5246ef05171Smrg basic_machine=i386-pc 5256ef05171Smrg os=-aros 5266ef05171Smrg ;; 5276ef05171Smrg asmjs) 5286ef05171Smrg basic_machine=asmjs-unknown 5296ef05171Smrg ;; 53043f32c10Smrg aux) 53143f32c10Smrg basic_machine=m68k-apple 53243f32c10Smrg os=-aux 53343f32c10Smrg ;; 53443f32c10Smrg balance) 53543f32c10Smrg basic_machine=ns32k-sequent 53643f32c10Smrg os=-dynix 53743f32c10Smrg ;; 53843f32c10Smrg blackfin) 53943f32c10Smrg basic_machine=bfin-unknown 54043f32c10Smrg os=-linux 54143f32c10Smrg ;; 54243f32c10Smrg blackfin-*) 54343f32c10Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 54443f32c10Smrg os=-linux 54543f32c10Smrg ;; 5466ef05171Smrg bluegene*) 5476ef05171Smrg basic_machine=powerpc-ibm 5486ef05171Smrg os=-cnk 5496ef05171Smrg ;; 5506ef05171Smrg c54x-*) 5516ef05171Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5526ef05171Smrg ;; 5536ef05171Smrg c55x-*) 5546ef05171Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5556ef05171Smrg ;; 5566ef05171Smrg c6x-*) 5576ef05171Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5586ef05171Smrg ;; 55943f32c10Smrg c90) 56043f32c10Smrg basic_machine=c90-cray 56143f32c10Smrg os=-unicos 56243f32c10Smrg ;; 5636ef05171Smrg cegcc) 5646ef05171Smrg basic_machine=arm-unknown 5656ef05171Smrg os=-cegcc 5666ef05171Smrg ;; 56743f32c10Smrg convex-c1) 56843f32c10Smrg basic_machine=c1-convex 56943f32c10Smrg os=-bsd 57043f32c10Smrg ;; 57143f32c10Smrg convex-c2) 57243f32c10Smrg basic_machine=c2-convex 57343f32c10Smrg os=-bsd 57443f32c10Smrg ;; 57543f32c10Smrg convex-c32) 57643f32c10Smrg basic_machine=c32-convex 57743f32c10Smrg os=-bsd 57843f32c10Smrg ;; 57943f32c10Smrg convex-c34) 58043f32c10Smrg basic_machine=c34-convex 58143f32c10Smrg os=-bsd 58243f32c10Smrg ;; 58343f32c10Smrg convex-c38) 58443f32c10Smrg basic_machine=c38-convex 58543f32c10Smrg os=-bsd 58643f32c10Smrg ;; 58743f32c10Smrg cray | j90) 58843f32c10Smrg basic_machine=j90-cray 58943f32c10Smrg os=-unicos 59043f32c10Smrg ;; 59143f32c10Smrg craynv) 59243f32c10Smrg basic_machine=craynv-cray 59343f32c10Smrg os=-unicosmp 59443f32c10Smrg ;; 5956ef05171Smrg cr16 | cr16-*) 59643f32c10Smrg basic_machine=cr16-unknown 59743f32c10Smrg os=-elf 59843f32c10Smrg ;; 59943f32c10Smrg crds | unos) 60043f32c10Smrg basic_machine=m68k-crds 60143f32c10Smrg ;; 60243f32c10Smrg crisv32 | crisv32-* | etraxfs*) 60343f32c10Smrg basic_machine=crisv32-axis 60443f32c10Smrg ;; 60543f32c10Smrg cris | cris-* | etrax*) 60643f32c10Smrg basic_machine=cris-axis 60743f32c10Smrg ;; 60843f32c10Smrg crx) 60943f32c10Smrg basic_machine=crx-unknown 61043f32c10Smrg os=-elf 61143f32c10Smrg ;; 61243f32c10Smrg da30 | da30-*) 61343f32c10Smrg basic_machine=m68k-da30 61443f32c10Smrg ;; 61543f32c10Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 61643f32c10Smrg basic_machine=mips-dec 61743f32c10Smrg ;; 61843f32c10Smrg decsystem10* | dec10*) 61943f32c10Smrg basic_machine=pdp10-dec 62043f32c10Smrg os=-tops10 62143f32c10Smrg ;; 62243f32c10Smrg decsystem20* | dec20*) 62343f32c10Smrg basic_machine=pdp10-dec 62443f32c10Smrg os=-tops20 62543f32c10Smrg ;; 62643f32c10Smrg delta | 3300 | motorola-3300 | motorola-delta \ 62743f32c10Smrg | 3300-motorola | delta-motorola) 62843f32c10Smrg basic_machine=m68k-motorola 62943f32c10Smrg ;; 63043f32c10Smrg delta88) 63143f32c10Smrg basic_machine=m88k-motorola 63243f32c10Smrg os=-sysv3 63343f32c10Smrg ;; 6346ef05171Smrg dicos) 6356ef05171Smrg basic_machine=i686-pc 6366ef05171Smrg os=-dicos 6376ef05171Smrg ;; 63843f32c10Smrg djgpp) 63943f32c10Smrg basic_machine=i586-pc 64043f32c10Smrg os=-msdosdjgpp 64143f32c10Smrg ;; 64243f32c10Smrg dpx20 | dpx20-*) 64343f32c10Smrg basic_machine=rs6000-bull 64443f32c10Smrg os=-bosx 64543f32c10Smrg ;; 64643f32c10Smrg dpx2* | dpx2*-bull) 64743f32c10Smrg basic_machine=m68k-bull 64843f32c10Smrg os=-sysv3 64943f32c10Smrg ;; 6506ef05171Smrg e500v[12]) 6516ef05171Smrg basic_machine=powerpc-unknown 6526ef05171Smrg os=$os"spe" 6536ef05171Smrg ;; 6546ef05171Smrg e500v[12]-*) 6556ef05171Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 6566ef05171Smrg os=$os"spe" 6576ef05171Smrg ;; 65843f32c10Smrg ebmon29k) 65943f32c10Smrg basic_machine=a29k-amd 66043f32c10Smrg os=-ebmon 66143f32c10Smrg ;; 66243f32c10Smrg elxsi) 66343f32c10Smrg basic_machine=elxsi-elxsi 66443f32c10Smrg os=-bsd 66543f32c10Smrg ;; 66643f32c10Smrg encore | umax | mmax) 66743f32c10Smrg basic_machine=ns32k-encore 66843f32c10Smrg ;; 66943f32c10Smrg es1800 | OSE68k | ose68k | ose | OSE) 67043f32c10Smrg basic_machine=m68k-ericsson 67143f32c10Smrg os=-ose 67243f32c10Smrg ;; 67343f32c10Smrg fx2800) 67443f32c10Smrg basic_machine=i860-alliant 67543f32c10Smrg ;; 67643f32c10Smrg genix) 67743f32c10Smrg basic_machine=ns32k-ns 67843f32c10Smrg ;; 67943f32c10Smrg gmicro) 68043f32c10Smrg basic_machine=tron-gmicro 68143f32c10Smrg os=-sysv 68243f32c10Smrg ;; 68343f32c10Smrg go32) 68443f32c10Smrg basic_machine=i386-pc 68543f32c10Smrg os=-go32 68643f32c10Smrg ;; 68743f32c10Smrg h3050r* | hiux*) 68843f32c10Smrg basic_machine=hppa1.1-hitachi 68943f32c10Smrg os=-hiuxwe2 69043f32c10Smrg ;; 69143f32c10Smrg h8300hms) 69243f32c10Smrg basic_machine=h8300-hitachi 69343f32c10Smrg os=-hms 69443f32c10Smrg ;; 69543f32c10Smrg h8300xray) 69643f32c10Smrg basic_machine=h8300-hitachi 69743f32c10Smrg os=-xray 69843f32c10Smrg ;; 69943f32c10Smrg h8500hms) 70043f32c10Smrg basic_machine=h8500-hitachi 70143f32c10Smrg os=-hms 70243f32c10Smrg ;; 70343f32c10Smrg harris) 70443f32c10Smrg basic_machine=m88k-harris 70543f32c10Smrg os=-sysv3 70643f32c10Smrg ;; 70743f32c10Smrg hp300-*) 70843f32c10Smrg basic_machine=m68k-hp 70943f32c10Smrg ;; 71043f32c10Smrg hp300bsd) 71143f32c10Smrg basic_machine=m68k-hp 71243f32c10Smrg os=-bsd 71343f32c10Smrg ;; 71443f32c10Smrg hp300hpux) 71543f32c10Smrg basic_machine=m68k-hp 71643f32c10Smrg os=-hpux 71743f32c10Smrg ;; 71843f32c10Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 71943f32c10Smrg basic_machine=hppa1.0-hp 72043f32c10Smrg ;; 72143f32c10Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 72243f32c10Smrg basic_machine=m68000-hp 72343f32c10Smrg ;; 72443f32c10Smrg hp9k3[2-9][0-9]) 72543f32c10Smrg basic_machine=m68k-hp 72643f32c10Smrg ;; 72743f32c10Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 72843f32c10Smrg basic_machine=hppa1.0-hp 72943f32c10Smrg ;; 73043f32c10Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 73143f32c10Smrg basic_machine=hppa1.1-hp 73243f32c10Smrg ;; 73343f32c10Smrg hp9k78[0-9] | hp78[0-9]) 73443f32c10Smrg # FIXME: really hppa2.0-hp 73543f32c10Smrg basic_machine=hppa1.1-hp 73643f32c10Smrg ;; 73743f32c10Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 73843f32c10Smrg # FIXME: really hppa2.0-hp 73943f32c10Smrg basic_machine=hppa1.1-hp 74043f32c10Smrg ;; 74143f32c10Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 74243f32c10Smrg basic_machine=hppa1.1-hp 74343f32c10Smrg ;; 74443f32c10Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 74543f32c10Smrg basic_machine=hppa1.0-hp 74643f32c10Smrg ;; 74743f32c10Smrg hppa-next) 74843f32c10Smrg os=-nextstep3 74943f32c10Smrg ;; 75043f32c10Smrg hppaosf) 75143f32c10Smrg basic_machine=hppa1.1-hp 75243f32c10Smrg os=-osf 75343f32c10Smrg ;; 75443f32c10Smrg hppro) 75543f32c10Smrg basic_machine=hppa1.1-hp 75643f32c10Smrg os=-proelf 75743f32c10Smrg ;; 75843f32c10Smrg i370-ibm* | ibm*) 75943f32c10Smrg basic_machine=i370-ibm 76043f32c10Smrg ;; 76143f32c10Smrg i*86v32) 76243f32c10Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76343f32c10Smrg os=-sysv32 76443f32c10Smrg ;; 76543f32c10Smrg i*86v4*) 76643f32c10Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76743f32c10Smrg os=-sysv4 76843f32c10Smrg ;; 76943f32c10Smrg i*86v) 77043f32c10Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77143f32c10Smrg os=-sysv 77243f32c10Smrg ;; 77343f32c10Smrg i*86sol2) 77443f32c10Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77543f32c10Smrg os=-solaris2 77643f32c10Smrg ;; 77743f32c10Smrg i386mach) 77843f32c10Smrg basic_machine=i386-mach 77943f32c10Smrg os=-mach 78043f32c10Smrg ;; 78143f32c10Smrg i386-vsta | vsta) 78243f32c10Smrg basic_machine=i386-unknown 78343f32c10Smrg os=-vsta 78443f32c10Smrg ;; 78543f32c10Smrg iris | iris4d) 78643f32c10Smrg basic_machine=mips-sgi 78743f32c10Smrg case $os in 78843f32c10Smrg -irix*) 78943f32c10Smrg ;; 79043f32c10Smrg *) 79143f32c10Smrg os=-irix4 79243f32c10Smrg ;; 79343f32c10Smrg esac 79443f32c10Smrg ;; 79543f32c10Smrg isi68 | isi) 79643f32c10Smrg basic_machine=m68k-isi 79743f32c10Smrg os=-sysv 79843f32c10Smrg ;; 7996ef05171Smrg leon-*|leon[3-9]-*) 8006ef05171Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 8016ef05171Smrg ;; 80243f32c10Smrg m68knommu) 80343f32c10Smrg basic_machine=m68k-unknown 80443f32c10Smrg os=-linux 80543f32c10Smrg ;; 80643f32c10Smrg m68knommu-*) 80743f32c10Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 80843f32c10Smrg os=-linux 80943f32c10Smrg ;; 81043f32c10Smrg m88k-omron*) 81143f32c10Smrg basic_machine=m88k-omron 81243f32c10Smrg ;; 81343f32c10Smrg magnum | m3230) 81443f32c10Smrg basic_machine=mips-mips 81543f32c10Smrg os=-sysv 81643f32c10Smrg ;; 81743f32c10Smrg merlin) 81843f32c10Smrg basic_machine=ns32k-utek 81943f32c10Smrg os=-sysv 82043f32c10Smrg ;; 8216ef05171Smrg microblaze*) 8226ef05171Smrg basic_machine=microblaze-xilinx 8236ef05171Smrg ;; 8246ef05171Smrg mingw64) 8256ef05171Smrg basic_machine=x86_64-pc 8266ef05171Smrg os=-mingw64 8276ef05171Smrg ;; 82843f32c10Smrg mingw32) 8296ef05171Smrg basic_machine=i686-pc 83043f32c10Smrg os=-mingw32 83143f32c10Smrg ;; 83243f32c10Smrg mingw32ce) 83343f32c10Smrg basic_machine=arm-unknown 83443f32c10Smrg os=-mingw32ce 83543f32c10Smrg ;; 83643f32c10Smrg miniframe) 83743f32c10Smrg basic_machine=m68000-convergent 83843f32c10Smrg ;; 83943f32c10Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 84043f32c10Smrg basic_machine=m68k-atari 84143f32c10Smrg os=-mint 84243f32c10Smrg ;; 84343f32c10Smrg mips3*-*) 84443f32c10Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 84543f32c10Smrg ;; 84643f32c10Smrg mips3*) 84743f32c10Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 84843f32c10Smrg ;; 84943f32c10Smrg monitor) 85043f32c10Smrg basic_machine=m68k-rom68k 85143f32c10Smrg os=-coff 85243f32c10Smrg ;; 85343f32c10Smrg morphos) 85443f32c10Smrg basic_machine=powerpc-unknown 85543f32c10Smrg os=-morphos 85643f32c10Smrg ;; 8576ef05171Smrg moxiebox) 8586ef05171Smrg basic_machine=moxie-unknown 8596ef05171Smrg os=-moxiebox 8606ef05171Smrg ;; 86143f32c10Smrg msdos) 86243f32c10Smrg basic_machine=i386-pc 86343f32c10Smrg os=-msdos 86443f32c10Smrg ;; 86543f32c10Smrg ms1-*) 86643f32c10Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 86743f32c10Smrg ;; 8686ef05171Smrg msys) 8696ef05171Smrg basic_machine=i686-pc 8706ef05171Smrg os=-msys 8716ef05171Smrg ;; 87243f32c10Smrg mvs) 87343f32c10Smrg basic_machine=i370-ibm 87443f32c10Smrg os=-mvs 87543f32c10Smrg ;; 8766ef05171Smrg nacl) 8776ef05171Smrg basic_machine=le32-unknown 8786ef05171Smrg os=-nacl 8796ef05171Smrg ;; 88043f32c10Smrg ncr3000) 88143f32c10Smrg basic_machine=i486-ncr 88243f32c10Smrg os=-sysv4 88343f32c10Smrg ;; 88443f32c10Smrg netbsd386) 88543f32c10Smrg basic_machine=i386-unknown 88643f32c10Smrg os=-netbsd 88743f32c10Smrg ;; 88843f32c10Smrg netwinder) 88943f32c10Smrg basic_machine=armv4l-rebel 89043f32c10Smrg os=-linux 89143f32c10Smrg ;; 89243f32c10Smrg news | news700 | news800 | news900) 89343f32c10Smrg basic_machine=m68k-sony 89443f32c10Smrg os=-newsos 89543f32c10Smrg ;; 89643f32c10Smrg news1000) 89743f32c10Smrg basic_machine=m68030-sony 89843f32c10Smrg os=-newsos 89943f32c10Smrg ;; 90043f32c10Smrg news-3600 | risc-news) 90143f32c10Smrg basic_machine=mips-sony 90243f32c10Smrg os=-newsos 90343f32c10Smrg ;; 90443f32c10Smrg necv70) 90543f32c10Smrg basic_machine=v70-nec 90643f32c10Smrg os=-sysv 90743f32c10Smrg ;; 90843f32c10Smrg next | m*-next ) 90943f32c10Smrg basic_machine=m68k-next 91043f32c10Smrg case $os in 91143f32c10Smrg -nextstep* ) 91243f32c10Smrg ;; 91343f32c10Smrg -ns2*) 91443f32c10Smrg os=-nextstep2 91543f32c10Smrg ;; 91643f32c10Smrg *) 91743f32c10Smrg os=-nextstep3 91843f32c10Smrg ;; 91943f32c10Smrg esac 92043f32c10Smrg ;; 92143f32c10Smrg nh3000) 92243f32c10Smrg basic_machine=m68k-harris 92343f32c10Smrg os=-cxux 92443f32c10Smrg ;; 92543f32c10Smrg nh[45]000) 92643f32c10Smrg basic_machine=m88k-harris 92743f32c10Smrg os=-cxux 92843f32c10Smrg ;; 92943f32c10Smrg nindy960) 93043f32c10Smrg basic_machine=i960-intel 93143f32c10Smrg os=-nindy 93243f32c10Smrg ;; 93343f32c10Smrg mon960) 93443f32c10Smrg basic_machine=i960-intel 93543f32c10Smrg os=-mon960 93643f32c10Smrg ;; 93743f32c10Smrg nonstopux) 93843f32c10Smrg basic_machine=mips-compaq 93943f32c10Smrg os=-nonstopux 94043f32c10Smrg ;; 94143f32c10Smrg np1) 94243f32c10Smrg basic_machine=np1-gould 94343f32c10Smrg ;; 9446ef05171Smrg neo-tandem) 9456ef05171Smrg basic_machine=neo-tandem 9466ef05171Smrg ;; 9476ef05171Smrg nse-tandem) 9486ef05171Smrg basic_machine=nse-tandem 9496ef05171Smrg ;; 95043f32c10Smrg nsr-tandem) 95143f32c10Smrg basic_machine=nsr-tandem 95243f32c10Smrg ;; 9536ef05171Smrg nsx-tandem) 9546ef05171Smrg basic_machine=nsx-tandem 9556ef05171Smrg ;; 95643f32c10Smrg op50n-* | op60c-*) 95743f32c10Smrg basic_machine=hppa1.1-oki 95843f32c10Smrg os=-proelf 95943f32c10Smrg ;; 96043f32c10Smrg openrisc | openrisc-*) 96143f32c10Smrg basic_machine=or32-unknown 96243f32c10Smrg ;; 96343f32c10Smrg os400) 96443f32c10Smrg basic_machine=powerpc-ibm 96543f32c10Smrg os=-os400 96643f32c10Smrg ;; 96743f32c10Smrg OSE68000 | ose68000) 96843f32c10Smrg basic_machine=m68000-ericsson 96943f32c10Smrg os=-ose 97043f32c10Smrg ;; 97143f32c10Smrg os68k) 97243f32c10Smrg basic_machine=m68k-none 97343f32c10Smrg os=-os68k 97443f32c10Smrg ;; 97543f32c10Smrg pa-hitachi) 97643f32c10Smrg basic_machine=hppa1.1-hitachi 97743f32c10Smrg os=-hiuxwe2 97843f32c10Smrg ;; 97943f32c10Smrg paragon) 98043f32c10Smrg basic_machine=i860-intel 98143f32c10Smrg os=-osf 98243f32c10Smrg ;; 98343f32c10Smrg parisc) 98443f32c10Smrg basic_machine=hppa-unknown 98543f32c10Smrg os=-linux 98643f32c10Smrg ;; 98743f32c10Smrg parisc-*) 98843f32c10Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 98943f32c10Smrg os=-linux 99043f32c10Smrg ;; 99143f32c10Smrg pbd) 99243f32c10Smrg basic_machine=sparc-tti 99343f32c10Smrg ;; 99443f32c10Smrg pbb) 99543f32c10Smrg basic_machine=m68k-tti 99643f32c10Smrg ;; 99743f32c10Smrg pc532 | pc532-*) 99843f32c10Smrg basic_machine=ns32k-pc532 99943f32c10Smrg ;; 100043f32c10Smrg pc98) 100143f32c10Smrg basic_machine=i386-pc 100243f32c10Smrg ;; 100343f32c10Smrg pc98-*) 100443f32c10Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 100543f32c10Smrg ;; 100643f32c10Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 100743f32c10Smrg basic_machine=i586-pc 100843f32c10Smrg ;; 100943f32c10Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 101043f32c10Smrg basic_machine=i686-pc 101143f32c10Smrg ;; 101243f32c10Smrg pentiumii | pentium2 | pentiumiii | pentium3) 101343f32c10Smrg basic_machine=i686-pc 101443f32c10Smrg ;; 101543f32c10Smrg pentium4) 101643f32c10Smrg basic_machine=i786-pc 101743f32c10Smrg ;; 101843f32c10Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101943f32c10Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 102043f32c10Smrg ;; 102143f32c10Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 102243f32c10Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102343f32c10Smrg ;; 102443f32c10Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 102543f32c10Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102643f32c10Smrg ;; 102743f32c10Smrg pentium4-*) 102843f32c10Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 102943f32c10Smrg ;; 103043f32c10Smrg pn) 103143f32c10Smrg basic_machine=pn-gould 103243f32c10Smrg ;; 103343f32c10Smrg power) basic_machine=power-ibm 103443f32c10Smrg ;; 10356ef05171Smrg ppc | ppcbe) basic_machine=powerpc-unknown 103643f32c10Smrg ;; 10376ef05171Smrg ppc-* | ppcbe-*) 10386ef05171Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 103943f32c10Smrg ;; 10406ef05171Smrg ppcle | powerpclittle) 104143f32c10Smrg basic_machine=powerpcle-unknown 104243f32c10Smrg ;; 104343f32c10Smrg ppcle-* | powerpclittle-*) 104443f32c10Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 104543f32c10Smrg ;; 104643f32c10Smrg ppc64) basic_machine=powerpc64-unknown 104743f32c10Smrg ;; 10486ef05171Smrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 104943f32c10Smrg ;; 10506ef05171Smrg ppc64le | powerpc64little) 105143f32c10Smrg basic_machine=powerpc64le-unknown 105243f32c10Smrg ;; 105343f32c10Smrg ppc64le-* | powerpc64little-*) 105443f32c10Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 105543f32c10Smrg ;; 105643f32c10Smrg ps2) 105743f32c10Smrg basic_machine=i386-ibm 105843f32c10Smrg ;; 105943f32c10Smrg pw32) 106043f32c10Smrg basic_machine=i586-unknown 106143f32c10Smrg os=-pw32 106243f32c10Smrg ;; 10636ef05171Smrg rdos | rdos64) 10646ef05171Smrg basic_machine=x86_64-pc 10656ef05171Smrg os=-rdos 10666ef05171Smrg ;; 10676ef05171Smrg rdos32) 106843f32c10Smrg basic_machine=i386-pc 106943f32c10Smrg os=-rdos 107043f32c10Smrg ;; 107143f32c10Smrg rom68k) 107243f32c10Smrg basic_machine=m68k-rom68k 107343f32c10Smrg os=-coff 107443f32c10Smrg ;; 107543f32c10Smrg rm[46]00) 107643f32c10Smrg basic_machine=mips-siemens 107743f32c10Smrg ;; 107843f32c10Smrg rtpc | rtpc-*) 107943f32c10Smrg basic_machine=romp-ibm 108043f32c10Smrg ;; 108143f32c10Smrg s390 | s390-*) 108243f32c10Smrg basic_machine=s390-ibm 108343f32c10Smrg ;; 108443f32c10Smrg s390x | s390x-*) 108543f32c10Smrg basic_machine=s390x-ibm 108643f32c10Smrg ;; 108743f32c10Smrg sa29200) 108843f32c10Smrg basic_machine=a29k-amd 108943f32c10Smrg os=-udi 109043f32c10Smrg ;; 109143f32c10Smrg sb1) 109243f32c10Smrg basic_machine=mipsisa64sb1-unknown 109343f32c10Smrg ;; 109443f32c10Smrg sb1el) 109543f32c10Smrg basic_machine=mipsisa64sb1el-unknown 109643f32c10Smrg ;; 109743f32c10Smrg sde) 109843f32c10Smrg basic_machine=mipsisa32-sde 109943f32c10Smrg os=-elf 110043f32c10Smrg ;; 110143f32c10Smrg sei) 110243f32c10Smrg basic_machine=mips-sei 110343f32c10Smrg os=-seiux 110443f32c10Smrg ;; 110543f32c10Smrg sequent) 110643f32c10Smrg basic_machine=i386-sequent 110743f32c10Smrg ;; 110843f32c10Smrg sh) 110943f32c10Smrg basic_machine=sh-hitachi 111043f32c10Smrg os=-hms 111143f32c10Smrg ;; 111243f32c10Smrg sh5el) 111343f32c10Smrg basic_machine=sh5le-unknown 111443f32c10Smrg ;; 111543f32c10Smrg sh64) 111643f32c10Smrg basic_machine=sh64-unknown 111743f32c10Smrg ;; 111843f32c10Smrg sparclite-wrs | simso-wrs) 111943f32c10Smrg basic_machine=sparclite-wrs 112043f32c10Smrg os=-vxworks 112143f32c10Smrg ;; 112243f32c10Smrg sps7) 112343f32c10Smrg basic_machine=m68k-bull 112443f32c10Smrg os=-sysv2 112543f32c10Smrg ;; 112643f32c10Smrg spur) 112743f32c10Smrg basic_machine=spur-unknown 112843f32c10Smrg ;; 112943f32c10Smrg st2000) 113043f32c10Smrg basic_machine=m68k-tandem 113143f32c10Smrg ;; 113243f32c10Smrg stratus) 113343f32c10Smrg basic_machine=i860-stratus 113443f32c10Smrg os=-sysv4 113543f32c10Smrg ;; 11366ef05171Smrg strongarm-* | thumb-*) 11376ef05171Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11386ef05171Smrg ;; 113943f32c10Smrg sun2) 114043f32c10Smrg basic_machine=m68000-sun 114143f32c10Smrg ;; 114243f32c10Smrg sun2os3) 114343f32c10Smrg basic_machine=m68000-sun 114443f32c10Smrg os=-sunos3 114543f32c10Smrg ;; 114643f32c10Smrg sun2os4) 114743f32c10Smrg basic_machine=m68000-sun 114843f32c10Smrg os=-sunos4 114943f32c10Smrg ;; 115043f32c10Smrg sun3os3) 115143f32c10Smrg basic_machine=m68k-sun 115243f32c10Smrg os=-sunos3 115343f32c10Smrg ;; 115443f32c10Smrg sun3os4) 115543f32c10Smrg basic_machine=m68k-sun 115643f32c10Smrg os=-sunos4 115743f32c10Smrg ;; 115843f32c10Smrg sun4os3) 115943f32c10Smrg basic_machine=sparc-sun 116043f32c10Smrg os=-sunos3 116143f32c10Smrg ;; 116243f32c10Smrg sun4os4) 116343f32c10Smrg basic_machine=sparc-sun 116443f32c10Smrg os=-sunos4 116543f32c10Smrg ;; 116643f32c10Smrg sun4sol2) 116743f32c10Smrg basic_machine=sparc-sun 116843f32c10Smrg os=-solaris2 116943f32c10Smrg ;; 117043f32c10Smrg sun3 | sun3-*) 117143f32c10Smrg basic_machine=m68k-sun 117243f32c10Smrg ;; 117343f32c10Smrg sun4) 117443f32c10Smrg basic_machine=sparc-sun 117543f32c10Smrg ;; 117643f32c10Smrg sun386 | sun386i | roadrunner) 117743f32c10Smrg basic_machine=i386-sun 117843f32c10Smrg ;; 117943f32c10Smrg sv1) 118043f32c10Smrg basic_machine=sv1-cray 118143f32c10Smrg os=-unicos 118243f32c10Smrg ;; 118343f32c10Smrg symmetry) 118443f32c10Smrg basic_machine=i386-sequent 118543f32c10Smrg os=-dynix 118643f32c10Smrg ;; 118743f32c10Smrg t3e) 118843f32c10Smrg basic_machine=alphaev5-cray 118943f32c10Smrg os=-unicos 119043f32c10Smrg ;; 119143f32c10Smrg t90) 119243f32c10Smrg basic_machine=t90-cray 119343f32c10Smrg os=-unicos 119443f32c10Smrg ;; 119543f32c10Smrg tile*) 11966ef05171Smrg basic_machine=$basic_machine-unknown 119743f32c10Smrg os=-linux-gnu 119843f32c10Smrg ;; 119943f32c10Smrg tx39) 120043f32c10Smrg basic_machine=mipstx39-unknown 120143f32c10Smrg ;; 120243f32c10Smrg tx39el) 120343f32c10Smrg basic_machine=mipstx39el-unknown 120443f32c10Smrg ;; 120543f32c10Smrg toad1) 120643f32c10Smrg basic_machine=pdp10-xkl 120743f32c10Smrg os=-tops20 120843f32c10Smrg ;; 120943f32c10Smrg tower | tower-32) 121043f32c10Smrg basic_machine=m68k-ncr 121143f32c10Smrg ;; 121243f32c10Smrg tpf) 121343f32c10Smrg basic_machine=s390x-ibm 121443f32c10Smrg os=-tpf 121543f32c10Smrg ;; 121643f32c10Smrg udi29k) 121743f32c10Smrg basic_machine=a29k-amd 121843f32c10Smrg os=-udi 121943f32c10Smrg ;; 122043f32c10Smrg ultra3) 122143f32c10Smrg basic_machine=a29k-nyu 122243f32c10Smrg os=-sym1 122343f32c10Smrg ;; 122443f32c10Smrg v810 | necv810) 122543f32c10Smrg basic_machine=v810-nec 122643f32c10Smrg os=-none 122743f32c10Smrg ;; 122843f32c10Smrg vaxv) 122943f32c10Smrg basic_machine=vax-dec 123043f32c10Smrg os=-sysv 123143f32c10Smrg ;; 123243f32c10Smrg vms) 123343f32c10Smrg basic_machine=vax-dec 123443f32c10Smrg os=-vms 123543f32c10Smrg ;; 123643f32c10Smrg vpp*|vx|vx-*) 123743f32c10Smrg basic_machine=f301-fujitsu 123843f32c10Smrg ;; 123943f32c10Smrg vxworks960) 124043f32c10Smrg basic_machine=i960-wrs 124143f32c10Smrg os=-vxworks 124243f32c10Smrg ;; 124343f32c10Smrg vxworks68) 124443f32c10Smrg basic_machine=m68k-wrs 124543f32c10Smrg os=-vxworks 124643f32c10Smrg ;; 124743f32c10Smrg vxworks29k) 124843f32c10Smrg basic_machine=a29k-wrs 124943f32c10Smrg os=-vxworks 125043f32c10Smrg ;; 12516ef05171Smrg wasm32) 12526ef05171Smrg basic_machine=wasm32-unknown 12536ef05171Smrg ;; 125443f32c10Smrg w65*) 125543f32c10Smrg basic_machine=w65-wdc 125643f32c10Smrg os=-none 125743f32c10Smrg ;; 125843f32c10Smrg w89k-*) 125943f32c10Smrg basic_machine=hppa1.1-winbond 126043f32c10Smrg os=-proelf 126143f32c10Smrg ;; 126243f32c10Smrg xbox) 126343f32c10Smrg basic_machine=i686-pc 126443f32c10Smrg os=-mingw32 126543f32c10Smrg ;; 126643f32c10Smrg xps | xps100) 126743f32c10Smrg basic_machine=xps100-honeywell 126843f32c10Smrg ;; 12696ef05171Smrg xscale-* | xscalee[bl]-*) 12706ef05171Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12716ef05171Smrg ;; 127243f32c10Smrg ymp) 127343f32c10Smrg basic_machine=ymp-cray 127443f32c10Smrg os=-unicos 127543f32c10Smrg ;; 127643f32c10Smrg z8k-*-coff) 127743f32c10Smrg basic_machine=z8k-unknown 127843f32c10Smrg os=-sim 127943f32c10Smrg ;; 12806ef05171Smrg z80-*-coff) 12816ef05171Smrg basic_machine=z80-unknown 12826ef05171Smrg os=-sim 12836ef05171Smrg ;; 128443f32c10Smrg none) 128543f32c10Smrg basic_machine=none-none 128643f32c10Smrg os=-none 128743f32c10Smrg ;; 128843f32c10Smrg 128943f32c10Smrg# Here we handle the default manufacturer of certain CPU types. It is in 129043f32c10Smrg# some cases the only manufacturer, in others, it is the most popular. 129143f32c10Smrg w89k) 129243f32c10Smrg basic_machine=hppa1.1-winbond 129343f32c10Smrg ;; 129443f32c10Smrg op50n) 129543f32c10Smrg basic_machine=hppa1.1-oki 129643f32c10Smrg ;; 129743f32c10Smrg op60c) 129843f32c10Smrg basic_machine=hppa1.1-oki 129943f32c10Smrg ;; 130043f32c10Smrg romp) 130143f32c10Smrg basic_machine=romp-ibm 130243f32c10Smrg ;; 130343f32c10Smrg mmix) 130443f32c10Smrg basic_machine=mmix-knuth 130543f32c10Smrg ;; 130643f32c10Smrg rs6000) 130743f32c10Smrg basic_machine=rs6000-ibm 130843f32c10Smrg ;; 130943f32c10Smrg vax) 131043f32c10Smrg basic_machine=vax-dec 131143f32c10Smrg ;; 131243f32c10Smrg pdp10) 131343f32c10Smrg # there are many clones, so DEC is not a safe bet 131443f32c10Smrg basic_machine=pdp10-unknown 131543f32c10Smrg ;; 131643f32c10Smrg pdp11) 131743f32c10Smrg basic_machine=pdp11-dec 131843f32c10Smrg ;; 131943f32c10Smrg we32k) 132043f32c10Smrg basic_machine=we32k-att 132143f32c10Smrg ;; 13226ef05171Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 132343f32c10Smrg basic_machine=sh-unknown 132443f32c10Smrg ;; 132543f32c10Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 132643f32c10Smrg basic_machine=sparc-sun 132743f32c10Smrg ;; 132843f32c10Smrg cydra) 132943f32c10Smrg basic_machine=cydra-cydrome 133043f32c10Smrg ;; 133143f32c10Smrg orion) 133243f32c10Smrg basic_machine=orion-highlevel 133343f32c10Smrg ;; 133443f32c10Smrg orion105) 133543f32c10Smrg basic_machine=clipper-highlevel 133643f32c10Smrg ;; 133743f32c10Smrg mac | mpw | mac-mpw) 133843f32c10Smrg basic_machine=m68k-apple 133943f32c10Smrg ;; 134043f32c10Smrg pmac | pmac-mpw) 134143f32c10Smrg basic_machine=powerpc-apple 134243f32c10Smrg ;; 134343f32c10Smrg *-unknown) 134443f32c10Smrg # Make sure to match an already-canonicalized machine name. 134543f32c10Smrg ;; 134643f32c10Smrg *) 134743f32c10Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 134843f32c10Smrg exit 1 134943f32c10Smrg ;; 135043f32c10Smrgesac 135143f32c10Smrg 135243f32c10Smrg# Here we canonicalize certain aliases for manufacturers. 135343f32c10Smrgcase $basic_machine in 135443f32c10Smrg *-digital*) 135543f32c10Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 135643f32c10Smrg ;; 135743f32c10Smrg *-commodore*) 135843f32c10Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 135943f32c10Smrg ;; 136043f32c10Smrg *) 136143f32c10Smrg ;; 136243f32c10Smrgesac 136343f32c10Smrg 136443f32c10Smrg# Decode manufacturer-specific aliases for certain operating systems. 136543f32c10Smrg 136643f32c10Smrgif [ x"$os" != x"" ] 136743f32c10Smrgthen 136843f32c10Smrgcase $os in 13696ef05171Smrg # First match some system type aliases 13706ef05171Smrg # that might get confused with valid system types. 137143f32c10Smrg # -solaris* is a basic system type, with this one exception. 13726ef05171Smrg -auroraux) 13736ef05171Smrg os=-auroraux 13746ef05171Smrg ;; 137543f32c10Smrg -solaris1 | -solaris1.*) 137643f32c10Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 137743f32c10Smrg ;; 137843f32c10Smrg -solaris) 137943f32c10Smrg os=-solaris2 138043f32c10Smrg ;; 138143f32c10Smrg -svr4*) 138243f32c10Smrg os=-sysv4 138343f32c10Smrg ;; 138443f32c10Smrg -unixware*) 138543f32c10Smrg os=-sysv4.2uw 138643f32c10Smrg ;; 138743f32c10Smrg -gnu/linux*) 138843f32c10Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 138943f32c10Smrg ;; 139043f32c10Smrg # First accept the basic system types. 139143f32c10Smrg # The portable systems comes first. 139243f32c10Smrg # Each alternative MUST END IN A *, to match a version number. 139343f32c10Smrg # -sysv* is not here because it comes later, after sysvr4. 139443f32c10Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13956ef05171Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13966ef05171Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13976ef05171Smrg | -sym* | -kopensolaris* | -plan9* \ 139843f32c10Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13996ef05171Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 140043f32c10Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 140143f32c10Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 140243f32c10Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 14036ef05171Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 140443f32c10Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 140543f32c10Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 140643f32c10Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 140743f32c10Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 14086ef05171Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 14096ef05171Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 14106ef05171Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 14116ef05171Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 14126ef05171Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 141343f32c10Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 141443f32c10Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 141543f32c10Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 141643f32c10Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 141743f32c10Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 141843f32c10Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 14196ef05171Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 14206ef05171Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) 142143f32c10Smrg # Remember, each alternative MUST END IN *, to match a version number. 142243f32c10Smrg ;; 142343f32c10Smrg -qnx*) 142443f32c10Smrg case $basic_machine in 142543f32c10Smrg x86-* | i*86-*) 142643f32c10Smrg ;; 142743f32c10Smrg *) 142843f32c10Smrg os=-nto$os 142943f32c10Smrg ;; 143043f32c10Smrg esac 143143f32c10Smrg ;; 143243f32c10Smrg -nto-qnx*) 143343f32c10Smrg ;; 143443f32c10Smrg -nto*) 143543f32c10Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 143643f32c10Smrg ;; 143743f32c10Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 143843f32c10Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 143943f32c10Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 144043f32c10Smrg ;; 144143f32c10Smrg -mac*) 144243f32c10Smrg os=`echo $os | sed -e 's|mac|macos|'` 144343f32c10Smrg ;; 144443f32c10Smrg -linux-dietlibc) 144543f32c10Smrg os=-linux-dietlibc 144643f32c10Smrg ;; 144743f32c10Smrg -linux*) 144843f32c10Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 144943f32c10Smrg ;; 145043f32c10Smrg -sunos5*) 145143f32c10Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 145243f32c10Smrg ;; 145343f32c10Smrg -sunos6*) 145443f32c10Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 145543f32c10Smrg ;; 145643f32c10Smrg -opened*) 145743f32c10Smrg os=-openedition 145843f32c10Smrg ;; 14596ef05171Smrg -os400*) 146043f32c10Smrg os=-os400 146143f32c10Smrg ;; 146243f32c10Smrg -wince*) 146343f32c10Smrg os=-wince 146443f32c10Smrg ;; 146543f32c10Smrg -osfrose*) 146643f32c10Smrg os=-osfrose 146743f32c10Smrg ;; 146843f32c10Smrg -osf*) 146943f32c10Smrg os=-osf 147043f32c10Smrg ;; 147143f32c10Smrg -utek*) 147243f32c10Smrg os=-bsd 147343f32c10Smrg ;; 147443f32c10Smrg -dynix*) 147543f32c10Smrg os=-bsd 147643f32c10Smrg ;; 147743f32c10Smrg -acis*) 147843f32c10Smrg os=-aos 147943f32c10Smrg ;; 148043f32c10Smrg -atheos*) 148143f32c10Smrg os=-atheos 148243f32c10Smrg ;; 148343f32c10Smrg -syllable*) 148443f32c10Smrg os=-syllable 148543f32c10Smrg ;; 148643f32c10Smrg -386bsd) 148743f32c10Smrg os=-bsd 148843f32c10Smrg ;; 148943f32c10Smrg -ctix* | -uts*) 149043f32c10Smrg os=-sysv 149143f32c10Smrg ;; 149243f32c10Smrg -nova*) 149343f32c10Smrg os=-rtmk-nova 149443f32c10Smrg ;; 149543f32c10Smrg -ns2 ) 149643f32c10Smrg os=-nextstep2 149743f32c10Smrg ;; 149843f32c10Smrg -nsk*) 149943f32c10Smrg os=-nsk 150043f32c10Smrg ;; 150143f32c10Smrg # Preserve the version number of sinix5. 150243f32c10Smrg -sinix5.*) 150343f32c10Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 150443f32c10Smrg ;; 150543f32c10Smrg -sinix*) 150643f32c10Smrg os=-sysv4 150743f32c10Smrg ;; 15086ef05171Smrg -tpf*) 150943f32c10Smrg os=-tpf 151043f32c10Smrg ;; 151143f32c10Smrg -triton*) 151243f32c10Smrg os=-sysv3 151343f32c10Smrg ;; 151443f32c10Smrg -oss*) 151543f32c10Smrg os=-sysv3 151643f32c10Smrg ;; 151743f32c10Smrg -svr4) 151843f32c10Smrg os=-sysv4 151943f32c10Smrg ;; 152043f32c10Smrg -svr3) 152143f32c10Smrg os=-sysv3 152243f32c10Smrg ;; 152343f32c10Smrg -sysvr4) 152443f32c10Smrg os=-sysv4 152543f32c10Smrg ;; 152643f32c10Smrg # This must come after -sysvr4. 152743f32c10Smrg -sysv*) 152843f32c10Smrg ;; 152943f32c10Smrg -ose*) 153043f32c10Smrg os=-ose 153143f32c10Smrg ;; 153243f32c10Smrg -es1800*) 153343f32c10Smrg os=-ose 153443f32c10Smrg ;; 153543f32c10Smrg -xenix) 153643f32c10Smrg os=-xenix 153743f32c10Smrg ;; 153843f32c10Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 153943f32c10Smrg os=-mint 154043f32c10Smrg ;; 154143f32c10Smrg -aros*) 154243f32c10Smrg os=-aros 154343f32c10Smrg ;; 154443f32c10Smrg -zvmoe) 154543f32c10Smrg os=-zvmoe 154643f32c10Smrg ;; 15476ef05171Smrg -dicos*) 15486ef05171Smrg os=-dicos 15496ef05171Smrg ;; 15506ef05171Smrg -nacl*) 15516ef05171Smrg ;; 15526ef05171Smrg -ios) 15536ef05171Smrg ;; 155443f32c10Smrg -none) 155543f32c10Smrg ;; 155643f32c10Smrg *) 155743f32c10Smrg # Get rid of the `-' at the beginning of $os. 155843f32c10Smrg os=`echo $os | sed 's/[^-]*-//'` 155943f32c10Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 156043f32c10Smrg exit 1 156143f32c10Smrg ;; 156243f32c10Smrgesac 156343f32c10Smrgelse 156443f32c10Smrg 156543f32c10Smrg# Here we handle the default operating systems that come with various machines. 156643f32c10Smrg# The value should be what the vendor currently ships out the door with their 156743f32c10Smrg# machine or put another way, the most popular os provided with the machine. 156843f32c10Smrg 156943f32c10Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 157043f32c10Smrg# "-sun"), then you have to tell the case statement up towards the top 157143f32c10Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 157243f32c10Smrg# will signal an error saying that MANUFACTURER isn't an operating 157343f32c10Smrg# system, and we'll never get to this point. 157443f32c10Smrg 157543f32c10Smrgcase $basic_machine in 15766ef05171Smrg score-*) 157743f32c10Smrg os=-elf 157843f32c10Smrg ;; 15796ef05171Smrg spu-*) 158043f32c10Smrg os=-elf 158143f32c10Smrg ;; 158243f32c10Smrg *-acorn) 158343f32c10Smrg os=-riscix1.2 158443f32c10Smrg ;; 158543f32c10Smrg arm*-rebel) 158643f32c10Smrg os=-linux 158743f32c10Smrg ;; 158843f32c10Smrg arm*-semi) 158943f32c10Smrg os=-aout 159043f32c10Smrg ;; 15916ef05171Smrg c4x-* | tic4x-*) 15926ef05171Smrg os=-coff 15936ef05171Smrg ;; 15946ef05171Smrg c8051-*) 15956ef05171Smrg os=-elf 15966ef05171Smrg ;; 15976ef05171Smrg hexagon-*) 15986ef05171Smrg os=-elf 15996ef05171Smrg ;; 16006ef05171Smrg tic54x-*) 16016ef05171Smrg os=-coff 16026ef05171Smrg ;; 16036ef05171Smrg tic55x-*) 16046ef05171Smrg os=-coff 16056ef05171Smrg ;; 16066ef05171Smrg tic6x-*) 16076ef05171Smrg os=-coff 160843f32c10Smrg ;; 160943f32c10Smrg # This must come before the *-dec entry. 161043f32c10Smrg pdp10-*) 161143f32c10Smrg os=-tops20 161243f32c10Smrg ;; 161343f32c10Smrg pdp11-*) 161443f32c10Smrg os=-none 161543f32c10Smrg ;; 161643f32c10Smrg *-dec | vax-*) 161743f32c10Smrg os=-ultrix4.2 161843f32c10Smrg ;; 161943f32c10Smrg m68*-apollo) 162043f32c10Smrg os=-domain 162143f32c10Smrg ;; 162243f32c10Smrg i386-sun) 162343f32c10Smrg os=-sunos4.0.2 162443f32c10Smrg ;; 162543f32c10Smrg m68000-sun) 162643f32c10Smrg os=-sunos3 162743f32c10Smrg ;; 162843f32c10Smrg m68*-cisco) 162943f32c10Smrg os=-aout 163043f32c10Smrg ;; 16316ef05171Smrg mep-*) 163243f32c10Smrg os=-elf 163343f32c10Smrg ;; 163443f32c10Smrg mips*-cisco) 163543f32c10Smrg os=-elf 163643f32c10Smrg ;; 163743f32c10Smrg mips*-*) 163843f32c10Smrg os=-elf 163943f32c10Smrg ;; 164043f32c10Smrg or32-*) 164143f32c10Smrg os=-coff 164243f32c10Smrg ;; 164343f32c10Smrg *-tti) # must be before sparc entry or we get the wrong os. 164443f32c10Smrg os=-sysv3 164543f32c10Smrg ;; 164643f32c10Smrg sparc-* | *-sun) 164743f32c10Smrg os=-sunos4.1.1 164843f32c10Smrg ;; 16496ef05171Smrg pru-*) 16506ef05171Smrg os=-elf 16516ef05171Smrg ;; 165243f32c10Smrg *-be) 165343f32c10Smrg os=-beos 165443f32c10Smrg ;; 165543f32c10Smrg *-haiku) 165643f32c10Smrg os=-haiku 165743f32c10Smrg ;; 165843f32c10Smrg *-ibm) 165943f32c10Smrg os=-aix 166043f32c10Smrg ;; 16616ef05171Smrg *-knuth) 166243f32c10Smrg os=-mmixware 166343f32c10Smrg ;; 166443f32c10Smrg *-wec) 166543f32c10Smrg os=-proelf 166643f32c10Smrg ;; 166743f32c10Smrg *-winbond) 166843f32c10Smrg os=-proelf 166943f32c10Smrg ;; 167043f32c10Smrg *-oki) 167143f32c10Smrg os=-proelf 167243f32c10Smrg ;; 167343f32c10Smrg *-hp) 167443f32c10Smrg os=-hpux 167543f32c10Smrg ;; 167643f32c10Smrg *-hitachi) 167743f32c10Smrg os=-hiux 167843f32c10Smrg ;; 167943f32c10Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 168043f32c10Smrg os=-sysv 168143f32c10Smrg ;; 168243f32c10Smrg *-cbm) 168343f32c10Smrg os=-amigaos 168443f32c10Smrg ;; 168543f32c10Smrg *-dg) 168643f32c10Smrg os=-dgux 168743f32c10Smrg ;; 168843f32c10Smrg *-dolphin) 168943f32c10Smrg os=-sysv3 169043f32c10Smrg ;; 169143f32c10Smrg m68k-ccur) 169243f32c10Smrg os=-rtu 169343f32c10Smrg ;; 169443f32c10Smrg m88k-omron*) 169543f32c10Smrg os=-luna 169643f32c10Smrg ;; 169743f32c10Smrg *-next ) 169843f32c10Smrg os=-nextstep 169943f32c10Smrg ;; 170043f32c10Smrg *-sequent) 170143f32c10Smrg os=-ptx 170243f32c10Smrg ;; 170343f32c10Smrg *-crds) 170443f32c10Smrg os=-unos 170543f32c10Smrg ;; 170643f32c10Smrg *-ns) 170743f32c10Smrg os=-genix 170843f32c10Smrg ;; 170943f32c10Smrg i370-*) 171043f32c10Smrg os=-mvs 171143f32c10Smrg ;; 171243f32c10Smrg *-next) 171343f32c10Smrg os=-nextstep3 171443f32c10Smrg ;; 171543f32c10Smrg *-gould) 171643f32c10Smrg os=-sysv 171743f32c10Smrg ;; 171843f32c10Smrg *-highlevel) 171943f32c10Smrg os=-bsd 172043f32c10Smrg ;; 172143f32c10Smrg *-encore) 172243f32c10Smrg os=-bsd 172343f32c10Smrg ;; 172443f32c10Smrg *-sgi) 172543f32c10Smrg os=-irix 172643f32c10Smrg ;; 172743f32c10Smrg *-siemens) 172843f32c10Smrg os=-sysv4 172943f32c10Smrg ;; 173043f32c10Smrg *-masscomp) 173143f32c10Smrg os=-rtu 173243f32c10Smrg ;; 173343f32c10Smrg f30[01]-fujitsu | f700-fujitsu) 173443f32c10Smrg os=-uxpv 173543f32c10Smrg ;; 173643f32c10Smrg *-rom68k) 173743f32c10Smrg os=-coff 173843f32c10Smrg ;; 173943f32c10Smrg *-*bug) 174043f32c10Smrg os=-coff 174143f32c10Smrg ;; 174243f32c10Smrg *-apple) 174343f32c10Smrg os=-macos 174443f32c10Smrg ;; 174543f32c10Smrg *-atari*) 174643f32c10Smrg os=-mint 174743f32c10Smrg ;; 174843f32c10Smrg *) 174943f32c10Smrg os=-none 175043f32c10Smrg ;; 175143f32c10Smrgesac 175243f32c10Smrgfi 175343f32c10Smrg 175443f32c10Smrg# Here we handle the case where we know the os, and the CPU type, but not the 175543f32c10Smrg# manufacturer. We pick the logical manufacturer. 175643f32c10Smrgvendor=unknown 175743f32c10Smrgcase $basic_machine in 175843f32c10Smrg *-unknown) 175943f32c10Smrg case $os in 176043f32c10Smrg -riscix*) 176143f32c10Smrg vendor=acorn 176243f32c10Smrg ;; 176343f32c10Smrg -sunos*) 176443f32c10Smrg vendor=sun 176543f32c10Smrg ;; 17666ef05171Smrg -cnk*|-aix*) 176743f32c10Smrg vendor=ibm 176843f32c10Smrg ;; 176943f32c10Smrg -beos*) 177043f32c10Smrg vendor=be 177143f32c10Smrg ;; 177243f32c10Smrg -hpux*) 177343f32c10Smrg vendor=hp 177443f32c10Smrg ;; 177543f32c10Smrg -mpeix*) 177643f32c10Smrg vendor=hp 177743f32c10Smrg ;; 177843f32c10Smrg -hiux*) 177943f32c10Smrg vendor=hitachi 178043f32c10Smrg ;; 178143f32c10Smrg -unos*) 178243f32c10Smrg vendor=crds 178343f32c10Smrg ;; 178443f32c10Smrg -dgux*) 178543f32c10Smrg vendor=dg 178643f32c10Smrg ;; 178743f32c10Smrg -luna*) 178843f32c10Smrg vendor=omron 178943f32c10Smrg ;; 179043f32c10Smrg -genix*) 179143f32c10Smrg vendor=ns 179243f32c10Smrg ;; 179343f32c10Smrg -mvs* | -opened*) 179443f32c10Smrg vendor=ibm 179543f32c10Smrg ;; 179643f32c10Smrg -os400*) 179743f32c10Smrg vendor=ibm 179843f32c10Smrg ;; 179943f32c10Smrg -ptx*) 180043f32c10Smrg vendor=sequent 180143f32c10Smrg ;; 180243f32c10Smrg -tpf*) 180343f32c10Smrg vendor=ibm 180443f32c10Smrg ;; 180543f32c10Smrg -vxsim* | -vxworks* | -windiss*) 180643f32c10Smrg vendor=wrs 180743f32c10Smrg ;; 180843f32c10Smrg -aux*) 180943f32c10Smrg vendor=apple 181043f32c10Smrg ;; 181143f32c10Smrg -hms*) 181243f32c10Smrg vendor=hitachi 181343f32c10Smrg ;; 181443f32c10Smrg -mpw* | -macos*) 181543f32c10Smrg vendor=apple 181643f32c10Smrg ;; 181743f32c10Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 181843f32c10Smrg vendor=atari 181943f32c10Smrg ;; 182043f32c10Smrg -vos*) 182143f32c10Smrg vendor=stratus 182243f32c10Smrg ;; 182343f32c10Smrg esac 182443f32c10Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 182543f32c10Smrg ;; 182643f32c10Smrgesac 182743f32c10Smrg 182843f32c10Smrgecho $basic_machine$os 182943f32c10Smrgexit 183043f32c10Smrg 183143f32c10Smrg# Local variables: 183243f32c10Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 183343f32c10Smrg# time-stamp-start: "timestamp='" 183443f32c10Smrg# time-stamp-format: "%:y-%02m-%02d" 183543f32c10Smrg# time-stamp-end: "'" 183643f32c10Smrg# End: 1837