config.sub revision 67594505
1b042e37fSmrg#! /bin/sh 2b042e37fSmrg# Configuration validation subroutine script. 367594505Smrg# Copyright 1992-2014 Free Software Foundation, Inc. 4b042e37fSmrg 567594505Smrgtimestamp='2014-07-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 188bd17e5fSmrg# along with this program; if not, see <http://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 288bd17e5fSmrg# Please send patches with a ChangeLog entry 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: 36706b6b52Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 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="\ 56b042e37fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 57b042e37fSmrg $0 [OPTION] ALIAS 58b042e37fSmrg 59b042e37fSmrgCanonicalize a configuration name. 60b042e37fSmrg 61b042e37fSmrgOperation modes: 62b042e37fSmrg -h, --help print this help, then exit 63b042e37fSmrg -t, --time-stamp print date of last modification, then exit 64b042e37fSmrg -v, --version print version number, then exit 65b042e37fSmrg 66b042e37fSmrgReport bugs and patches to <config-patches@gnu.org>." 67b042e37fSmrg 68b042e37fSmrgversion="\ 69b042e37fSmrgGNU config.sub ($timestamp) 70b042e37fSmrg 7167594505SmrgCopyright 1992-2014 Free Software Foundation, Inc. 72b042e37fSmrg 73b042e37fSmrgThis is free software; see the source for copying conditions. There is NO 74b042e37fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75b042e37fSmrg 76b042e37fSmrghelp=" 77b042e37fSmrgTry \`$me --help' for more information." 78b042e37fSmrg 79b042e37fSmrg# Parse command line 80b042e37fSmrgwhile test $# -gt 0 ; do 81b042e37fSmrg case $1 in 82b042e37fSmrg --time-stamp | --time* | -t ) 838c4a8e55Smrg echo "$timestamp" ; exit ;; 84b042e37fSmrg --version | -v ) 858c4a8e55Smrg echo "$version" ; exit ;; 86b042e37fSmrg --help | --h* | -h ) 878c4a8e55Smrg echo "$usage"; exit ;; 88b042e37fSmrg -- ) # Stop option processing 89b042e37fSmrg shift; break ;; 90b042e37fSmrg - ) # Use stdin as input. 91b042e37fSmrg break ;; 92b042e37fSmrg -* ) 93b042e37fSmrg echo "$me: invalid option $1$help" 94b042e37fSmrg exit 1 ;; 95b042e37fSmrg 96b042e37fSmrg *local*) 97b042e37fSmrg # First pass through any local machine types. 98b042e37fSmrg echo $1 998c4a8e55Smrg exit ;; 100b042e37fSmrg 101b042e37fSmrg * ) 102b042e37fSmrg break ;; 103b042e37fSmrg esac 104b042e37fSmrgdone 105b042e37fSmrg 106b042e37fSmrgcase $# in 107b042e37fSmrg 0) echo "$me: missing argument$help" >&2 108b042e37fSmrg exit 1;; 109b042e37fSmrg 1) ;; 110b042e37fSmrg *) echo "$me: too many arguments$help" >&2 111b042e37fSmrg exit 1;; 112b042e37fSmrgesac 113b042e37fSmrg 114b042e37fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115b042e37fSmrg# Here we must recognize all the valid KERNEL-OS combinations. 116b042e37fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117b042e37fSmrgcase $maybe_os in 118706b6b52Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1198bd17e5fSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 120706b6b52Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 121706b6b52Smrg kopensolaris*-gnu* | \ 1228c4a8e55Smrg storm-chaos* | os2-emx* | rtmk-nova*) 123b042e37fSmrg os=-$maybe_os 124b042e37fSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125b042e37fSmrg ;; 1268bd17e5fSmrg android-linux) 1278bd17e5fSmrg os=-linux-android 1288bd17e5fSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1298bd17e5fSmrg ;; 130b042e37fSmrg *) 131b042e37fSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132b042e37fSmrg if [ $basic_machine != $1 ] 133b042e37fSmrg then os=`echo $1 | sed 's/.*-/-/'` 134b042e37fSmrg else os=; fi 135b042e37fSmrg ;; 136b042e37fSmrgesac 137b042e37fSmrg 138b042e37fSmrg### Let's recognize common machines as not being operating systems so 139b042e37fSmrg### that things like config.sub decstation-3100 work. We also 140b042e37fSmrg### recognize some manufacturers as not being operating systems, so we 141b042e37fSmrg### can provide default operating systems below. 142b042e37fSmrgcase $os in 143b042e37fSmrg -sun*os*) 144b042e37fSmrg # Prevent following clause from handling this invalid input. 145b042e37fSmrg ;; 146b042e37fSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147b042e37fSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148b042e37fSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149b042e37fSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150b042e37fSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151b042e37fSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1528bd17e5fSmrg -apple | -axis | -knuth | -cray | -microblaze*) 153b042e37fSmrg os= 154b042e37fSmrg basic_machine=$1 155b042e37fSmrg ;; 1560597fb56Smrg -bluegene*) 1570597fb56Smrg os=-cnk 158706b6b52Smrg ;; 159b042e37fSmrg -sim | -cisco | -oki | -wec | -winbond) 160b042e37fSmrg os= 161b042e37fSmrg basic_machine=$1 162b042e37fSmrg ;; 163b042e37fSmrg -scout) 164b042e37fSmrg ;; 165b042e37fSmrg -wrs) 166b042e37fSmrg os=-vxworks 167b042e37fSmrg basic_machine=$1 168b042e37fSmrg ;; 169b042e37fSmrg -chorusos*) 170b042e37fSmrg os=-chorusos 171b042e37fSmrg basic_machine=$1 172b042e37fSmrg ;; 1730597fb56Smrg -chorusrdb) 1740597fb56Smrg os=-chorusrdb 175b042e37fSmrg basic_machine=$1 1760597fb56Smrg ;; 177b042e37fSmrg -hiux*) 178b042e37fSmrg os=-hiuxwe2 179b042e37fSmrg ;; 1808c4a8e55Smrg -sco6) 1818c4a8e55Smrg os=-sco5v6 1828c4a8e55Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1838c4a8e55Smrg ;; 184b042e37fSmrg -sco5) 185b042e37fSmrg os=-sco3.2v5 186b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187b042e37fSmrg ;; 188b042e37fSmrg -sco4) 189b042e37fSmrg os=-sco3.2v4 190b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191b042e37fSmrg ;; 192b042e37fSmrg -sco3.2.[4-9]*) 193b042e37fSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195b042e37fSmrg ;; 196b042e37fSmrg -sco3.2v[4-9]*) 197b042e37fSmrg # Don't forget version if it is 3.2v4 or newer. 198b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199b042e37fSmrg ;; 2008c4a8e55Smrg -sco5v6*) 2018c4a8e55Smrg # Don't forget version if it is 3.2v4 or newer. 2028c4a8e55Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2038c4a8e55Smrg ;; 204b042e37fSmrg -sco*) 205b042e37fSmrg os=-sco3.2v2 206b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207b042e37fSmrg ;; 208b042e37fSmrg -udk*) 209b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210b042e37fSmrg ;; 211b042e37fSmrg -isc) 212b042e37fSmrg os=-isc2.2 213b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214b042e37fSmrg ;; 215b042e37fSmrg -clix*) 216b042e37fSmrg basic_machine=clipper-intergraph 217b042e37fSmrg ;; 218b042e37fSmrg -isc*) 219b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220b042e37fSmrg ;; 2218bd17e5fSmrg -lynx*178) 2228bd17e5fSmrg os=-lynxos178 2238bd17e5fSmrg ;; 2248bd17e5fSmrg -lynx*5) 2258bd17e5fSmrg os=-lynxos5 2268bd17e5fSmrg ;; 227b042e37fSmrg -lynx*) 228b042e37fSmrg os=-lynxos 229b042e37fSmrg ;; 230b042e37fSmrg -ptx*) 231b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232b042e37fSmrg ;; 233b042e37fSmrg -windowsnt*) 234b042e37fSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 235b042e37fSmrg ;; 236b042e37fSmrg -psos*) 237b042e37fSmrg os=-psos 238b042e37fSmrg ;; 239b042e37fSmrg -mint | -mint[0-9]*) 240b042e37fSmrg basic_machine=m68k-atari 241b042e37fSmrg os=-mint 242b042e37fSmrg ;; 243b042e37fSmrgesac 244b042e37fSmrg 245b042e37fSmrg# Decode aliases for certain CPU-COMPANY combinations. 246b042e37fSmrgcase $basic_machine in 247b042e37fSmrg # Recognize the basic CPU types without company name. 248b042e37fSmrg # Some are omitted here because they have special meanings below. 249b042e37fSmrg 1750a | 580 \ 250b042e37fSmrg | a29k \ 2518bd17e5fSmrg | aarch64 | aarch64_be \ 252b042e37fSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253b042e37fSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2548c4a8e55Smrg | am33_2.0 \ 2558bd17e5fSmrg | arc | arceb \ 2568bd17e5fSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2578bd17e5fSmrg | avr | avr32 \ 2588bd17e5fSmrg | be32 | be64 \ 2598c4a8e55Smrg | bfin \ 26067594505Smrg | c4x | c8051 | clipper \ 261b042e37fSmrg | d10v | d30v | dlx | dsp16xx \ 2620597fb56Smrg | epiphany \ 263706b6b52Smrg | fido | fr30 | frv \ 264b042e37fSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2650597fb56Smrg | hexagon \ 266b042e37fSmrg | i370 | i860 | i960 | ia64 \ 2678c4a8e55Smrg | ip2k | iq2000 \ 26867594505Smrg | k1om \ 2690597fb56Smrg | le32 | le64 \ 270706b6b52Smrg | lm32 \ 2718c4a8e55Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2728bd17e5fSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273b042e37fSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 274b042e37fSmrg | mips16 \ 275b042e37fSmrg | mips64 | mips64el \ 276706b6b52Smrg | mips64octeon | mips64octeonel \ 277b042e37fSmrg | mips64orion | mips64orionel \ 278706b6b52Smrg | mips64r5900 | mips64r5900el \ 279706b6b52Smrg | mips64vr | mips64vrel \ 280b042e37fSmrg | mips64vr4100 | mips64vr4100el \ 281b042e37fSmrg | mips64vr4300 | mips64vr4300el \ 282b042e37fSmrg | mips64vr5000 | mips64vr5000el \ 2838c4a8e55Smrg | mips64vr5900 | mips64vr5900el \ 284b042e37fSmrg | mipsisa32 | mipsisa32el \ 285b042e37fSmrg | mipsisa32r2 | mipsisa32r2el \ 28667594505Smrg | mipsisa32r6 | mipsisa32r6el \ 287b042e37fSmrg | mipsisa64 | mipsisa64el \ 2888c4a8e55Smrg | mipsisa64r2 | mipsisa64r2el \ 28967594505Smrg | mipsisa64r6 | mipsisa64r6el \ 290b042e37fSmrg | mipsisa64sb1 | mipsisa64sb1el \ 291b042e37fSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 2928bd17e5fSmrg | mipsr5900 | mipsr5900el \ 293b042e37fSmrg | mipstx39 | mipstx39el \ 294b042e37fSmrg | mn10200 | mn10300 \ 295706b6b52Smrg | moxie \ 2968c4a8e55Smrg | mt \ 297b042e37fSmrg | msp430 \ 298706b6b52Smrg | nds32 | nds32le | nds32be \ 2998bd17e5fSmrg | nios | nios2 | nios2eb | nios2el \ 300b042e37fSmrg | ns16k | ns32k \ 30167594505Smrg | open8 | or1k | or1knd | or32 \ 302b042e37fSmrg | pdp10 | pdp11 | pj | pjl \ 3030597fb56Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 304b042e37fSmrg | pyramid \ 3050597fb56Smrg | rl78 | rx \ 3068c4a8e55Smrg | score \ 307706b6b52Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 308b042e37fSmrg | sh64 | sh64le \ 3098c4a8e55Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3108c4a8e55Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3110597fb56Smrg | spu \ 3120597fb56Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 313706b6b52Smrg | ubicom32 \ 3140597fb56Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 315b042e37fSmrg | we32k \ 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 ;; 32967594505Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 330b042e37fSmrg basic_machine=$basic_machine-unknown 331b042e37fSmrg os=-none 332b042e37fSmrg ;; 333b042e37fSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 334b042e37fSmrg ;; 3358c4a8e55Smrg ms1) 3368c4a8e55Smrg basic_machine=mt-unknown 3378c4a8e55Smrg ;; 338b042e37fSmrg 3390597fb56Smrg strongarm | thumb | xscale) 3400597fb56Smrg basic_machine=arm-unknown 3410597fb56Smrg ;; 3428bd17e5fSmrg xgate) 3438bd17e5fSmrg basic_machine=$basic_machine-unknown 3448bd17e5fSmrg os=-none 3458bd17e5fSmrg ;; 3460597fb56Smrg xscaleeb) 3470597fb56Smrg basic_machine=armeb-unknown 3480597fb56Smrg ;; 3490597fb56Smrg 3500597fb56Smrg xscaleel) 3510597fb56Smrg basic_machine=armel-unknown 3520597fb56Smrg ;; 3530597fb56Smrg 354b042e37fSmrg # We use `pc' rather than `unknown' 355b042e37fSmrg # because (1) that's what they normally are, and 356b042e37fSmrg # (2) the word "unknown" tends to confuse beginning users. 357b042e37fSmrg i*86 | x86_64) 358b042e37fSmrg basic_machine=$basic_machine-pc 359b042e37fSmrg ;; 360b042e37fSmrg # Object if more than one company name word. 361b042e37fSmrg *-*-*) 362b042e37fSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 363b042e37fSmrg exit 1 364b042e37fSmrg ;; 365b042e37fSmrg # Recognize the basic CPU types with company name. 366b042e37fSmrg 580-* \ 367b042e37fSmrg | a29k-* \ 3688bd17e5fSmrg | aarch64-* | aarch64_be-* \ 369b042e37fSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 370b042e37fSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3718bd17e5fSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 372b042e37fSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3738c4a8e55Smrg | avr-* | avr32-* \ 3740597fb56Smrg | be32-* | be64-* \ 3758c4a8e55Smrg | bfin-* | bs2000-* \ 376706b6b52Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 37767594505Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 378b042e37fSmrg | d10v-* | d30v-* | dlx-* \ 379b042e37fSmrg | elxsi-* \ 380706b6b52Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 381b042e37fSmrg | h8300-* | h8500-* \ 382b042e37fSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3830597fb56Smrg | hexagon-* \ 384b042e37fSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3858c4a8e55Smrg | ip2k-* | iq2000-* \ 38667594505Smrg | k1om-* \ 3870597fb56Smrg | le32-* | le64-* \ 388706b6b52Smrg | lm32-* \ 3898c4a8e55Smrg | m32c-* | m32r-* | m32rle-* \ 390b042e37fSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3918bd17e5fSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3928bd17e5fSmrg | microblaze-* | microblazeel-* \ 393b042e37fSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 394b042e37fSmrg | mips16-* \ 395b042e37fSmrg | mips64-* | mips64el-* \ 396706b6b52Smrg | mips64octeon-* | mips64octeonel-* \ 397b042e37fSmrg | mips64orion-* | mips64orionel-* \ 398706b6b52Smrg | mips64r5900-* | mips64r5900el-* \ 399706b6b52Smrg | mips64vr-* | mips64vrel-* \ 400b042e37fSmrg | mips64vr4100-* | mips64vr4100el-* \ 401b042e37fSmrg | mips64vr4300-* | mips64vr4300el-* \ 402b042e37fSmrg | mips64vr5000-* | mips64vr5000el-* \ 4038c4a8e55Smrg | mips64vr5900-* | mips64vr5900el-* \ 404b042e37fSmrg | mipsisa32-* | mipsisa32el-* \ 405b042e37fSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 40667594505Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 407b042e37fSmrg | mipsisa64-* | mipsisa64el-* \ 4088c4a8e55Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 40967594505Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 410b042e37fSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 411b042e37fSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4128bd17e5fSmrg | mipsr5900-* | mipsr5900el-* \ 413b042e37fSmrg | mipstx39-* | mipstx39el-* \ 4148c4a8e55Smrg | mmix-* \ 4158c4a8e55Smrg | mt-* \ 416b042e37fSmrg | msp430-* \ 417706b6b52Smrg | nds32-* | nds32le-* | nds32be-* \ 4188bd17e5fSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4198c4a8e55Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4200597fb56Smrg | open8-* \ 42167594505Smrg | or1k*-* \ 422b042e37fSmrg | orion-* \ 423b042e37fSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4240597fb56Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 425b042e37fSmrg | pyramid-* \ 4260597fb56Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 427706b6b52Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 428b042e37fSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4298c4a8e55Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4308c4a8e55Smrg | sparclite-* \ 4310597fb56Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4320597fb56Smrg | tahoe-* \ 433b042e37fSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4340597fb56Smrg | tile*-* \ 435b042e37fSmrg | tron-* \ 436706b6b52Smrg | ubicom32-* \ 4370597fb56Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4380597fb56Smrg | vax-* \ 439b042e37fSmrg | we32k-* \ 4400597fb56Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 441706b6b52Smrg | xstormy16-* | xtensa*-* \ 442b042e37fSmrg | ymp-* \ 443706b6b52Smrg | z8k-* | z80-*) 444706b6b52Smrg ;; 445706b6b52Smrg # Recognize the basic CPU types without company name, with glob match. 446706b6b52Smrg xtensa*) 447706b6b52Smrg basic_machine=$basic_machine-unknown 448b042e37fSmrg ;; 449b042e37fSmrg # Recognize the various machine names and aliases which stand 450b042e37fSmrg # for a CPU type and a company and sometimes even an OS. 451b042e37fSmrg 386bsd) 452b042e37fSmrg basic_machine=i386-unknown 453b042e37fSmrg os=-bsd 454b042e37fSmrg ;; 455b042e37fSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 456b042e37fSmrg basic_machine=m68000-att 457b042e37fSmrg ;; 458b042e37fSmrg 3b*) 459b042e37fSmrg basic_machine=we32k-att 460b042e37fSmrg ;; 461b042e37fSmrg a29khif) 462b042e37fSmrg basic_machine=a29k-amd 463b042e37fSmrg os=-udi 464b042e37fSmrg ;; 4650597fb56Smrg abacus) 4668c4a8e55Smrg basic_machine=abacus-unknown 4678c4a8e55Smrg ;; 468b042e37fSmrg adobe68k) 469b042e37fSmrg basic_machine=m68010-adobe 470b042e37fSmrg os=-scout 471b042e37fSmrg ;; 472b042e37fSmrg alliant | fx80) 473b042e37fSmrg basic_machine=fx80-alliant 474b042e37fSmrg ;; 475b042e37fSmrg altos | altos3068) 476b042e37fSmrg basic_machine=m68k-altos 477b042e37fSmrg ;; 478b042e37fSmrg am29k) 479b042e37fSmrg basic_machine=a29k-none 480b042e37fSmrg os=-bsd 481b042e37fSmrg ;; 482b042e37fSmrg amd64) 483b042e37fSmrg basic_machine=x86_64-pc 484b042e37fSmrg ;; 4858c4a8e55Smrg amd64-*) 4868c4a8e55Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4878c4a8e55Smrg ;; 488b042e37fSmrg amdahl) 489b042e37fSmrg basic_machine=580-amdahl 490b042e37fSmrg os=-sysv 491b042e37fSmrg ;; 492b042e37fSmrg amiga | amiga-*) 493b042e37fSmrg basic_machine=m68k-unknown 494b042e37fSmrg ;; 495b042e37fSmrg amigaos | amigados) 496b042e37fSmrg basic_machine=m68k-unknown 497b042e37fSmrg os=-amigaos 498b042e37fSmrg ;; 499b042e37fSmrg amigaunix | amix) 500b042e37fSmrg basic_machine=m68k-unknown 501b042e37fSmrg os=-sysv4 502b042e37fSmrg ;; 503b042e37fSmrg apollo68) 504b042e37fSmrg basic_machine=m68k-apollo 505b042e37fSmrg os=-sysv 506b042e37fSmrg ;; 507b042e37fSmrg apollo68bsd) 508b042e37fSmrg basic_machine=m68k-apollo 509b042e37fSmrg os=-bsd 510b042e37fSmrg ;; 511706b6b52Smrg aros) 512706b6b52Smrg basic_machine=i386-pc 513706b6b52Smrg os=-aros 514706b6b52Smrg ;; 515b042e37fSmrg aux) 516b042e37fSmrg basic_machine=m68k-apple 517b042e37fSmrg os=-aux 518b042e37fSmrg ;; 519b042e37fSmrg balance) 520b042e37fSmrg basic_machine=ns32k-sequent 521b042e37fSmrg os=-dynix 522b042e37fSmrg ;; 523706b6b52Smrg blackfin) 524706b6b52Smrg basic_machine=bfin-unknown 525706b6b52Smrg os=-linux 526706b6b52Smrg ;; 527706b6b52Smrg blackfin-*) 528706b6b52Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 529706b6b52Smrg os=-linux 530706b6b52Smrg ;; 531706b6b52Smrg bluegene*) 532706b6b52Smrg basic_machine=powerpc-ibm 533706b6b52Smrg os=-cnk 534706b6b52Smrg ;; 535706b6b52Smrg c54x-*) 536706b6b52Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 537706b6b52Smrg ;; 538706b6b52Smrg c55x-*) 539706b6b52Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 540706b6b52Smrg ;; 541706b6b52Smrg c6x-*) 542706b6b52Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 543706b6b52Smrg ;; 544b042e37fSmrg c90) 545b042e37fSmrg basic_machine=c90-cray 546b042e37fSmrg os=-unicos 547b042e37fSmrg ;; 5480597fb56Smrg cegcc) 549706b6b52Smrg basic_machine=arm-unknown 550706b6b52Smrg os=-cegcc 551706b6b52Smrg ;; 552b042e37fSmrg convex-c1) 553b042e37fSmrg basic_machine=c1-convex 554b042e37fSmrg os=-bsd 555b042e37fSmrg ;; 556b042e37fSmrg convex-c2) 557b042e37fSmrg basic_machine=c2-convex 558b042e37fSmrg os=-bsd 559b042e37fSmrg ;; 560b042e37fSmrg convex-c32) 561b042e37fSmrg basic_machine=c32-convex 562b042e37fSmrg os=-bsd 563b042e37fSmrg ;; 564b042e37fSmrg convex-c34) 565b042e37fSmrg basic_machine=c34-convex 566b042e37fSmrg os=-bsd 567b042e37fSmrg ;; 568b042e37fSmrg convex-c38) 569b042e37fSmrg basic_machine=c38-convex 570b042e37fSmrg os=-bsd 571b042e37fSmrg ;; 572b042e37fSmrg cray | j90) 573b042e37fSmrg basic_machine=j90-cray 574b042e37fSmrg os=-unicos 575b042e37fSmrg ;; 5768c4a8e55Smrg craynv) 5778c4a8e55Smrg basic_machine=craynv-cray 5788c4a8e55Smrg os=-unicosmp 5798c4a8e55Smrg ;; 5800597fb56Smrg cr16 | cr16-*) 581706b6b52Smrg basic_machine=cr16-unknown 5828c4a8e55Smrg os=-elf 5838c4a8e55Smrg ;; 584b042e37fSmrg crds | unos) 585b042e37fSmrg basic_machine=m68k-crds 586b042e37fSmrg ;; 5878c4a8e55Smrg crisv32 | crisv32-* | etraxfs*) 5888c4a8e55Smrg basic_machine=crisv32-axis 5898c4a8e55Smrg ;; 590b042e37fSmrg cris | cris-* | etrax*) 591b042e37fSmrg basic_machine=cris-axis 592b042e37fSmrg ;; 5938c4a8e55Smrg crx) 5948c4a8e55Smrg basic_machine=crx-unknown 5958c4a8e55Smrg os=-elf 5968c4a8e55Smrg ;; 597b042e37fSmrg da30 | da30-*) 598b042e37fSmrg basic_machine=m68k-da30 599b042e37fSmrg ;; 600b042e37fSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 601b042e37fSmrg basic_machine=mips-dec 602b042e37fSmrg ;; 603b042e37fSmrg decsystem10* | dec10*) 604b042e37fSmrg basic_machine=pdp10-dec 605b042e37fSmrg os=-tops10 606b042e37fSmrg ;; 607b042e37fSmrg decsystem20* | dec20*) 608b042e37fSmrg basic_machine=pdp10-dec 609b042e37fSmrg os=-tops20 610b042e37fSmrg ;; 611b042e37fSmrg delta | 3300 | motorola-3300 | motorola-delta \ 612b042e37fSmrg | 3300-motorola | delta-motorola) 613b042e37fSmrg basic_machine=m68k-motorola 614b042e37fSmrg ;; 615b042e37fSmrg delta88) 616b042e37fSmrg basic_machine=m88k-motorola 617b042e37fSmrg os=-sysv3 618b042e37fSmrg ;; 619706b6b52Smrg dicos) 620706b6b52Smrg basic_machine=i686-pc 621706b6b52Smrg os=-dicos 622706b6b52Smrg ;; 6238c4a8e55Smrg djgpp) 6248c4a8e55Smrg basic_machine=i586-pc 6258c4a8e55Smrg os=-msdosdjgpp 6268c4a8e55Smrg ;; 627b042e37fSmrg dpx20 | dpx20-*) 628b042e37fSmrg basic_machine=rs6000-bull 629b042e37fSmrg os=-bosx 630b042e37fSmrg ;; 631b042e37fSmrg dpx2* | dpx2*-bull) 632b042e37fSmrg basic_machine=m68k-bull 633b042e37fSmrg os=-sysv3 634b042e37fSmrg ;; 635b042e37fSmrg ebmon29k) 636b042e37fSmrg basic_machine=a29k-amd 637b042e37fSmrg os=-ebmon 638b042e37fSmrg ;; 639b042e37fSmrg elxsi) 640b042e37fSmrg basic_machine=elxsi-elxsi 641b042e37fSmrg os=-bsd 642b042e37fSmrg ;; 643b042e37fSmrg encore | umax | mmax) 644b042e37fSmrg basic_machine=ns32k-encore 645b042e37fSmrg ;; 646b042e37fSmrg es1800 | OSE68k | ose68k | ose | OSE) 647b042e37fSmrg basic_machine=m68k-ericsson 648b042e37fSmrg os=-ose 649b042e37fSmrg ;; 650b042e37fSmrg fx2800) 651b042e37fSmrg basic_machine=i860-alliant 652b042e37fSmrg ;; 653b042e37fSmrg genix) 654b042e37fSmrg basic_machine=ns32k-ns 655b042e37fSmrg ;; 656b042e37fSmrg gmicro) 657b042e37fSmrg basic_machine=tron-gmicro 658b042e37fSmrg os=-sysv 659b042e37fSmrg ;; 660b042e37fSmrg go32) 661b042e37fSmrg basic_machine=i386-pc 662b042e37fSmrg os=-go32 663b042e37fSmrg ;; 664b042e37fSmrg h3050r* | hiux*) 665b042e37fSmrg basic_machine=hppa1.1-hitachi 666b042e37fSmrg os=-hiuxwe2 667b042e37fSmrg ;; 668b042e37fSmrg h8300hms) 669b042e37fSmrg basic_machine=h8300-hitachi 670b042e37fSmrg os=-hms 671b042e37fSmrg ;; 672b042e37fSmrg h8300xray) 673b042e37fSmrg basic_machine=h8300-hitachi 674b042e37fSmrg os=-xray 675b042e37fSmrg ;; 676b042e37fSmrg h8500hms) 677b042e37fSmrg basic_machine=h8500-hitachi 678b042e37fSmrg os=-hms 679b042e37fSmrg ;; 680b042e37fSmrg harris) 681b042e37fSmrg basic_machine=m88k-harris 682b042e37fSmrg os=-sysv3 683b042e37fSmrg ;; 684b042e37fSmrg hp300-*) 685b042e37fSmrg basic_machine=m68k-hp 686b042e37fSmrg ;; 687b042e37fSmrg hp300bsd) 688b042e37fSmrg basic_machine=m68k-hp 689b042e37fSmrg os=-bsd 690b042e37fSmrg ;; 691b042e37fSmrg hp300hpux) 692b042e37fSmrg basic_machine=m68k-hp 693b042e37fSmrg os=-hpux 694b042e37fSmrg ;; 695b042e37fSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 696b042e37fSmrg basic_machine=hppa1.0-hp 697b042e37fSmrg ;; 698b042e37fSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 699b042e37fSmrg basic_machine=m68000-hp 700b042e37fSmrg ;; 701b042e37fSmrg hp9k3[2-9][0-9]) 702b042e37fSmrg basic_machine=m68k-hp 703b042e37fSmrg ;; 704b042e37fSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 705b042e37fSmrg basic_machine=hppa1.0-hp 706b042e37fSmrg ;; 707b042e37fSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 708b042e37fSmrg basic_machine=hppa1.1-hp 709b042e37fSmrg ;; 710b042e37fSmrg hp9k78[0-9] | hp78[0-9]) 711b042e37fSmrg # FIXME: really hppa2.0-hp 712b042e37fSmrg basic_machine=hppa1.1-hp 713b042e37fSmrg ;; 714b042e37fSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 715b042e37fSmrg # FIXME: really hppa2.0-hp 716b042e37fSmrg basic_machine=hppa1.1-hp 717b042e37fSmrg ;; 718b042e37fSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 719b042e37fSmrg basic_machine=hppa1.1-hp 720b042e37fSmrg ;; 721b042e37fSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 722b042e37fSmrg basic_machine=hppa1.0-hp 723b042e37fSmrg ;; 724b042e37fSmrg hppa-next) 725b042e37fSmrg os=-nextstep3 726b042e37fSmrg ;; 727b042e37fSmrg hppaosf) 728b042e37fSmrg basic_machine=hppa1.1-hp 729b042e37fSmrg os=-osf 730b042e37fSmrg ;; 731b042e37fSmrg hppro) 732b042e37fSmrg basic_machine=hppa1.1-hp 733b042e37fSmrg os=-proelf 734b042e37fSmrg ;; 735b042e37fSmrg i370-ibm* | ibm*) 736b042e37fSmrg basic_machine=i370-ibm 737b042e37fSmrg ;; 738b042e37fSmrg i*86v32) 739b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 740b042e37fSmrg os=-sysv32 741b042e37fSmrg ;; 742b042e37fSmrg i*86v4*) 743b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 744b042e37fSmrg os=-sysv4 745b042e37fSmrg ;; 746b042e37fSmrg i*86v) 747b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 748b042e37fSmrg os=-sysv 749b042e37fSmrg ;; 750b042e37fSmrg i*86sol2) 751b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 752b042e37fSmrg os=-solaris2 753b042e37fSmrg ;; 754b042e37fSmrg i386mach) 755b042e37fSmrg basic_machine=i386-mach 756b042e37fSmrg os=-mach 757b042e37fSmrg ;; 758b042e37fSmrg i386-vsta | vsta) 759b042e37fSmrg basic_machine=i386-unknown 760b042e37fSmrg os=-vsta 761b042e37fSmrg ;; 762b042e37fSmrg iris | iris4d) 763b042e37fSmrg basic_machine=mips-sgi 764b042e37fSmrg case $os in 765b042e37fSmrg -irix*) 766b042e37fSmrg ;; 767b042e37fSmrg *) 768b042e37fSmrg os=-irix4 769b042e37fSmrg ;; 770b042e37fSmrg esac 771b042e37fSmrg ;; 772b042e37fSmrg isi68 | isi) 773b042e37fSmrg basic_machine=m68k-isi 774b042e37fSmrg os=-sysv 775b042e37fSmrg ;; 776706b6b52Smrg m68knommu) 777706b6b52Smrg basic_machine=m68k-unknown 778706b6b52Smrg os=-linux 779706b6b52Smrg ;; 780706b6b52Smrg m68knommu-*) 781706b6b52Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 782706b6b52Smrg os=-linux 783706b6b52Smrg ;; 784b042e37fSmrg m88k-omron*) 785b042e37fSmrg basic_machine=m88k-omron 786b042e37fSmrg ;; 787b042e37fSmrg magnum | m3230) 788b042e37fSmrg basic_machine=mips-mips 789b042e37fSmrg os=-sysv 790b042e37fSmrg ;; 791b042e37fSmrg merlin) 792b042e37fSmrg basic_machine=ns32k-utek 793b042e37fSmrg os=-sysv 794b042e37fSmrg ;; 7958bd17e5fSmrg microblaze*) 796706b6b52Smrg basic_machine=microblaze-xilinx 797706b6b52Smrg ;; 7988bd17e5fSmrg mingw64) 7998bd17e5fSmrg basic_machine=x86_64-pc 8008bd17e5fSmrg os=-mingw64 8018bd17e5fSmrg ;; 802b042e37fSmrg mingw32) 80367594505Smrg basic_machine=i686-pc 804b042e37fSmrg os=-mingw32 805b042e37fSmrg ;; 806706b6b52Smrg mingw32ce) 807706b6b52Smrg basic_machine=arm-unknown 808706b6b52Smrg os=-mingw32ce 809706b6b52Smrg ;; 810b042e37fSmrg miniframe) 811b042e37fSmrg basic_machine=m68000-convergent 812b042e37fSmrg ;; 813b042e37fSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 814b042e37fSmrg basic_machine=m68k-atari 815b042e37fSmrg os=-mint 816b042e37fSmrg ;; 817b042e37fSmrg mips3*-*) 818b042e37fSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 819b042e37fSmrg ;; 820b042e37fSmrg mips3*) 821b042e37fSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 822b042e37fSmrg ;; 823b042e37fSmrg monitor) 824b042e37fSmrg basic_machine=m68k-rom68k 825b042e37fSmrg os=-coff 826b042e37fSmrg ;; 827b042e37fSmrg morphos) 828b042e37fSmrg basic_machine=powerpc-unknown 829b042e37fSmrg os=-morphos 830b042e37fSmrg ;; 83167594505Smrg moxiebox) 83267594505Smrg basic_machine=moxie-unknown 83367594505Smrg os=-moxiebox 83467594505Smrg ;; 835b042e37fSmrg msdos) 836b042e37fSmrg basic_machine=i386-pc 837b042e37fSmrg os=-msdos 838b042e37fSmrg ;; 8398c4a8e55Smrg ms1-*) 8408c4a8e55Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8418c4a8e55Smrg ;; 8420597fb56Smrg msys) 84367594505Smrg basic_machine=i686-pc 8440597fb56Smrg os=-msys 8450597fb56Smrg ;; 846b042e37fSmrg mvs) 847b042e37fSmrg basic_machine=i370-ibm 848b042e37fSmrg os=-mvs 849b042e37fSmrg ;; 8500597fb56Smrg nacl) 8510597fb56Smrg basic_machine=le32-unknown 8520597fb56Smrg os=-nacl 8530597fb56Smrg ;; 854b042e37fSmrg ncr3000) 855b042e37fSmrg basic_machine=i486-ncr 856b042e37fSmrg os=-sysv4 857b042e37fSmrg ;; 858b042e37fSmrg netbsd386) 859b042e37fSmrg basic_machine=i386-unknown 860b042e37fSmrg os=-netbsd 861b042e37fSmrg ;; 862b042e37fSmrg netwinder) 863b042e37fSmrg basic_machine=armv4l-rebel 864b042e37fSmrg os=-linux 865b042e37fSmrg ;; 866b042e37fSmrg news | news700 | news800 | news900) 867b042e37fSmrg basic_machine=m68k-sony 868b042e37fSmrg os=-newsos 869b042e37fSmrg ;; 870b042e37fSmrg news1000) 871b042e37fSmrg basic_machine=m68030-sony 872b042e37fSmrg os=-newsos 873b042e37fSmrg ;; 874b042e37fSmrg news-3600 | risc-news) 875b042e37fSmrg basic_machine=mips-sony 876b042e37fSmrg os=-newsos 877b042e37fSmrg ;; 878b042e37fSmrg necv70) 879b042e37fSmrg basic_machine=v70-nec 880b042e37fSmrg os=-sysv 881b042e37fSmrg ;; 882b042e37fSmrg next | m*-next ) 883b042e37fSmrg basic_machine=m68k-next 884b042e37fSmrg case $os in 885b042e37fSmrg -nextstep* ) 886b042e37fSmrg ;; 887b042e37fSmrg -ns2*) 888b042e37fSmrg os=-nextstep2 889b042e37fSmrg ;; 890b042e37fSmrg *) 891b042e37fSmrg os=-nextstep3 892b042e37fSmrg ;; 893b042e37fSmrg esac 894b042e37fSmrg ;; 895b042e37fSmrg nh3000) 896b042e37fSmrg basic_machine=m68k-harris 897b042e37fSmrg os=-cxux 898b042e37fSmrg ;; 899b042e37fSmrg nh[45]000) 900b042e37fSmrg basic_machine=m88k-harris 901b042e37fSmrg os=-cxux 902b042e37fSmrg ;; 903b042e37fSmrg nindy960) 904b042e37fSmrg basic_machine=i960-intel 905b042e37fSmrg os=-nindy 906b042e37fSmrg ;; 907b042e37fSmrg mon960) 908b042e37fSmrg basic_machine=i960-intel 909b042e37fSmrg os=-mon960 910b042e37fSmrg ;; 911b042e37fSmrg nonstopux) 912b042e37fSmrg basic_machine=mips-compaq 913b042e37fSmrg os=-nonstopux 914b042e37fSmrg ;; 915b042e37fSmrg np1) 916b042e37fSmrg basic_machine=np1-gould 917b042e37fSmrg ;; 9180597fb56Smrg neo-tandem) 919706b6b52Smrg basic_machine=neo-tandem 920706b6b52Smrg ;; 9210597fb56Smrg nse-tandem) 922706b6b52Smrg basic_machine=nse-tandem 923706b6b52Smrg ;; 924b042e37fSmrg nsr-tandem) 925b042e37fSmrg basic_machine=nsr-tandem 926b042e37fSmrg ;; 927b042e37fSmrg op50n-* | op60c-*) 928b042e37fSmrg basic_machine=hppa1.1-oki 929b042e37fSmrg os=-proelf 930b042e37fSmrg ;; 9318c4a8e55Smrg openrisc | openrisc-*) 932b042e37fSmrg basic_machine=or32-unknown 9338c4a8e55Smrg ;; 9348c4a8e55Smrg os400) 9358c4a8e55Smrg basic_machine=powerpc-ibm 9368c4a8e55Smrg os=-os400 937b042e37fSmrg ;; 938b042e37fSmrg OSE68000 | ose68000) 939b042e37fSmrg basic_machine=m68000-ericsson 940b042e37fSmrg os=-ose 941b042e37fSmrg ;; 942b042e37fSmrg os68k) 943b042e37fSmrg basic_machine=m68k-none 944b042e37fSmrg os=-os68k 945b042e37fSmrg ;; 946b042e37fSmrg pa-hitachi) 947b042e37fSmrg basic_machine=hppa1.1-hitachi 948b042e37fSmrg os=-hiuxwe2 949b042e37fSmrg ;; 950b042e37fSmrg paragon) 951b042e37fSmrg basic_machine=i860-intel 952b042e37fSmrg os=-osf 953b042e37fSmrg ;; 954706b6b52Smrg parisc) 955706b6b52Smrg basic_machine=hppa-unknown 956706b6b52Smrg os=-linux 957706b6b52Smrg ;; 958706b6b52Smrg parisc-*) 959706b6b52Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 960706b6b52Smrg os=-linux 961706b6b52Smrg ;; 962b042e37fSmrg pbd) 963b042e37fSmrg basic_machine=sparc-tti 964b042e37fSmrg ;; 965b042e37fSmrg pbb) 966b042e37fSmrg basic_machine=m68k-tti 967b042e37fSmrg ;; 968b042e37fSmrg pc532 | pc532-*) 969b042e37fSmrg basic_machine=ns32k-pc532 970b042e37fSmrg ;; 9718c4a8e55Smrg pc98) 9728c4a8e55Smrg basic_machine=i386-pc 9738c4a8e55Smrg ;; 9748c4a8e55Smrg pc98-*) 9758c4a8e55Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9768c4a8e55Smrg ;; 977b042e37fSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 978b042e37fSmrg basic_machine=i586-pc 979b042e37fSmrg ;; 980b042e37fSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 981b042e37fSmrg basic_machine=i686-pc 982b042e37fSmrg ;; 983b042e37fSmrg pentiumii | pentium2 | pentiumiii | pentium3) 984b042e37fSmrg basic_machine=i686-pc 985b042e37fSmrg ;; 986b042e37fSmrg pentium4) 987b042e37fSmrg basic_machine=i786-pc 988b042e37fSmrg ;; 989b042e37fSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 990b042e37fSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 991b042e37fSmrg ;; 992b042e37fSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 993b042e37fSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 994b042e37fSmrg ;; 995b042e37fSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 996b042e37fSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 997b042e37fSmrg ;; 998b042e37fSmrg pentium4-*) 999b042e37fSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1000b042e37fSmrg ;; 1001b042e37fSmrg pn) 1002b042e37fSmrg basic_machine=pn-gould 1003b042e37fSmrg ;; 1004b042e37fSmrg power) basic_machine=power-ibm 1005b042e37fSmrg ;; 10060597fb56Smrg ppc | ppcbe) basic_machine=powerpc-unknown 1007b042e37fSmrg ;; 10080597fb56Smrg ppc-* | ppcbe-*) 10090597fb56Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1010b042e37fSmrg ;; 1011b042e37fSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 1012b042e37fSmrg basic_machine=powerpcle-unknown 1013b042e37fSmrg ;; 1014b042e37fSmrg ppcle-* | powerpclittle-*) 1015b042e37fSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1016b042e37fSmrg ;; 1017b042e37fSmrg ppc64) basic_machine=powerpc64-unknown 1018b042e37fSmrg ;; 101967594505Smrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1020b042e37fSmrg ;; 1021b042e37fSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1022b042e37fSmrg basic_machine=powerpc64le-unknown 1023b042e37fSmrg ;; 1024b042e37fSmrg ppc64le-* | powerpc64little-*) 1025b042e37fSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1026b042e37fSmrg ;; 1027b042e37fSmrg ps2) 1028b042e37fSmrg basic_machine=i386-ibm 1029b042e37fSmrg ;; 1030b042e37fSmrg pw32) 1031b042e37fSmrg basic_machine=i586-unknown 1032b042e37fSmrg os=-pw32 1033b042e37fSmrg ;; 10348bd17e5fSmrg rdos | rdos64) 10358bd17e5fSmrg basic_machine=x86_64-pc 10368bd17e5fSmrg os=-rdos 10378bd17e5fSmrg ;; 10388bd17e5fSmrg rdos32) 10398c4a8e55Smrg basic_machine=i386-pc 10408c4a8e55Smrg os=-rdos 10418c4a8e55Smrg ;; 1042b042e37fSmrg rom68k) 1043b042e37fSmrg basic_machine=m68k-rom68k 1044b042e37fSmrg os=-coff 1045b042e37fSmrg ;; 1046b042e37fSmrg rm[46]00) 1047b042e37fSmrg basic_machine=mips-siemens 1048b042e37fSmrg ;; 1049b042e37fSmrg rtpc | rtpc-*) 1050b042e37fSmrg basic_machine=romp-ibm 1051b042e37fSmrg ;; 1052b042e37fSmrg s390 | s390-*) 1053b042e37fSmrg basic_machine=s390-ibm 1054b042e37fSmrg ;; 1055b042e37fSmrg s390x | s390x-*) 1056b042e37fSmrg basic_machine=s390x-ibm 1057b042e37fSmrg ;; 1058b042e37fSmrg sa29200) 1059b042e37fSmrg basic_machine=a29k-amd 1060b042e37fSmrg os=-udi 1061b042e37fSmrg ;; 1062b042e37fSmrg sb1) 1063b042e37fSmrg basic_machine=mipsisa64sb1-unknown 1064b042e37fSmrg ;; 1065b042e37fSmrg sb1el) 1066b042e37fSmrg basic_machine=mipsisa64sb1el-unknown 1067b042e37fSmrg ;; 10688c4a8e55Smrg sde) 10698c4a8e55Smrg basic_machine=mipsisa32-sde 10708c4a8e55Smrg os=-elf 10718c4a8e55Smrg ;; 1072b042e37fSmrg sei) 1073b042e37fSmrg basic_machine=mips-sei 1074b042e37fSmrg os=-seiux 1075b042e37fSmrg ;; 1076b042e37fSmrg sequent) 1077b042e37fSmrg basic_machine=i386-sequent 1078b042e37fSmrg ;; 1079b042e37fSmrg sh) 1080b042e37fSmrg basic_machine=sh-hitachi 1081b042e37fSmrg os=-hms 1082b042e37fSmrg ;; 1083706b6b52Smrg sh5el) 1084706b6b52Smrg basic_machine=sh5le-unknown 1085706b6b52Smrg ;; 1086b042e37fSmrg sh64) 1087b042e37fSmrg basic_machine=sh64-unknown 1088b042e37fSmrg ;; 1089b042e37fSmrg sparclite-wrs | simso-wrs) 1090b042e37fSmrg basic_machine=sparclite-wrs 1091b042e37fSmrg os=-vxworks 1092b042e37fSmrg ;; 1093b042e37fSmrg sps7) 1094b042e37fSmrg basic_machine=m68k-bull 1095b042e37fSmrg os=-sysv2 1096b042e37fSmrg ;; 1097b042e37fSmrg spur) 1098b042e37fSmrg basic_machine=spur-unknown 1099b042e37fSmrg ;; 1100b042e37fSmrg st2000) 1101b042e37fSmrg basic_machine=m68k-tandem 1102b042e37fSmrg ;; 1103b042e37fSmrg stratus) 1104b042e37fSmrg basic_machine=i860-stratus 1105b042e37fSmrg os=-sysv4 1106b042e37fSmrg ;; 11070597fb56Smrg strongarm-* | thumb-*) 11080597fb56Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11090597fb56Smrg ;; 1110b042e37fSmrg sun2) 1111b042e37fSmrg basic_machine=m68000-sun 1112b042e37fSmrg ;; 1113b042e37fSmrg sun2os3) 1114b042e37fSmrg basic_machine=m68000-sun 1115b042e37fSmrg os=-sunos3 1116b042e37fSmrg ;; 1117b042e37fSmrg sun2os4) 1118b042e37fSmrg basic_machine=m68000-sun 1119b042e37fSmrg os=-sunos4 1120b042e37fSmrg ;; 1121b042e37fSmrg sun3os3) 1122b042e37fSmrg basic_machine=m68k-sun 1123b042e37fSmrg os=-sunos3 1124b042e37fSmrg ;; 1125b042e37fSmrg sun3os4) 1126b042e37fSmrg basic_machine=m68k-sun 1127b042e37fSmrg os=-sunos4 1128b042e37fSmrg ;; 1129b042e37fSmrg sun4os3) 1130b042e37fSmrg basic_machine=sparc-sun 1131b042e37fSmrg os=-sunos3 1132b042e37fSmrg ;; 1133b042e37fSmrg sun4os4) 1134b042e37fSmrg basic_machine=sparc-sun 1135b042e37fSmrg os=-sunos4 1136b042e37fSmrg ;; 1137b042e37fSmrg sun4sol2) 1138b042e37fSmrg basic_machine=sparc-sun 1139b042e37fSmrg os=-solaris2 1140b042e37fSmrg ;; 1141b042e37fSmrg sun3 | sun3-*) 1142b042e37fSmrg basic_machine=m68k-sun 1143b042e37fSmrg ;; 1144b042e37fSmrg sun4) 1145b042e37fSmrg basic_machine=sparc-sun 1146b042e37fSmrg ;; 1147b042e37fSmrg sun386 | sun386i | roadrunner) 1148b042e37fSmrg basic_machine=i386-sun 1149b042e37fSmrg ;; 1150b042e37fSmrg sv1) 1151b042e37fSmrg basic_machine=sv1-cray 1152b042e37fSmrg os=-unicos 1153b042e37fSmrg ;; 1154b042e37fSmrg symmetry) 1155b042e37fSmrg basic_machine=i386-sequent 1156b042e37fSmrg os=-dynix 1157b042e37fSmrg ;; 1158b042e37fSmrg t3e) 1159b042e37fSmrg basic_machine=alphaev5-cray 1160b042e37fSmrg os=-unicos 1161b042e37fSmrg ;; 1162b042e37fSmrg t90) 1163b042e37fSmrg basic_machine=t90-cray 1164b042e37fSmrg os=-unicos 1165b042e37fSmrg ;; 1166706b6b52Smrg tile*) 11670597fb56Smrg basic_machine=$basic_machine-unknown 1168706b6b52Smrg os=-linux-gnu 1169b042e37fSmrg ;; 1170b042e37fSmrg tx39) 1171b042e37fSmrg basic_machine=mipstx39-unknown 1172b042e37fSmrg ;; 1173b042e37fSmrg tx39el) 1174b042e37fSmrg basic_machine=mipstx39el-unknown 1175b042e37fSmrg ;; 1176b042e37fSmrg toad1) 1177b042e37fSmrg basic_machine=pdp10-xkl 1178b042e37fSmrg os=-tops20 1179b042e37fSmrg ;; 1180b042e37fSmrg tower | tower-32) 1181b042e37fSmrg basic_machine=m68k-ncr 1182b042e37fSmrg ;; 11838c4a8e55Smrg tpf) 11848c4a8e55Smrg basic_machine=s390x-ibm 11858c4a8e55Smrg os=-tpf 11868c4a8e55Smrg ;; 1187b042e37fSmrg udi29k) 1188b042e37fSmrg basic_machine=a29k-amd 1189b042e37fSmrg os=-udi 1190b042e37fSmrg ;; 1191b042e37fSmrg ultra3) 1192b042e37fSmrg basic_machine=a29k-nyu 1193b042e37fSmrg os=-sym1 1194b042e37fSmrg ;; 1195b042e37fSmrg v810 | necv810) 1196b042e37fSmrg basic_machine=v810-nec 1197b042e37fSmrg os=-none 1198b042e37fSmrg ;; 1199b042e37fSmrg vaxv) 1200b042e37fSmrg basic_machine=vax-dec 1201b042e37fSmrg os=-sysv 1202b042e37fSmrg ;; 1203b042e37fSmrg vms) 1204b042e37fSmrg basic_machine=vax-dec 1205b042e37fSmrg os=-vms 1206b042e37fSmrg ;; 1207b042e37fSmrg vpp*|vx|vx-*) 1208b042e37fSmrg basic_machine=f301-fujitsu 1209b042e37fSmrg ;; 1210b042e37fSmrg vxworks960) 1211b042e37fSmrg basic_machine=i960-wrs 1212b042e37fSmrg os=-vxworks 1213b042e37fSmrg ;; 1214b042e37fSmrg vxworks68) 1215b042e37fSmrg basic_machine=m68k-wrs 1216b042e37fSmrg os=-vxworks 1217b042e37fSmrg ;; 1218b042e37fSmrg vxworks29k) 1219b042e37fSmrg basic_machine=a29k-wrs 1220b042e37fSmrg os=-vxworks 1221b042e37fSmrg ;; 1222b042e37fSmrg w65*) 1223b042e37fSmrg basic_machine=w65-wdc 1224b042e37fSmrg os=-none 1225b042e37fSmrg ;; 1226b042e37fSmrg w89k-*) 1227b042e37fSmrg basic_machine=hppa1.1-winbond 1228b042e37fSmrg os=-proelf 1229b042e37fSmrg ;; 12308c4a8e55Smrg xbox) 12318c4a8e55Smrg basic_machine=i686-pc 12328c4a8e55Smrg os=-mingw32 12338c4a8e55Smrg ;; 1234b042e37fSmrg xps | xps100) 1235b042e37fSmrg basic_machine=xps100-honeywell 1236b042e37fSmrg ;; 12370597fb56Smrg xscale-* | xscalee[bl]-*) 12380597fb56Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12390597fb56Smrg ;; 1240b042e37fSmrg ymp) 1241b042e37fSmrg basic_machine=ymp-cray 1242b042e37fSmrg os=-unicos 1243b042e37fSmrg ;; 1244b042e37fSmrg z8k-*-coff) 1245b042e37fSmrg basic_machine=z8k-unknown 1246b042e37fSmrg os=-sim 1247b042e37fSmrg ;; 1248706b6b52Smrg z80-*-coff) 1249706b6b52Smrg basic_machine=z80-unknown 1250706b6b52Smrg os=-sim 1251706b6b52Smrg ;; 1252b042e37fSmrg none) 1253b042e37fSmrg basic_machine=none-none 1254b042e37fSmrg os=-none 1255b042e37fSmrg ;; 1256b042e37fSmrg 1257b042e37fSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1258b042e37fSmrg# some cases the only manufacturer, in others, it is the most popular. 1259b042e37fSmrg w89k) 1260b042e37fSmrg basic_machine=hppa1.1-winbond 1261b042e37fSmrg ;; 1262b042e37fSmrg op50n) 1263b042e37fSmrg basic_machine=hppa1.1-oki 1264b042e37fSmrg ;; 1265b042e37fSmrg op60c) 1266b042e37fSmrg basic_machine=hppa1.1-oki 1267b042e37fSmrg ;; 1268b042e37fSmrg romp) 1269b042e37fSmrg basic_machine=romp-ibm 1270b042e37fSmrg ;; 12718c4a8e55Smrg mmix) 12728c4a8e55Smrg basic_machine=mmix-knuth 12738c4a8e55Smrg ;; 1274b042e37fSmrg rs6000) 1275b042e37fSmrg basic_machine=rs6000-ibm 1276b042e37fSmrg ;; 1277b042e37fSmrg vax) 1278b042e37fSmrg basic_machine=vax-dec 1279b042e37fSmrg ;; 1280b042e37fSmrg pdp10) 1281b042e37fSmrg # there are many clones, so DEC is not a safe bet 1282b042e37fSmrg basic_machine=pdp10-unknown 1283b042e37fSmrg ;; 1284b042e37fSmrg pdp11) 1285b042e37fSmrg basic_machine=pdp11-dec 1286b042e37fSmrg ;; 1287b042e37fSmrg we32k) 1288b042e37fSmrg basic_machine=we32k-att 1289b042e37fSmrg ;; 1290706b6b52Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1291b042e37fSmrg basic_machine=sh-unknown 1292b042e37fSmrg ;; 12938c4a8e55Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1294b042e37fSmrg basic_machine=sparc-sun 1295b042e37fSmrg ;; 1296b042e37fSmrg cydra) 1297b042e37fSmrg basic_machine=cydra-cydrome 1298b042e37fSmrg ;; 1299b042e37fSmrg orion) 1300b042e37fSmrg basic_machine=orion-highlevel 1301b042e37fSmrg ;; 1302b042e37fSmrg orion105) 1303b042e37fSmrg basic_machine=clipper-highlevel 1304b042e37fSmrg ;; 1305b042e37fSmrg mac | mpw | mac-mpw) 1306b042e37fSmrg basic_machine=m68k-apple 1307b042e37fSmrg ;; 1308b042e37fSmrg pmac | pmac-mpw) 1309b042e37fSmrg basic_machine=powerpc-apple 1310b042e37fSmrg ;; 1311b042e37fSmrg *-unknown) 1312b042e37fSmrg # Make sure to match an already-canonicalized machine name. 1313b042e37fSmrg ;; 1314b042e37fSmrg *) 1315b042e37fSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1316b042e37fSmrg exit 1 1317b042e37fSmrg ;; 1318b042e37fSmrgesac 1319b042e37fSmrg 1320b042e37fSmrg# Here we canonicalize certain aliases for manufacturers. 1321b042e37fSmrgcase $basic_machine in 1322b042e37fSmrg *-digital*) 1323b042e37fSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1324b042e37fSmrg ;; 1325b042e37fSmrg *-commodore*) 1326b042e37fSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1327b042e37fSmrg ;; 1328b042e37fSmrg *) 1329b042e37fSmrg ;; 1330b042e37fSmrgesac 1331b042e37fSmrg 1332b042e37fSmrg# Decode manufacturer-specific aliases for certain operating systems. 1333b042e37fSmrg 1334b042e37fSmrgif [ x"$os" != x"" ] 1335b042e37fSmrgthen 1336b042e37fSmrgcase $os in 13370597fb56Smrg # First match some system type aliases 13380597fb56Smrg # that might get confused with valid system types. 1339b042e37fSmrg # -solaris* is a basic system type, with this one exception. 13400597fb56Smrg -auroraux) 13410597fb56Smrg os=-auroraux 1342706b6b52Smrg ;; 1343b042e37fSmrg -solaris1 | -solaris1.*) 1344b042e37fSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1345b042e37fSmrg ;; 1346b042e37fSmrg -solaris) 1347b042e37fSmrg os=-solaris2 1348b042e37fSmrg ;; 1349b042e37fSmrg -svr4*) 1350b042e37fSmrg os=-sysv4 1351b042e37fSmrg ;; 1352b042e37fSmrg -unixware*) 1353b042e37fSmrg os=-sysv4.2uw 1354b042e37fSmrg ;; 1355b042e37fSmrg -gnu/linux*) 1356b042e37fSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357b042e37fSmrg ;; 1358b042e37fSmrg # First accept the basic system types. 1359b042e37fSmrg # The portable systems comes first. 1360b042e37fSmrg # Each alternative MUST END IN A *, to match a version number. 1361b042e37fSmrg # -sysv* is not here because it comes later, after sysvr4. 1362b042e37fSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1363706b6b52Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1364706b6b52Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13658bd17e5fSmrg | -sym* | -kopensolaris* | -plan9* \ 1366b042e37fSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1367706b6b52Smrg | -aos* | -aros* \ 1368b042e37fSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1369b042e37fSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13708c4a8e55Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 13718bd17e5fSmrg | -bitrig* | -openbsd* | -solidbsd* \ 13728c4a8e55Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13738c4a8e55Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1374b042e37fSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1375b042e37fSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1376706b6b52Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 13770597fb56Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13788bd17e5fSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13798bd17e5fSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138067594505Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1381b042e37fSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1382b042e37fSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1383b042e37fSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1384b042e37fSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1385b042e37fSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13868c4a8e55Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 138767594505Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 1388b042e37fSmrg # Remember, each alternative MUST END IN *, to match a version number. 1389b042e37fSmrg ;; 1390b042e37fSmrg -qnx*) 1391b042e37fSmrg case $basic_machine in 1392b042e37fSmrg x86-* | i*86-*) 1393b042e37fSmrg ;; 1394b042e37fSmrg *) 1395b042e37fSmrg os=-nto$os 1396b042e37fSmrg ;; 1397b042e37fSmrg esac 1398b042e37fSmrg ;; 1399b042e37fSmrg -nto-qnx*) 1400b042e37fSmrg ;; 1401b042e37fSmrg -nto*) 1402b042e37fSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1403b042e37fSmrg ;; 1404b042e37fSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14058c4a8e55Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1406b042e37fSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1407b042e37fSmrg ;; 1408b042e37fSmrg -mac*) 1409b042e37fSmrg os=`echo $os | sed -e 's|mac|macos|'` 1410b042e37fSmrg ;; 14118c4a8e55Smrg -linux-dietlibc) 14128c4a8e55Smrg os=-linux-dietlibc 14138c4a8e55Smrg ;; 1414b042e37fSmrg -linux*) 1415b042e37fSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1416b042e37fSmrg ;; 1417b042e37fSmrg -sunos5*) 1418b042e37fSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1419b042e37fSmrg ;; 1420b042e37fSmrg -sunos6*) 1421b042e37fSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1422b042e37fSmrg ;; 1423b042e37fSmrg -opened*) 1424b042e37fSmrg os=-openedition 1425b042e37fSmrg ;; 14260597fb56Smrg -os400*) 14278c4a8e55Smrg os=-os400 14288c4a8e55Smrg ;; 1429b042e37fSmrg -wince*) 1430b042e37fSmrg os=-wince 1431b042e37fSmrg ;; 1432b042e37fSmrg -osfrose*) 1433b042e37fSmrg os=-osfrose 1434b042e37fSmrg ;; 1435b042e37fSmrg -osf*) 1436b042e37fSmrg os=-osf 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 ;; 1462b042e37fSmrg -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 ;; 1484b042e37fSmrg -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 -es1800*) 1500b042e37fSmrg os=-ose 1501b042e37fSmrg ;; 1502b042e37fSmrg -xenix) 1503b042e37fSmrg os=-xenix 1504b042e37fSmrg ;; 1505b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1506b042e37fSmrg os=-mint 1507b042e37fSmrg ;; 1508b042e37fSmrg -aros*) 1509b042e37fSmrg os=-aros 1510b042e37fSmrg ;; 15118c4a8e55Smrg -zvmoe) 15128c4a8e55Smrg os=-zvmoe 15138c4a8e55Smrg ;; 1514706b6b52Smrg -dicos*) 1515706b6b52Smrg os=-dicos 1516706b6b52Smrg ;; 15170597fb56Smrg -nacl*) 15180597fb56Smrg ;; 1519b042e37fSmrg -none) 1520b042e37fSmrg ;; 1521b042e37fSmrg *) 1522b042e37fSmrg # Get rid of the `-' at the beginning of $os. 1523b042e37fSmrg os=`echo $os | sed 's/[^-]*-//'` 1524b042e37fSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1525b042e37fSmrg exit 1 1526b042e37fSmrg ;; 1527b042e37fSmrgesac 1528b042e37fSmrgelse 1529b042e37fSmrg 1530b042e37fSmrg# Here we handle the default operating systems that come with various machines. 1531b042e37fSmrg# The value should be what the vendor currently ships out the door with their 1532b042e37fSmrg# machine or put another way, the most popular os provided with the machine. 1533b042e37fSmrg 1534b042e37fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1535b042e37fSmrg# "-sun"), then you have to tell the case statement up towards the top 1536b042e37fSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1537b042e37fSmrg# will signal an error saying that MANUFACTURER isn't an operating 1538b042e37fSmrg# system, and we'll never get to this point. 1539b042e37fSmrg 1540b042e37fSmrgcase $basic_machine in 15410597fb56Smrg score-*) 15428c4a8e55Smrg os=-elf 15438c4a8e55Smrg ;; 15440597fb56Smrg spu-*) 15458c4a8e55Smrg os=-elf 15468c4a8e55Smrg ;; 1547b042e37fSmrg *-acorn) 1548b042e37fSmrg os=-riscix1.2 1549b042e37fSmrg ;; 1550b042e37fSmrg arm*-rebel) 1551b042e37fSmrg os=-linux 1552b042e37fSmrg ;; 1553b042e37fSmrg arm*-semi) 1554b042e37fSmrg os=-aout 1555b042e37fSmrg ;; 15560597fb56Smrg c4x-* | tic4x-*) 15570597fb56Smrg os=-coff 15588c4a8e55Smrg ;; 155967594505Smrg c8051-*) 156067594505Smrg os=-elf 156167594505Smrg ;; 15628bd17e5fSmrg hexagon-*) 15638bd17e5fSmrg os=-elf 15648bd17e5fSmrg ;; 1565706b6b52Smrg tic54x-*) 1566706b6b52Smrg os=-coff 1567706b6b52Smrg ;; 1568706b6b52Smrg tic55x-*) 1569706b6b52Smrg os=-coff 1570706b6b52Smrg ;; 1571706b6b52Smrg tic6x-*) 1572706b6b52Smrg os=-coff 1573706b6b52Smrg ;; 1574b042e37fSmrg # This must come before the *-dec entry. 1575b042e37fSmrg pdp10-*) 1576b042e37fSmrg os=-tops20 1577b042e37fSmrg ;; 1578b042e37fSmrg pdp11-*) 1579b042e37fSmrg os=-none 1580b042e37fSmrg ;; 1581b042e37fSmrg *-dec | vax-*) 1582b042e37fSmrg os=-ultrix4.2 1583b042e37fSmrg ;; 1584b042e37fSmrg m68*-apollo) 1585b042e37fSmrg os=-domain 1586b042e37fSmrg ;; 1587b042e37fSmrg i386-sun) 1588b042e37fSmrg os=-sunos4.0.2 1589b042e37fSmrg ;; 1590b042e37fSmrg m68000-sun) 1591b042e37fSmrg os=-sunos3 1592b042e37fSmrg ;; 1593b042e37fSmrg m68*-cisco) 1594b042e37fSmrg os=-aout 1595b042e37fSmrg ;; 15960597fb56Smrg mep-*) 1597706b6b52Smrg os=-elf 1598706b6b52Smrg ;; 1599b042e37fSmrg mips*-cisco) 1600b042e37fSmrg os=-elf 1601b042e37fSmrg ;; 1602b042e37fSmrg mips*-*) 1603b042e37fSmrg os=-elf 1604b042e37fSmrg ;; 1605b042e37fSmrg or32-*) 1606b042e37fSmrg os=-coff 1607b042e37fSmrg ;; 1608b042e37fSmrg *-tti) # must be before sparc entry or we get the wrong os. 1609b042e37fSmrg os=-sysv3 1610b042e37fSmrg ;; 1611b042e37fSmrg sparc-* | *-sun) 1612b042e37fSmrg os=-sunos4.1.1 1613b042e37fSmrg ;; 1614b042e37fSmrg *-be) 1615b042e37fSmrg os=-beos 1616b042e37fSmrg ;; 16178c4a8e55Smrg *-haiku) 16188c4a8e55Smrg os=-haiku 16198c4a8e55Smrg ;; 1620b042e37fSmrg *-ibm) 1621b042e37fSmrg os=-aix 1622b042e37fSmrg ;; 16230597fb56Smrg *-knuth) 16248c4a8e55Smrg os=-mmixware 16258c4a8e55Smrg ;; 1626b042e37fSmrg *-wec) 1627b042e37fSmrg os=-proelf 1628b042e37fSmrg ;; 1629b042e37fSmrg *-winbond) 1630b042e37fSmrg os=-proelf 1631b042e37fSmrg ;; 1632b042e37fSmrg *-oki) 1633b042e37fSmrg os=-proelf 1634b042e37fSmrg ;; 1635b042e37fSmrg *-hp) 1636b042e37fSmrg os=-hpux 1637b042e37fSmrg ;; 1638b042e37fSmrg *-hitachi) 1639b042e37fSmrg os=-hiux 1640b042e37fSmrg ;; 1641b042e37fSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1642b042e37fSmrg os=-sysv 1643b042e37fSmrg ;; 1644b042e37fSmrg *-cbm) 1645b042e37fSmrg os=-amigaos 1646b042e37fSmrg ;; 1647b042e37fSmrg *-dg) 1648b042e37fSmrg os=-dgux 1649b042e37fSmrg ;; 1650b042e37fSmrg *-dolphin) 1651b042e37fSmrg os=-sysv3 1652b042e37fSmrg ;; 1653b042e37fSmrg m68k-ccur) 1654b042e37fSmrg os=-rtu 1655b042e37fSmrg ;; 1656b042e37fSmrg m88k-omron*) 1657b042e37fSmrg os=-luna 1658b042e37fSmrg ;; 1659b042e37fSmrg *-next ) 1660b042e37fSmrg os=-nextstep 1661b042e37fSmrg ;; 1662b042e37fSmrg *-sequent) 1663b042e37fSmrg os=-ptx 1664b042e37fSmrg ;; 1665b042e37fSmrg *-crds) 1666b042e37fSmrg os=-unos 1667b042e37fSmrg ;; 1668b042e37fSmrg *-ns) 1669b042e37fSmrg os=-genix 1670b042e37fSmrg ;; 1671b042e37fSmrg i370-*) 1672b042e37fSmrg os=-mvs 1673b042e37fSmrg ;; 1674b042e37fSmrg *-next) 1675b042e37fSmrg os=-nextstep3 1676b042e37fSmrg ;; 1677b042e37fSmrg *-gould) 1678b042e37fSmrg os=-sysv 1679b042e37fSmrg ;; 1680b042e37fSmrg *-highlevel) 1681b042e37fSmrg os=-bsd 1682b042e37fSmrg ;; 1683b042e37fSmrg *-encore) 1684b042e37fSmrg os=-bsd 1685b042e37fSmrg ;; 1686b042e37fSmrg *-sgi) 1687b042e37fSmrg os=-irix 1688b042e37fSmrg ;; 1689b042e37fSmrg *-siemens) 1690b042e37fSmrg os=-sysv4 1691b042e37fSmrg ;; 1692b042e37fSmrg *-masscomp) 1693b042e37fSmrg os=-rtu 1694b042e37fSmrg ;; 1695b042e37fSmrg f30[01]-fujitsu | f700-fujitsu) 1696b042e37fSmrg os=-uxpv 1697b042e37fSmrg ;; 1698b042e37fSmrg *-rom68k) 1699b042e37fSmrg os=-coff 1700b042e37fSmrg ;; 1701b042e37fSmrg *-*bug) 1702b042e37fSmrg os=-coff 1703b042e37fSmrg ;; 1704b042e37fSmrg *-apple) 1705b042e37fSmrg os=-macos 1706b042e37fSmrg ;; 1707b042e37fSmrg *-atari*) 1708b042e37fSmrg os=-mint 1709b042e37fSmrg ;; 1710b042e37fSmrg *) 1711b042e37fSmrg os=-none 1712b042e37fSmrg ;; 1713b042e37fSmrgesac 1714b042e37fSmrgfi 1715b042e37fSmrg 1716b042e37fSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1717b042e37fSmrg# manufacturer. We pick the logical manufacturer. 1718b042e37fSmrgvendor=unknown 1719b042e37fSmrgcase $basic_machine in 1720b042e37fSmrg *-unknown) 1721b042e37fSmrg case $os in 1722b042e37fSmrg -riscix*) 1723b042e37fSmrg vendor=acorn 1724b042e37fSmrg ;; 1725b042e37fSmrg -sunos*) 1726b042e37fSmrg vendor=sun 1727b042e37fSmrg ;; 1728706b6b52Smrg -cnk*|-aix*) 1729b042e37fSmrg vendor=ibm 1730b042e37fSmrg ;; 1731b042e37fSmrg -beos*) 1732b042e37fSmrg vendor=be 1733b042e37fSmrg ;; 1734b042e37fSmrg -hpux*) 1735b042e37fSmrg vendor=hp 1736b042e37fSmrg ;; 1737b042e37fSmrg -mpeix*) 1738b042e37fSmrg vendor=hp 1739b042e37fSmrg ;; 1740b042e37fSmrg -hiux*) 1741b042e37fSmrg vendor=hitachi 1742b042e37fSmrg ;; 1743b042e37fSmrg -unos*) 1744b042e37fSmrg vendor=crds 1745b042e37fSmrg ;; 1746b042e37fSmrg -dgux*) 1747b042e37fSmrg vendor=dg 1748b042e37fSmrg ;; 1749b042e37fSmrg -luna*) 1750b042e37fSmrg vendor=omron 1751b042e37fSmrg ;; 1752b042e37fSmrg -genix*) 1753b042e37fSmrg vendor=ns 1754b042e37fSmrg ;; 1755b042e37fSmrg -mvs* | -opened*) 1756b042e37fSmrg vendor=ibm 1757b042e37fSmrg ;; 17588c4a8e55Smrg -os400*) 17598c4a8e55Smrg vendor=ibm 17608c4a8e55Smrg ;; 1761b042e37fSmrg -ptx*) 1762b042e37fSmrg vendor=sequent 1763b042e37fSmrg ;; 17648c4a8e55Smrg -tpf*) 17658c4a8e55Smrg vendor=ibm 17668c4a8e55Smrg ;; 1767b042e37fSmrg -vxsim* | -vxworks* | -windiss*) 1768b042e37fSmrg vendor=wrs 1769b042e37fSmrg ;; 1770b042e37fSmrg -aux*) 1771b042e37fSmrg vendor=apple 1772b042e37fSmrg ;; 1773b042e37fSmrg -hms*) 1774b042e37fSmrg vendor=hitachi 1775b042e37fSmrg ;; 1776b042e37fSmrg -mpw* | -macos*) 1777b042e37fSmrg vendor=apple 1778b042e37fSmrg ;; 1779b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1780b042e37fSmrg vendor=atari 1781b042e37fSmrg ;; 1782b042e37fSmrg -vos*) 1783b042e37fSmrg vendor=stratus 1784b042e37fSmrg ;; 1785b042e37fSmrg esac 1786b042e37fSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1787b042e37fSmrg ;; 1788b042e37fSmrgesac 1789b042e37fSmrg 1790b042e37fSmrgecho $basic_machine$os 17918c4a8e55Smrgexit 1792b042e37fSmrg 1793b042e37fSmrg# Local variables: 1794b042e37fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1795b042e37fSmrg# time-stamp-start: "timestamp='" 1796b042e37fSmrg# time-stamp-format: "%:y-%02m-%02d" 1797b042e37fSmrg# time-stamp-end: "'" 1798b042e37fSmrg# End: 1799