config.sub revision 3169be4b
1b042e37fSmrg#! /bin/sh 2b042e37fSmrg# Configuration validation subroutine script. 33169be4bSmrg# Copyright 1992-2018 Free Software Foundation, Inc. 4b042e37fSmrg 53169be4bSmrgtimestamp='2018-02-28' 6b042e37fSmrg 78bd17e5fSmrg# This file is free software; you can redistribute it and/or modify it 88bd17e5fSmrg# under the terms of the GNU General Public License as published by 98bd17e5fSmrg# the Free Software Foundation; either version 3 of the License, or 10b042e37fSmrg# (at your option) any later version. 11b042e37fSmrg# 128bd17e5fSmrg# This program is distributed in the hope that it will be useful, but 138bd17e5fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 148bd17e5fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 158bd17e5fSmrg# General Public License for more details. 16b042e37fSmrg# 17b042e37fSmrg# You should have received a copy of the GNU General Public License 183169be4bSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 198c4a8e55Smrg# 20b042e37fSmrg# As a special exception to the GNU General Public License, if you 21b042e37fSmrg# distribute this file as part of a program that contains a 22b042e37fSmrg# configuration script generated by Autoconf, you may include it under 238bd17e5fSmrg# the same distribution terms that you use for the rest of that 248bd17e5fSmrg# program. This Exception is an additional permission under section 7 258bd17e5fSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26b042e37fSmrg 278c4a8e55Smrg 283169be4bSmrg# Please send patches to <config-patches@gnu.org>. 29b042e37fSmrg# 30b042e37fSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31b042e37fSmrg# Supply the specified configuration type as an argument. 32b042e37fSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33b042e37fSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34b042e37fSmrg 35706b6b52Smrg# You can get the latest version of this script from: 363169be4bSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37706b6b52Smrg 38b042e37fSmrg# This file is supposed to be the same for all GNU packages 39b042e37fSmrg# and recognize all the CPU types, system types and aliases 40b042e37fSmrg# that are meaningful with *any* GNU software. 41b042e37fSmrg# Each package is responsible for reporting which valid configurations 42b042e37fSmrg# it does not support. The user should be able to distinguish 43b042e37fSmrg# a failure to support a valid configuration from a meaningless 44b042e37fSmrg# configuration. 45b042e37fSmrg 46b042e37fSmrg# The goal of this file is to map all the various variations of a given 47b042e37fSmrg# machine specification into a single specification in the form: 48b042e37fSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49b042e37fSmrg# or in some cases, the newer four-part form: 50b042e37fSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51b042e37fSmrg# It is wrong to echo any other type of specification. 52b042e37fSmrg 53b042e37fSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54b042e37fSmrg 55b042e37fSmrgusage="\ 563169be4bSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57b042e37fSmrg 58b042e37fSmrgCanonicalize a configuration name. 59b042e37fSmrg 603169be4bSmrgOptions: 61b042e37fSmrg -h, --help print this help, then exit 62b042e37fSmrg -t, --time-stamp print date of last modification, then exit 63b042e37fSmrg -v, --version print version number, then exit 64b042e37fSmrg 65b042e37fSmrgReport bugs and patches to <config-patches@gnu.org>." 66b042e37fSmrg 67b042e37fSmrgversion="\ 68b042e37fSmrgGNU config.sub ($timestamp) 69b042e37fSmrg 703169be4bSmrgCopyright 1992-2018 Free Software Foundation, Inc. 71b042e37fSmrg 72b042e37fSmrgThis is free software; see the source for copying conditions. There is NO 73b042e37fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74b042e37fSmrg 75b042e37fSmrghelp=" 76b042e37fSmrgTry \`$me --help' for more information." 77b042e37fSmrg 78b042e37fSmrg# Parse command line 79b042e37fSmrgwhile test $# -gt 0 ; do 80b042e37fSmrg case $1 in 81b042e37fSmrg --time-stamp | --time* | -t ) 828c4a8e55Smrg echo "$timestamp" ; exit ;; 83b042e37fSmrg --version | -v ) 848c4a8e55Smrg echo "$version" ; exit ;; 85b042e37fSmrg --help | --h* | -h ) 868c4a8e55Smrg echo "$usage"; exit ;; 87b042e37fSmrg -- ) # Stop option processing 88b042e37fSmrg shift; break ;; 89b042e37fSmrg - ) # Use stdin as input. 90b042e37fSmrg break ;; 91b042e37fSmrg -* ) 92b042e37fSmrg echo "$me: invalid option $1$help" 93b042e37fSmrg exit 1 ;; 94b042e37fSmrg 95b042e37fSmrg *local*) 96b042e37fSmrg # First pass through any local machine types. 973169be4bSmrg echo "$1" 988c4a8e55Smrg exit ;; 99b042e37fSmrg 100b042e37fSmrg * ) 101b042e37fSmrg break ;; 102b042e37fSmrg esac 103b042e37fSmrgdone 104b042e37fSmrg 105b042e37fSmrgcase $# in 106b042e37fSmrg 0) echo "$me: missing argument$help" >&2 107b042e37fSmrg exit 1;; 108b042e37fSmrg 1) ;; 109b042e37fSmrg *) echo "$me: too many arguments$help" >&2 110b042e37fSmrg exit 1;; 111b042e37fSmrgesac 112b042e37fSmrg 113b042e37fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114b042e37fSmrg# Here we must recognize all the valid KERNEL-OS combinations. 1153169be4bSmrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116b042e37fSmrgcase $maybe_os in 117706b6b52Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1188bd17e5fSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1193169be4bSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1203169be4bSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1218c4a8e55Smrg storm-chaos* | os2-emx* | rtmk-nova*) 122b042e37fSmrg os=-$maybe_os 1233169be4bSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124b042e37fSmrg ;; 1258bd17e5fSmrg android-linux) 1268bd17e5fSmrg os=-linux-android 1273169be4bSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1288bd17e5fSmrg ;; 129b042e37fSmrg *) 1303169be4bSmrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1313169be4bSmrg if [ "$basic_machine" != "$1" ] 1323169be4bSmrg then os=`echo "$1" | sed 's/.*-/-/'` 133b042e37fSmrg else os=; fi 134b042e37fSmrg ;; 135b042e37fSmrgesac 136b042e37fSmrg 137b042e37fSmrg### Let's recognize common machines as not being operating systems so 138b042e37fSmrg### that things like config.sub decstation-3100 work. We also 139b042e37fSmrg### recognize some manufacturers as not being operating systems, so we 140b042e37fSmrg### can provide default operating systems below. 141b042e37fSmrgcase $os in 142b042e37fSmrg -sun*os*) 143b042e37fSmrg # Prevent following clause from handling this invalid input. 144b042e37fSmrg ;; 145b042e37fSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146b042e37fSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147b042e37fSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148b042e37fSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149b042e37fSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150b042e37fSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1518bd17e5fSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152b042e37fSmrg os= 153b042e37fSmrg basic_machine=$1 154b042e37fSmrg ;; 1550597fb56Smrg -bluegene*) 1560597fb56Smrg os=-cnk 157706b6b52Smrg ;; 158b042e37fSmrg -sim | -cisco | -oki | -wec | -winbond) 159b042e37fSmrg os= 160b042e37fSmrg basic_machine=$1 161b042e37fSmrg ;; 162b042e37fSmrg -scout) 163b042e37fSmrg ;; 164b042e37fSmrg -wrs) 165b042e37fSmrg os=-vxworks 166b042e37fSmrg basic_machine=$1 167b042e37fSmrg ;; 168b042e37fSmrg -chorusos*) 169b042e37fSmrg os=-chorusos 170b042e37fSmrg basic_machine=$1 171b042e37fSmrg ;; 1720597fb56Smrg -chorusrdb) 1730597fb56Smrg os=-chorusrdb 174b042e37fSmrg basic_machine=$1 1750597fb56Smrg ;; 176b042e37fSmrg -hiux*) 177b042e37fSmrg os=-hiuxwe2 178b042e37fSmrg ;; 1798c4a8e55Smrg -sco6) 1808c4a8e55Smrg os=-sco5v6 1813169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1828c4a8e55Smrg ;; 183b042e37fSmrg -sco5) 184b042e37fSmrg os=-sco3.2v5 1853169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186b042e37fSmrg ;; 187b042e37fSmrg -sco4) 188b042e37fSmrg os=-sco3.2v4 1893169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190b042e37fSmrg ;; 191b042e37fSmrg -sco3.2.[4-9]*) 192b042e37fSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1933169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194b042e37fSmrg ;; 195b042e37fSmrg -sco3.2v[4-9]*) 196b042e37fSmrg # Don't forget version if it is 3.2v4 or newer. 1973169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198b042e37fSmrg ;; 1998c4a8e55Smrg -sco5v6*) 2008c4a8e55Smrg # Don't forget version if it is 3.2v4 or newer. 2013169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2028c4a8e55Smrg ;; 203b042e37fSmrg -sco*) 204b042e37fSmrg os=-sco3.2v2 2053169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206b042e37fSmrg ;; 207b042e37fSmrg -udk*) 2083169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209b042e37fSmrg ;; 210b042e37fSmrg -isc) 211b042e37fSmrg os=-isc2.2 2123169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213b042e37fSmrg ;; 214b042e37fSmrg -clix*) 215b042e37fSmrg basic_machine=clipper-intergraph 216b042e37fSmrg ;; 217b042e37fSmrg -isc*) 2183169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219b042e37fSmrg ;; 2208bd17e5fSmrg -lynx*178) 2218bd17e5fSmrg os=-lynxos178 2228bd17e5fSmrg ;; 2238bd17e5fSmrg -lynx*5) 2248bd17e5fSmrg os=-lynxos5 2258bd17e5fSmrg ;; 226b042e37fSmrg -lynx*) 227b042e37fSmrg os=-lynxos 228b042e37fSmrg ;; 229b042e37fSmrg -ptx*) 2303169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231b042e37fSmrg ;; 232b042e37fSmrg -psos*) 233b042e37fSmrg os=-psos 234b042e37fSmrg ;; 235b042e37fSmrg -mint | -mint[0-9]*) 236b042e37fSmrg basic_machine=m68k-atari 237b042e37fSmrg os=-mint 238b042e37fSmrg ;; 239b042e37fSmrgesac 240b042e37fSmrg 241b042e37fSmrg# Decode aliases for certain CPU-COMPANY combinations. 242b042e37fSmrgcase $basic_machine in 243b042e37fSmrg # Recognize the basic CPU types without company name. 244b042e37fSmrg # Some are omitted here because they have special meanings below. 245b042e37fSmrg 1750a | 580 \ 246b042e37fSmrg | a29k \ 2478bd17e5fSmrg | aarch64 | aarch64_be \ 248b042e37fSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249b042e37fSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2508c4a8e55Smrg | am33_2.0 \ 2518bd17e5fSmrg | arc | arceb \ 2528bd17e5fSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2538bd17e5fSmrg | avr | avr32 \ 2543169be4bSmrg | ba \ 2558bd17e5fSmrg | be32 | be64 \ 2568c4a8e55Smrg | bfin \ 25767594505Smrg | c4x | c8051 | clipper \ 258b042e37fSmrg | d10v | d30v | dlx | dsp16xx \ 2593169be4bSmrg | e2k | epiphany \ 2603169be4bSmrg | fido | fr30 | frv | ft32 \ 261b042e37fSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2620597fb56Smrg | hexagon \ 2633169be4bSmrg | i370 | i860 | i960 | ia16 | ia64 \ 2648c4a8e55Smrg | ip2k | iq2000 \ 2653169be4bSmrg | k1om \ 2660597fb56Smrg | le32 | le64 \ 267706b6b52Smrg | lm32 \ 2688c4a8e55Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2698bd17e5fSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270b042e37fSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271b042e37fSmrg | mips16 \ 272b042e37fSmrg | mips64 | mips64el \ 273706b6b52Smrg | mips64octeon | mips64octeonel \ 274b042e37fSmrg | mips64orion | mips64orionel \ 275706b6b52Smrg | mips64r5900 | mips64r5900el \ 276706b6b52Smrg | mips64vr | mips64vrel \ 277b042e37fSmrg | mips64vr4100 | mips64vr4100el \ 278b042e37fSmrg | mips64vr4300 | mips64vr4300el \ 279b042e37fSmrg | mips64vr5000 | mips64vr5000el \ 2808c4a8e55Smrg | mips64vr5900 | mips64vr5900el \ 281b042e37fSmrg | mipsisa32 | mipsisa32el \ 282b042e37fSmrg | mipsisa32r2 | mipsisa32r2el \ 2833169be4bSmrg | mipsisa32r6 | mipsisa32r6el \ 284b042e37fSmrg | mipsisa64 | mipsisa64el \ 2858c4a8e55Smrg | mipsisa64r2 | mipsisa64r2el \ 2863169be4bSmrg | mipsisa64r6 | mipsisa64r6el \ 287b042e37fSmrg | mipsisa64sb1 | mipsisa64sb1el \ 288b042e37fSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 2898bd17e5fSmrg | mipsr5900 | mipsr5900el \ 290b042e37fSmrg | mipstx39 | mipstx39el \ 291b042e37fSmrg | mn10200 | mn10300 \ 292706b6b52Smrg | moxie \ 2938c4a8e55Smrg | mt \ 294b042e37fSmrg | msp430 \ 295706b6b52Smrg | nds32 | nds32le | nds32be \ 2968bd17e5fSmrg | nios | nios2 | nios2eb | nios2el \ 297b042e37fSmrg | ns16k | ns32k \ 2983169be4bSmrg | open8 | or1k | or1knd | or32 \ 2993169be4bSmrg | pdp10 | pj | pjl \ 3000597fb56Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3013169be4bSmrg | pru \ 302b042e37fSmrg | pyramid \ 3033169be4bSmrg | riscv32 | riscv64 \ 3040597fb56Smrg | rl78 | rx \ 3058c4a8e55Smrg | score \ 3063169be4bSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307b042e37fSmrg | sh64 | sh64le \ 3088c4a8e55Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3098c4a8e55Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3100597fb56Smrg | spu \ 3110597fb56Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312706b6b52Smrg | ubicom32 \ 3130597fb56Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3143169be4bSmrg | visium \ 3153169be4bSmrg | wasm32 \ 3160597fb56Smrg | x86 | xc16x | xstormy16 | xtensa \ 317706b6b52Smrg | z8k | z80) 318b042e37fSmrg basic_machine=$basic_machine-unknown 319b042e37fSmrg ;; 320706b6b52Smrg c54x) 321706b6b52Smrg basic_machine=tic54x-unknown 322706b6b52Smrg ;; 323706b6b52Smrg c55x) 324706b6b52Smrg basic_machine=tic55x-unknown 325706b6b52Smrg ;; 326706b6b52Smrg c6x) 327706b6b52Smrg basic_machine=tic6x-unknown 328706b6b52Smrg ;; 3293169be4bSmrg leon|leon[3-9]) 3303169be4bSmrg basic_machine=sparc-$basic_machine 3313169be4bSmrg ;; 3323169be4bSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333b042e37fSmrg basic_machine=$basic_machine-unknown 334b042e37fSmrg os=-none 335b042e37fSmrg ;; 3363169be4bSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337b042e37fSmrg ;; 3388c4a8e55Smrg ms1) 3398c4a8e55Smrg basic_machine=mt-unknown 3408c4a8e55Smrg ;; 341b042e37fSmrg 3420597fb56Smrg strongarm | thumb | xscale) 3430597fb56Smrg basic_machine=arm-unknown 3440597fb56Smrg ;; 3458bd17e5fSmrg xgate) 3468bd17e5fSmrg basic_machine=$basic_machine-unknown 3478bd17e5fSmrg os=-none 3488bd17e5fSmrg ;; 3490597fb56Smrg xscaleeb) 3500597fb56Smrg basic_machine=armeb-unknown 3510597fb56Smrg ;; 3520597fb56Smrg 3530597fb56Smrg xscaleel) 3540597fb56Smrg basic_machine=armel-unknown 3550597fb56Smrg ;; 3560597fb56Smrg 357b042e37fSmrg # We use `pc' rather than `unknown' 358b042e37fSmrg # because (1) that's what they normally are, and 359b042e37fSmrg # (2) the word "unknown" tends to confuse beginning users. 360b042e37fSmrg i*86 | x86_64) 361b042e37fSmrg basic_machine=$basic_machine-pc 362b042e37fSmrg ;; 363b042e37fSmrg # Object if more than one company name word. 364b042e37fSmrg *-*-*) 3653169be4bSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366b042e37fSmrg exit 1 367b042e37fSmrg ;; 368b042e37fSmrg # Recognize the basic CPU types with company name. 369b042e37fSmrg 580-* \ 370b042e37fSmrg | a29k-* \ 3718bd17e5fSmrg | aarch64-* | aarch64_be-* \ 372b042e37fSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373b042e37fSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3748bd17e5fSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375b042e37fSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3768c4a8e55Smrg | avr-* | avr32-* \ 3773169be4bSmrg | ba-* \ 3780597fb56Smrg | be32-* | be64-* \ 3798c4a8e55Smrg | bfin-* | bs2000-* \ 380706b6b52Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38167594505Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382b042e37fSmrg | d10v-* | d30v-* | dlx-* \ 3833169be4bSmrg | e2k-* | elxsi-* \ 384706b6b52Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385b042e37fSmrg | h8300-* | h8500-* \ 386b042e37fSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3870597fb56Smrg | hexagon-* \ 3883169be4bSmrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3898c4a8e55Smrg | ip2k-* | iq2000-* \ 3903169be4bSmrg | k1om-* \ 3910597fb56Smrg | le32-* | le64-* \ 392706b6b52Smrg | lm32-* \ 3938c4a8e55Smrg | m32c-* | m32r-* | m32rle-* \ 394b042e37fSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3958bd17e5fSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3968bd17e5fSmrg | microblaze-* | microblazeel-* \ 397b042e37fSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398b042e37fSmrg | mips16-* \ 399b042e37fSmrg | mips64-* | mips64el-* \ 400706b6b52Smrg | mips64octeon-* | mips64octeonel-* \ 401b042e37fSmrg | mips64orion-* | mips64orionel-* \ 402706b6b52Smrg | mips64r5900-* | mips64r5900el-* \ 403706b6b52Smrg | mips64vr-* | mips64vrel-* \ 404b042e37fSmrg | mips64vr4100-* | mips64vr4100el-* \ 405b042e37fSmrg | mips64vr4300-* | mips64vr4300el-* \ 406b042e37fSmrg | mips64vr5000-* | mips64vr5000el-* \ 4078c4a8e55Smrg | mips64vr5900-* | mips64vr5900el-* \ 408b042e37fSmrg | mipsisa32-* | mipsisa32el-* \ 409b042e37fSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 4103169be4bSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 411b042e37fSmrg | mipsisa64-* | mipsisa64el-* \ 4128c4a8e55Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 4133169be4bSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 414b042e37fSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415b042e37fSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4168bd17e5fSmrg | mipsr5900-* | mipsr5900el-* \ 417b042e37fSmrg | mipstx39-* | mipstx39el-* \ 4188c4a8e55Smrg | mmix-* \ 4198c4a8e55Smrg | mt-* \ 420b042e37fSmrg | msp430-* \ 421706b6b52Smrg | nds32-* | nds32le-* | nds32be-* \ 4228bd17e5fSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4238c4a8e55Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4240597fb56Smrg | open8-* \ 4253169be4bSmrg | or1k*-* \ 426b042e37fSmrg | orion-* \ 427b042e37fSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4280597fb56Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4293169be4bSmrg | pru-* \ 430b042e37fSmrg | pyramid-* \ 4313169be4bSmrg | riscv32-* | riscv64-* \ 4320597fb56Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 433706b6b52Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434b042e37fSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4358c4a8e55Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4368c4a8e55Smrg | sparclite-* \ 4373169be4bSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4380597fb56Smrg | tahoe-* \ 439b042e37fSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4400597fb56Smrg | tile*-* \ 441b042e37fSmrg | tron-* \ 442706b6b52Smrg | ubicom32-* \ 4430597fb56Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4440597fb56Smrg | vax-* \ 4453169be4bSmrg | visium-* \ 4463169be4bSmrg | wasm32-* \ 447b042e37fSmrg | we32k-* \ 4480597fb56Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449706b6b52Smrg | xstormy16-* | xtensa*-* \ 450b042e37fSmrg | ymp-* \ 451706b6b52Smrg | z8k-* | z80-*) 452706b6b52Smrg ;; 453706b6b52Smrg # Recognize the basic CPU types without company name, with glob match. 454706b6b52Smrg xtensa*) 455706b6b52Smrg basic_machine=$basic_machine-unknown 456b042e37fSmrg ;; 457b042e37fSmrg # Recognize the various machine names and aliases which stand 458b042e37fSmrg # for a CPU type and a company and sometimes even an OS. 459b042e37fSmrg 386bsd) 4603169be4bSmrg basic_machine=i386-pc 461b042e37fSmrg os=-bsd 462b042e37fSmrg ;; 463b042e37fSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464b042e37fSmrg basic_machine=m68000-att 465b042e37fSmrg ;; 466b042e37fSmrg 3b*) 467b042e37fSmrg basic_machine=we32k-att 468b042e37fSmrg ;; 469b042e37fSmrg a29khif) 470b042e37fSmrg basic_machine=a29k-amd 471b042e37fSmrg os=-udi 472b042e37fSmrg ;; 4730597fb56Smrg abacus) 4748c4a8e55Smrg basic_machine=abacus-unknown 4758c4a8e55Smrg ;; 476b042e37fSmrg adobe68k) 477b042e37fSmrg basic_machine=m68010-adobe 478b042e37fSmrg os=-scout 479b042e37fSmrg ;; 480b042e37fSmrg alliant | fx80) 481b042e37fSmrg basic_machine=fx80-alliant 482b042e37fSmrg ;; 483b042e37fSmrg altos | altos3068) 484b042e37fSmrg basic_machine=m68k-altos 485b042e37fSmrg ;; 486b042e37fSmrg am29k) 487b042e37fSmrg basic_machine=a29k-none 488b042e37fSmrg os=-bsd 489b042e37fSmrg ;; 490b042e37fSmrg amd64) 491b042e37fSmrg basic_machine=x86_64-pc 492b042e37fSmrg ;; 4938c4a8e55Smrg amd64-*) 4943169be4bSmrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4958c4a8e55Smrg ;; 496b042e37fSmrg amdahl) 497b042e37fSmrg basic_machine=580-amdahl 498b042e37fSmrg os=-sysv 499b042e37fSmrg ;; 500b042e37fSmrg amiga | amiga-*) 501b042e37fSmrg basic_machine=m68k-unknown 502b042e37fSmrg ;; 503b042e37fSmrg amigaos | amigados) 504b042e37fSmrg basic_machine=m68k-unknown 505b042e37fSmrg os=-amigaos 506b042e37fSmrg ;; 507b042e37fSmrg amigaunix | amix) 508b042e37fSmrg basic_machine=m68k-unknown 509b042e37fSmrg os=-sysv4 510b042e37fSmrg ;; 511b042e37fSmrg apollo68) 512b042e37fSmrg basic_machine=m68k-apollo 513b042e37fSmrg os=-sysv 514b042e37fSmrg ;; 515b042e37fSmrg apollo68bsd) 516b042e37fSmrg basic_machine=m68k-apollo 517b042e37fSmrg os=-bsd 518b042e37fSmrg ;; 519706b6b52Smrg aros) 520706b6b52Smrg basic_machine=i386-pc 521706b6b52Smrg os=-aros 522706b6b52Smrg ;; 5233169be4bSmrg asmjs) 5243169be4bSmrg basic_machine=asmjs-unknown 5253169be4bSmrg ;; 526b042e37fSmrg aux) 527b042e37fSmrg basic_machine=m68k-apple 528b042e37fSmrg os=-aux 529b042e37fSmrg ;; 530b042e37fSmrg balance) 531b042e37fSmrg basic_machine=ns32k-sequent 532b042e37fSmrg os=-dynix 533b042e37fSmrg ;; 534706b6b52Smrg blackfin) 535706b6b52Smrg basic_machine=bfin-unknown 536706b6b52Smrg os=-linux 537706b6b52Smrg ;; 538706b6b52Smrg blackfin-*) 5393169be4bSmrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 540706b6b52Smrg os=-linux 541706b6b52Smrg ;; 542706b6b52Smrg bluegene*) 543706b6b52Smrg basic_machine=powerpc-ibm 544706b6b52Smrg os=-cnk 545706b6b52Smrg ;; 546706b6b52Smrg c54x-*) 5473169be4bSmrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548706b6b52Smrg ;; 549706b6b52Smrg c55x-*) 5503169be4bSmrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551706b6b52Smrg ;; 552706b6b52Smrg c6x-*) 5533169be4bSmrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554706b6b52Smrg ;; 555b042e37fSmrg c90) 556b042e37fSmrg basic_machine=c90-cray 557b042e37fSmrg os=-unicos 558b042e37fSmrg ;; 5590597fb56Smrg cegcc) 560706b6b52Smrg basic_machine=arm-unknown 561706b6b52Smrg os=-cegcc 562706b6b52Smrg ;; 563b042e37fSmrg convex-c1) 564b042e37fSmrg basic_machine=c1-convex 565b042e37fSmrg os=-bsd 566b042e37fSmrg ;; 567b042e37fSmrg convex-c2) 568b042e37fSmrg basic_machine=c2-convex 569b042e37fSmrg os=-bsd 570b042e37fSmrg ;; 571b042e37fSmrg convex-c32) 572b042e37fSmrg basic_machine=c32-convex 573b042e37fSmrg os=-bsd 574b042e37fSmrg ;; 575b042e37fSmrg convex-c34) 576b042e37fSmrg basic_machine=c34-convex 577b042e37fSmrg os=-bsd 578b042e37fSmrg ;; 579b042e37fSmrg convex-c38) 580b042e37fSmrg basic_machine=c38-convex 581b042e37fSmrg os=-bsd 582b042e37fSmrg ;; 583b042e37fSmrg cray | j90) 584b042e37fSmrg basic_machine=j90-cray 585b042e37fSmrg os=-unicos 586b042e37fSmrg ;; 5878c4a8e55Smrg craynv) 5888c4a8e55Smrg basic_machine=craynv-cray 5898c4a8e55Smrg os=-unicosmp 5908c4a8e55Smrg ;; 5910597fb56Smrg cr16 | cr16-*) 592706b6b52Smrg basic_machine=cr16-unknown 5938c4a8e55Smrg os=-elf 5948c4a8e55Smrg ;; 595b042e37fSmrg crds | unos) 596b042e37fSmrg basic_machine=m68k-crds 597b042e37fSmrg ;; 5988c4a8e55Smrg crisv32 | crisv32-* | etraxfs*) 5998c4a8e55Smrg basic_machine=crisv32-axis 6008c4a8e55Smrg ;; 601b042e37fSmrg cris | cris-* | etrax*) 602b042e37fSmrg basic_machine=cris-axis 603b042e37fSmrg ;; 6048c4a8e55Smrg crx) 6058c4a8e55Smrg basic_machine=crx-unknown 6068c4a8e55Smrg os=-elf 6078c4a8e55Smrg ;; 608b042e37fSmrg da30 | da30-*) 609b042e37fSmrg basic_machine=m68k-da30 610b042e37fSmrg ;; 611b042e37fSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612b042e37fSmrg basic_machine=mips-dec 613b042e37fSmrg ;; 614b042e37fSmrg decsystem10* | dec10*) 615b042e37fSmrg basic_machine=pdp10-dec 616b042e37fSmrg os=-tops10 617b042e37fSmrg ;; 618b042e37fSmrg decsystem20* | dec20*) 619b042e37fSmrg basic_machine=pdp10-dec 620b042e37fSmrg os=-tops20 621b042e37fSmrg ;; 622b042e37fSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623b042e37fSmrg | 3300-motorola | delta-motorola) 624b042e37fSmrg basic_machine=m68k-motorola 625b042e37fSmrg ;; 626b042e37fSmrg delta88) 627b042e37fSmrg basic_machine=m88k-motorola 628b042e37fSmrg os=-sysv3 629b042e37fSmrg ;; 630706b6b52Smrg dicos) 631706b6b52Smrg basic_machine=i686-pc 632706b6b52Smrg os=-dicos 633706b6b52Smrg ;; 6348c4a8e55Smrg djgpp) 6358c4a8e55Smrg basic_machine=i586-pc 6368c4a8e55Smrg os=-msdosdjgpp 6378c4a8e55Smrg ;; 638b042e37fSmrg dpx20 | dpx20-*) 639b042e37fSmrg basic_machine=rs6000-bull 640b042e37fSmrg os=-bosx 641b042e37fSmrg ;; 6423169be4bSmrg dpx2*) 643b042e37fSmrg basic_machine=m68k-bull 644b042e37fSmrg os=-sysv3 645b042e37fSmrg ;; 6463169be4bSmrg e500v[12]) 6473169be4bSmrg basic_machine=powerpc-unknown 6483169be4bSmrg os=$os"spe" 6493169be4bSmrg ;; 6503169be4bSmrg e500v[12]-*) 6513169be4bSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6523169be4bSmrg os=$os"spe" 6533169be4bSmrg ;; 654b042e37fSmrg ebmon29k) 655b042e37fSmrg basic_machine=a29k-amd 656b042e37fSmrg os=-ebmon 657b042e37fSmrg ;; 658b042e37fSmrg elxsi) 659b042e37fSmrg basic_machine=elxsi-elxsi 660b042e37fSmrg os=-bsd 661b042e37fSmrg ;; 662b042e37fSmrg encore | umax | mmax) 663b042e37fSmrg basic_machine=ns32k-encore 664b042e37fSmrg ;; 665b042e37fSmrg es1800 | OSE68k | ose68k | ose | OSE) 666b042e37fSmrg basic_machine=m68k-ericsson 667b042e37fSmrg os=-ose 668b042e37fSmrg ;; 669b042e37fSmrg fx2800) 670b042e37fSmrg basic_machine=i860-alliant 671b042e37fSmrg ;; 672b042e37fSmrg genix) 673b042e37fSmrg basic_machine=ns32k-ns 674b042e37fSmrg ;; 675b042e37fSmrg gmicro) 676b042e37fSmrg basic_machine=tron-gmicro 677b042e37fSmrg os=-sysv 678b042e37fSmrg ;; 679b042e37fSmrg go32) 680b042e37fSmrg basic_machine=i386-pc 681b042e37fSmrg os=-go32 682b042e37fSmrg ;; 683b042e37fSmrg h3050r* | hiux*) 684b042e37fSmrg basic_machine=hppa1.1-hitachi 685b042e37fSmrg os=-hiuxwe2 686b042e37fSmrg ;; 687b042e37fSmrg h8300hms) 688b042e37fSmrg basic_machine=h8300-hitachi 689b042e37fSmrg os=-hms 690b042e37fSmrg ;; 691b042e37fSmrg h8300xray) 692b042e37fSmrg basic_machine=h8300-hitachi 693b042e37fSmrg os=-xray 694b042e37fSmrg ;; 695b042e37fSmrg h8500hms) 696b042e37fSmrg basic_machine=h8500-hitachi 697b042e37fSmrg os=-hms 698b042e37fSmrg ;; 699b042e37fSmrg harris) 700b042e37fSmrg basic_machine=m88k-harris 701b042e37fSmrg os=-sysv3 702b042e37fSmrg ;; 703b042e37fSmrg hp300-*) 704b042e37fSmrg basic_machine=m68k-hp 705b042e37fSmrg ;; 706b042e37fSmrg hp300bsd) 707b042e37fSmrg basic_machine=m68k-hp 708b042e37fSmrg os=-bsd 709b042e37fSmrg ;; 710b042e37fSmrg hp300hpux) 711b042e37fSmrg basic_machine=m68k-hp 712b042e37fSmrg os=-hpux 713b042e37fSmrg ;; 714b042e37fSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715b042e37fSmrg basic_machine=hppa1.0-hp 716b042e37fSmrg ;; 717b042e37fSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718b042e37fSmrg basic_machine=m68000-hp 719b042e37fSmrg ;; 720b042e37fSmrg hp9k3[2-9][0-9]) 721b042e37fSmrg basic_machine=m68k-hp 722b042e37fSmrg ;; 723b042e37fSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724b042e37fSmrg basic_machine=hppa1.0-hp 725b042e37fSmrg ;; 726b042e37fSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727b042e37fSmrg basic_machine=hppa1.1-hp 728b042e37fSmrg ;; 729b042e37fSmrg hp9k78[0-9] | hp78[0-9]) 730b042e37fSmrg # FIXME: really hppa2.0-hp 731b042e37fSmrg basic_machine=hppa1.1-hp 732b042e37fSmrg ;; 733b042e37fSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734b042e37fSmrg # FIXME: really hppa2.0-hp 735b042e37fSmrg basic_machine=hppa1.1-hp 736b042e37fSmrg ;; 737b042e37fSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738b042e37fSmrg basic_machine=hppa1.1-hp 739b042e37fSmrg ;; 740b042e37fSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741b042e37fSmrg basic_machine=hppa1.0-hp 742b042e37fSmrg ;; 743b042e37fSmrg hppaosf) 744b042e37fSmrg basic_machine=hppa1.1-hp 745b042e37fSmrg os=-osf 746b042e37fSmrg ;; 747b042e37fSmrg hppro) 748b042e37fSmrg basic_machine=hppa1.1-hp 749b042e37fSmrg os=-proelf 750b042e37fSmrg ;; 751b042e37fSmrg i370-ibm* | ibm*) 752b042e37fSmrg basic_machine=i370-ibm 753b042e37fSmrg ;; 754b042e37fSmrg i*86v32) 7553169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756b042e37fSmrg os=-sysv32 757b042e37fSmrg ;; 758b042e37fSmrg i*86v4*) 7593169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760b042e37fSmrg os=-sysv4 761b042e37fSmrg ;; 762b042e37fSmrg i*86v) 7633169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764b042e37fSmrg os=-sysv 765b042e37fSmrg ;; 766b042e37fSmrg i*86sol2) 7673169be4bSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768b042e37fSmrg os=-solaris2 769b042e37fSmrg ;; 770b042e37fSmrg i386mach) 771b042e37fSmrg basic_machine=i386-mach 772b042e37fSmrg os=-mach 773b042e37fSmrg ;; 7743169be4bSmrg vsta) 775b042e37fSmrg basic_machine=i386-unknown 776b042e37fSmrg os=-vsta 777b042e37fSmrg ;; 778b042e37fSmrg iris | iris4d) 779b042e37fSmrg basic_machine=mips-sgi 780b042e37fSmrg case $os in 781b042e37fSmrg -irix*) 782b042e37fSmrg ;; 783b042e37fSmrg *) 784b042e37fSmrg os=-irix4 785b042e37fSmrg ;; 786b042e37fSmrg esac 787b042e37fSmrg ;; 788b042e37fSmrg isi68 | isi) 789b042e37fSmrg basic_machine=m68k-isi 790b042e37fSmrg os=-sysv 791b042e37fSmrg ;; 7923169be4bSmrg leon-*|leon[3-9]-*) 7933169be4bSmrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 7943169be4bSmrg ;; 795706b6b52Smrg m68knommu) 796706b6b52Smrg basic_machine=m68k-unknown 797706b6b52Smrg os=-linux 798706b6b52Smrg ;; 799706b6b52Smrg m68knommu-*) 8003169be4bSmrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 801706b6b52Smrg os=-linux 802706b6b52Smrg ;; 803b042e37fSmrg magnum | m3230) 804b042e37fSmrg basic_machine=mips-mips 805b042e37fSmrg os=-sysv 806b042e37fSmrg ;; 807b042e37fSmrg merlin) 808b042e37fSmrg basic_machine=ns32k-utek 809b042e37fSmrg os=-sysv 810b042e37fSmrg ;; 8118bd17e5fSmrg microblaze*) 812706b6b52Smrg basic_machine=microblaze-xilinx 813706b6b52Smrg ;; 8148bd17e5fSmrg mingw64) 8158bd17e5fSmrg basic_machine=x86_64-pc 8168bd17e5fSmrg os=-mingw64 8178bd17e5fSmrg ;; 818b042e37fSmrg mingw32) 81967594505Smrg basic_machine=i686-pc 820b042e37fSmrg os=-mingw32 821b042e37fSmrg ;; 822706b6b52Smrg mingw32ce) 823706b6b52Smrg basic_machine=arm-unknown 824706b6b52Smrg os=-mingw32ce 825706b6b52Smrg ;; 826b042e37fSmrg miniframe) 827b042e37fSmrg basic_machine=m68000-convergent 828b042e37fSmrg ;; 829b042e37fSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830b042e37fSmrg basic_machine=m68k-atari 831b042e37fSmrg os=-mint 832b042e37fSmrg ;; 833b042e37fSmrg mips3*-*) 8343169be4bSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835b042e37fSmrg ;; 836b042e37fSmrg mips3*) 8373169be4bSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838b042e37fSmrg ;; 839b042e37fSmrg monitor) 840b042e37fSmrg basic_machine=m68k-rom68k 841b042e37fSmrg os=-coff 842b042e37fSmrg ;; 843b042e37fSmrg morphos) 844b042e37fSmrg basic_machine=powerpc-unknown 845b042e37fSmrg os=-morphos 846b042e37fSmrg ;; 8473169be4bSmrg moxiebox) 8483169be4bSmrg basic_machine=moxie-unknown 8493169be4bSmrg os=-moxiebox 8503169be4bSmrg ;; 851b042e37fSmrg msdos) 852b042e37fSmrg basic_machine=i386-pc 853b042e37fSmrg os=-msdos 854b042e37fSmrg ;; 8558c4a8e55Smrg ms1-*) 8563169be4bSmrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8578c4a8e55Smrg ;; 8580597fb56Smrg msys) 85967594505Smrg basic_machine=i686-pc 8600597fb56Smrg os=-msys 8610597fb56Smrg ;; 862b042e37fSmrg mvs) 863b042e37fSmrg basic_machine=i370-ibm 864b042e37fSmrg os=-mvs 865b042e37fSmrg ;; 8660597fb56Smrg nacl) 8670597fb56Smrg basic_machine=le32-unknown 8680597fb56Smrg os=-nacl 8690597fb56Smrg ;; 870b042e37fSmrg ncr3000) 871b042e37fSmrg basic_machine=i486-ncr 872b042e37fSmrg os=-sysv4 873b042e37fSmrg ;; 874b042e37fSmrg netbsd386) 875b042e37fSmrg basic_machine=i386-unknown 876b042e37fSmrg os=-netbsd 877b042e37fSmrg ;; 878b042e37fSmrg netwinder) 879b042e37fSmrg basic_machine=armv4l-rebel 880b042e37fSmrg os=-linux 881b042e37fSmrg ;; 882b042e37fSmrg news | news700 | news800 | news900) 883b042e37fSmrg basic_machine=m68k-sony 884b042e37fSmrg os=-newsos 885b042e37fSmrg ;; 886b042e37fSmrg news1000) 887b042e37fSmrg basic_machine=m68030-sony 888b042e37fSmrg os=-newsos 889b042e37fSmrg ;; 890b042e37fSmrg news-3600 | risc-news) 891b042e37fSmrg basic_machine=mips-sony 892b042e37fSmrg os=-newsos 893b042e37fSmrg ;; 894b042e37fSmrg necv70) 895b042e37fSmrg basic_machine=v70-nec 896b042e37fSmrg os=-sysv 897b042e37fSmrg ;; 8983169be4bSmrg next | m*-next) 899b042e37fSmrg basic_machine=m68k-next 900b042e37fSmrg case $os in 901b042e37fSmrg -nextstep* ) 902b042e37fSmrg ;; 903b042e37fSmrg -ns2*) 904b042e37fSmrg os=-nextstep2 905b042e37fSmrg ;; 906b042e37fSmrg *) 907b042e37fSmrg os=-nextstep3 908b042e37fSmrg ;; 909b042e37fSmrg esac 910b042e37fSmrg ;; 911b042e37fSmrg nh3000) 912b042e37fSmrg basic_machine=m68k-harris 913b042e37fSmrg os=-cxux 914b042e37fSmrg ;; 915b042e37fSmrg nh[45]000) 916b042e37fSmrg basic_machine=m88k-harris 917b042e37fSmrg os=-cxux 918b042e37fSmrg ;; 919b042e37fSmrg nindy960) 920b042e37fSmrg basic_machine=i960-intel 921b042e37fSmrg os=-nindy 922b042e37fSmrg ;; 923b042e37fSmrg mon960) 924b042e37fSmrg basic_machine=i960-intel 925b042e37fSmrg os=-mon960 926b042e37fSmrg ;; 927b042e37fSmrg nonstopux) 928b042e37fSmrg basic_machine=mips-compaq 929b042e37fSmrg os=-nonstopux 930b042e37fSmrg ;; 931b042e37fSmrg np1) 932b042e37fSmrg basic_machine=np1-gould 933b042e37fSmrg ;; 9340597fb56Smrg neo-tandem) 935706b6b52Smrg basic_machine=neo-tandem 936706b6b52Smrg ;; 9370597fb56Smrg nse-tandem) 938706b6b52Smrg basic_machine=nse-tandem 939706b6b52Smrg ;; 940b042e37fSmrg nsr-tandem) 941b042e37fSmrg basic_machine=nsr-tandem 942b042e37fSmrg ;; 9433169be4bSmrg nsv-tandem) 9443169be4bSmrg basic_machine=nsv-tandem 9453169be4bSmrg ;; 9463169be4bSmrg nsx-tandem) 9473169be4bSmrg basic_machine=nsx-tandem 9483169be4bSmrg ;; 949b042e37fSmrg op50n-* | op60c-*) 950b042e37fSmrg basic_machine=hppa1.1-oki 951b042e37fSmrg os=-proelf 952b042e37fSmrg ;; 9538c4a8e55Smrg openrisc | openrisc-*) 954b042e37fSmrg basic_machine=or32-unknown 9558c4a8e55Smrg ;; 9568c4a8e55Smrg os400) 9578c4a8e55Smrg basic_machine=powerpc-ibm 9588c4a8e55Smrg os=-os400 959b042e37fSmrg ;; 960b042e37fSmrg OSE68000 | ose68000) 961b042e37fSmrg basic_machine=m68000-ericsson 962b042e37fSmrg os=-ose 963b042e37fSmrg ;; 964b042e37fSmrg os68k) 965b042e37fSmrg basic_machine=m68k-none 966b042e37fSmrg os=-os68k 967b042e37fSmrg ;; 968b042e37fSmrg pa-hitachi) 969b042e37fSmrg basic_machine=hppa1.1-hitachi 970b042e37fSmrg os=-hiuxwe2 971b042e37fSmrg ;; 972b042e37fSmrg paragon) 973b042e37fSmrg basic_machine=i860-intel 974b042e37fSmrg os=-osf 975b042e37fSmrg ;; 976706b6b52Smrg parisc) 977706b6b52Smrg basic_machine=hppa-unknown 978706b6b52Smrg os=-linux 979706b6b52Smrg ;; 980706b6b52Smrg parisc-*) 9813169be4bSmrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 982706b6b52Smrg os=-linux 983706b6b52Smrg ;; 984b042e37fSmrg pbd) 985b042e37fSmrg basic_machine=sparc-tti 986b042e37fSmrg ;; 987b042e37fSmrg pbb) 988b042e37fSmrg basic_machine=m68k-tti 989b042e37fSmrg ;; 990b042e37fSmrg pc532 | pc532-*) 991b042e37fSmrg basic_machine=ns32k-pc532 992b042e37fSmrg ;; 9938c4a8e55Smrg pc98) 9948c4a8e55Smrg basic_machine=i386-pc 9958c4a8e55Smrg ;; 9968c4a8e55Smrg pc98-*) 9973169be4bSmrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9988c4a8e55Smrg ;; 999b042e37fSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000b042e37fSmrg basic_machine=i586-pc 1001b042e37fSmrg ;; 1002b042e37fSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003b042e37fSmrg basic_machine=i686-pc 1004b042e37fSmrg ;; 1005b042e37fSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1006b042e37fSmrg basic_machine=i686-pc 1007b042e37fSmrg ;; 1008b042e37fSmrg pentium4) 1009b042e37fSmrg basic_machine=i786-pc 1010b042e37fSmrg ;; 1011b042e37fSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10123169be4bSmrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013b042e37fSmrg ;; 1014b042e37fSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 10153169be4bSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016b042e37fSmrg ;; 1017b042e37fSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10183169be4bSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019b042e37fSmrg ;; 1020b042e37fSmrg pentium4-*) 10213169be4bSmrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022b042e37fSmrg ;; 1023b042e37fSmrg pn) 1024b042e37fSmrg basic_machine=pn-gould 1025b042e37fSmrg ;; 1026b042e37fSmrg power) basic_machine=power-ibm 1027b042e37fSmrg ;; 10280597fb56Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1029b042e37fSmrg ;; 10300597fb56Smrg ppc-* | ppcbe-*) 10313169be4bSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032b042e37fSmrg ;; 10333169be4bSmrg ppcle | powerpclittle) 1034b042e37fSmrg basic_machine=powerpcle-unknown 1035b042e37fSmrg ;; 1036b042e37fSmrg ppcle-* | powerpclittle-*) 10373169be4bSmrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038b042e37fSmrg ;; 1039b042e37fSmrg ppc64) basic_machine=powerpc64-unknown 1040b042e37fSmrg ;; 10413169be4bSmrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042b042e37fSmrg ;; 10433169be4bSmrg ppc64le | powerpc64little) 1044b042e37fSmrg basic_machine=powerpc64le-unknown 1045b042e37fSmrg ;; 1046b042e37fSmrg ppc64le-* | powerpc64little-*) 10473169be4bSmrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048b042e37fSmrg ;; 1049b042e37fSmrg ps2) 1050b042e37fSmrg basic_machine=i386-ibm 1051b042e37fSmrg ;; 1052b042e37fSmrg pw32) 1053b042e37fSmrg basic_machine=i586-unknown 1054b042e37fSmrg os=-pw32 1055b042e37fSmrg ;; 10568bd17e5fSmrg rdos | rdos64) 10578bd17e5fSmrg basic_machine=x86_64-pc 10588bd17e5fSmrg os=-rdos 10598bd17e5fSmrg ;; 10608bd17e5fSmrg rdos32) 10618c4a8e55Smrg basic_machine=i386-pc 10628c4a8e55Smrg os=-rdos 10638c4a8e55Smrg ;; 1064b042e37fSmrg rom68k) 1065b042e37fSmrg basic_machine=m68k-rom68k 1066b042e37fSmrg os=-coff 1067b042e37fSmrg ;; 1068b042e37fSmrg rm[46]00) 1069b042e37fSmrg basic_machine=mips-siemens 1070b042e37fSmrg ;; 1071b042e37fSmrg rtpc | rtpc-*) 1072b042e37fSmrg basic_machine=romp-ibm 1073b042e37fSmrg ;; 1074b042e37fSmrg s390 | s390-*) 1075b042e37fSmrg basic_machine=s390-ibm 1076b042e37fSmrg ;; 1077b042e37fSmrg s390x | s390x-*) 1078b042e37fSmrg basic_machine=s390x-ibm 1079b042e37fSmrg ;; 1080b042e37fSmrg sa29200) 1081b042e37fSmrg basic_machine=a29k-amd 1082b042e37fSmrg os=-udi 1083b042e37fSmrg ;; 1084b042e37fSmrg sb1) 1085b042e37fSmrg basic_machine=mipsisa64sb1-unknown 1086b042e37fSmrg ;; 1087b042e37fSmrg sb1el) 1088b042e37fSmrg basic_machine=mipsisa64sb1el-unknown 1089b042e37fSmrg ;; 10908c4a8e55Smrg sde) 10918c4a8e55Smrg basic_machine=mipsisa32-sde 10928c4a8e55Smrg os=-elf 10938c4a8e55Smrg ;; 1094b042e37fSmrg sei) 1095b042e37fSmrg basic_machine=mips-sei 1096b042e37fSmrg os=-seiux 1097b042e37fSmrg ;; 1098b042e37fSmrg sequent) 1099b042e37fSmrg basic_machine=i386-sequent 1100b042e37fSmrg ;; 1101706b6b52Smrg sh5el) 1102706b6b52Smrg basic_machine=sh5le-unknown 1103706b6b52Smrg ;; 11043169be4bSmrg simso-wrs) 1105b042e37fSmrg basic_machine=sparclite-wrs 1106b042e37fSmrg os=-vxworks 1107b042e37fSmrg ;; 1108b042e37fSmrg sps7) 1109b042e37fSmrg basic_machine=m68k-bull 1110b042e37fSmrg os=-sysv2 1111b042e37fSmrg ;; 1112b042e37fSmrg spur) 1113b042e37fSmrg basic_machine=spur-unknown 1114b042e37fSmrg ;; 1115b042e37fSmrg st2000) 1116b042e37fSmrg basic_machine=m68k-tandem 1117b042e37fSmrg ;; 1118b042e37fSmrg stratus) 1119b042e37fSmrg basic_machine=i860-stratus 1120b042e37fSmrg os=-sysv4 1121b042e37fSmrg ;; 11220597fb56Smrg strongarm-* | thumb-*) 11233169be4bSmrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11240597fb56Smrg ;; 1125b042e37fSmrg sun2) 1126b042e37fSmrg basic_machine=m68000-sun 1127b042e37fSmrg ;; 1128b042e37fSmrg sun2os3) 1129b042e37fSmrg basic_machine=m68000-sun 1130b042e37fSmrg os=-sunos3 1131b042e37fSmrg ;; 1132b042e37fSmrg sun2os4) 1133b042e37fSmrg basic_machine=m68000-sun 1134b042e37fSmrg os=-sunos4 1135b042e37fSmrg ;; 1136b042e37fSmrg sun3os3) 1137b042e37fSmrg basic_machine=m68k-sun 1138b042e37fSmrg os=-sunos3 1139b042e37fSmrg ;; 1140b042e37fSmrg sun3os4) 1141b042e37fSmrg basic_machine=m68k-sun 1142b042e37fSmrg os=-sunos4 1143b042e37fSmrg ;; 1144b042e37fSmrg sun4os3) 1145b042e37fSmrg basic_machine=sparc-sun 1146b042e37fSmrg os=-sunos3 1147b042e37fSmrg ;; 1148b042e37fSmrg sun4os4) 1149b042e37fSmrg basic_machine=sparc-sun 1150b042e37fSmrg os=-sunos4 1151b042e37fSmrg ;; 1152b042e37fSmrg sun4sol2) 1153b042e37fSmrg basic_machine=sparc-sun 1154b042e37fSmrg os=-solaris2 1155b042e37fSmrg ;; 1156b042e37fSmrg sun3 | sun3-*) 1157b042e37fSmrg basic_machine=m68k-sun 1158b042e37fSmrg ;; 1159b042e37fSmrg sun4) 1160b042e37fSmrg basic_machine=sparc-sun 1161b042e37fSmrg ;; 1162b042e37fSmrg sun386 | sun386i | roadrunner) 1163b042e37fSmrg basic_machine=i386-sun 1164b042e37fSmrg ;; 1165b042e37fSmrg sv1) 1166b042e37fSmrg basic_machine=sv1-cray 1167b042e37fSmrg os=-unicos 1168b042e37fSmrg ;; 1169b042e37fSmrg symmetry) 1170b042e37fSmrg basic_machine=i386-sequent 1171b042e37fSmrg os=-dynix 1172b042e37fSmrg ;; 1173b042e37fSmrg t3e) 1174b042e37fSmrg basic_machine=alphaev5-cray 1175b042e37fSmrg os=-unicos 1176b042e37fSmrg ;; 1177b042e37fSmrg t90) 1178b042e37fSmrg basic_machine=t90-cray 1179b042e37fSmrg os=-unicos 1180b042e37fSmrg ;; 1181706b6b52Smrg tile*) 11820597fb56Smrg basic_machine=$basic_machine-unknown 1183706b6b52Smrg os=-linux-gnu 1184b042e37fSmrg ;; 1185b042e37fSmrg tx39) 1186b042e37fSmrg basic_machine=mipstx39-unknown 1187b042e37fSmrg ;; 1188b042e37fSmrg tx39el) 1189b042e37fSmrg basic_machine=mipstx39el-unknown 1190b042e37fSmrg ;; 1191b042e37fSmrg toad1) 1192b042e37fSmrg basic_machine=pdp10-xkl 1193b042e37fSmrg os=-tops20 1194b042e37fSmrg ;; 1195b042e37fSmrg tower | tower-32) 1196b042e37fSmrg basic_machine=m68k-ncr 1197b042e37fSmrg ;; 11988c4a8e55Smrg tpf) 11998c4a8e55Smrg basic_machine=s390x-ibm 12008c4a8e55Smrg os=-tpf 12018c4a8e55Smrg ;; 1202b042e37fSmrg udi29k) 1203b042e37fSmrg basic_machine=a29k-amd 1204b042e37fSmrg os=-udi 1205b042e37fSmrg ;; 1206b042e37fSmrg ultra3) 1207b042e37fSmrg basic_machine=a29k-nyu 1208b042e37fSmrg os=-sym1 1209b042e37fSmrg ;; 1210b042e37fSmrg v810 | necv810) 1211b042e37fSmrg basic_machine=v810-nec 1212b042e37fSmrg os=-none 1213b042e37fSmrg ;; 1214b042e37fSmrg vaxv) 1215b042e37fSmrg basic_machine=vax-dec 1216b042e37fSmrg os=-sysv 1217b042e37fSmrg ;; 1218b042e37fSmrg vms) 1219b042e37fSmrg basic_machine=vax-dec 1220b042e37fSmrg os=-vms 1221b042e37fSmrg ;; 1222b042e37fSmrg vpp*|vx|vx-*) 1223b042e37fSmrg basic_machine=f301-fujitsu 1224b042e37fSmrg ;; 1225b042e37fSmrg vxworks960) 1226b042e37fSmrg basic_machine=i960-wrs 1227b042e37fSmrg os=-vxworks 1228b042e37fSmrg ;; 1229b042e37fSmrg vxworks68) 1230b042e37fSmrg basic_machine=m68k-wrs 1231b042e37fSmrg os=-vxworks 1232b042e37fSmrg ;; 1233b042e37fSmrg vxworks29k) 1234b042e37fSmrg basic_machine=a29k-wrs 1235b042e37fSmrg os=-vxworks 1236b042e37fSmrg ;; 1237b042e37fSmrg w65*) 1238b042e37fSmrg basic_machine=w65-wdc 1239b042e37fSmrg os=-none 1240b042e37fSmrg ;; 1241b042e37fSmrg w89k-*) 1242b042e37fSmrg basic_machine=hppa1.1-winbond 1243b042e37fSmrg os=-proelf 1244b042e37fSmrg ;; 12453169be4bSmrg x64) 12463169be4bSmrg basic_machine=x86_64-pc 12473169be4bSmrg ;; 12488c4a8e55Smrg xbox) 12498c4a8e55Smrg basic_machine=i686-pc 12508c4a8e55Smrg os=-mingw32 12518c4a8e55Smrg ;; 1252b042e37fSmrg xps | xps100) 1253b042e37fSmrg basic_machine=xps100-honeywell 1254b042e37fSmrg ;; 12550597fb56Smrg xscale-* | xscalee[bl]-*) 12563169be4bSmrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12570597fb56Smrg ;; 1258b042e37fSmrg ymp) 1259b042e37fSmrg basic_machine=ymp-cray 1260b042e37fSmrg os=-unicos 1261b042e37fSmrg ;; 1262b042e37fSmrg none) 1263b042e37fSmrg basic_machine=none-none 1264b042e37fSmrg os=-none 1265b042e37fSmrg ;; 1266b042e37fSmrg 1267b042e37fSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1268b042e37fSmrg# some cases the only manufacturer, in others, it is the most popular. 1269b042e37fSmrg w89k) 1270b042e37fSmrg basic_machine=hppa1.1-winbond 1271b042e37fSmrg ;; 1272b042e37fSmrg op50n) 1273b042e37fSmrg basic_machine=hppa1.1-oki 1274b042e37fSmrg ;; 1275b042e37fSmrg op60c) 1276b042e37fSmrg basic_machine=hppa1.1-oki 1277b042e37fSmrg ;; 1278b042e37fSmrg romp) 1279b042e37fSmrg basic_machine=romp-ibm 1280b042e37fSmrg ;; 12818c4a8e55Smrg mmix) 12828c4a8e55Smrg basic_machine=mmix-knuth 12838c4a8e55Smrg ;; 1284b042e37fSmrg rs6000) 1285b042e37fSmrg basic_machine=rs6000-ibm 1286b042e37fSmrg ;; 1287b042e37fSmrg vax) 1288b042e37fSmrg basic_machine=vax-dec 1289b042e37fSmrg ;; 1290b042e37fSmrg pdp11) 1291b042e37fSmrg basic_machine=pdp11-dec 1292b042e37fSmrg ;; 1293b042e37fSmrg we32k) 1294b042e37fSmrg basic_machine=we32k-att 1295b042e37fSmrg ;; 1296706b6b52Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297b042e37fSmrg basic_machine=sh-unknown 1298b042e37fSmrg ;; 1299b042e37fSmrg cydra) 1300b042e37fSmrg basic_machine=cydra-cydrome 1301b042e37fSmrg ;; 1302b042e37fSmrg orion) 1303b042e37fSmrg basic_machine=orion-highlevel 1304b042e37fSmrg ;; 1305b042e37fSmrg orion105) 1306b042e37fSmrg basic_machine=clipper-highlevel 1307b042e37fSmrg ;; 1308b042e37fSmrg mac | mpw | mac-mpw) 1309b042e37fSmrg basic_machine=m68k-apple 1310b042e37fSmrg ;; 1311b042e37fSmrg pmac | pmac-mpw) 1312b042e37fSmrg basic_machine=powerpc-apple 1313b042e37fSmrg ;; 1314b042e37fSmrg *-unknown) 1315b042e37fSmrg # Make sure to match an already-canonicalized machine name. 1316b042e37fSmrg ;; 1317b042e37fSmrg *) 13183169be4bSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319b042e37fSmrg exit 1 1320b042e37fSmrg ;; 1321b042e37fSmrgesac 1322b042e37fSmrg 1323b042e37fSmrg# Here we canonicalize certain aliases for manufacturers. 1324b042e37fSmrgcase $basic_machine in 1325b042e37fSmrg *-digital*) 13263169be4bSmrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327b042e37fSmrg ;; 1328b042e37fSmrg *-commodore*) 13293169be4bSmrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330b042e37fSmrg ;; 1331b042e37fSmrg *) 1332b042e37fSmrg ;; 1333b042e37fSmrgesac 1334b042e37fSmrg 1335b042e37fSmrg# Decode manufacturer-specific aliases for certain operating systems. 1336b042e37fSmrg 1337b042e37fSmrgif [ x"$os" != x"" ] 1338b042e37fSmrgthen 1339b042e37fSmrgcase $os in 13403169be4bSmrg # First match some system type aliases that might get confused 13413169be4bSmrg # with valid system types. 1342b042e37fSmrg # -solaris* is a basic system type, with this one exception. 13430597fb56Smrg -auroraux) 13440597fb56Smrg os=-auroraux 1345706b6b52Smrg ;; 1346b042e37fSmrg -solaris1 | -solaris1.*) 1347b042e37fSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348b042e37fSmrg ;; 1349b042e37fSmrg -solaris) 1350b042e37fSmrg os=-solaris2 1351b042e37fSmrg ;; 1352b042e37fSmrg -unixware*) 1353b042e37fSmrg os=-sysv4.2uw 1354b042e37fSmrg ;; 1355b042e37fSmrg -gnu/linux*) 1356b042e37fSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357b042e37fSmrg ;; 13583169be4bSmrg # es1800 is here to avoid being matched by es* (a different OS) 13593169be4bSmrg -es1800*) 13603169be4bSmrg os=-ose 13613169be4bSmrg ;; 13623169be4bSmrg # Now accept the basic system types. 1363b042e37fSmrg # The portable systems comes first. 13643169be4bSmrg # Each alternative MUST end in a * to match a version number. 1365b042e37fSmrg # -sysv* is not here because it comes later, after sysvr4. 1366b042e37fSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367706b6b52Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368706b6b52Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13698bd17e5fSmrg | -sym* | -kopensolaris* | -plan9* \ 1370b042e37fSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13713169be4bSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372b042e37fSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373b042e37fSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13743169be4bSmrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13753169be4bSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13768c4a8e55Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13778c4a8e55Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378b042e37fSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13793169be4bSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 13803169be4bSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13810597fb56Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13823169be4bSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13838bd17e5fSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 13843169be4bSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13853169be4bSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386b042e37fSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387b042e37fSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388b042e37fSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13893169be4bSmrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13908c4a8e55Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13913169be4bSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13923169be4bSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13933169be4bSmrg | -midnightbsd*) 1394b042e37fSmrg # Remember, each alternative MUST END IN *, to match a version number. 1395b042e37fSmrg ;; 1396b042e37fSmrg -qnx*) 1397b042e37fSmrg case $basic_machine in 1398b042e37fSmrg x86-* | i*86-*) 1399b042e37fSmrg ;; 1400b042e37fSmrg *) 1401b042e37fSmrg os=-nto$os 1402b042e37fSmrg ;; 1403b042e37fSmrg esac 1404b042e37fSmrg ;; 1405b042e37fSmrg -nto-qnx*) 1406b042e37fSmrg ;; 1407b042e37fSmrg -nto*) 1408b042e37fSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409b042e37fSmrg ;; 14103169be4bSmrg -sim | -xray | -os68k* | -v88r* \ 14113169be4bSmrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412b042e37fSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413b042e37fSmrg ;; 1414b042e37fSmrg -mac*) 14153169be4bSmrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416b042e37fSmrg ;; 14178c4a8e55Smrg -linux-dietlibc) 14188c4a8e55Smrg os=-linux-dietlibc 14198c4a8e55Smrg ;; 1420b042e37fSmrg -linux*) 1421b042e37fSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422b042e37fSmrg ;; 1423b042e37fSmrg -sunos5*) 14243169be4bSmrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425b042e37fSmrg ;; 1426b042e37fSmrg -sunos6*) 14273169be4bSmrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428b042e37fSmrg ;; 1429b042e37fSmrg -opened*) 1430b042e37fSmrg os=-openedition 1431b042e37fSmrg ;; 14320597fb56Smrg -os400*) 14338c4a8e55Smrg os=-os400 14348c4a8e55Smrg ;; 1435b042e37fSmrg -wince*) 1436b042e37fSmrg os=-wince 1437b042e37fSmrg ;; 1438b042e37fSmrg -utek*) 1439b042e37fSmrg os=-bsd 1440b042e37fSmrg ;; 1441b042e37fSmrg -dynix*) 1442b042e37fSmrg os=-bsd 1443b042e37fSmrg ;; 1444b042e37fSmrg -acis*) 1445b042e37fSmrg os=-aos 1446b042e37fSmrg ;; 1447b042e37fSmrg -atheos*) 1448b042e37fSmrg os=-atheos 1449b042e37fSmrg ;; 14508c4a8e55Smrg -syllable*) 14518c4a8e55Smrg os=-syllable 14528c4a8e55Smrg ;; 1453b042e37fSmrg -386bsd) 1454b042e37fSmrg os=-bsd 1455b042e37fSmrg ;; 1456b042e37fSmrg -ctix* | -uts*) 1457b042e37fSmrg os=-sysv 1458b042e37fSmrg ;; 1459b042e37fSmrg -nova*) 1460b042e37fSmrg os=-rtmk-nova 1461b042e37fSmrg ;; 14623169be4bSmrg -ns2) 1463b042e37fSmrg os=-nextstep2 1464b042e37fSmrg ;; 1465b042e37fSmrg -nsk*) 1466b042e37fSmrg os=-nsk 1467b042e37fSmrg ;; 1468b042e37fSmrg # Preserve the version number of sinix5. 1469b042e37fSmrg -sinix5.*) 1470b042e37fSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471b042e37fSmrg ;; 1472b042e37fSmrg -sinix*) 1473b042e37fSmrg os=-sysv4 1474b042e37fSmrg ;; 14750597fb56Smrg -tpf*) 14768c4a8e55Smrg os=-tpf 14778c4a8e55Smrg ;; 1478b042e37fSmrg -triton*) 1479b042e37fSmrg os=-sysv3 1480b042e37fSmrg ;; 1481b042e37fSmrg -oss*) 1482b042e37fSmrg os=-sysv3 1483b042e37fSmrg ;; 14843169be4bSmrg -svr4*) 1485b042e37fSmrg os=-sysv4 1486b042e37fSmrg ;; 1487b042e37fSmrg -svr3) 1488b042e37fSmrg os=-sysv3 1489b042e37fSmrg ;; 1490b042e37fSmrg -sysvr4) 1491b042e37fSmrg os=-sysv4 1492b042e37fSmrg ;; 1493b042e37fSmrg # This must come after -sysvr4. 1494b042e37fSmrg -sysv*) 1495b042e37fSmrg ;; 1496b042e37fSmrg -ose*) 1497b042e37fSmrg os=-ose 1498b042e37fSmrg ;; 1499b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500b042e37fSmrg os=-mint 1501b042e37fSmrg ;; 15028c4a8e55Smrg -zvmoe) 15038c4a8e55Smrg os=-zvmoe 15048c4a8e55Smrg ;; 1505706b6b52Smrg -dicos*) 1506706b6b52Smrg os=-dicos 1507706b6b52Smrg ;; 15083169be4bSmrg -pikeos*) 15093169be4bSmrg # Until real need of OS specific support for 15103169be4bSmrg # particular features comes up, bare metal 15113169be4bSmrg # configurations are quite functional. 15123169be4bSmrg case $basic_machine in 15133169be4bSmrg arm*) 15143169be4bSmrg os=-eabi 15153169be4bSmrg ;; 15163169be4bSmrg *) 15173169be4bSmrg os=-elf 15183169be4bSmrg ;; 15193169be4bSmrg esac 15203169be4bSmrg ;; 15210597fb56Smrg -nacl*) 15220597fb56Smrg ;; 15233169be4bSmrg -ios) 15243169be4bSmrg ;; 1525b042e37fSmrg -none) 1526b042e37fSmrg ;; 1527b042e37fSmrg *) 1528b042e37fSmrg # Get rid of the `-' at the beginning of $os. 1529b042e37fSmrg os=`echo $os | sed 's/[^-]*-//'` 15303169be4bSmrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531b042e37fSmrg exit 1 1532b042e37fSmrg ;; 1533b042e37fSmrgesac 1534b042e37fSmrgelse 1535b042e37fSmrg 1536b042e37fSmrg# Here we handle the default operating systems that come with various machines. 1537b042e37fSmrg# The value should be what the vendor currently ships out the door with their 1538b042e37fSmrg# machine or put another way, the most popular os provided with the machine. 1539b042e37fSmrg 1540b042e37fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541b042e37fSmrg# "-sun"), then you have to tell the case statement up towards the top 1542b042e37fSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543b042e37fSmrg# will signal an error saying that MANUFACTURER isn't an operating 1544b042e37fSmrg# system, and we'll never get to this point. 1545b042e37fSmrg 1546b042e37fSmrgcase $basic_machine in 15470597fb56Smrg score-*) 15488c4a8e55Smrg os=-elf 15498c4a8e55Smrg ;; 15500597fb56Smrg spu-*) 15518c4a8e55Smrg os=-elf 15528c4a8e55Smrg ;; 1553b042e37fSmrg *-acorn) 1554b042e37fSmrg os=-riscix1.2 1555b042e37fSmrg ;; 1556b042e37fSmrg arm*-rebel) 1557b042e37fSmrg os=-linux 1558b042e37fSmrg ;; 1559b042e37fSmrg arm*-semi) 1560b042e37fSmrg os=-aout 1561b042e37fSmrg ;; 15620597fb56Smrg c4x-* | tic4x-*) 15630597fb56Smrg os=-coff 15648c4a8e55Smrg ;; 156567594505Smrg c8051-*) 156667594505Smrg os=-elf 156767594505Smrg ;; 15688bd17e5fSmrg hexagon-*) 15698bd17e5fSmrg os=-elf 15708bd17e5fSmrg ;; 1571706b6b52Smrg tic54x-*) 1572706b6b52Smrg os=-coff 1573706b6b52Smrg ;; 1574706b6b52Smrg tic55x-*) 1575706b6b52Smrg os=-coff 1576706b6b52Smrg ;; 1577706b6b52Smrg tic6x-*) 1578706b6b52Smrg os=-coff 1579706b6b52Smrg ;; 1580b042e37fSmrg # This must come before the *-dec entry. 1581b042e37fSmrg pdp10-*) 1582b042e37fSmrg os=-tops20 1583b042e37fSmrg ;; 1584b042e37fSmrg pdp11-*) 1585b042e37fSmrg os=-none 1586b042e37fSmrg ;; 1587b042e37fSmrg *-dec | vax-*) 1588b042e37fSmrg os=-ultrix4.2 1589b042e37fSmrg ;; 1590b042e37fSmrg m68*-apollo) 1591b042e37fSmrg os=-domain 1592b042e37fSmrg ;; 1593b042e37fSmrg i386-sun) 1594b042e37fSmrg os=-sunos4.0.2 1595b042e37fSmrg ;; 1596b042e37fSmrg m68000-sun) 1597b042e37fSmrg os=-sunos3 1598b042e37fSmrg ;; 1599b042e37fSmrg m68*-cisco) 1600b042e37fSmrg os=-aout 1601b042e37fSmrg ;; 16020597fb56Smrg mep-*) 1603706b6b52Smrg os=-elf 1604706b6b52Smrg ;; 1605b042e37fSmrg mips*-cisco) 1606b042e37fSmrg os=-elf 1607b042e37fSmrg ;; 1608b042e37fSmrg mips*-*) 1609b042e37fSmrg os=-elf 1610b042e37fSmrg ;; 1611b042e37fSmrg or32-*) 1612b042e37fSmrg os=-coff 1613b042e37fSmrg ;; 1614b042e37fSmrg *-tti) # must be before sparc entry or we get the wrong os. 1615b042e37fSmrg os=-sysv3 1616b042e37fSmrg ;; 1617b042e37fSmrg sparc-* | *-sun) 1618b042e37fSmrg os=-sunos4.1.1 1619b042e37fSmrg ;; 16203169be4bSmrg pru-*) 16213169be4bSmrg os=-elf 16223169be4bSmrg ;; 1623b042e37fSmrg *-be) 1624b042e37fSmrg os=-beos 1625b042e37fSmrg ;; 1626b042e37fSmrg *-ibm) 1627b042e37fSmrg os=-aix 1628b042e37fSmrg ;; 16290597fb56Smrg *-knuth) 16308c4a8e55Smrg os=-mmixware 16318c4a8e55Smrg ;; 1632b042e37fSmrg *-wec) 1633b042e37fSmrg os=-proelf 1634b042e37fSmrg ;; 1635b042e37fSmrg *-winbond) 1636b042e37fSmrg os=-proelf 1637b042e37fSmrg ;; 1638b042e37fSmrg *-oki) 1639b042e37fSmrg os=-proelf 1640b042e37fSmrg ;; 1641b042e37fSmrg *-hp) 1642b042e37fSmrg os=-hpux 1643b042e37fSmrg ;; 1644b042e37fSmrg *-hitachi) 1645b042e37fSmrg os=-hiux 1646b042e37fSmrg ;; 1647b042e37fSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648b042e37fSmrg os=-sysv 1649b042e37fSmrg ;; 1650b042e37fSmrg *-cbm) 1651b042e37fSmrg os=-amigaos 1652b042e37fSmrg ;; 1653b042e37fSmrg *-dg) 1654b042e37fSmrg os=-dgux 1655b042e37fSmrg ;; 1656b042e37fSmrg *-dolphin) 1657b042e37fSmrg os=-sysv3 1658b042e37fSmrg ;; 1659b042e37fSmrg m68k-ccur) 1660b042e37fSmrg os=-rtu 1661b042e37fSmrg ;; 1662b042e37fSmrg m88k-omron*) 1663b042e37fSmrg os=-luna 1664b042e37fSmrg ;; 16653169be4bSmrg *-next) 1666b042e37fSmrg os=-nextstep 1667b042e37fSmrg ;; 1668b042e37fSmrg *-sequent) 1669b042e37fSmrg os=-ptx 1670b042e37fSmrg ;; 1671b042e37fSmrg *-crds) 1672b042e37fSmrg os=-unos 1673b042e37fSmrg ;; 1674b042e37fSmrg *-ns) 1675b042e37fSmrg os=-genix 1676b042e37fSmrg ;; 1677b042e37fSmrg i370-*) 1678b042e37fSmrg os=-mvs 1679b042e37fSmrg ;; 1680b042e37fSmrg *-gould) 1681b042e37fSmrg os=-sysv 1682b042e37fSmrg ;; 1683b042e37fSmrg *-highlevel) 1684b042e37fSmrg os=-bsd 1685b042e37fSmrg ;; 1686b042e37fSmrg *-encore) 1687b042e37fSmrg os=-bsd 1688b042e37fSmrg ;; 1689b042e37fSmrg *-sgi) 1690b042e37fSmrg os=-irix 1691b042e37fSmrg ;; 1692b042e37fSmrg *-siemens) 1693b042e37fSmrg os=-sysv4 1694b042e37fSmrg ;; 1695b042e37fSmrg *-masscomp) 1696b042e37fSmrg os=-rtu 1697b042e37fSmrg ;; 1698b042e37fSmrg f30[01]-fujitsu | f700-fujitsu) 1699b042e37fSmrg os=-uxpv 1700b042e37fSmrg ;; 1701b042e37fSmrg *-rom68k) 1702b042e37fSmrg os=-coff 1703b042e37fSmrg ;; 1704b042e37fSmrg *-*bug) 1705b042e37fSmrg os=-coff 1706b042e37fSmrg ;; 1707b042e37fSmrg *-apple) 1708b042e37fSmrg os=-macos 1709b042e37fSmrg ;; 1710b042e37fSmrg *-atari*) 1711b042e37fSmrg os=-mint 1712b042e37fSmrg ;; 1713b042e37fSmrg *) 1714b042e37fSmrg os=-none 1715b042e37fSmrg ;; 1716b042e37fSmrgesac 1717b042e37fSmrgfi 1718b042e37fSmrg 1719b042e37fSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1720b042e37fSmrg# manufacturer. We pick the logical manufacturer. 1721b042e37fSmrgvendor=unknown 1722b042e37fSmrgcase $basic_machine in 1723b042e37fSmrg *-unknown) 1724b042e37fSmrg case $os in 1725b042e37fSmrg -riscix*) 1726b042e37fSmrg vendor=acorn 1727b042e37fSmrg ;; 1728b042e37fSmrg -sunos*) 1729b042e37fSmrg vendor=sun 1730b042e37fSmrg ;; 1731706b6b52Smrg -cnk*|-aix*) 1732b042e37fSmrg vendor=ibm 1733b042e37fSmrg ;; 1734b042e37fSmrg -beos*) 1735b042e37fSmrg vendor=be 1736b042e37fSmrg ;; 1737b042e37fSmrg -hpux*) 1738b042e37fSmrg vendor=hp 1739b042e37fSmrg ;; 1740b042e37fSmrg -mpeix*) 1741b042e37fSmrg vendor=hp 1742b042e37fSmrg ;; 1743b042e37fSmrg -hiux*) 1744b042e37fSmrg vendor=hitachi 1745b042e37fSmrg ;; 1746b042e37fSmrg -unos*) 1747b042e37fSmrg vendor=crds 1748b042e37fSmrg ;; 1749b042e37fSmrg -dgux*) 1750b042e37fSmrg vendor=dg 1751b042e37fSmrg ;; 1752b042e37fSmrg -luna*) 1753b042e37fSmrg vendor=omron 1754b042e37fSmrg ;; 1755b042e37fSmrg -genix*) 1756b042e37fSmrg vendor=ns 1757b042e37fSmrg ;; 1758b042e37fSmrg -mvs* | -opened*) 1759b042e37fSmrg vendor=ibm 1760b042e37fSmrg ;; 17618c4a8e55Smrg -os400*) 17628c4a8e55Smrg vendor=ibm 17638c4a8e55Smrg ;; 1764b042e37fSmrg -ptx*) 1765b042e37fSmrg vendor=sequent 1766b042e37fSmrg ;; 17678c4a8e55Smrg -tpf*) 17688c4a8e55Smrg vendor=ibm 17698c4a8e55Smrg ;; 1770b042e37fSmrg -vxsim* | -vxworks* | -windiss*) 1771b042e37fSmrg vendor=wrs 1772b042e37fSmrg ;; 1773b042e37fSmrg -aux*) 1774b042e37fSmrg vendor=apple 1775b042e37fSmrg ;; 1776b042e37fSmrg -hms*) 1777b042e37fSmrg vendor=hitachi 1778b042e37fSmrg ;; 1779b042e37fSmrg -mpw* | -macos*) 1780b042e37fSmrg vendor=apple 1781b042e37fSmrg ;; 1782b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783b042e37fSmrg vendor=atari 1784b042e37fSmrg ;; 1785b042e37fSmrg -vos*) 1786b042e37fSmrg vendor=stratus 1787b042e37fSmrg ;; 1788b042e37fSmrg esac 17893169be4bSmrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790b042e37fSmrg ;; 1791b042e37fSmrgesac 1792b042e37fSmrg 17933169be4bSmrgecho "$basic_machine$os" 17948c4a8e55Smrgexit 1795b042e37fSmrg 1796b042e37fSmrg# Local variables: 17973169be4bSmrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798b042e37fSmrg# time-stamp-start: "timestamp='" 1799b042e37fSmrg# time-stamp-format: "%:y-%02m-%02d" 1800b042e37fSmrg# time-stamp-end: "'" 1801b042e37fSmrg# End: 1802