1c35d236eSmrg#! /bin/sh 2c35d236eSmrg# Configuration validation subroutine script. 314210e8eSmrg# Copyright 1992-2016 Free Software Foundation, Inc. 4c35d236eSmrg 514210e8eSmrgtimestamp='2016-03-30' 6c35d236eSmrg 714210e8eSmrg# This file is free software; you can redistribute it and/or modify it 814210e8eSmrg# under the terms of the GNU General Public License as published by 914210e8eSmrg# the Free Software Foundation; either version 3 of the License, or 10c35d236eSmrg# (at your option) any later version. 11c35d236eSmrg# 1214210e8eSmrg# This program is distributed in the hope that it will be useful, but 1314210e8eSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1414210e8eSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1514210e8eSmrg# General Public License for more details. 16c35d236eSmrg# 17c35d236eSmrg# You should have received a copy of the GNU General Public License 1814210e8eSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 194f6cd06fSmrg# 20c35d236eSmrg# As a special exception to the GNU General Public License, if you 21c35d236eSmrg# distribute this file as part of a program that contains a 22c35d236eSmrg# configuration script generated by Autoconf, you may include it under 2314210e8eSmrg# the same distribution terms that you use for the rest of that 2414210e8eSmrg# program. This Exception is an additional permission under section 7 2514210e8eSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26c35d236eSmrg 274f6cd06fSmrg 2814210e8eSmrg# Please send patches to <config-patches@gnu.org>. 29c35d236eSmrg# 30c35d236eSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31c35d236eSmrg# Supply the specified configuration type as an argument. 32c35d236eSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33c35d236eSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34c35d236eSmrg 351fb744b4Smrg# You can get the latest version of this script from: 3614210e8eSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 371fb744b4Smrg 38c35d236eSmrg# This file is supposed to be the same for all GNU packages 39c35d236eSmrg# and recognize all the CPU types, system types and aliases 40c35d236eSmrg# that are meaningful with *any* GNU software. 41c35d236eSmrg# Each package is responsible for reporting which valid configurations 42c35d236eSmrg# it does not support. The user should be able to distinguish 43c35d236eSmrg# a failure to support a valid configuration from a meaningless 44c35d236eSmrg# configuration. 45c35d236eSmrg 46c35d236eSmrg# The goal of this file is to map all the various variations of a given 47c35d236eSmrg# machine specification into a single specification in the form: 48c35d236eSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49c35d236eSmrg# or in some cases, the newer four-part form: 50c35d236eSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51c35d236eSmrg# It is wrong to echo any other type of specification. 52c35d236eSmrg 53c35d236eSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54c35d236eSmrg 55c35d236eSmrgusage="\ 5614210e8eSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57c35d236eSmrg 58c35d236eSmrgCanonicalize a configuration name. 59c35d236eSmrg 60c35d236eSmrgOperation modes: 61c35d236eSmrg -h, --help print this help, then exit 62c35d236eSmrg -t, --time-stamp print date of last modification, then exit 63c35d236eSmrg -v, --version print version number, then exit 64c35d236eSmrg 65c35d236eSmrgReport bugs and patches to <config-patches@gnu.org>." 66c35d236eSmrg 67c35d236eSmrgversion="\ 68c35d236eSmrgGNU config.sub ($timestamp) 69c35d236eSmrg 7014210e8eSmrgCopyright 1992-2016 Free Software Foundation, Inc. 71c35d236eSmrg 72c35d236eSmrgThis is free software; see the source for copying conditions. There is NO 73c35d236eSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74c35d236eSmrg 75c35d236eSmrghelp=" 76c35d236eSmrgTry \`$me --help' for more information." 77c35d236eSmrg 78c35d236eSmrg# Parse command line 79c35d236eSmrgwhile test $# -gt 0 ; do 80c35d236eSmrg case $1 in 81c35d236eSmrg --time-stamp | --time* | -t ) 824f6cd06fSmrg echo "$timestamp" ; exit ;; 83c35d236eSmrg --version | -v ) 844f6cd06fSmrg echo "$version" ; exit ;; 85c35d236eSmrg --help | --h* | -h ) 864f6cd06fSmrg echo "$usage"; exit ;; 87c35d236eSmrg -- ) # Stop option processing 88c35d236eSmrg shift; break ;; 89c35d236eSmrg - ) # Use stdin as input. 90c35d236eSmrg break ;; 91c35d236eSmrg -* ) 92c35d236eSmrg echo "$me: invalid option $1$help" 93c35d236eSmrg exit 1 ;; 94c35d236eSmrg 95c35d236eSmrg *local*) 96c35d236eSmrg # First pass through any local machine types. 97c35d236eSmrg echo $1 984f6cd06fSmrg exit ;; 99c35d236eSmrg 100c35d236eSmrg * ) 101c35d236eSmrg break ;; 102c35d236eSmrg esac 103c35d236eSmrgdone 104c35d236eSmrg 105c35d236eSmrgcase $# in 106c35d236eSmrg 0) echo "$me: missing argument$help" >&2 107c35d236eSmrg exit 1;; 108c35d236eSmrg 1) ;; 109c35d236eSmrg *) echo "$me: too many arguments$help" >&2 110c35d236eSmrg exit 1;; 111c35d236eSmrgesac 112c35d236eSmrg 113c35d236eSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114c35d236eSmrg# Here we must recognize all the valid KERNEL-OS combinations. 115c35d236eSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116c35d236eSmrgcase $maybe_os in 1171fb744b4Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11814210e8eSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11914210e8eSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1201fb744b4Smrg kopensolaris*-gnu* | \ 1214f6cd06fSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122c35d236eSmrg os=-$maybe_os 123c35d236eSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124c35d236eSmrg ;; 12514210e8eSmrg android-linux) 12614210e8eSmrg os=-linux-android 12714210e8eSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12814210e8eSmrg ;; 129c35d236eSmrg *) 130c35d236eSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 131c35d236eSmrg if [ $basic_machine != $1 ] 132c35d236eSmrg then os=`echo $1 | sed 's/.*-/-/'` 133c35d236eSmrg else os=; fi 134c35d236eSmrg ;; 135c35d236eSmrgesac 136c35d236eSmrg 137c35d236eSmrg### Let's recognize common machines as not being operating systems so 138c35d236eSmrg### that things like config.sub decstation-3100 work. We also 139c35d236eSmrg### recognize some manufacturers as not being operating systems, so we 140c35d236eSmrg### can provide default operating systems below. 141c35d236eSmrgcase $os in 142c35d236eSmrg -sun*os*) 143c35d236eSmrg # Prevent following clause from handling this invalid input. 144c35d236eSmrg ;; 145c35d236eSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146c35d236eSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147c35d236eSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148c35d236eSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149c35d236eSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150c35d236eSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15114210e8eSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152c35d236eSmrg os= 153c35d236eSmrg basic_machine=$1 154c35d236eSmrg ;; 1551fb744b4Smrg -bluegene*) 1561fb744b4Smrg os=-cnk 1571fb744b4Smrg ;; 158c35d236eSmrg -sim | -cisco | -oki | -wec | -winbond) 159c35d236eSmrg os= 160c35d236eSmrg basic_machine=$1 161c35d236eSmrg ;; 162c35d236eSmrg -scout) 163c35d236eSmrg ;; 164c35d236eSmrg -wrs) 165c35d236eSmrg os=-vxworks 166c35d236eSmrg basic_machine=$1 167c35d236eSmrg ;; 168c35d236eSmrg -chorusos*) 169c35d236eSmrg os=-chorusos 170c35d236eSmrg basic_machine=$1 171c35d236eSmrg ;; 1721fb744b4Smrg -chorusrdb) 1731fb744b4Smrg os=-chorusrdb 174c35d236eSmrg basic_machine=$1 1751fb744b4Smrg ;; 176c35d236eSmrg -hiux*) 177c35d236eSmrg os=-hiuxwe2 178c35d236eSmrg ;; 1794f6cd06fSmrg -sco6) 1804f6cd06fSmrg os=-sco5v6 1814f6cd06fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1824f6cd06fSmrg ;; 183c35d236eSmrg -sco5) 184c35d236eSmrg os=-sco3.2v5 185c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 186c35d236eSmrg ;; 187c35d236eSmrg -sco4) 188c35d236eSmrg os=-sco3.2v4 189c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 190c35d236eSmrg ;; 191c35d236eSmrg -sco3.2.[4-9]*) 192c35d236eSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 194c35d236eSmrg ;; 195c35d236eSmrg -sco3.2v[4-9]*) 196c35d236eSmrg # Don't forget version if it is 3.2v4 or newer. 197c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 198c35d236eSmrg ;; 1994f6cd06fSmrg -sco5v6*) 2004f6cd06fSmrg # Don't forget version if it is 3.2v4 or newer. 2014f6cd06fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2024f6cd06fSmrg ;; 203c35d236eSmrg -sco*) 204c35d236eSmrg os=-sco3.2v2 205c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 206c35d236eSmrg ;; 207c35d236eSmrg -udk*) 208c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 209c35d236eSmrg ;; 210c35d236eSmrg -isc) 211c35d236eSmrg os=-isc2.2 212c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 213c35d236eSmrg ;; 214c35d236eSmrg -clix*) 215c35d236eSmrg basic_machine=clipper-intergraph 216c35d236eSmrg ;; 217c35d236eSmrg -isc*) 218c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219c35d236eSmrg ;; 22014210e8eSmrg -lynx*178) 22114210e8eSmrg os=-lynxos178 22214210e8eSmrg ;; 22314210e8eSmrg -lynx*5) 22414210e8eSmrg os=-lynxos5 22514210e8eSmrg ;; 226c35d236eSmrg -lynx*) 227c35d236eSmrg os=-lynxos 228c35d236eSmrg ;; 229c35d236eSmrg -ptx*) 230c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231c35d236eSmrg ;; 232c35d236eSmrg -windowsnt*) 233c35d236eSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234c35d236eSmrg ;; 235c35d236eSmrg -psos*) 236c35d236eSmrg os=-psos 237c35d236eSmrg ;; 238c35d236eSmrg -mint | -mint[0-9]*) 239c35d236eSmrg basic_machine=m68k-atari 240c35d236eSmrg os=-mint 241c35d236eSmrg ;; 242c35d236eSmrgesac 243c35d236eSmrg 244c35d236eSmrg# Decode aliases for certain CPU-COMPANY combinations. 245c35d236eSmrgcase $basic_machine in 246c35d236eSmrg # Recognize the basic CPU types without company name. 247c35d236eSmrg # Some are omitted here because they have special meanings below. 248c35d236eSmrg 1750a | 580 \ 249c35d236eSmrg | a29k \ 25014210e8eSmrg | aarch64 | aarch64_be \ 251c35d236eSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 252c35d236eSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2534f6cd06fSmrg | am33_2.0 \ 25414210e8eSmrg | arc | arceb \ 25514210e8eSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25614210e8eSmrg | avr | avr32 \ 25714210e8eSmrg | ba \ 25814210e8eSmrg | be32 | be64 \ 2594f6cd06fSmrg | bfin \ 26014210e8eSmrg | c4x | c8051 | clipper \ 26114210e8eSmrg | d10v | d30v | dlx | dsp16xx | dvp \ 26214210e8eSmrg | e2k | epiphany \ 26314210e8eSmrg | fido | fr30 | frv | ft32 \ 264c35d236eSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2651fb744b4Smrg | hexagon \ 266c35d236eSmrg | i370 | i860 | i960 | ia64 \ 2674f6cd06fSmrg | ip2k | iq2000 \ 26814210e8eSmrg | k1om \ 2691fb744b4Smrg | le32 | le64 \ 2701fb744b4Smrg | lm32 \ 2714f6cd06fSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27214210e8eSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273c35d236eSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 274c35d236eSmrg | mips16 \ 275c35d236eSmrg | mips64 | mips64el \ 2761fb744b4Smrg | mips64octeon | mips64octeonel \ 277c35d236eSmrg | mips64orion | mips64orionel \ 2781fb744b4Smrg | mips64r5900 | mips64r5900el \ 2791fb744b4Smrg | mips64vr | mips64vrel \ 280c35d236eSmrg | mips64vr4100 | mips64vr4100el \ 281c35d236eSmrg | mips64vr4300 | mips64vr4300el \ 282c35d236eSmrg | mips64vr5000 | mips64vr5000el \ 2834f6cd06fSmrg | mips64vr5900 | mips64vr5900el \ 284c35d236eSmrg | mipsisa32 | mipsisa32el \ 285c35d236eSmrg | mipsisa32r2 | mipsisa32r2el \ 28614210e8eSmrg | mipsisa32r6 | mipsisa32r6el \ 287c35d236eSmrg | mipsisa64 | mipsisa64el \ 2884f6cd06fSmrg | mipsisa64r2 | mipsisa64r2el \ 28914210e8eSmrg | mipsisa64r6 | mipsisa64r6el \ 290c35d236eSmrg | mipsisa64sb1 | mipsisa64sb1el \ 291c35d236eSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 29214210e8eSmrg | mipsr5900 | mipsr5900el \ 293c35d236eSmrg | mipstx39 | mipstx39el \ 294c35d236eSmrg | mn10200 | mn10300 \ 2951fb744b4Smrg | moxie \ 2964f6cd06fSmrg | mt \ 297c35d236eSmrg | msp430 \ 2981fb744b4Smrg | nds32 | nds32le | nds32be \ 29914210e8eSmrg | nios | nios2 | nios2eb | nios2el \ 300c35d236eSmrg | ns16k | ns32k \ 30114210e8eSmrg | open8 | or1k | or1knd | or32 \ 302c35d236eSmrg | pdp10 | pdp11 | pj | pjl \ 3031fb744b4Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 304c35d236eSmrg | pyramid \ 30514210e8eSmrg | riscv32 | riscv64 \ 3061fb744b4Smrg | rl78 | rx \ 3074f6cd06fSmrg | score \ 30814210e8eSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 309c35d236eSmrg | sh64 | sh64le \ 3104f6cd06fSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3114f6cd06fSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3121fb744b4Smrg | spu \ 3131fb744b4Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3141fb744b4Smrg | ubicom32 \ 3151fb744b4Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31614210e8eSmrg | visium \ 317c35d236eSmrg | we32k \ 3181fb744b4Smrg | x86 | xc16x | xstormy16 | xtensa \ 3191fb744b4Smrg | z8k | z80) 320c35d236eSmrg basic_machine=$basic_machine-unknown 321c35d236eSmrg ;; 3221fb744b4Smrg c54x) 3231fb744b4Smrg basic_machine=tic54x-unknown 3241fb744b4Smrg ;; 3251fb744b4Smrg c55x) 3261fb744b4Smrg basic_machine=tic55x-unknown 3271fb744b4Smrg ;; 3281fb744b4Smrg c6x) 3291fb744b4Smrg basic_machine=tic6x-unknown 3301fb744b4Smrg ;; 33114210e8eSmrg leon|leon[3-9]) 33214210e8eSmrg basic_machine=sparc-$basic_machine 33314210e8eSmrg ;; 33414210e8eSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 335c35d236eSmrg basic_machine=$basic_machine-unknown 336c35d236eSmrg os=-none 337c35d236eSmrg ;; 338c35d236eSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 339c35d236eSmrg ;; 3404f6cd06fSmrg ms1) 3414f6cd06fSmrg basic_machine=mt-unknown 3424f6cd06fSmrg ;; 343c35d236eSmrg 3441fb744b4Smrg strongarm | thumb | xscale) 3451fb744b4Smrg basic_machine=arm-unknown 3461fb744b4Smrg ;; 34714210e8eSmrg xgate) 34814210e8eSmrg basic_machine=$basic_machine-unknown 34914210e8eSmrg os=-none 35014210e8eSmrg ;; 3511fb744b4Smrg xscaleeb) 3521fb744b4Smrg basic_machine=armeb-unknown 3531fb744b4Smrg ;; 3541fb744b4Smrg 3551fb744b4Smrg xscaleel) 3561fb744b4Smrg basic_machine=armel-unknown 3571fb744b4Smrg ;; 3581fb744b4Smrg 359c35d236eSmrg # We use `pc' rather than `unknown' 360c35d236eSmrg # because (1) that's what they normally are, and 361c35d236eSmrg # (2) the word "unknown" tends to confuse beginning users. 362c35d236eSmrg i*86 | x86_64) 363c35d236eSmrg basic_machine=$basic_machine-pc 364c35d236eSmrg ;; 365c35d236eSmrg # Object if more than one company name word. 366c35d236eSmrg *-*-*) 367c35d236eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 368c35d236eSmrg exit 1 369c35d236eSmrg ;; 370c35d236eSmrg # Recognize the basic CPU types with company name. 371c35d236eSmrg 580-* \ 372c35d236eSmrg | a29k-* \ 37314210e8eSmrg | aarch64-* | aarch64_be-* \ 374c35d236eSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 375c35d236eSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37614210e8eSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 377c35d236eSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3784f6cd06fSmrg | avr-* | avr32-* \ 37914210e8eSmrg | ba-* \ 3801fb744b4Smrg | be32-* | be64-* \ 3814f6cd06fSmrg | bfin-* | bs2000-* \ 3821fb744b4Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38314210e8eSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 384c35d236eSmrg | d10v-* | d30v-* | dlx-* \ 38514210e8eSmrg | e2k-* | elxsi-* \ 386f55e6a01Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 387c35d236eSmrg | h8300-* | h8500-* \ 388c35d236eSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3891fb744b4Smrg | hexagon-* \ 390c35d236eSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3914f6cd06fSmrg | ip2k-* | iq2000-* \ 39214210e8eSmrg | k1om-* \ 3931fb744b4Smrg | le32-* | le64-* \ 3941fb744b4Smrg | lm32-* \ 3954f6cd06fSmrg | m32c-* | m32r-* | m32rle-* \ 396c35d236eSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39714210e8eSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39814210e8eSmrg | microblaze-* | microblazeel-* \ 399c35d236eSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 400c35d236eSmrg | mips16-* \ 401c35d236eSmrg | mips64-* | mips64el-* \ 4021fb744b4Smrg | mips64octeon-* | mips64octeonel-* \ 403c35d236eSmrg | mips64orion-* | mips64orionel-* \ 4041fb744b4Smrg | mips64r5900-* | mips64r5900el-* \ 4051fb744b4Smrg | mips64vr-* | mips64vrel-* \ 406c35d236eSmrg | mips64vr4100-* | mips64vr4100el-* \ 407c35d236eSmrg | mips64vr4300-* | mips64vr4300el-* \ 408c35d236eSmrg | mips64vr5000-* | mips64vr5000el-* \ 4094f6cd06fSmrg | mips64vr5900-* | mips64vr5900el-* \ 410c35d236eSmrg | mipsisa32-* | mipsisa32el-* \ 411c35d236eSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 41214210e8eSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 413c35d236eSmrg | mipsisa64-* | mipsisa64el-* \ 4144f6cd06fSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 41514210e8eSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 416c35d236eSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 417c35d236eSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41814210e8eSmrg | mipsr5900-* | mipsr5900el-* \ 419c35d236eSmrg | mipstx39-* | mipstx39el-* \ 4204f6cd06fSmrg | mmix-* \ 4214f6cd06fSmrg | mt-* \ 422c35d236eSmrg | msp430-* \ 4231fb744b4Smrg | nds32-* | nds32le-* | nds32be-* \ 42414210e8eSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4254f6cd06fSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 4261fb744b4Smrg | open8-* \ 42714210e8eSmrg | or1k*-* \ 428c35d236eSmrg | orion-* \ 429c35d236eSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4301fb744b4Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 431c35d236eSmrg | pyramid-* \ 43214210e8eSmrg | riscv32-* | riscv64-* \ 4331fb744b4Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4341fb744b4Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 435c35d236eSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4364f6cd06fSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4374f6cd06fSmrg | sparclite-* \ 43814210e8eSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4391fb744b4Smrg | tahoe-* \ 440c35d236eSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4411fb744b4Smrg | tile*-* \ 442c35d236eSmrg | tron-* \ 4431fb744b4Smrg | ubicom32-* \ 4441fb744b4Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4451fb744b4Smrg | vax-* \ 44614210e8eSmrg | visium-* \ 447c35d236eSmrg | we32k-* \ 4481fb744b4Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 449f55e6a01Smrg | xstormy16-* | xtensa*-* \ 450c35d236eSmrg | ymp-* \ 4511fb744b4Smrg | z8k-* | z80-*) 452c35d236eSmrg ;; 453f55e6a01Smrg # Recognize the basic CPU types without company name, with glob match. 454f55e6a01Smrg xtensa*) 455f55e6a01Smrg basic_machine=$basic_machine-unknown 456f55e6a01Smrg ;; 457c35d236eSmrg # Recognize the various machine names and aliases which stand 458c35d236eSmrg # for a CPU type and a company and sometimes even an OS. 459c35d236eSmrg 386bsd) 460c35d236eSmrg basic_machine=i386-unknown 461c35d236eSmrg os=-bsd 462c35d236eSmrg ;; 463c35d236eSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464c35d236eSmrg basic_machine=m68000-att 465c35d236eSmrg ;; 466c35d236eSmrg 3b*) 467c35d236eSmrg basic_machine=we32k-att 468c35d236eSmrg ;; 469c35d236eSmrg a29khif) 470c35d236eSmrg basic_machine=a29k-amd 471c35d236eSmrg os=-udi 472c35d236eSmrg ;; 4731fb744b4Smrg abacus) 4744f6cd06fSmrg basic_machine=abacus-unknown 4754f6cd06fSmrg ;; 476c35d236eSmrg adobe68k) 477c35d236eSmrg basic_machine=m68010-adobe 478c35d236eSmrg os=-scout 479c35d236eSmrg ;; 480c35d236eSmrg alliant | fx80) 481c35d236eSmrg basic_machine=fx80-alliant 482c35d236eSmrg ;; 483c35d236eSmrg altos | altos3068) 484c35d236eSmrg basic_machine=m68k-altos 485c35d236eSmrg ;; 486c35d236eSmrg am29k) 487c35d236eSmrg basic_machine=a29k-none 488c35d236eSmrg os=-bsd 489c35d236eSmrg ;; 490c35d236eSmrg amd64) 491c35d236eSmrg basic_machine=x86_64-pc 492c35d236eSmrg ;; 4934f6cd06fSmrg amd64-*) 4944f6cd06fSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4954f6cd06fSmrg ;; 496c35d236eSmrg amdahl) 497c35d236eSmrg basic_machine=580-amdahl 498c35d236eSmrg os=-sysv 499c35d236eSmrg ;; 500c35d236eSmrg amiga | amiga-*) 501c35d236eSmrg basic_machine=m68k-unknown 502c35d236eSmrg ;; 503c35d236eSmrg amigaos | amigados) 504c35d236eSmrg basic_machine=m68k-unknown 505c35d236eSmrg os=-amigaos 506c35d236eSmrg ;; 507c35d236eSmrg amigaunix | amix) 508c35d236eSmrg basic_machine=m68k-unknown 509c35d236eSmrg os=-sysv4 510c35d236eSmrg ;; 511c35d236eSmrg apollo68) 512c35d236eSmrg basic_machine=m68k-apollo 513c35d236eSmrg os=-sysv 514c35d236eSmrg ;; 515c35d236eSmrg apollo68bsd) 516c35d236eSmrg basic_machine=m68k-apollo 517c35d236eSmrg os=-bsd 518c35d236eSmrg ;; 5191fb744b4Smrg aros) 5201fb744b4Smrg basic_machine=i386-pc 5211fb744b4Smrg os=-aros 5221fb744b4Smrg ;; 52314210e8eSmrg asmjs) 52414210e8eSmrg basic_machine=asmjs-unknown 52514210e8eSmrg ;; 526c35d236eSmrg aux) 527c35d236eSmrg basic_machine=m68k-apple 528c35d236eSmrg os=-aux 529c35d236eSmrg ;; 530c35d236eSmrg balance) 531c35d236eSmrg basic_machine=ns32k-sequent 532c35d236eSmrg os=-dynix 533c35d236eSmrg ;; 534f55e6a01Smrg blackfin) 535f55e6a01Smrg basic_machine=bfin-unknown 536f55e6a01Smrg os=-linux 537f55e6a01Smrg ;; 538f55e6a01Smrg blackfin-*) 539f55e6a01Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 540f55e6a01Smrg os=-linux 541f55e6a01Smrg ;; 5421fb744b4Smrg bluegene*) 5431fb744b4Smrg basic_machine=powerpc-ibm 5441fb744b4Smrg os=-cnk 5451fb744b4Smrg ;; 5461fb744b4Smrg c54x-*) 5471fb744b4Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5481fb744b4Smrg ;; 5491fb744b4Smrg c55x-*) 5501fb744b4Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5511fb744b4Smrg ;; 5521fb744b4Smrg c6x-*) 5531fb744b4Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5541fb744b4Smrg ;; 555c35d236eSmrg c90) 556c35d236eSmrg basic_machine=c90-cray 557c35d236eSmrg os=-unicos 558c35d236eSmrg ;; 5591fb744b4Smrg cegcc) 5601fb744b4Smrg basic_machine=arm-unknown 5611fb744b4Smrg os=-cegcc 5621fb744b4Smrg ;; 563c35d236eSmrg convex-c1) 564c35d236eSmrg basic_machine=c1-convex 565c35d236eSmrg os=-bsd 566c35d236eSmrg ;; 567c35d236eSmrg convex-c2) 568c35d236eSmrg basic_machine=c2-convex 569c35d236eSmrg os=-bsd 570c35d236eSmrg ;; 571c35d236eSmrg convex-c32) 572c35d236eSmrg basic_machine=c32-convex 573c35d236eSmrg os=-bsd 574c35d236eSmrg ;; 575c35d236eSmrg convex-c34) 576c35d236eSmrg basic_machine=c34-convex 577c35d236eSmrg os=-bsd 578c35d236eSmrg ;; 579c35d236eSmrg convex-c38) 580c35d236eSmrg basic_machine=c38-convex 581c35d236eSmrg os=-bsd 582c35d236eSmrg ;; 583c35d236eSmrg cray | j90) 584c35d236eSmrg basic_machine=j90-cray 585c35d236eSmrg os=-unicos 586c35d236eSmrg ;; 5874f6cd06fSmrg craynv) 5884f6cd06fSmrg basic_machine=craynv-cray 5894f6cd06fSmrg os=-unicosmp 5904f6cd06fSmrg ;; 5911fb744b4Smrg cr16 | cr16-*) 592f55e6a01Smrg basic_machine=cr16-unknown 5934f6cd06fSmrg os=-elf 5944f6cd06fSmrg ;; 595c35d236eSmrg crds | unos) 596c35d236eSmrg basic_machine=m68k-crds 597c35d236eSmrg ;; 5984f6cd06fSmrg crisv32 | crisv32-* | etraxfs*) 5994f6cd06fSmrg basic_machine=crisv32-axis 6004f6cd06fSmrg ;; 601c35d236eSmrg cris | cris-* | etrax*) 602c35d236eSmrg basic_machine=cris-axis 603c35d236eSmrg ;; 6044f6cd06fSmrg crx) 6054f6cd06fSmrg basic_machine=crx-unknown 6064f6cd06fSmrg os=-elf 6074f6cd06fSmrg ;; 608c35d236eSmrg da30 | da30-*) 609c35d236eSmrg basic_machine=m68k-da30 610c35d236eSmrg ;; 611c35d236eSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612c35d236eSmrg basic_machine=mips-dec 613c35d236eSmrg ;; 614c35d236eSmrg decsystem10* | dec10*) 615c35d236eSmrg basic_machine=pdp10-dec 616c35d236eSmrg os=-tops10 617c35d236eSmrg ;; 618c35d236eSmrg decsystem20* | dec20*) 619c35d236eSmrg basic_machine=pdp10-dec 620c35d236eSmrg os=-tops20 621c35d236eSmrg ;; 622c35d236eSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623c35d236eSmrg | 3300-motorola | delta-motorola) 624c35d236eSmrg basic_machine=m68k-motorola 625c35d236eSmrg ;; 626c35d236eSmrg delta88) 627c35d236eSmrg basic_machine=m88k-motorola 628c35d236eSmrg os=-sysv3 629c35d236eSmrg ;; 6301fb744b4Smrg dicos) 6311fb744b4Smrg basic_machine=i686-pc 6321fb744b4Smrg os=-dicos 6331fb744b4Smrg ;; 6344f6cd06fSmrg djgpp) 6354f6cd06fSmrg basic_machine=i586-pc 6364f6cd06fSmrg os=-msdosdjgpp 6374f6cd06fSmrg ;; 638c35d236eSmrg dpx20 | dpx20-*) 639c35d236eSmrg basic_machine=rs6000-bull 640c35d236eSmrg os=-bosx 641c35d236eSmrg ;; 642c35d236eSmrg dpx2* | dpx2*-bull) 643c35d236eSmrg basic_machine=m68k-bull 644c35d236eSmrg os=-sysv3 645c35d236eSmrg ;; 646c35d236eSmrg ebmon29k) 647c35d236eSmrg basic_machine=a29k-amd 648c35d236eSmrg os=-ebmon 649c35d236eSmrg ;; 650c35d236eSmrg elxsi) 651c35d236eSmrg basic_machine=elxsi-elxsi 652c35d236eSmrg os=-bsd 653c35d236eSmrg ;; 654c35d236eSmrg encore | umax | mmax) 655c35d236eSmrg basic_machine=ns32k-encore 656c35d236eSmrg ;; 657c35d236eSmrg es1800 | OSE68k | ose68k | ose | OSE) 658c35d236eSmrg basic_machine=m68k-ericsson 659c35d236eSmrg os=-ose 660c35d236eSmrg ;; 661c35d236eSmrg fx2800) 662c35d236eSmrg basic_machine=i860-alliant 663c35d236eSmrg ;; 664c35d236eSmrg genix) 665c35d236eSmrg basic_machine=ns32k-ns 666c35d236eSmrg ;; 667c35d236eSmrg gmicro) 668c35d236eSmrg basic_machine=tron-gmicro 669c35d236eSmrg os=-sysv 670c35d236eSmrg ;; 671c35d236eSmrg go32) 672c35d236eSmrg basic_machine=i386-pc 673c35d236eSmrg os=-go32 674c35d236eSmrg ;; 675c35d236eSmrg h3050r* | hiux*) 676c35d236eSmrg basic_machine=hppa1.1-hitachi 677c35d236eSmrg os=-hiuxwe2 678c35d236eSmrg ;; 679c35d236eSmrg h8300hms) 680c35d236eSmrg basic_machine=h8300-hitachi 681c35d236eSmrg os=-hms 682c35d236eSmrg ;; 683c35d236eSmrg h8300xray) 684c35d236eSmrg basic_machine=h8300-hitachi 685c35d236eSmrg os=-xray 686c35d236eSmrg ;; 687c35d236eSmrg h8500hms) 688c35d236eSmrg basic_machine=h8500-hitachi 689c35d236eSmrg os=-hms 690c35d236eSmrg ;; 691c35d236eSmrg harris) 692c35d236eSmrg basic_machine=m88k-harris 693c35d236eSmrg os=-sysv3 694c35d236eSmrg ;; 695c35d236eSmrg hp300-*) 696c35d236eSmrg basic_machine=m68k-hp 697c35d236eSmrg ;; 698c35d236eSmrg hp300bsd) 699c35d236eSmrg basic_machine=m68k-hp 700c35d236eSmrg os=-bsd 701c35d236eSmrg ;; 702c35d236eSmrg hp300hpux) 703c35d236eSmrg basic_machine=m68k-hp 704c35d236eSmrg os=-hpux 705c35d236eSmrg ;; 706c35d236eSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 707c35d236eSmrg basic_machine=hppa1.0-hp 708c35d236eSmrg ;; 709c35d236eSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 710c35d236eSmrg basic_machine=m68000-hp 711c35d236eSmrg ;; 712c35d236eSmrg hp9k3[2-9][0-9]) 713c35d236eSmrg basic_machine=m68k-hp 714c35d236eSmrg ;; 715c35d236eSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 716c35d236eSmrg basic_machine=hppa1.0-hp 717c35d236eSmrg ;; 718c35d236eSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 719c35d236eSmrg basic_machine=hppa1.1-hp 720c35d236eSmrg ;; 721c35d236eSmrg hp9k78[0-9] | hp78[0-9]) 722c35d236eSmrg # FIXME: really hppa2.0-hp 723c35d236eSmrg basic_machine=hppa1.1-hp 724c35d236eSmrg ;; 725c35d236eSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 726c35d236eSmrg # FIXME: really hppa2.0-hp 727c35d236eSmrg basic_machine=hppa1.1-hp 728c35d236eSmrg ;; 729c35d236eSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 730c35d236eSmrg basic_machine=hppa1.1-hp 731c35d236eSmrg ;; 732c35d236eSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 733c35d236eSmrg basic_machine=hppa1.0-hp 734c35d236eSmrg ;; 735c35d236eSmrg hppa-next) 736c35d236eSmrg os=-nextstep3 737c35d236eSmrg ;; 738c35d236eSmrg hppaosf) 739c35d236eSmrg basic_machine=hppa1.1-hp 740c35d236eSmrg os=-osf 741c35d236eSmrg ;; 742c35d236eSmrg hppro) 743c35d236eSmrg basic_machine=hppa1.1-hp 744c35d236eSmrg os=-proelf 745c35d236eSmrg ;; 746c35d236eSmrg i370-ibm* | ibm*) 747c35d236eSmrg basic_machine=i370-ibm 748c35d236eSmrg ;; 749c35d236eSmrg i*86v32) 750c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 751c35d236eSmrg os=-sysv32 752c35d236eSmrg ;; 753c35d236eSmrg i*86v4*) 754c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 755c35d236eSmrg os=-sysv4 756c35d236eSmrg ;; 757c35d236eSmrg i*86v) 758c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 759c35d236eSmrg os=-sysv 760c35d236eSmrg ;; 761c35d236eSmrg i*86sol2) 762c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 763c35d236eSmrg os=-solaris2 764c35d236eSmrg ;; 765c35d236eSmrg i386mach) 766c35d236eSmrg basic_machine=i386-mach 767c35d236eSmrg os=-mach 768c35d236eSmrg ;; 769c35d236eSmrg i386-vsta | vsta) 770c35d236eSmrg basic_machine=i386-unknown 771c35d236eSmrg os=-vsta 772c35d236eSmrg ;; 773c35d236eSmrg iris | iris4d) 774c35d236eSmrg basic_machine=mips-sgi 775c35d236eSmrg case $os in 776c35d236eSmrg -irix*) 777c35d236eSmrg ;; 778c35d236eSmrg *) 779c35d236eSmrg os=-irix4 780c35d236eSmrg ;; 781c35d236eSmrg esac 782c35d236eSmrg ;; 783c35d236eSmrg isi68 | isi) 784c35d236eSmrg basic_machine=m68k-isi 785c35d236eSmrg os=-sysv 786c35d236eSmrg ;; 78714210e8eSmrg leon-*|leon[3-9]-*) 78814210e8eSmrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 78914210e8eSmrg ;; 790f55e6a01Smrg m68knommu) 791f55e6a01Smrg basic_machine=m68k-unknown 792f55e6a01Smrg os=-linux 793f55e6a01Smrg ;; 794f55e6a01Smrg m68knommu-*) 795f55e6a01Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 796f55e6a01Smrg os=-linux 797f55e6a01Smrg ;; 798c35d236eSmrg m88k-omron*) 799c35d236eSmrg basic_machine=m88k-omron 800c35d236eSmrg ;; 801c35d236eSmrg magnum | m3230) 802c35d236eSmrg basic_machine=mips-mips 803c35d236eSmrg os=-sysv 804c35d236eSmrg ;; 805c35d236eSmrg merlin) 806c35d236eSmrg basic_machine=ns32k-utek 807c35d236eSmrg os=-sysv 808c35d236eSmrg ;; 80914210e8eSmrg microblaze*) 8101fb744b4Smrg basic_machine=microblaze-xilinx 8111fb744b4Smrg ;; 81214210e8eSmrg mingw64) 81314210e8eSmrg basic_machine=x86_64-pc 81414210e8eSmrg os=-mingw64 81514210e8eSmrg ;; 816c35d236eSmrg mingw32) 81714210e8eSmrg basic_machine=i686-pc 818c35d236eSmrg os=-mingw32 819c35d236eSmrg ;; 820f55e6a01Smrg mingw32ce) 821f55e6a01Smrg basic_machine=arm-unknown 822f55e6a01Smrg os=-mingw32ce 823f55e6a01Smrg ;; 824c35d236eSmrg miniframe) 825c35d236eSmrg basic_machine=m68000-convergent 826c35d236eSmrg ;; 827c35d236eSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 828c35d236eSmrg basic_machine=m68k-atari 829c35d236eSmrg os=-mint 830c35d236eSmrg ;; 83114210e8eSmrg mipsEE* | ee | ps2) 83214210e8eSmrg basic_machine=mips64r5900el-scei 83314210e8eSmrg case $os in 83414210e8eSmrg -linux*) 83514210e8eSmrg ;; 83614210e8eSmrg *) 83714210e8eSmrg os=-elf 83814210e8eSmrg ;; 83914210e8eSmrg esac 84014210e8eSmrg ;; 84114210e8eSmrg iop) 84214210e8eSmrg basic_machine=mipsel-scei 84314210e8eSmrg os=-irx 84414210e8eSmrg ;; 84514210e8eSmrg dvp) 84614210e8eSmrg basic_machine=dvp-scei 84714210e8eSmrg os=-elf 84814210e8eSmrg ;; 849c35d236eSmrg mips3*-*) 850c35d236eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 851c35d236eSmrg ;; 852c35d236eSmrg mips3*) 853c35d236eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 854c35d236eSmrg ;; 855c35d236eSmrg monitor) 856c35d236eSmrg basic_machine=m68k-rom68k 857c35d236eSmrg os=-coff 858c35d236eSmrg ;; 859c35d236eSmrg morphos) 860c35d236eSmrg basic_machine=powerpc-unknown 861c35d236eSmrg os=-morphos 862c35d236eSmrg ;; 86314210e8eSmrg moxiebox) 86414210e8eSmrg basic_machine=moxie-unknown 86514210e8eSmrg os=-moxiebox 86614210e8eSmrg ;; 867c35d236eSmrg msdos) 868c35d236eSmrg basic_machine=i386-pc 869c35d236eSmrg os=-msdos 870c35d236eSmrg ;; 8714f6cd06fSmrg ms1-*) 8724f6cd06fSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8734f6cd06fSmrg ;; 8741fb744b4Smrg msys) 87514210e8eSmrg basic_machine=i686-pc 8761fb744b4Smrg os=-msys 8771fb744b4Smrg ;; 878c35d236eSmrg mvs) 879c35d236eSmrg basic_machine=i370-ibm 880c35d236eSmrg os=-mvs 881c35d236eSmrg ;; 8821fb744b4Smrg nacl) 8831fb744b4Smrg basic_machine=le32-unknown 8841fb744b4Smrg os=-nacl 8851fb744b4Smrg ;; 886c35d236eSmrg ncr3000) 887c35d236eSmrg basic_machine=i486-ncr 888c35d236eSmrg os=-sysv4 889c35d236eSmrg ;; 890c35d236eSmrg netbsd386) 891c35d236eSmrg basic_machine=i386-unknown 892c35d236eSmrg os=-netbsd 893c35d236eSmrg ;; 894c35d236eSmrg netwinder) 895c35d236eSmrg basic_machine=armv4l-rebel 896c35d236eSmrg os=-linux 897c35d236eSmrg ;; 898c35d236eSmrg news | news700 | news800 | news900) 899c35d236eSmrg basic_machine=m68k-sony 900c35d236eSmrg os=-newsos 901c35d236eSmrg ;; 902c35d236eSmrg news1000) 903c35d236eSmrg basic_machine=m68030-sony 904c35d236eSmrg os=-newsos 905c35d236eSmrg ;; 906c35d236eSmrg news-3600 | risc-news) 907c35d236eSmrg basic_machine=mips-sony 908c35d236eSmrg os=-newsos 909c35d236eSmrg ;; 910c35d236eSmrg necv70) 911c35d236eSmrg basic_machine=v70-nec 912c35d236eSmrg os=-sysv 913c35d236eSmrg ;; 914c35d236eSmrg next | m*-next ) 915c35d236eSmrg basic_machine=m68k-next 916c35d236eSmrg case $os in 917c35d236eSmrg -nextstep* ) 918c35d236eSmrg ;; 919c35d236eSmrg -ns2*) 920c35d236eSmrg os=-nextstep2 921c35d236eSmrg ;; 922c35d236eSmrg *) 923c35d236eSmrg os=-nextstep3 924c35d236eSmrg ;; 925c35d236eSmrg esac 926c35d236eSmrg ;; 927c35d236eSmrg nh3000) 928c35d236eSmrg basic_machine=m68k-harris 929c35d236eSmrg os=-cxux 930c35d236eSmrg ;; 931c35d236eSmrg nh[45]000) 932c35d236eSmrg basic_machine=m88k-harris 933c35d236eSmrg os=-cxux 934c35d236eSmrg ;; 935c35d236eSmrg nindy960) 936c35d236eSmrg basic_machine=i960-intel 937c35d236eSmrg os=-nindy 938c35d236eSmrg ;; 939c35d236eSmrg mon960) 940c35d236eSmrg basic_machine=i960-intel 941c35d236eSmrg os=-mon960 942c35d236eSmrg ;; 943c35d236eSmrg nonstopux) 944c35d236eSmrg basic_machine=mips-compaq 945c35d236eSmrg os=-nonstopux 946c35d236eSmrg ;; 947c35d236eSmrg np1) 948c35d236eSmrg basic_machine=np1-gould 949c35d236eSmrg ;; 9501fb744b4Smrg neo-tandem) 9511fb744b4Smrg basic_machine=neo-tandem 9521fb744b4Smrg ;; 9531fb744b4Smrg nse-tandem) 9541fb744b4Smrg basic_machine=nse-tandem 9551fb744b4Smrg ;; 956c35d236eSmrg nsr-tandem) 957c35d236eSmrg basic_machine=nsr-tandem 958c35d236eSmrg ;; 959c35d236eSmrg op50n-* | op60c-*) 960c35d236eSmrg basic_machine=hppa1.1-oki 961c35d236eSmrg os=-proelf 962c35d236eSmrg ;; 9634f6cd06fSmrg openrisc | openrisc-*) 964c35d236eSmrg basic_machine=or32-unknown 9654f6cd06fSmrg ;; 9664f6cd06fSmrg os400) 9674f6cd06fSmrg basic_machine=powerpc-ibm 9684f6cd06fSmrg os=-os400 969c35d236eSmrg ;; 970c35d236eSmrg OSE68000 | ose68000) 971c35d236eSmrg basic_machine=m68000-ericsson 972c35d236eSmrg os=-ose 973c35d236eSmrg ;; 974c35d236eSmrg os68k) 975c35d236eSmrg basic_machine=m68k-none 976c35d236eSmrg os=-os68k 977c35d236eSmrg ;; 978c35d236eSmrg pa-hitachi) 979c35d236eSmrg basic_machine=hppa1.1-hitachi 980c35d236eSmrg os=-hiuxwe2 981c35d236eSmrg ;; 982c35d236eSmrg paragon) 983c35d236eSmrg basic_machine=i860-intel 984c35d236eSmrg os=-osf 985c35d236eSmrg ;; 986f55e6a01Smrg parisc) 987f55e6a01Smrg basic_machine=hppa-unknown 988f55e6a01Smrg os=-linux 989f55e6a01Smrg ;; 990f55e6a01Smrg parisc-*) 991f55e6a01Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 992f55e6a01Smrg os=-linux 993f55e6a01Smrg ;; 994c35d236eSmrg pbd) 995c35d236eSmrg basic_machine=sparc-tti 996c35d236eSmrg ;; 997c35d236eSmrg pbb) 998c35d236eSmrg basic_machine=m68k-tti 999c35d236eSmrg ;; 1000c35d236eSmrg pc532 | pc532-*) 1001c35d236eSmrg basic_machine=ns32k-pc532 1002c35d236eSmrg ;; 10034f6cd06fSmrg pc98) 10044f6cd06fSmrg basic_machine=i386-pc 10054f6cd06fSmrg ;; 10064f6cd06fSmrg pc98-*) 10074f6cd06fSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 10084f6cd06fSmrg ;; 1009c35d236eSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1010c35d236eSmrg basic_machine=i586-pc 1011c35d236eSmrg ;; 1012c35d236eSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1013c35d236eSmrg basic_machine=i686-pc 1014c35d236eSmrg ;; 1015c35d236eSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1016c35d236eSmrg basic_machine=i686-pc 1017c35d236eSmrg ;; 1018c35d236eSmrg pentium4) 1019c35d236eSmrg basic_machine=i786-pc 1020c35d236eSmrg ;; 1021c35d236eSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1022c35d236eSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1023c35d236eSmrg ;; 1024c35d236eSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1025c35d236eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1026c35d236eSmrg ;; 1027c35d236eSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1028c35d236eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1029c35d236eSmrg ;; 1030c35d236eSmrg pentium4-*) 1031c35d236eSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1032c35d236eSmrg ;; 1033c35d236eSmrg pn) 1034c35d236eSmrg basic_machine=pn-gould 1035c35d236eSmrg ;; 1036c35d236eSmrg power) basic_machine=power-ibm 1037c35d236eSmrg ;; 10381fb744b4Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1039c35d236eSmrg ;; 10401fb744b4Smrg ppc-* | ppcbe-*) 10411fb744b4Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1042c35d236eSmrg ;; 1043c35d236eSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 1044c35d236eSmrg basic_machine=powerpcle-unknown 1045c35d236eSmrg ;; 1046c35d236eSmrg ppcle-* | powerpclittle-*) 1047c35d236eSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1048c35d236eSmrg ;; 1049c35d236eSmrg ppc64) basic_machine=powerpc64-unknown 1050c35d236eSmrg ;; 1051c35d236eSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1052c35d236eSmrg ;; 1053c35d236eSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1054c35d236eSmrg basic_machine=powerpc64le-unknown 1055c35d236eSmrg ;; 1056c35d236eSmrg ppc64le-* | powerpc64little-*) 1057c35d236eSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1058c35d236eSmrg ;; 1059c35d236eSmrg ps2) 1060c35d236eSmrg basic_machine=i386-ibm 1061c35d236eSmrg ;; 1062c35d236eSmrg pw32) 1063c35d236eSmrg basic_machine=i586-unknown 1064c35d236eSmrg os=-pw32 1065c35d236eSmrg ;; 106614210e8eSmrg rdos | rdos64) 106714210e8eSmrg basic_machine=x86_64-pc 106814210e8eSmrg os=-rdos 106914210e8eSmrg ;; 107014210e8eSmrg rdos32) 10714f6cd06fSmrg basic_machine=i386-pc 10724f6cd06fSmrg os=-rdos 10734f6cd06fSmrg ;; 1074c35d236eSmrg rom68k) 1075c35d236eSmrg basic_machine=m68k-rom68k 1076c35d236eSmrg os=-coff 1077c35d236eSmrg ;; 1078c35d236eSmrg rm[46]00) 1079c35d236eSmrg basic_machine=mips-siemens 1080c35d236eSmrg ;; 1081c35d236eSmrg rtpc | rtpc-*) 1082c35d236eSmrg basic_machine=romp-ibm 1083c35d236eSmrg ;; 10844f6cd06fSmrg s390 | s390-*) 10854f6cd06fSmrg basic_machine=s390-ibm 10864f6cd06fSmrg ;; 10874f6cd06fSmrg s390x | s390x-*) 10884f6cd06fSmrg basic_machine=s390x-ibm 10894f6cd06fSmrg ;; 1090c35d236eSmrg sa29200) 1091c35d236eSmrg basic_machine=a29k-amd 1092c35d236eSmrg os=-udi 1093c35d236eSmrg ;; 1094c35d236eSmrg sb1) 1095c35d236eSmrg basic_machine=mipsisa64sb1-unknown 1096c35d236eSmrg ;; 1097c35d236eSmrg sb1el) 1098c35d236eSmrg basic_machine=mipsisa64sb1el-unknown 1099c35d236eSmrg ;; 11004f6cd06fSmrg sde) 11014f6cd06fSmrg basic_machine=mipsisa32-sde 11024f6cd06fSmrg os=-elf 11034f6cd06fSmrg ;; 1104c35d236eSmrg sei) 1105c35d236eSmrg basic_machine=mips-sei 1106c35d236eSmrg os=-seiux 1107c35d236eSmrg ;; 1108c35d236eSmrg sequent) 1109c35d236eSmrg basic_machine=i386-sequent 1110c35d236eSmrg ;; 1111c35d236eSmrg sh) 1112c35d236eSmrg basic_machine=sh-hitachi 1113c35d236eSmrg os=-hms 1114c35d236eSmrg ;; 1115f55e6a01Smrg sh5el) 1116f55e6a01Smrg basic_machine=sh5le-unknown 1117f55e6a01Smrg ;; 1118c35d236eSmrg sh64) 1119c35d236eSmrg basic_machine=sh64-unknown 1120c35d236eSmrg ;; 1121c35d236eSmrg sparclite-wrs | simso-wrs) 1122c35d236eSmrg basic_machine=sparclite-wrs 1123c35d236eSmrg os=-vxworks 1124c35d236eSmrg ;; 1125c35d236eSmrg sps7) 1126c35d236eSmrg basic_machine=m68k-bull 1127c35d236eSmrg os=-sysv2 1128c35d236eSmrg ;; 1129c35d236eSmrg spur) 1130c35d236eSmrg basic_machine=spur-unknown 1131c35d236eSmrg ;; 1132c35d236eSmrg st2000) 1133c35d236eSmrg basic_machine=m68k-tandem 1134c35d236eSmrg ;; 1135c35d236eSmrg stratus) 1136c35d236eSmrg basic_machine=i860-stratus 1137c35d236eSmrg os=-sysv4 1138c35d236eSmrg ;; 11391fb744b4Smrg strongarm-* | thumb-*) 11401fb744b4Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11411fb744b4Smrg ;; 1142c35d236eSmrg sun2) 1143c35d236eSmrg basic_machine=m68000-sun 1144c35d236eSmrg ;; 1145c35d236eSmrg sun2os3) 1146c35d236eSmrg basic_machine=m68000-sun 1147c35d236eSmrg os=-sunos3 1148c35d236eSmrg ;; 1149c35d236eSmrg sun2os4) 1150c35d236eSmrg basic_machine=m68000-sun 1151c35d236eSmrg os=-sunos4 1152c35d236eSmrg ;; 1153c35d236eSmrg sun3os3) 1154c35d236eSmrg basic_machine=m68k-sun 1155c35d236eSmrg os=-sunos3 1156c35d236eSmrg ;; 1157c35d236eSmrg sun3os4) 1158c35d236eSmrg basic_machine=m68k-sun 1159c35d236eSmrg os=-sunos4 1160c35d236eSmrg ;; 1161c35d236eSmrg sun4os3) 1162c35d236eSmrg basic_machine=sparc-sun 1163c35d236eSmrg os=-sunos3 1164c35d236eSmrg ;; 1165c35d236eSmrg sun4os4) 1166c35d236eSmrg basic_machine=sparc-sun 1167c35d236eSmrg os=-sunos4 1168c35d236eSmrg ;; 1169c35d236eSmrg sun4sol2) 1170c35d236eSmrg basic_machine=sparc-sun 1171c35d236eSmrg os=-solaris2 1172c35d236eSmrg ;; 1173c35d236eSmrg sun3 | sun3-*) 1174c35d236eSmrg basic_machine=m68k-sun 1175c35d236eSmrg ;; 1176c35d236eSmrg sun4) 1177c35d236eSmrg basic_machine=sparc-sun 1178c35d236eSmrg ;; 1179c35d236eSmrg sun386 | sun386i | roadrunner) 1180c35d236eSmrg basic_machine=i386-sun 1181c35d236eSmrg ;; 1182c35d236eSmrg sv1) 1183c35d236eSmrg basic_machine=sv1-cray 1184c35d236eSmrg os=-unicos 1185c35d236eSmrg ;; 1186c35d236eSmrg symmetry) 1187c35d236eSmrg basic_machine=i386-sequent 1188c35d236eSmrg os=-dynix 1189c35d236eSmrg ;; 1190c35d236eSmrg t3e) 1191c35d236eSmrg basic_machine=alphaev5-cray 1192c35d236eSmrg os=-unicos 1193c35d236eSmrg ;; 1194c35d236eSmrg t90) 1195c35d236eSmrg basic_machine=t90-cray 1196c35d236eSmrg os=-unicos 1197c35d236eSmrg ;; 1198f55e6a01Smrg tile*) 11991fb744b4Smrg basic_machine=$basic_machine-unknown 1200f55e6a01Smrg os=-linux-gnu 1201f55e6a01Smrg ;; 1202c35d236eSmrg tx39) 1203c35d236eSmrg basic_machine=mipstx39-unknown 1204c35d236eSmrg ;; 1205c35d236eSmrg tx39el) 1206c35d236eSmrg basic_machine=mipstx39el-unknown 1207c35d236eSmrg ;; 1208c35d236eSmrg toad1) 1209c35d236eSmrg basic_machine=pdp10-xkl 1210c35d236eSmrg os=-tops20 1211c35d236eSmrg ;; 1212c35d236eSmrg tower | tower-32) 1213c35d236eSmrg basic_machine=m68k-ncr 1214c35d236eSmrg ;; 12154f6cd06fSmrg tpf) 12164f6cd06fSmrg basic_machine=s390x-ibm 12174f6cd06fSmrg os=-tpf 12184f6cd06fSmrg ;; 1219c35d236eSmrg udi29k) 1220c35d236eSmrg basic_machine=a29k-amd 1221c35d236eSmrg os=-udi 1222c35d236eSmrg ;; 1223c35d236eSmrg ultra3) 1224c35d236eSmrg basic_machine=a29k-nyu 1225c35d236eSmrg os=-sym1 1226c35d236eSmrg ;; 1227c35d236eSmrg v810 | necv810) 1228c35d236eSmrg basic_machine=v810-nec 1229c35d236eSmrg os=-none 1230c35d236eSmrg ;; 1231c35d236eSmrg vaxv) 1232c35d236eSmrg basic_machine=vax-dec 1233c35d236eSmrg os=-sysv 1234c35d236eSmrg ;; 1235c35d236eSmrg vms) 1236c35d236eSmrg basic_machine=vax-dec 1237c35d236eSmrg os=-vms 1238c35d236eSmrg ;; 1239c35d236eSmrg vpp*|vx|vx-*) 1240c35d236eSmrg basic_machine=f301-fujitsu 1241c35d236eSmrg ;; 1242c35d236eSmrg vxworks960) 1243c35d236eSmrg basic_machine=i960-wrs 1244c35d236eSmrg os=-vxworks 1245c35d236eSmrg ;; 1246c35d236eSmrg vxworks68) 1247c35d236eSmrg basic_machine=m68k-wrs 1248c35d236eSmrg os=-vxworks 1249c35d236eSmrg ;; 1250c35d236eSmrg vxworks29k) 1251c35d236eSmrg basic_machine=a29k-wrs 1252c35d236eSmrg os=-vxworks 1253c35d236eSmrg ;; 1254c35d236eSmrg w65*) 1255c35d236eSmrg basic_machine=w65-wdc 1256c35d236eSmrg os=-none 1257c35d236eSmrg ;; 1258c35d236eSmrg w89k-*) 1259c35d236eSmrg basic_machine=hppa1.1-winbond 1260c35d236eSmrg os=-proelf 1261c35d236eSmrg ;; 12624f6cd06fSmrg xbox) 12634f6cd06fSmrg basic_machine=i686-pc 12644f6cd06fSmrg os=-mingw32 12654f6cd06fSmrg ;; 1266c35d236eSmrg xps | xps100) 1267c35d236eSmrg basic_machine=xps100-honeywell 1268c35d236eSmrg ;; 12691fb744b4Smrg xscale-* | xscalee[bl]-*) 12701fb744b4Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12711fb744b4Smrg ;; 1272c35d236eSmrg ymp) 1273c35d236eSmrg basic_machine=ymp-cray 1274c35d236eSmrg os=-unicos 1275c35d236eSmrg ;; 1276c35d236eSmrg z8k-*-coff) 1277c35d236eSmrg basic_machine=z8k-unknown 1278c35d236eSmrg os=-sim 1279c35d236eSmrg ;; 12801fb744b4Smrg z80-*-coff) 12811fb744b4Smrg basic_machine=z80-unknown 12821fb744b4Smrg os=-sim 12831fb744b4Smrg ;; 1284c35d236eSmrg none) 1285c35d236eSmrg basic_machine=none-none 1286c35d236eSmrg os=-none 1287c35d236eSmrg ;; 1288c35d236eSmrg 1289c35d236eSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1290c35d236eSmrg# some cases the only manufacturer, in others, it is the most popular. 1291c35d236eSmrg w89k) 1292c35d236eSmrg basic_machine=hppa1.1-winbond 1293c35d236eSmrg ;; 1294c35d236eSmrg op50n) 1295c35d236eSmrg basic_machine=hppa1.1-oki 1296c35d236eSmrg ;; 1297c35d236eSmrg op60c) 1298c35d236eSmrg basic_machine=hppa1.1-oki 1299c35d236eSmrg ;; 1300c35d236eSmrg romp) 1301c35d236eSmrg basic_machine=romp-ibm 1302c35d236eSmrg ;; 13034f6cd06fSmrg mmix) 13044f6cd06fSmrg basic_machine=mmix-knuth 13054f6cd06fSmrg ;; 1306c35d236eSmrg rs6000) 1307c35d236eSmrg basic_machine=rs6000-ibm 1308c35d236eSmrg ;; 1309c35d236eSmrg vax) 1310c35d236eSmrg basic_machine=vax-dec 1311c35d236eSmrg ;; 1312c35d236eSmrg pdp10) 1313c35d236eSmrg # there are many clones, so DEC is not a safe bet 1314c35d236eSmrg basic_machine=pdp10-unknown 1315c35d236eSmrg ;; 1316c35d236eSmrg pdp11) 1317c35d236eSmrg basic_machine=pdp11-dec 1318c35d236eSmrg ;; 1319c35d236eSmrg we32k) 1320c35d236eSmrg basic_machine=we32k-att 1321c35d236eSmrg ;; 13221fb744b4Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1323c35d236eSmrg basic_machine=sh-unknown 1324c35d236eSmrg ;; 13254f6cd06fSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1326c35d236eSmrg basic_machine=sparc-sun 1327c35d236eSmrg ;; 1328c35d236eSmrg cydra) 1329c35d236eSmrg basic_machine=cydra-cydrome 1330c35d236eSmrg ;; 1331c35d236eSmrg orion) 1332c35d236eSmrg basic_machine=orion-highlevel 1333c35d236eSmrg ;; 1334c35d236eSmrg orion105) 1335c35d236eSmrg basic_machine=clipper-highlevel 1336c35d236eSmrg ;; 1337c35d236eSmrg mac | mpw | mac-mpw) 1338c35d236eSmrg basic_machine=m68k-apple 1339c35d236eSmrg ;; 1340c35d236eSmrg pmac | pmac-mpw) 1341c35d236eSmrg basic_machine=powerpc-apple 1342c35d236eSmrg ;; 1343c35d236eSmrg *-unknown) 1344c35d236eSmrg # Make sure to match an already-canonicalized machine name. 1345c35d236eSmrg ;; 1346c35d236eSmrg *) 1347c35d236eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1348c35d236eSmrg exit 1 1349c35d236eSmrg ;; 1350c35d236eSmrgesac 1351c35d236eSmrg 1352c35d236eSmrg# Here we canonicalize certain aliases for manufacturers. 1353c35d236eSmrgcase $basic_machine in 1354c35d236eSmrg *-digital*) 1355c35d236eSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1356c35d236eSmrg ;; 1357c35d236eSmrg *-commodore*) 1358c35d236eSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1359c35d236eSmrg ;; 1360c35d236eSmrg *) 1361c35d236eSmrg ;; 1362c35d236eSmrgesac 1363c35d236eSmrg 1364c35d236eSmrg# Decode manufacturer-specific aliases for certain operating systems. 1365c35d236eSmrg 1366c35d236eSmrgif [ x"$os" != x"" ] 1367c35d236eSmrgthen 1368c35d236eSmrgcase $os in 13691fb744b4Smrg # First match some system type aliases 13701fb744b4Smrg # that might get confused with valid system types. 1371c35d236eSmrg # -solaris* is a basic system type, with this one exception. 13721fb744b4Smrg -auroraux) 13731fb744b4Smrg os=-auroraux 13741fb744b4Smrg ;; 1375c35d236eSmrg -solaris1 | -solaris1.*) 1376c35d236eSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1377c35d236eSmrg ;; 1378c35d236eSmrg -solaris) 1379c35d236eSmrg os=-solaris2 1380c35d236eSmrg ;; 1381c35d236eSmrg -svr4*) 1382c35d236eSmrg os=-sysv4 1383c35d236eSmrg ;; 1384c35d236eSmrg -unixware*) 1385c35d236eSmrg os=-sysv4.2uw 1386c35d236eSmrg ;; 1387c35d236eSmrg -gnu/linux*) 1388c35d236eSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1389c35d236eSmrg ;; 1390c35d236eSmrg # First accept the basic system types. 1391c35d236eSmrg # The portable systems comes first. 1392c35d236eSmrg # Each alternative MUST END IN A *, to match a version number. 1393c35d236eSmrg # -sysv* is not here because it comes later, after sysvr4. 1394c35d236eSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13951fb744b4Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13961fb744b4Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 139714210e8eSmrg | -sym* | -kopensolaris* | -plan9* \ 1398c35d236eSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 139914210e8eSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1400c35d236eSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1401c35d236eSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 14024f6cd06fSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 140314210e8eSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 14044f6cd06fSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 14054f6cd06fSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1406c35d236eSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1407c35d236eSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 14081fb744b4Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 14091fb744b4Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 141014210e8eSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 141114210e8eSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 141214210e8eSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1413c35d236eSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1414c35d236eSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 141514210e8eSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \ 1416c35d236eSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1417c35d236eSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 14184f6cd06fSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 141914210e8eSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 142014210e8eSmrg | -onefs* | -tirtos*) 1421c35d236eSmrg # Remember, each alternative MUST END IN *, to match a version number. 1422c35d236eSmrg ;; 1423c35d236eSmrg -qnx*) 1424c35d236eSmrg case $basic_machine in 1425c35d236eSmrg x86-* | i*86-*) 1426c35d236eSmrg ;; 1427c35d236eSmrg *) 1428c35d236eSmrg os=-nto$os 1429c35d236eSmrg ;; 1430c35d236eSmrg esac 1431c35d236eSmrg ;; 1432c35d236eSmrg -nto-qnx*) 1433c35d236eSmrg ;; 1434c35d236eSmrg -nto*) 1435c35d236eSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1436c35d236eSmrg ;; 1437c35d236eSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14384f6cd06fSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1439c35d236eSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1440c35d236eSmrg ;; 1441c35d236eSmrg -mac*) 1442c35d236eSmrg os=`echo $os | sed -e 's|mac|macos|'` 1443c35d236eSmrg ;; 14444f6cd06fSmrg -linux-dietlibc) 14454f6cd06fSmrg os=-linux-dietlibc 14464f6cd06fSmrg ;; 1447c35d236eSmrg -linux*) 1448c35d236eSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1449c35d236eSmrg ;; 1450c35d236eSmrg -sunos5*) 1451c35d236eSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1452c35d236eSmrg ;; 1453c35d236eSmrg -sunos6*) 1454c35d236eSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1455c35d236eSmrg ;; 1456c35d236eSmrg -opened*) 1457c35d236eSmrg os=-openedition 1458c35d236eSmrg ;; 14591fb744b4Smrg -os400*) 14604f6cd06fSmrg os=-os400 14614f6cd06fSmrg ;; 1462c35d236eSmrg -wince*) 1463c35d236eSmrg os=-wince 1464c35d236eSmrg ;; 1465c35d236eSmrg -osfrose*) 1466c35d236eSmrg os=-osfrose 1467c35d236eSmrg ;; 1468c35d236eSmrg -osf*) 1469c35d236eSmrg os=-osf 1470c35d236eSmrg ;; 1471c35d236eSmrg -utek*) 1472c35d236eSmrg os=-bsd 1473c35d236eSmrg ;; 1474c35d236eSmrg -dynix*) 1475c35d236eSmrg os=-bsd 1476c35d236eSmrg ;; 1477c35d236eSmrg -acis*) 1478c35d236eSmrg os=-aos 1479c35d236eSmrg ;; 1480c35d236eSmrg -atheos*) 1481c35d236eSmrg os=-atheos 1482c35d236eSmrg ;; 14834f6cd06fSmrg -syllable*) 14844f6cd06fSmrg os=-syllable 14854f6cd06fSmrg ;; 1486c35d236eSmrg -386bsd) 1487c35d236eSmrg os=-bsd 1488c35d236eSmrg ;; 1489c35d236eSmrg -ctix* | -uts*) 1490c35d236eSmrg os=-sysv 1491c35d236eSmrg ;; 1492c35d236eSmrg -nova*) 1493c35d236eSmrg os=-rtmk-nova 1494c35d236eSmrg ;; 1495c35d236eSmrg -ns2 ) 1496c35d236eSmrg os=-nextstep2 1497c35d236eSmrg ;; 1498c35d236eSmrg -nsk*) 1499c35d236eSmrg os=-nsk 1500c35d236eSmrg ;; 1501c35d236eSmrg # Preserve the version number of sinix5. 1502c35d236eSmrg -sinix5.*) 1503c35d236eSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1504c35d236eSmrg ;; 1505c35d236eSmrg -sinix*) 1506c35d236eSmrg os=-sysv4 1507c35d236eSmrg ;; 15081fb744b4Smrg -tpf*) 15094f6cd06fSmrg os=-tpf 15104f6cd06fSmrg ;; 1511c35d236eSmrg -triton*) 1512c35d236eSmrg os=-sysv3 1513c35d236eSmrg ;; 1514c35d236eSmrg -oss*) 1515c35d236eSmrg os=-sysv3 1516c35d236eSmrg ;; 1517c35d236eSmrg -svr4) 1518c35d236eSmrg os=-sysv4 1519c35d236eSmrg ;; 1520c35d236eSmrg -svr3) 1521c35d236eSmrg os=-sysv3 1522c35d236eSmrg ;; 1523c35d236eSmrg -sysvr4) 1524c35d236eSmrg os=-sysv4 1525c35d236eSmrg ;; 1526c35d236eSmrg # This must come after -sysvr4. 1527c35d236eSmrg -sysv*) 1528c35d236eSmrg ;; 1529c35d236eSmrg -ose*) 1530c35d236eSmrg os=-ose 1531c35d236eSmrg ;; 1532c35d236eSmrg -es1800*) 1533c35d236eSmrg os=-ose 1534c35d236eSmrg ;; 1535c35d236eSmrg -xenix) 1536c35d236eSmrg os=-xenix 1537c35d236eSmrg ;; 1538c35d236eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1539c35d236eSmrg os=-mint 1540c35d236eSmrg ;; 1541c35d236eSmrg -aros*) 1542c35d236eSmrg os=-aros 1543c35d236eSmrg ;; 15444f6cd06fSmrg -zvmoe) 15454f6cd06fSmrg os=-zvmoe 15464f6cd06fSmrg ;; 15471fb744b4Smrg -dicos*) 15481fb744b4Smrg os=-dicos 15491fb744b4Smrg ;; 15501fb744b4Smrg -nacl*) 15511fb744b4Smrg ;; 155214210e8eSmrg -ios) 155314210e8eSmrg ;; 1554c35d236eSmrg -none) 1555c35d236eSmrg ;; 1556c35d236eSmrg *) 1557c35d236eSmrg # Get rid of the `-' at the beginning of $os. 1558c35d236eSmrg os=`echo $os | sed 's/[^-]*-//'` 1559c35d236eSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1560c35d236eSmrg exit 1 1561c35d236eSmrg ;; 1562c35d236eSmrgesac 1563c35d236eSmrgelse 1564c35d236eSmrg 1565c35d236eSmrg# Here we handle the default operating systems that come with various machines. 1566c35d236eSmrg# The value should be what the vendor currently ships out the door with their 1567c35d236eSmrg# machine or put another way, the most popular os provided with the machine. 1568c35d236eSmrg 1569c35d236eSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1570c35d236eSmrg# "-sun"), then you have to tell the case statement up towards the top 1571c35d236eSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1572c35d236eSmrg# will signal an error saying that MANUFACTURER isn't an operating 1573c35d236eSmrg# system, and we'll never get to this point. 1574c35d236eSmrg 1575c35d236eSmrgcase $basic_machine in 15761fb744b4Smrg score-*) 15774f6cd06fSmrg os=-elf 15784f6cd06fSmrg ;; 15791fb744b4Smrg spu-*) 15804f6cd06fSmrg os=-elf 15814f6cd06fSmrg ;; 1582c35d236eSmrg *-acorn) 1583c35d236eSmrg os=-riscix1.2 1584c35d236eSmrg ;; 1585c35d236eSmrg arm*-rebel) 1586c35d236eSmrg os=-linux 1587c35d236eSmrg ;; 1588c35d236eSmrg arm*-semi) 1589c35d236eSmrg os=-aout 1590c35d236eSmrg ;; 15911fb744b4Smrg c4x-* | tic4x-*) 15921fb744b4Smrg os=-coff 15931fb744b4Smrg ;; 159414210e8eSmrg c8051-*) 159514210e8eSmrg os=-elf 159614210e8eSmrg ;; 159714210e8eSmrg hexagon-*) 159814210e8eSmrg os=-elf 159914210e8eSmrg ;; 16001fb744b4Smrg tic54x-*) 16011fb744b4Smrg os=-coff 16021fb744b4Smrg ;; 16031fb744b4Smrg tic55x-*) 16041fb744b4Smrg os=-coff 16051fb744b4Smrg ;; 16061fb744b4Smrg tic6x-*) 16071fb744b4Smrg os=-coff 1608c35d236eSmrg ;; 1609c35d236eSmrg # This must come before the *-dec entry. 1610c35d236eSmrg pdp10-*) 1611c35d236eSmrg os=-tops20 1612c35d236eSmrg ;; 1613c35d236eSmrg pdp11-*) 1614c35d236eSmrg os=-none 1615c35d236eSmrg ;; 1616c35d236eSmrg *-dec | vax-*) 1617c35d236eSmrg os=-ultrix4.2 1618c35d236eSmrg ;; 1619c35d236eSmrg m68*-apollo) 1620c35d236eSmrg os=-domain 1621c35d236eSmrg ;; 1622c35d236eSmrg i386-sun) 1623c35d236eSmrg os=-sunos4.0.2 1624c35d236eSmrg ;; 1625c35d236eSmrg m68000-sun) 1626c35d236eSmrg os=-sunos3 1627c35d236eSmrg ;; 1628c35d236eSmrg m68*-cisco) 1629c35d236eSmrg os=-aout 1630c35d236eSmrg ;; 16311fb744b4Smrg mep-*) 1632f55e6a01Smrg os=-elf 1633f55e6a01Smrg ;; 1634c35d236eSmrg mips*-cisco) 1635c35d236eSmrg os=-elf 1636c35d236eSmrg ;; 1637c35d236eSmrg mips*-*) 1638c35d236eSmrg os=-elf 1639c35d236eSmrg ;; 1640c35d236eSmrg or32-*) 1641c35d236eSmrg os=-coff 1642c35d236eSmrg ;; 1643c35d236eSmrg *-tti) # must be before sparc entry or we get the wrong os. 1644c35d236eSmrg os=-sysv3 1645c35d236eSmrg ;; 1646c35d236eSmrg sparc-* | *-sun) 1647c35d236eSmrg os=-sunos4.1.1 1648c35d236eSmrg ;; 1649c35d236eSmrg *-be) 1650c35d236eSmrg os=-beos 1651c35d236eSmrg ;; 16524f6cd06fSmrg *-haiku) 16534f6cd06fSmrg os=-haiku 16544f6cd06fSmrg ;; 1655c35d236eSmrg *-ibm) 1656c35d236eSmrg os=-aix 1657c35d236eSmrg ;; 16581fb744b4Smrg *-knuth) 16594f6cd06fSmrg os=-mmixware 16604f6cd06fSmrg ;; 1661c35d236eSmrg *-wec) 1662c35d236eSmrg os=-proelf 1663c35d236eSmrg ;; 1664c35d236eSmrg *-winbond) 1665c35d236eSmrg os=-proelf 1666c35d236eSmrg ;; 1667c35d236eSmrg *-oki) 1668c35d236eSmrg os=-proelf 1669c35d236eSmrg ;; 1670c35d236eSmrg *-hp) 1671c35d236eSmrg os=-hpux 1672c35d236eSmrg ;; 1673c35d236eSmrg *-hitachi) 1674c35d236eSmrg os=-hiux 1675c35d236eSmrg ;; 1676c35d236eSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1677c35d236eSmrg os=-sysv 1678c35d236eSmrg ;; 1679c35d236eSmrg *-cbm) 1680c35d236eSmrg os=-amigaos 1681c35d236eSmrg ;; 1682c35d236eSmrg *-dg) 1683c35d236eSmrg os=-dgux 1684c35d236eSmrg ;; 1685c35d236eSmrg *-dolphin) 1686c35d236eSmrg os=-sysv3 1687c35d236eSmrg ;; 1688c35d236eSmrg m68k-ccur) 1689c35d236eSmrg os=-rtu 1690c35d236eSmrg ;; 1691c35d236eSmrg m88k-omron*) 1692c35d236eSmrg os=-luna 1693c35d236eSmrg ;; 1694c35d236eSmrg *-next ) 1695c35d236eSmrg os=-nextstep 1696c35d236eSmrg ;; 1697c35d236eSmrg *-sequent) 1698c35d236eSmrg os=-ptx 1699c35d236eSmrg ;; 1700c35d236eSmrg *-crds) 1701c35d236eSmrg os=-unos 1702c35d236eSmrg ;; 1703c35d236eSmrg *-ns) 1704c35d236eSmrg os=-genix 1705c35d236eSmrg ;; 1706c35d236eSmrg i370-*) 1707c35d236eSmrg os=-mvs 1708c35d236eSmrg ;; 1709c35d236eSmrg *-next) 1710c35d236eSmrg os=-nextstep3 1711c35d236eSmrg ;; 1712c35d236eSmrg *-gould) 1713c35d236eSmrg os=-sysv 1714c35d236eSmrg ;; 1715c35d236eSmrg *-highlevel) 1716c35d236eSmrg os=-bsd 1717c35d236eSmrg ;; 1718c35d236eSmrg *-encore) 1719c35d236eSmrg os=-bsd 1720c35d236eSmrg ;; 1721c35d236eSmrg *-sgi) 1722c35d236eSmrg os=-irix 1723c35d236eSmrg ;; 1724c35d236eSmrg *-siemens) 1725c35d236eSmrg os=-sysv4 1726c35d236eSmrg ;; 1727c35d236eSmrg *-masscomp) 1728c35d236eSmrg os=-rtu 1729c35d236eSmrg ;; 1730c35d236eSmrg f30[01]-fujitsu | f700-fujitsu) 1731c35d236eSmrg os=-uxpv 1732c35d236eSmrg ;; 1733c35d236eSmrg *-rom68k) 1734c35d236eSmrg os=-coff 1735c35d236eSmrg ;; 1736c35d236eSmrg *-*bug) 1737c35d236eSmrg os=-coff 1738c35d236eSmrg ;; 1739c35d236eSmrg *-apple) 1740c35d236eSmrg os=-macos 1741c35d236eSmrg ;; 1742c35d236eSmrg *-atari*) 1743c35d236eSmrg os=-mint 1744c35d236eSmrg ;; 1745c35d236eSmrg *) 1746c35d236eSmrg os=-none 1747c35d236eSmrg ;; 1748c35d236eSmrgesac 1749c35d236eSmrgfi 1750c35d236eSmrg 1751c35d236eSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1752c35d236eSmrg# manufacturer. We pick the logical manufacturer. 1753c35d236eSmrgvendor=unknown 1754c35d236eSmrgcase $basic_machine in 1755c35d236eSmrg *-unknown) 1756c35d236eSmrg case $os in 1757c35d236eSmrg -riscix*) 1758c35d236eSmrg vendor=acorn 1759c35d236eSmrg ;; 1760c35d236eSmrg -sunos*) 1761c35d236eSmrg vendor=sun 1762c35d236eSmrg ;; 17631fb744b4Smrg -cnk*|-aix*) 1764c35d236eSmrg vendor=ibm 1765c35d236eSmrg ;; 1766c35d236eSmrg -beos*) 1767c35d236eSmrg vendor=be 1768c35d236eSmrg ;; 1769c35d236eSmrg -hpux*) 1770c35d236eSmrg vendor=hp 1771c35d236eSmrg ;; 1772c35d236eSmrg -mpeix*) 1773c35d236eSmrg vendor=hp 1774c35d236eSmrg ;; 1775c35d236eSmrg -hiux*) 1776c35d236eSmrg vendor=hitachi 1777c35d236eSmrg ;; 1778c35d236eSmrg -unos*) 1779c35d236eSmrg vendor=crds 1780c35d236eSmrg ;; 1781c35d236eSmrg -dgux*) 1782c35d236eSmrg vendor=dg 1783c35d236eSmrg ;; 1784c35d236eSmrg -luna*) 1785c35d236eSmrg vendor=omron 1786c35d236eSmrg ;; 1787c35d236eSmrg -genix*) 1788c35d236eSmrg vendor=ns 1789c35d236eSmrg ;; 1790c35d236eSmrg -mvs* | -opened*) 1791c35d236eSmrg vendor=ibm 1792c35d236eSmrg ;; 17934f6cd06fSmrg -os400*) 17944f6cd06fSmrg vendor=ibm 17954f6cd06fSmrg ;; 1796c35d236eSmrg -ptx*) 1797c35d236eSmrg vendor=sequent 1798c35d236eSmrg ;; 17994f6cd06fSmrg -tpf*) 18004f6cd06fSmrg vendor=ibm 18014f6cd06fSmrg ;; 1802c35d236eSmrg -vxsim* | -vxworks* | -windiss*) 1803c35d236eSmrg vendor=wrs 1804c35d236eSmrg ;; 1805c35d236eSmrg -aux*) 1806c35d236eSmrg vendor=apple 1807c35d236eSmrg ;; 1808c35d236eSmrg -hms*) 1809c35d236eSmrg vendor=hitachi 1810c35d236eSmrg ;; 1811c35d236eSmrg -mpw* | -macos*) 1812c35d236eSmrg vendor=apple 1813c35d236eSmrg ;; 1814c35d236eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1815c35d236eSmrg vendor=atari 1816c35d236eSmrg ;; 1817c35d236eSmrg -vos*) 1818c35d236eSmrg vendor=stratus 1819c35d236eSmrg ;; 1820c35d236eSmrg esac 1821c35d236eSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1822c35d236eSmrg ;; 1823c35d236eSmrgesac 1824c35d236eSmrg 1825c35d236eSmrgecho $basic_machine$os 18264f6cd06fSmrgexit 1827c35d236eSmrg 1828c35d236eSmrg# Local variables: 1829c35d236eSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1830c35d236eSmrg# time-stamp-start: "timestamp='" 1831c35d236eSmrg# time-stamp-format: "%:y-%02m-%02d" 1832c35d236eSmrg# time-stamp-end: "'" 1833c35d236eSmrg# End: 1834