config.sub revision 74a3f230
1b3307321Smrg#! /bin/sh 2b3307321Smrg# Configuration validation subroutine script. 374a3f230Smrg# Copyright 1992-2013 Free Software Foundation, Inc. 4b3307321Smrg 574a3f230Smrgtimestamp='2013-04-24' 6b3307321Smrg 774a3f230Smrg# This file is free software; you can redistribute it and/or modify it 874a3f230Smrg# under the terms of the GNU General Public License as published by 974a3f230Smrg# the Free Software Foundation; either version 3 of the License, or 10b3307321Smrg# (at your option) any later version. 11b3307321Smrg# 1274a3f230Smrg# This program is distributed in the hope that it will be useful, but 1374a3f230Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1474a3f230Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1574a3f230Smrg# General Public License for more details. 16b3307321Smrg# 17b3307321Smrg# You should have received a copy of the GNU General Public License 1874a3f230Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 19afe13c8eSmrg# 20b3307321Smrg# As a special exception to the GNU General Public License, if you 21b3307321Smrg# distribute this file as part of a program that contains a 22b3307321Smrg# configuration script generated by Autoconf, you may include it under 2374a3f230Smrg# the same distribution terms that you use for the rest of that 2474a3f230Smrg# program. This Exception is an additional permission under section 7 2574a3f230Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26b3307321Smrg 27afe13c8eSmrg 2874a3f230Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org. 29b3307321Smrg# 30b3307321Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31b3307321Smrg# Supply the specified configuration type as an argument. 32b3307321Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33b3307321Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34b3307321Smrg 3529cb5710Smrg# You can get the latest version of this script from: 3629cb5710Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 3729cb5710Smrg 38b3307321Smrg# This file is supposed to be the same for all GNU packages 39b3307321Smrg# and recognize all the CPU types, system types and aliases 40b3307321Smrg# that are meaningful with *any* GNU software. 41b3307321Smrg# Each package is responsible for reporting which valid configurations 42b3307321Smrg# it does not support. The user should be able to distinguish 43b3307321Smrg# a failure to support a valid configuration from a meaningless 44b3307321Smrg# configuration. 45b3307321Smrg 46b3307321Smrg# The goal of this file is to map all the various variations of a given 47b3307321Smrg# machine specification into a single specification in the form: 48b3307321Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49b3307321Smrg# or in some cases, the newer four-part form: 50b3307321Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51b3307321Smrg# It is wrong to echo any other type of specification. 52b3307321Smrg 53b3307321Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54b3307321Smrg 55b3307321Smrgusage="\ 56b3307321SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 57b3307321Smrg $0 [OPTION] ALIAS 58b3307321Smrg 59b3307321SmrgCanonicalize a configuration name. 60b3307321Smrg 61b3307321SmrgOperation modes: 62b3307321Smrg -h, --help print this help, then exit 63b3307321Smrg -t, --time-stamp print date of last modification, then exit 64b3307321Smrg -v, --version print version number, then exit 65b3307321Smrg 66b3307321SmrgReport bugs and patches to <config-patches@gnu.org>." 67b3307321Smrg 68b3307321Smrgversion="\ 69b3307321SmrgGNU config.sub ($timestamp) 70b3307321Smrg 7174a3f230SmrgCopyright 1992-2013 Free Software Foundation, Inc. 72b3307321Smrg 73b3307321SmrgThis is free software; see the source for copying conditions. There is NO 74b3307321Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75b3307321Smrg 76b3307321Smrghelp=" 77b3307321SmrgTry \`$me --help' for more information." 78b3307321Smrg 79b3307321Smrg# Parse command line 80b3307321Smrgwhile test $# -gt 0 ; do 81b3307321Smrg case $1 in 82b3307321Smrg --time-stamp | --time* | -t ) 83afe13c8eSmrg echo "$timestamp" ; exit ;; 84b3307321Smrg --version | -v ) 85afe13c8eSmrg echo "$version" ; exit ;; 86b3307321Smrg --help | --h* | -h ) 87afe13c8eSmrg echo "$usage"; exit ;; 88b3307321Smrg -- ) # Stop option processing 89b3307321Smrg shift; break ;; 90b3307321Smrg - ) # Use stdin as input. 91b3307321Smrg break ;; 92b3307321Smrg -* ) 93b3307321Smrg echo "$me: invalid option $1$help" 94b3307321Smrg exit 1 ;; 95b3307321Smrg 96b3307321Smrg *local*) 97b3307321Smrg # First pass through any local machine types. 98b3307321Smrg echo $1 99afe13c8eSmrg exit ;; 100b3307321Smrg 101b3307321Smrg * ) 102b3307321Smrg break ;; 103b3307321Smrg esac 104b3307321Smrgdone 105b3307321Smrg 106b3307321Smrgcase $# in 107b3307321Smrg 0) echo "$me: missing argument$help" >&2 108b3307321Smrg exit 1;; 109b3307321Smrg 1) ;; 110b3307321Smrg *) echo "$me: too many arguments$help" >&2 111b3307321Smrg exit 1;; 112b3307321Smrgesac 113b3307321Smrg 114b3307321Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115b3307321Smrg# Here we must recognize all the valid KERNEL-OS combinations. 116b3307321Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117b3307321Smrgcase $maybe_os in 11829cb5710Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11974a3f230Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 12029cb5710Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 1215e358ecaSmrg kopensolaris*-gnu* | \ 122afe13c8eSmrg storm-chaos* | os2-emx* | rtmk-nova*) 123b3307321Smrg os=-$maybe_os 124b3307321Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125b3307321Smrg ;; 12674a3f230Smrg android-linux) 12774a3f230Smrg os=-linux-android 12874a3f230Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12974a3f230Smrg ;; 130b3307321Smrg *) 131b3307321Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132b3307321Smrg if [ $basic_machine != $1 ] 133b3307321Smrg then os=`echo $1 | sed 's/.*-/-/'` 134b3307321Smrg else os=; fi 135b3307321Smrg ;; 136b3307321Smrgesac 137b3307321Smrg 138b3307321Smrg### Let's recognize common machines as not being operating systems so 139b3307321Smrg### that things like config.sub decstation-3100 work. We also 140b3307321Smrg### recognize some manufacturers as not being operating systems, so we 141b3307321Smrg### can provide default operating systems below. 142b3307321Smrgcase $os in 143b3307321Smrg -sun*os*) 144b3307321Smrg # Prevent following clause from handling this invalid input. 145b3307321Smrg ;; 146b3307321Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147b3307321Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148b3307321Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149b3307321Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150b3307321Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151b3307321Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15274a3f230Smrg -apple | -axis | -knuth | -cray | -microblaze*) 153b3307321Smrg os= 154b3307321Smrg basic_machine=$1 155b3307321Smrg ;; 15674a3f230Smrg -bluegene*) 15774a3f230Smrg os=-cnk 15829cb5710Smrg ;; 159b3307321Smrg -sim | -cisco | -oki | -wec | -winbond) 160b3307321Smrg os= 161b3307321Smrg basic_machine=$1 162b3307321Smrg ;; 163b3307321Smrg -scout) 164b3307321Smrg ;; 165b3307321Smrg -wrs) 166b3307321Smrg os=-vxworks 167b3307321Smrg basic_machine=$1 168b3307321Smrg ;; 169b3307321Smrg -chorusos*) 170b3307321Smrg os=-chorusos 171b3307321Smrg basic_machine=$1 172b3307321Smrg ;; 17374a3f230Smrg -chorusrdb) 17474a3f230Smrg os=-chorusrdb 175b3307321Smrg basic_machine=$1 17674a3f230Smrg ;; 177b3307321Smrg -hiux*) 178b3307321Smrg os=-hiuxwe2 179b3307321Smrg ;; 180afe13c8eSmrg -sco6) 181afe13c8eSmrg os=-sco5v6 182afe13c8eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 183afe13c8eSmrg ;; 184b3307321Smrg -sco5) 185b3307321Smrg os=-sco3.2v5 186b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187b3307321Smrg ;; 188b3307321Smrg -sco4) 189b3307321Smrg os=-sco3.2v4 190b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191b3307321Smrg ;; 192b3307321Smrg -sco3.2.[4-9]*) 193b3307321Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195b3307321Smrg ;; 196b3307321Smrg -sco3.2v[4-9]*) 197b3307321Smrg # Don't forget version if it is 3.2v4 or newer. 198b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199b3307321Smrg ;; 200afe13c8eSmrg -sco5v6*) 201afe13c8eSmrg # Don't forget version if it is 3.2v4 or newer. 202afe13c8eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203afe13c8eSmrg ;; 204b3307321Smrg -sco*) 205b3307321Smrg os=-sco3.2v2 206b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207b3307321Smrg ;; 208b3307321Smrg -udk*) 209b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210b3307321Smrg ;; 211b3307321Smrg -isc) 212b3307321Smrg os=-isc2.2 213b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214b3307321Smrg ;; 215b3307321Smrg -clix*) 216b3307321Smrg basic_machine=clipper-intergraph 217b3307321Smrg ;; 218b3307321Smrg -isc*) 219b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220b3307321Smrg ;; 22174a3f230Smrg -lynx*178) 22274a3f230Smrg os=-lynxos178 22374a3f230Smrg ;; 22474a3f230Smrg -lynx*5) 22574a3f230Smrg os=-lynxos5 22674a3f230Smrg ;; 227b3307321Smrg -lynx*) 228b3307321Smrg os=-lynxos 229b3307321Smrg ;; 230b3307321Smrg -ptx*) 231b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232b3307321Smrg ;; 233b3307321Smrg -windowsnt*) 234b3307321Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 235b3307321Smrg ;; 236b3307321Smrg -psos*) 237b3307321Smrg os=-psos 238b3307321Smrg ;; 239b3307321Smrg -mint | -mint[0-9]*) 240b3307321Smrg basic_machine=m68k-atari 241b3307321Smrg os=-mint 242b3307321Smrg ;; 243b3307321Smrgesac 244b3307321Smrg 245b3307321Smrg# Decode aliases for certain CPU-COMPANY combinations. 246b3307321Smrgcase $basic_machine in 247b3307321Smrg # Recognize the basic CPU types without company name. 248b3307321Smrg # Some are omitted here because they have special meanings below. 249b3307321Smrg 1750a | 580 \ 250b3307321Smrg | a29k \ 25174a3f230Smrg | aarch64 | aarch64_be \ 252b3307321Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253b3307321Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 254afe13c8eSmrg | am33_2.0 \ 25574a3f230Smrg | arc | arceb \ 25674a3f230Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25774a3f230Smrg | avr | avr32 \ 25874a3f230Smrg | be32 | be64 \ 259afe13c8eSmrg | bfin \ 260b3307321Smrg | c4x | clipper \ 2615e358ecaSmrg | d10v | d30v | dlx | dsp16xx \ 26274a3f230Smrg | epiphany \ 263afe13c8eSmrg | fido | fr30 | frv \ 264b3307321Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 26574a3f230Smrg | hexagon \ 266b3307321Smrg | i370 | i860 | i960 | ia64 \ 267afe13c8eSmrg | ip2k | iq2000 \ 26874a3f230Smrg | le32 | le64 \ 2695e358ecaSmrg | lm32 \ 270afe13c8eSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27174a3f230Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 272b3307321Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 273b3307321Smrg | mips16 \ 274b3307321Smrg | mips64 | mips64el \ 2755e358ecaSmrg | mips64octeon | mips64octeonel \ 276b3307321Smrg | mips64orion | mips64orionel \ 2775e358ecaSmrg | mips64r5900 | mips64r5900el \ 2785e358ecaSmrg | mips64vr | mips64vrel \ 279b3307321Smrg | mips64vr4100 | mips64vr4100el \ 280b3307321Smrg | mips64vr4300 | mips64vr4300el \ 281b3307321Smrg | mips64vr5000 | mips64vr5000el \ 282afe13c8eSmrg | mips64vr5900 | mips64vr5900el \ 283b3307321Smrg | mipsisa32 | mipsisa32el \ 284b3307321Smrg | mipsisa32r2 | mipsisa32r2el \ 285b3307321Smrg | mipsisa64 | mipsisa64el \ 286afe13c8eSmrg | mipsisa64r2 | mipsisa64r2el \ 287b3307321Smrg | mipsisa64sb1 | mipsisa64sb1el \ 288b3307321Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 28974a3f230Smrg | mipsr5900 | mipsr5900el \ 290b3307321Smrg | mipstx39 | mipstx39el \ 291b3307321Smrg | mn10200 | mn10300 \ 2925e358ecaSmrg | moxie \ 293afe13c8eSmrg | mt \ 294b3307321Smrg | msp430 \ 29529cb5710Smrg | nds32 | nds32le | nds32be \ 29674a3f230Smrg | nios | nios2 | nios2eb | nios2el \ 297b3307321Smrg | ns16k | ns32k \ 29874a3f230Smrg | open8 \ 29974a3f230Smrg | or1k | or32 \ 300b3307321Smrg | pdp10 | pdp11 | pj | pjl \ 30174a3f230Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 302b3307321Smrg | pyramid \ 30374a3f230Smrg | rl78 | rx \ 304afe13c8eSmrg | score \ 3055e358ecaSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 306b3307321Smrg | sh64 | sh64le \ 307afe13c8eSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 308afe13c8eSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 30974a3f230Smrg | spu \ 31074a3f230Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31129cb5710Smrg | ubicom32 \ 31274a3f230Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 313b3307321Smrg | we32k \ 31474a3f230Smrg | x86 | xc16x | xstormy16 | xtensa \ 3155e358ecaSmrg | z8k | z80) 316b3307321Smrg basic_machine=$basic_machine-unknown 317b3307321Smrg ;; 31829cb5710Smrg c54x) 31929cb5710Smrg basic_machine=tic54x-unknown 32029cb5710Smrg ;; 32129cb5710Smrg c55x) 32229cb5710Smrg basic_machine=tic55x-unknown 32329cb5710Smrg ;; 32429cb5710Smrg c6x) 32529cb5710Smrg basic_machine=tic6x-unknown 32629cb5710Smrg ;; 32774a3f230Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) 328b3307321Smrg basic_machine=$basic_machine-unknown 329b3307321Smrg os=-none 330b3307321Smrg ;; 331b3307321Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 332b3307321Smrg ;; 333afe13c8eSmrg ms1) 334afe13c8eSmrg basic_machine=mt-unknown 335afe13c8eSmrg ;; 336b3307321Smrg 33774a3f230Smrg strongarm | thumb | xscale) 33874a3f230Smrg basic_machine=arm-unknown 33974a3f230Smrg ;; 34074a3f230Smrg xgate) 34174a3f230Smrg basic_machine=$basic_machine-unknown 34274a3f230Smrg os=-none 34374a3f230Smrg ;; 34474a3f230Smrg xscaleeb) 34574a3f230Smrg basic_machine=armeb-unknown 34674a3f230Smrg ;; 34774a3f230Smrg 34874a3f230Smrg xscaleel) 34974a3f230Smrg basic_machine=armel-unknown 35074a3f230Smrg ;; 35174a3f230Smrg 352b3307321Smrg # We use `pc' rather than `unknown' 353b3307321Smrg # because (1) that's what they normally are, and 354b3307321Smrg # (2) the word "unknown" tends to confuse beginning users. 355b3307321Smrg i*86 | x86_64) 356b3307321Smrg basic_machine=$basic_machine-pc 357b3307321Smrg ;; 358b3307321Smrg # Object if more than one company name word. 359b3307321Smrg *-*-*) 360b3307321Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 361b3307321Smrg exit 1 362b3307321Smrg ;; 363b3307321Smrg # Recognize the basic CPU types with company name. 364b3307321Smrg 580-* \ 365b3307321Smrg | a29k-* \ 36674a3f230Smrg | aarch64-* | aarch64_be-* \ 367b3307321Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 368b3307321Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 36974a3f230Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 370b3307321Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 371afe13c8eSmrg | avr-* | avr32-* \ 37274a3f230Smrg | be32-* | be64-* \ 373afe13c8eSmrg | bfin-* | bs2000-* \ 37429cb5710Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 375afe13c8eSmrg | clipper-* | craynv-* | cydra-* \ 376b3307321Smrg | d10v-* | d30v-* | dlx-* \ 377b3307321Smrg | elxsi-* \ 378afe13c8eSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 379b3307321Smrg | h8300-* | h8500-* \ 380b3307321Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 38174a3f230Smrg | hexagon-* \ 382b3307321Smrg | i*86-* | i860-* | i960-* | ia64-* \ 383afe13c8eSmrg | ip2k-* | iq2000-* \ 38474a3f230Smrg | le32-* | le64-* \ 3855e358ecaSmrg | lm32-* \ 386afe13c8eSmrg | m32c-* | m32r-* | m32rle-* \ 387b3307321Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 38874a3f230Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 38974a3f230Smrg | microblaze-* | microblazeel-* \ 390b3307321Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 391b3307321Smrg | mips16-* \ 392b3307321Smrg | mips64-* | mips64el-* \ 3935e358ecaSmrg | mips64octeon-* | mips64octeonel-* \ 394b3307321Smrg | mips64orion-* | mips64orionel-* \ 3955e358ecaSmrg | mips64r5900-* | mips64r5900el-* \ 3965e358ecaSmrg | mips64vr-* | mips64vrel-* \ 397b3307321Smrg | mips64vr4100-* | mips64vr4100el-* \ 398b3307321Smrg | mips64vr4300-* | mips64vr4300el-* \ 399b3307321Smrg | mips64vr5000-* | mips64vr5000el-* \ 400afe13c8eSmrg | mips64vr5900-* | mips64vr5900el-* \ 401b3307321Smrg | mipsisa32-* | mipsisa32el-* \ 402b3307321Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 403b3307321Smrg | mipsisa64-* | mipsisa64el-* \ 404afe13c8eSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 405b3307321Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 406b3307321Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 40774a3f230Smrg | mipsr5900-* | mipsr5900el-* \ 408b3307321Smrg | mipstx39-* | mipstx39el-* \ 409afe13c8eSmrg | mmix-* \ 410afe13c8eSmrg | mt-* \ 411b3307321Smrg | msp430-* \ 41229cb5710Smrg | nds32-* | nds32le-* | nds32be-* \ 41374a3f230Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 414afe13c8eSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 41574a3f230Smrg | open8-* \ 416b3307321Smrg | orion-* \ 417b3307321Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 41874a3f230Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 419b3307321Smrg | pyramid-* \ 42074a3f230Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4215e358ecaSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 422b3307321Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 423afe13c8eSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 424afe13c8eSmrg | sparclite-* \ 42574a3f230Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 42674a3f230Smrg | tahoe-* \ 42729cb5710Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 42874a3f230Smrg | tile*-* \ 429b3307321Smrg | tron-* \ 43029cb5710Smrg | ubicom32-* \ 43174a3f230Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 43274a3f230Smrg | vax-* \ 433b3307321Smrg | we32k-* \ 43474a3f230Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 435afe13c8eSmrg | xstormy16-* | xtensa*-* \ 436b3307321Smrg | ymp-* \ 4375e358ecaSmrg | z8k-* | z80-*) 438b3307321Smrg ;; 439afe13c8eSmrg # Recognize the basic CPU types without company name, with glob match. 440afe13c8eSmrg xtensa*) 441afe13c8eSmrg basic_machine=$basic_machine-unknown 442afe13c8eSmrg ;; 443b3307321Smrg # Recognize the various machine names and aliases which stand 444b3307321Smrg # for a CPU type and a company and sometimes even an OS. 445b3307321Smrg 386bsd) 446b3307321Smrg basic_machine=i386-unknown 447b3307321Smrg os=-bsd 448b3307321Smrg ;; 449b3307321Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 450b3307321Smrg basic_machine=m68000-att 451b3307321Smrg ;; 452b3307321Smrg 3b*) 453b3307321Smrg basic_machine=we32k-att 454b3307321Smrg ;; 455b3307321Smrg a29khif) 456b3307321Smrg basic_machine=a29k-amd 457b3307321Smrg os=-udi 458b3307321Smrg ;; 45974a3f230Smrg abacus) 460afe13c8eSmrg basic_machine=abacus-unknown 461afe13c8eSmrg ;; 462b3307321Smrg adobe68k) 463b3307321Smrg basic_machine=m68010-adobe 464b3307321Smrg os=-scout 465b3307321Smrg ;; 466b3307321Smrg alliant | fx80) 467b3307321Smrg basic_machine=fx80-alliant 468b3307321Smrg ;; 469b3307321Smrg altos | altos3068) 470b3307321Smrg basic_machine=m68k-altos 471b3307321Smrg ;; 472b3307321Smrg am29k) 473b3307321Smrg basic_machine=a29k-none 474b3307321Smrg os=-bsd 475b3307321Smrg ;; 476b3307321Smrg amd64) 477b3307321Smrg basic_machine=x86_64-pc 478b3307321Smrg ;; 479afe13c8eSmrg amd64-*) 480afe13c8eSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 481afe13c8eSmrg ;; 482b3307321Smrg amdahl) 483b3307321Smrg basic_machine=580-amdahl 484b3307321Smrg os=-sysv 485b3307321Smrg ;; 486b3307321Smrg amiga | amiga-*) 487b3307321Smrg basic_machine=m68k-unknown 488b3307321Smrg ;; 489b3307321Smrg amigaos | amigados) 490b3307321Smrg basic_machine=m68k-unknown 491b3307321Smrg os=-amigaos 492b3307321Smrg ;; 493b3307321Smrg amigaunix | amix) 494b3307321Smrg basic_machine=m68k-unknown 495b3307321Smrg os=-sysv4 496b3307321Smrg ;; 497b3307321Smrg apollo68) 498b3307321Smrg basic_machine=m68k-apollo 499b3307321Smrg os=-sysv 500b3307321Smrg ;; 501b3307321Smrg apollo68bsd) 502b3307321Smrg basic_machine=m68k-apollo 503b3307321Smrg os=-bsd 504b3307321Smrg ;; 5055e358ecaSmrg aros) 5065e358ecaSmrg basic_machine=i386-pc 5075e358ecaSmrg os=-aros 5085e358ecaSmrg ;; 509b3307321Smrg aux) 510b3307321Smrg basic_machine=m68k-apple 511b3307321Smrg os=-aux 512b3307321Smrg ;; 513b3307321Smrg balance) 514b3307321Smrg basic_machine=ns32k-sequent 515b3307321Smrg os=-dynix 516b3307321Smrg ;; 517afe13c8eSmrg blackfin) 518afe13c8eSmrg basic_machine=bfin-unknown 519afe13c8eSmrg os=-linux 520afe13c8eSmrg ;; 521afe13c8eSmrg blackfin-*) 522afe13c8eSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 523afe13c8eSmrg os=-linux 524afe13c8eSmrg ;; 52529cb5710Smrg bluegene*) 52629cb5710Smrg basic_machine=powerpc-ibm 52729cb5710Smrg os=-cnk 52829cb5710Smrg ;; 52929cb5710Smrg c54x-*) 53029cb5710Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 53129cb5710Smrg ;; 53229cb5710Smrg c55x-*) 53329cb5710Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 53429cb5710Smrg ;; 53529cb5710Smrg c6x-*) 53629cb5710Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 53729cb5710Smrg ;; 538b3307321Smrg c90) 539b3307321Smrg basic_machine=c90-cray 540b3307321Smrg os=-unicos 541b3307321Smrg ;; 54274a3f230Smrg cegcc) 5435e358ecaSmrg basic_machine=arm-unknown 5445e358ecaSmrg os=-cegcc 5455e358ecaSmrg ;; 546b3307321Smrg convex-c1) 547b3307321Smrg basic_machine=c1-convex 548b3307321Smrg os=-bsd 549b3307321Smrg ;; 550b3307321Smrg convex-c2) 551b3307321Smrg basic_machine=c2-convex 552b3307321Smrg os=-bsd 553b3307321Smrg ;; 554b3307321Smrg convex-c32) 555b3307321Smrg basic_machine=c32-convex 556b3307321Smrg os=-bsd 557b3307321Smrg ;; 558b3307321Smrg convex-c34) 559b3307321Smrg basic_machine=c34-convex 560b3307321Smrg os=-bsd 561b3307321Smrg ;; 562b3307321Smrg convex-c38) 563b3307321Smrg basic_machine=c38-convex 564b3307321Smrg os=-bsd 565b3307321Smrg ;; 566b3307321Smrg cray | j90) 567b3307321Smrg basic_machine=j90-cray 568b3307321Smrg os=-unicos 569b3307321Smrg ;; 570afe13c8eSmrg craynv) 571afe13c8eSmrg basic_machine=craynv-cray 572afe13c8eSmrg os=-unicosmp 573afe13c8eSmrg ;; 57474a3f230Smrg cr16 | cr16-*) 575afe13c8eSmrg basic_machine=cr16-unknown 576afe13c8eSmrg os=-elf 577afe13c8eSmrg ;; 578b3307321Smrg crds | unos) 579b3307321Smrg basic_machine=m68k-crds 580b3307321Smrg ;; 581afe13c8eSmrg crisv32 | crisv32-* | etraxfs*) 582afe13c8eSmrg basic_machine=crisv32-axis 583afe13c8eSmrg ;; 584b3307321Smrg cris | cris-* | etrax*) 585b3307321Smrg basic_machine=cris-axis 586b3307321Smrg ;; 587afe13c8eSmrg crx) 588afe13c8eSmrg basic_machine=crx-unknown 589afe13c8eSmrg os=-elf 590afe13c8eSmrg ;; 591b3307321Smrg da30 | da30-*) 592b3307321Smrg basic_machine=m68k-da30 593b3307321Smrg ;; 594b3307321Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 595b3307321Smrg basic_machine=mips-dec 596b3307321Smrg ;; 597b3307321Smrg decsystem10* | dec10*) 598b3307321Smrg basic_machine=pdp10-dec 599b3307321Smrg os=-tops10 600b3307321Smrg ;; 601b3307321Smrg decsystem20* | dec20*) 602b3307321Smrg basic_machine=pdp10-dec 603b3307321Smrg os=-tops20 604b3307321Smrg ;; 605b3307321Smrg delta | 3300 | motorola-3300 | motorola-delta \ 606b3307321Smrg | 3300-motorola | delta-motorola) 607b3307321Smrg basic_machine=m68k-motorola 608b3307321Smrg ;; 609b3307321Smrg delta88) 610b3307321Smrg basic_machine=m88k-motorola 611b3307321Smrg os=-sysv3 612b3307321Smrg ;; 6135e358ecaSmrg dicos) 6145e358ecaSmrg basic_machine=i686-pc 6155e358ecaSmrg os=-dicos 6165e358ecaSmrg ;; 617afe13c8eSmrg djgpp) 618afe13c8eSmrg basic_machine=i586-pc 619afe13c8eSmrg os=-msdosdjgpp 620afe13c8eSmrg ;; 621b3307321Smrg dpx20 | dpx20-*) 622b3307321Smrg basic_machine=rs6000-bull 623b3307321Smrg os=-bosx 624b3307321Smrg ;; 625b3307321Smrg dpx2* | dpx2*-bull) 626b3307321Smrg basic_machine=m68k-bull 627b3307321Smrg os=-sysv3 628b3307321Smrg ;; 629b3307321Smrg ebmon29k) 630b3307321Smrg basic_machine=a29k-amd 631b3307321Smrg os=-ebmon 632b3307321Smrg ;; 633b3307321Smrg elxsi) 634b3307321Smrg basic_machine=elxsi-elxsi 635b3307321Smrg os=-bsd 636b3307321Smrg ;; 637b3307321Smrg encore | umax | mmax) 638b3307321Smrg basic_machine=ns32k-encore 639b3307321Smrg ;; 640b3307321Smrg es1800 | OSE68k | ose68k | ose | OSE) 641b3307321Smrg basic_machine=m68k-ericsson 642b3307321Smrg os=-ose 643b3307321Smrg ;; 644b3307321Smrg fx2800) 645b3307321Smrg basic_machine=i860-alliant 646b3307321Smrg ;; 647b3307321Smrg genix) 648b3307321Smrg basic_machine=ns32k-ns 649b3307321Smrg ;; 650b3307321Smrg gmicro) 651b3307321Smrg basic_machine=tron-gmicro 652b3307321Smrg os=-sysv 653b3307321Smrg ;; 654b3307321Smrg go32) 655b3307321Smrg basic_machine=i386-pc 656b3307321Smrg os=-go32 657b3307321Smrg ;; 658b3307321Smrg h3050r* | hiux*) 659b3307321Smrg basic_machine=hppa1.1-hitachi 660b3307321Smrg os=-hiuxwe2 661b3307321Smrg ;; 662b3307321Smrg h8300hms) 663b3307321Smrg basic_machine=h8300-hitachi 664b3307321Smrg os=-hms 665b3307321Smrg ;; 666b3307321Smrg h8300xray) 667b3307321Smrg basic_machine=h8300-hitachi 668b3307321Smrg os=-xray 669b3307321Smrg ;; 670b3307321Smrg h8500hms) 671b3307321Smrg basic_machine=h8500-hitachi 672b3307321Smrg os=-hms 673b3307321Smrg ;; 674b3307321Smrg harris) 675b3307321Smrg basic_machine=m88k-harris 676b3307321Smrg os=-sysv3 677b3307321Smrg ;; 678b3307321Smrg hp300-*) 679b3307321Smrg basic_machine=m68k-hp 680b3307321Smrg ;; 681b3307321Smrg hp300bsd) 682b3307321Smrg basic_machine=m68k-hp 683b3307321Smrg os=-bsd 684b3307321Smrg ;; 685b3307321Smrg hp300hpux) 686b3307321Smrg basic_machine=m68k-hp 687b3307321Smrg os=-hpux 688b3307321Smrg ;; 689b3307321Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 690b3307321Smrg basic_machine=hppa1.0-hp 691b3307321Smrg ;; 692b3307321Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 693b3307321Smrg basic_machine=m68000-hp 694b3307321Smrg ;; 695b3307321Smrg hp9k3[2-9][0-9]) 696b3307321Smrg basic_machine=m68k-hp 697b3307321Smrg ;; 698b3307321Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 699b3307321Smrg basic_machine=hppa1.0-hp 700b3307321Smrg ;; 701b3307321Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 702b3307321Smrg basic_machine=hppa1.1-hp 703b3307321Smrg ;; 704b3307321Smrg hp9k78[0-9] | hp78[0-9]) 705b3307321Smrg # FIXME: really hppa2.0-hp 706b3307321Smrg basic_machine=hppa1.1-hp 707b3307321Smrg ;; 708b3307321Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 709b3307321Smrg # FIXME: really hppa2.0-hp 710b3307321Smrg basic_machine=hppa1.1-hp 711b3307321Smrg ;; 712b3307321Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 713b3307321Smrg basic_machine=hppa1.1-hp 714b3307321Smrg ;; 715b3307321Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 716b3307321Smrg basic_machine=hppa1.0-hp 717b3307321Smrg ;; 718b3307321Smrg hppa-next) 719b3307321Smrg os=-nextstep3 720b3307321Smrg ;; 721b3307321Smrg hppaosf) 722b3307321Smrg basic_machine=hppa1.1-hp 723b3307321Smrg os=-osf 724b3307321Smrg ;; 725b3307321Smrg hppro) 726b3307321Smrg basic_machine=hppa1.1-hp 727b3307321Smrg os=-proelf 728b3307321Smrg ;; 729b3307321Smrg i370-ibm* | ibm*) 730b3307321Smrg basic_machine=i370-ibm 731b3307321Smrg ;; 732b3307321Smrg i*86v32) 733b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 734b3307321Smrg os=-sysv32 735b3307321Smrg ;; 736b3307321Smrg i*86v4*) 737b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 738b3307321Smrg os=-sysv4 739b3307321Smrg ;; 740b3307321Smrg i*86v) 741b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 742b3307321Smrg os=-sysv 743b3307321Smrg ;; 744b3307321Smrg i*86sol2) 745b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 746b3307321Smrg os=-solaris2 747b3307321Smrg ;; 748b3307321Smrg i386mach) 749b3307321Smrg basic_machine=i386-mach 750b3307321Smrg os=-mach 751b3307321Smrg ;; 752b3307321Smrg i386-vsta | vsta) 753b3307321Smrg basic_machine=i386-unknown 754b3307321Smrg os=-vsta 755b3307321Smrg ;; 756b3307321Smrg iris | iris4d) 757b3307321Smrg basic_machine=mips-sgi 758b3307321Smrg case $os in 759b3307321Smrg -irix*) 760b3307321Smrg ;; 761b3307321Smrg *) 762b3307321Smrg os=-irix4 763b3307321Smrg ;; 764b3307321Smrg esac 765b3307321Smrg ;; 766b3307321Smrg isi68 | isi) 767b3307321Smrg basic_machine=m68k-isi 768b3307321Smrg os=-sysv 769b3307321Smrg ;; 770afe13c8eSmrg m68knommu) 771afe13c8eSmrg basic_machine=m68k-unknown 772afe13c8eSmrg os=-linux 773afe13c8eSmrg ;; 774afe13c8eSmrg m68knommu-*) 775afe13c8eSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 776afe13c8eSmrg os=-linux 777afe13c8eSmrg ;; 778b3307321Smrg m88k-omron*) 779b3307321Smrg basic_machine=m88k-omron 780b3307321Smrg ;; 781b3307321Smrg magnum | m3230) 782b3307321Smrg basic_machine=mips-mips 783b3307321Smrg os=-sysv 784b3307321Smrg ;; 785b3307321Smrg merlin) 786b3307321Smrg basic_machine=ns32k-utek 787b3307321Smrg os=-sysv 788b3307321Smrg ;; 78974a3f230Smrg microblaze*) 79029cb5710Smrg basic_machine=microblaze-xilinx 79129cb5710Smrg ;; 79274a3f230Smrg mingw64) 79374a3f230Smrg basic_machine=x86_64-pc 79474a3f230Smrg os=-mingw64 79574a3f230Smrg ;; 796b3307321Smrg mingw32) 797b3307321Smrg basic_machine=i386-pc 798b3307321Smrg os=-mingw32 799b3307321Smrg ;; 800afe13c8eSmrg mingw32ce) 801afe13c8eSmrg basic_machine=arm-unknown 802afe13c8eSmrg os=-mingw32ce 803afe13c8eSmrg ;; 804b3307321Smrg miniframe) 805b3307321Smrg basic_machine=m68000-convergent 806b3307321Smrg ;; 807b3307321Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 808b3307321Smrg basic_machine=m68k-atari 809b3307321Smrg os=-mint 810b3307321Smrg ;; 811b3307321Smrg mips3*-*) 812b3307321Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 813b3307321Smrg ;; 814b3307321Smrg mips3*) 815b3307321Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 816b3307321Smrg ;; 817b3307321Smrg monitor) 818b3307321Smrg basic_machine=m68k-rom68k 819b3307321Smrg os=-coff 820b3307321Smrg ;; 821b3307321Smrg morphos) 822b3307321Smrg basic_machine=powerpc-unknown 823b3307321Smrg os=-morphos 824b3307321Smrg ;; 825b3307321Smrg msdos) 826b3307321Smrg basic_machine=i386-pc 827b3307321Smrg os=-msdos 828b3307321Smrg ;; 829afe13c8eSmrg ms1-*) 830afe13c8eSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 831afe13c8eSmrg ;; 83274a3f230Smrg msys) 83374a3f230Smrg basic_machine=i386-pc 83474a3f230Smrg os=-msys 83574a3f230Smrg ;; 836b3307321Smrg mvs) 837b3307321Smrg basic_machine=i370-ibm 838b3307321Smrg os=-mvs 839b3307321Smrg ;; 84074a3f230Smrg nacl) 84174a3f230Smrg basic_machine=le32-unknown 84274a3f230Smrg os=-nacl 84374a3f230Smrg ;; 844b3307321Smrg ncr3000) 845b3307321Smrg basic_machine=i486-ncr 846b3307321Smrg os=-sysv4 847b3307321Smrg ;; 848b3307321Smrg netbsd386) 849b3307321Smrg basic_machine=i386-unknown 850b3307321Smrg os=-netbsd 851b3307321Smrg ;; 852b3307321Smrg netwinder) 853b3307321Smrg basic_machine=armv4l-rebel 854b3307321Smrg os=-linux 855b3307321Smrg ;; 856b3307321Smrg news | news700 | news800 | news900) 857b3307321Smrg basic_machine=m68k-sony 858b3307321Smrg os=-newsos 859b3307321Smrg ;; 860b3307321Smrg news1000) 861b3307321Smrg basic_machine=m68030-sony 862b3307321Smrg os=-newsos 863b3307321Smrg ;; 864b3307321Smrg news-3600 | risc-news) 865b3307321Smrg basic_machine=mips-sony 866b3307321Smrg os=-newsos 867b3307321Smrg ;; 868b3307321Smrg necv70) 869b3307321Smrg basic_machine=v70-nec 870b3307321Smrg os=-sysv 871b3307321Smrg ;; 872b3307321Smrg next | m*-next ) 873b3307321Smrg basic_machine=m68k-next 874b3307321Smrg case $os in 875b3307321Smrg -nextstep* ) 876b3307321Smrg ;; 877b3307321Smrg -ns2*) 878b3307321Smrg os=-nextstep2 879b3307321Smrg ;; 880b3307321Smrg *) 881b3307321Smrg os=-nextstep3 882b3307321Smrg ;; 883b3307321Smrg esac 884b3307321Smrg ;; 885b3307321Smrg nh3000) 886b3307321Smrg basic_machine=m68k-harris 887b3307321Smrg os=-cxux 888b3307321Smrg ;; 889b3307321Smrg nh[45]000) 890b3307321Smrg basic_machine=m88k-harris 891b3307321Smrg os=-cxux 892b3307321Smrg ;; 893b3307321Smrg nindy960) 894b3307321Smrg basic_machine=i960-intel 895b3307321Smrg os=-nindy 896b3307321Smrg ;; 897b3307321Smrg mon960) 898b3307321Smrg basic_machine=i960-intel 899b3307321Smrg os=-mon960 900b3307321Smrg ;; 901b3307321Smrg nonstopux) 902b3307321Smrg basic_machine=mips-compaq 903b3307321Smrg os=-nonstopux 904b3307321Smrg ;; 905b3307321Smrg np1) 906b3307321Smrg basic_machine=np1-gould 907b3307321Smrg ;; 90874a3f230Smrg neo-tandem) 90929cb5710Smrg basic_machine=neo-tandem 91029cb5710Smrg ;; 91174a3f230Smrg nse-tandem) 91229cb5710Smrg basic_machine=nse-tandem 91329cb5710Smrg ;; 914b3307321Smrg nsr-tandem) 915b3307321Smrg basic_machine=nsr-tandem 916b3307321Smrg ;; 917b3307321Smrg op50n-* | op60c-*) 918b3307321Smrg basic_machine=hppa1.1-oki 919b3307321Smrg os=-proelf 920b3307321Smrg ;; 921afe13c8eSmrg openrisc | openrisc-*) 922b3307321Smrg basic_machine=or32-unknown 923afe13c8eSmrg ;; 924afe13c8eSmrg os400) 925afe13c8eSmrg basic_machine=powerpc-ibm 926afe13c8eSmrg os=-os400 927b3307321Smrg ;; 928b3307321Smrg OSE68000 | ose68000) 929b3307321Smrg basic_machine=m68000-ericsson 930b3307321Smrg os=-ose 931b3307321Smrg ;; 932b3307321Smrg os68k) 933b3307321Smrg basic_machine=m68k-none 934b3307321Smrg os=-os68k 935b3307321Smrg ;; 936b3307321Smrg pa-hitachi) 937b3307321Smrg basic_machine=hppa1.1-hitachi 938b3307321Smrg os=-hiuxwe2 939b3307321Smrg ;; 940b3307321Smrg paragon) 941b3307321Smrg basic_machine=i860-intel 942b3307321Smrg os=-osf 943b3307321Smrg ;; 944afe13c8eSmrg parisc) 945afe13c8eSmrg basic_machine=hppa-unknown 946afe13c8eSmrg os=-linux 947afe13c8eSmrg ;; 948afe13c8eSmrg parisc-*) 949afe13c8eSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 950afe13c8eSmrg os=-linux 951afe13c8eSmrg ;; 952b3307321Smrg pbd) 953b3307321Smrg basic_machine=sparc-tti 954b3307321Smrg ;; 955b3307321Smrg pbb) 956b3307321Smrg basic_machine=m68k-tti 957b3307321Smrg ;; 958b3307321Smrg pc532 | pc532-*) 959b3307321Smrg basic_machine=ns32k-pc532 960b3307321Smrg ;; 961afe13c8eSmrg pc98) 962afe13c8eSmrg basic_machine=i386-pc 963afe13c8eSmrg ;; 964afe13c8eSmrg pc98-*) 965afe13c8eSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 966afe13c8eSmrg ;; 967b3307321Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 968b3307321Smrg basic_machine=i586-pc 969b3307321Smrg ;; 970b3307321Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 971b3307321Smrg basic_machine=i686-pc 972b3307321Smrg ;; 973b3307321Smrg pentiumii | pentium2 | pentiumiii | pentium3) 974b3307321Smrg basic_machine=i686-pc 975b3307321Smrg ;; 976b3307321Smrg pentium4) 977b3307321Smrg basic_machine=i786-pc 978b3307321Smrg ;; 979b3307321Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 980b3307321Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 981b3307321Smrg ;; 982b3307321Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 983b3307321Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 984b3307321Smrg ;; 985b3307321Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 986b3307321Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 987b3307321Smrg ;; 988b3307321Smrg pentium4-*) 989b3307321Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 990b3307321Smrg ;; 991b3307321Smrg pn) 992b3307321Smrg basic_machine=pn-gould 993b3307321Smrg ;; 994b3307321Smrg power) basic_machine=power-ibm 995b3307321Smrg ;; 99674a3f230Smrg ppc | ppcbe) basic_machine=powerpc-unknown 997b3307321Smrg ;; 99874a3f230Smrg ppc-* | ppcbe-*) 99974a3f230Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1000b3307321Smrg ;; 1001b3307321Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1002b3307321Smrg basic_machine=powerpcle-unknown 1003b3307321Smrg ;; 1004b3307321Smrg ppcle-* | powerpclittle-*) 1005b3307321Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1006b3307321Smrg ;; 1007b3307321Smrg ppc64) basic_machine=powerpc64-unknown 1008b3307321Smrg ;; 1009b3307321Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1010b3307321Smrg ;; 1011b3307321Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1012b3307321Smrg basic_machine=powerpc64le-unknown 1013b3307321Smrg ;; 1014b3307321Smrg ppc64le-* | powerpc64little-*) 1015b3307321Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1016b3307321Smrg ;; 1017b3307321Smrg ps2) 1018b3307321Smrg basic_machine=i386-ibm 1019b3307321Smrg ;; 1020b3307321Smrg pw32) 1021b3307321Smrg basic_machine=i586-unknown 1022b3307321Smrg os=-pw32 1023b3307321Smrg ;; 102474a3f230Smrg rdos | rdos64) 102574a3f230Smrg basic_machine=x86_64-pc 102674a3f230Smrg os=-rdos 102774a3f230Smrg ;; 102874a3f230Smrg rdos32) 1029afe13c8eSmrg basic_machine=i386-pc 1030afe13c8eSmrg os=-rdos 1031afe13c8eSmrg ;; 1032b3307321Smrg rom68k) 1033b3307321Smrg basic_machine=m68k-rom68k 1034b3307321Smrg os=-coff 1035b3307321Smrg ;; 1036b3307321Smrg rm[46]00) 1037b3307321Smrg basic_machine=mips-siemens 1038b3307321Smrg ;; 1039b3307321Smrg rtpc | rtpc-*) 1040b3307321Smrg basic_machine=romp-ibm 1041b3307321Smrg ;; 1042afe13c8eSmrg s390 | s390-*) 1043afe13c8eSmrg basic_machine=s390-ibm 1044afe13c8eSmrg ;; 1045afe13c8eSmrg s390x | s390x-*) 1046afe13c8eSmrg basic_machine=s390x-ibm 1047afe13c8eSmrg ;; 1048b3307321Smrg sa29200) 1049b3307321Smrg basic_machine=a29k-amd 1050b3307321Smrg os=-udi 1051b3307321Smrg ;; 1052b3307321Smrg sb1) 1053b3307321Smrg basic_machine=mipsisa64sb1-unknown 1054b3307321Smrg ;; 1055b3307321Smrg sb1el) 1056b3307321Smrg basic_machine=mipsisa64sb1el-unknown 1057b3307321Smrg ;; 1058afe13c8eSmrg sde) 1059afe13c8eSmrg basic_machine=mipsisa32-sde 1060afe13c8eSmrg os=-elf 1061afe13c8eSmrg ;; 1062b3307321Smrg sei) 1063b3307321Smrg basic_machine=mips-sei 1064b3307321Smrg os=-seiux 1065b3307321Smrg ;; 1066b3307321Smrg sequent) 1067b3307321Smrg basic_machine=i386-sequent 1068b3307321Smrg ;; 1069b3307321Smrg sh) 1070b3307321Smrg basic_machine=sh-hitachi 1071b3307321Smrg os=-hms 1072b3307321Smrg ;; 1073afe13c8eSmrg sh5el) 1074afe13c8eSmrg basic_machine=sh5le-unknown 1075afe13c8eSmrg ;; 1076b3307321Smrg sh64) 1077b3307321Smrg basic_machine=sh64-unknown 1078b3307321Smrg ;; 1079b3307321Smrg sparclite-wrs | simso-wrs) 1080b3307321Smrg basic_machine=sparclite-wrs 1081b3307321Smrg os=-vxworks 1082b3307321Smrg ;; 1083b3307321Smrg sps7) 1084b3307321Smrg basic_machine=m68k-bull 1085b3307321Smrg os=-sysv2 1086b3307321Smrg ;; 1087b3307321Smrg spur) 1088b3307321Smrg basic_machine=spur-unknown 1089b3307321Smrg ;; 1090b3307321Smrg st2000) 1091b3307321Smrg basic_machine=m68k-tandem 1092b3307321Smrg ;; 1093b3307321Smrg stratus) 1094b3307321Smrg basic_machine=i860-stratus 1095b3307321Smrg os=-sysv4 1096b3307321Smrg ;; 109774a3f230Smrg strongarm-* | thumb-*) 109874a3f230Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 109974a3f230Smrg ;; 1100b3307321Smrg sun2) 1101b3307321Smrg basic_machine=m68000-sun 1102b3307321Smrg ;; 1103b3307321Smrg sun2os3) 1104b3307321Smrg basic_machine=m68000-sun 1105b3307321Smrg os=-sunos3 1106b3307321Smrg ;; 1107b3307321Smrg sun2os4) 1108b3307321Smrg basic_machine=m68000-sun 1109b3307321Smrg os=-sunos4 1110b3307321Smrg ;; 1111b3307321Smrg sun3os3) 1112b3307321Smrg basic_machine=m68k-sun 1113b3307321Smrg os=-sunos3 1114b3307321Smrg ;; 1115b3307321Smrg sun3os4) 1116b3307321Smrg basic_machine=m68k-sun 1117b3307321Smrg os=-sunos4 1118b3307321Smrg ;; 1119b3307321Smrg sun4os3) 1120b3307321Smrg basic_machine=sparc-sun 1121b3307321Smrg os=-sunos3 1122b3307321Smrg ;; 1123b3307321Smrg sun4os4) 1124b3307321Smrg basic_machine=sparc-sun 1125b3307321Smrg os=-sunos4 1126b3307321Smrg ;; 1127b3307321Smrg sun4sol2) 1128b3307321Smrg basic_machine=sparc-sun 1129b3307321Smrg os=-solaris2 1130b3307321Smrg ;; 1131b3307321Smrg sun3 | sun3-*) 1132b3307321Smrg basic_machine=m68k-sun 1133b3307321Smrg ;; 1134b3307321Smrg sun4) 1135b3307321Smrg basic_machine=sparc-sun 1136b3307321Smrg ;; 1137b3307321Smrg sun386 | sun386i | roadrunner) 1138b3307321Smrg basic_machine=i386-sun 1139b3307321Smrg ;; 1140b3307321Smrg sv1) 1141b3307321Smrg basic_machine=sv1-cray 1142b3307321Smrg os=-unicos 1143b3307321Smrg ;; 1144b3307321Smrg symmetry) 1145b3307321Smrg basic_machine=i386-sequent 1146b3307321Smrg os=-dynix 1147b3307321Smrg ;; 1148b3307321Smrg t3e) 1149b3307321Smrg basic_machine=alphaev5-cray 1150b3307321Smrg os=-unicos 1151b3307321Smrg ;; 1152b3307321Smrg t90) 1153b3307321Smrg basic_machine=t90-cray 1154b3307321Smrg os=-unicos 1155b3307321Smrg ;; 1156afe13c8eSmrg tile*) 115774a3f230Smrg basic_machine=$basic_machine-unknown 1158afe13c8eSmrg os=-linux-gnu 1159afe13c8eSmrg ;; 1160b3307321Smrg tx39) 1161b3307321Smrg basic_machine=mipstx39-unknown 1162b3307321Smrg ;; 1163b3307321Smrg tx39el) 1164b3307321Smrg basic_machine=mipstx39el-unknown 1165b3307321Smrg ;; 1166b3307321Smrg toad1) 1167b3307321Smrg basic_machine=pdp10-xkl 1168b3307321Smrg os=-tops20 1169b3307321Smrg ;; 1170b3307321Smrg tower | tower-32) 1171b3307321Smrg basic_machine=m68k-ncr 1172b3307321Smrg ;; 1173afe13c8eSmrg tpf) 1174afe13c8eSmrg basic_machine=s390x-ibm 1175afe13c8eSmrg os=-tpf 1176afe13c8eSmrg ;; 1177b3307321Smrg udi29k) 1178b3307321Smrg basic_machine=a29k-amd 1179b3307321Smrg os=-udi 1180b3307321Smrg ;; 1181b3307321Smrg ultra3) 1182b3307321Smrg basic_machine=a29k-nyu 1183b3307321Smrg os=-sym1 1184b3307321Smrg ;; 1185b3307321Smrg v810 | necv810) 1186b3307321Smrg basic_machine=v810-nec 1187b3307321Smrg os=-none 1188b3307321Smrg ;; 1189b3307321Smrg vaxv) 1190b3307321Smrg basic_machine=vax-dec 1191b3307321Smrg os=-sysv 1192b3307321Smrg ;; 1193b3307321Smrg vms) 1194b3307321Smrg basic_machine=vax-dec 1195b3307321Smrg os=-vms 1196b3307321Smrg ;; 1197b3307321Smrg vpp*|vx|vx-*) 1198b3307321Smrg basic_machine=f301-fujitsu 1199b3307321Smrg ;; 1200b3307321Smrg vxworks960) 1201b3307321Smrg basic_machine=i960-wrs 1202b3307321Smrg os=-vxworks 1203b3307321Smrg ;; 1204b3307321Smrg vxworks68) 1205b3307321Smrg basic_machine=m68k-wrs 1206b3307321Smrg os=-vxworks 1207b3307321Smrg ;; 1208b3307321Smrg vxworks29k) 1209b3307321Smrg basic_machine=a29k-wrs 1210b3307321Smrg os=-vxworks 1211b3307321Smrg ;; 1212b3307321Smrg w65*) 1213b3307321Smrg basic_machine=w65-wdc 1214b3307321Smrg os=-none 1215b3307321Smrg ;; 1216b3307321Smrg w89k-*) 1217b3307321Smrg basic_machine=hppa1.1-winbond 1218b3307321Smrg os=-proelf 1219b3307321Smrg ;; 1220afe13c8eSmrg xbox) 1221afe13c8eSmrg basic_machine=i686-pc 1222afe13c8eSmrg os=-mingw32 1223afe13c8eSmrg ;; 1224b3307321Smrg xps | xps100) 1225b3307321Smrg basic_machine=xps100-honeywell 1226b3307321Smrg ;; 122774a3f230Smrg xscale-* | xscalee[bl]-*) 122874a3f230Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 122974a3f230Smrg ;; 1230b3307321Smrg ymp) 1231b3307321Smrg basic_machine=ymp-cray 1232b3307321Smrg os=-unicos 1233b3307321Smrg ;; 1234b3307321Smrg z8k-*-coff) 1235b3307321Smrg basic_machine=z8k-unknown 1236b3307321Smrg os=-sim 1237b3307321Smrg ;; 12385e358ecaSmrg z80-*-coff) 12395e358ecaSmrg basic_machine=z80-unknown 12405e358ecaSmrg os=-sim 12415e358ecaSmrg ;; 1242b3307321Smrg none) 1243b3307321Smrg basic_machine=none-none 1244b3307321Smrg os=-none 1245b3307321Smrg ;; 1246b3307321Smrg 1247b3307321Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1248b3307321Smrg# some cases the only manufacturer, in others, it is the most popular. 1249b3307321Smrg w89k) 1250b3307321Smrg basic_machine=hppa1.1-winbond 1251b3307321Smrg ;; 1252b3307321Smrg op50n) 1253b3307321Smrg basic_machine=hppa1.1-oki 1254b3307321Smrg ;; 1255b3307321Smrg op60c) 1256b3307321Smrg basic_machine=hppa1.1-oki 1257b3307321Smrg ;; 1258b3307321Smrg romp) 1259b3307321Smrg basic_machine=romp-ibm 1260b3307321Smrg ;; 1261afe13c8eSmrg mmix) 1262afe13c8eSmrg basic_machine=mmix-knuth 1263afe13c8eSmrg ;; 1264b3307321Smrg rs6000) 1265b3307321Smrg basic_machine=rs6000-ibm 1266b3307321Smrg ;; 1267b3307321Smrg vax) 1268b3307321Smrg basic_machine=vax-dec 1269b3307321Smrg ;; 1270b3307321Smrg pdp10) 1271b3307321Smrg # there are many clones, so DEC is not a safe bet 1272b3307321Smrg basic_machine=pdp10-unknown 1273b3307321Smrg ;; 1274b3307321Smrg pdp11) 1275b3307321Smrg basic_machine=pdp11-dec 1276b3307321Smrg ;; 1277b3307321Smrg we32k) 1278b3307321Smrg basic_machine=we32k-att 1279b3307321Smrg ;; 12805e358ecaSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1281b3307321Smrg basic_machine=sh-unknown 1282b3307321Smrg ;; 1283afe13c8eSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1284b3307321Smrg basic_machine=sparc-sun 1285b3307321Smrg ;; 1286b3307321Smrg cydra) 1287b3307321Smrg basic_machine=cydra-cydrome 1288b3307321Smrg ;; 1289b3307321Smrg orion) 1290b3307321Smrg basic_machine=orion-highlevel 1291b3307321Smrg ;; 1292b3307321Smrg orion105) 1293b3307321Smrg basic_machine=clipper-highlevel 1294b3307321Smrg ;; 1295b3307321Smrg mac | mpw | mac-mpw) 1296b3307321Smrg basic_machine=m68k-apple 1297b3307321Smrg ;; 1298b3307321Smrg pmac | pmac-mpw) 1299b3307321Smrg basic_machine=powerpc-apple 1300b3307321Smrg ;; 1301b3307321Smrg *-unknown) 1302b3307321Smrg # Make sure to match an already-canonicalized machine name. 1303b3307321Smrg ;; 1304b3307321Smrg *) 1305b3307321Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1306b3307321Smrg exit 1 1307b3307321Smrg ;; 1308b3307321Smrgesac 1309b3307321Smrg 1310b3307321Smrg# Here we canonicalize certain aliases for manufacturers. 1311b3307321Smrgcase $basic_machine in 1312b3307321Smrg *-digital*) 1313b3307321Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1314b3307321Smrg ;; 1315b3307321Smrg *-commodore*) 1316b3307321Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1317b3307321Smrg ;; 1318b3307321Smrg *) 1319b3307321Smrg ;; 1320b3307321Smrgesac 1321b3307321Smrg 1322b3307321Smrg# Decode manufacturer-specific aliases for certain operating systems. 1323b3307321Smrg 1324b3307321Smrgif [ x"$os" != x"" ] 1325b3307321Smrgthen 1326b3307321Smrgcase $os in 132774a3f230Smrg # First match some system type aliases 132874a3f230Smrg # that might get confused with valid system types. 1329b3307321Smrg # -solaris* is a basic system type, with this one exception. 133074a3f230Smrg -auroraux) 133174a3f230Smrg os=-auroraux 133229cb5710Smrg ;; 1333b3307321Smrg -solaris1 | -solaris1.*) 1334b3307321Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1335b3307321Smrg ;; 1336b3307321Smrg -solaris) 1337b3307321Smrg os=-solaris2 1338b3307321Smrg ;; 1339b3307321Smrg -svr4*) 1340b3307321Smrg os=-sysv4 1341b3307321Smrg ;; 1342b3307321Smrg -unixware*) 1343b3307321Smrg os=-sysv4.2uw 1344b3307321Smrg ;; 1345b3307321Smrg -gnu/linux*) 1346b3307321Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1347b3307321Smrg ;; 1348b3307321Smrg # First accept the basic system types. 1349b3307321Smrg # The portable systems comes first. 1350b3307321Smrg # Each alternative MUST END IN A *, to match a version number. 1351b3307321Smrg # -sysv* is not here because it comes later, after sysvr4. 1352b3307321Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 135329cb5710Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 135429cb5710Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 135574a3f230Smrg | -sym* | -kopensolaris* | -plan9* \ 1356b3307321Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13575e358ecaSmrg | -aos* | -aros* \ 1358b3307321Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1359b3307321Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1360afe13c8eSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 136174a3f230Smrg | -bitrig* | -openbsd* | -solidbsd* \ 1362afe13c8eSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1363afe13c8eSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1364b3307321Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1365b3307321Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13665e358ecaSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 136774a3f230Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 136874a3f230Smrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 136974a3f230Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1370afe13c8eSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1371b3307321Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1372b3307321Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1373b3307321Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1374b3307321Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1375b3307321Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1376afe13c8eSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 137729cb5710Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1378b3307321Smrg # Remember, each alternative MUST END IN *, to match a version number. 1379b3307321Smrg ;; 1380b3307321Smrg -qnx*) 1381b3307321Smrg case $basic_machine in 1382b3307321Smrg x86-* | i*86-*) 1383b3307321Smrg ;; 1384b3307321Smrg *) 1385b3307321Smrg os=-nto$os 1386b3307321Smrg ;; 1387b3307321Smrg esac 1388b3307321Smrg ;; 1389b3307321Smrg -nto-qnx*) 1390b3307321Smrg ;; 1391b3307321Smrg -nto*) 1392b3307321Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1393b3307321Smrg ;; 1394b3307321Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1395afe13c8eSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1396b3307321Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1397b3307321Smrg ;; 1398b3307321Smrg -mac*) 1399b3307321Smrg os=`echo $os | sed -e 's|mac|macos|'` 1400b3307321Smrg ;; 1401afe13c8eSmrg -linux-dietlibc) 1402afe13c8eSmrg os=-linux-dietlibc 1403afe13c8eSmrg ;; 1404b3307321Smrg -linux*) 1405b3307321Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1406b3307321Smrg ;; 1407b3307321Smrg -sunos5*) 1408b3307321Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1409b3307321Smrg ;; 1410b3307321Smrg -sunos6*) 1411b3307321Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1412b3307321Smrg ;; 1413b3307321Smrg -opened*) 1414b3307321Smrg os=-openedition 1415b3307321Smrg ;; 141674a3f230Smrg -os400*) 1417afe13c8eSmrg os=-os400 1418afe13c8eSmrg ;; 1419b3307321Smrg -wince*) 1420b3307321Smrg os=-wince 1421b3307321Smrg ;; 1422b3307321Smrg -osfrose*) 1423b3307321Smrg os=-osfrose 1424b3307321Smrg ;; 1425b3307321Smrg -osf*) 1426b3307321Smrg os=-osf 1427b3307321Smrg ;; 1428b3307321Smrg -utek*) 1429b3307321Smrg os=-bsd 1430b3307321Smrg ;; 1431b3307321Smrg -dynix*) 1432b3307321Smrg os=-bsd 1433b3307321Smrg ;; 1434b3307321Smrg -acis*) 1435b3307321Smrg os=-aos 1436b3307321Smrg ;; 1437b3307321Smrg -atheos*) 1438b3307321Smrg os=-atheos 1439b3307321Smrg ;; 1440afe13c8eSmrg -syllable*) 1441afe13c8eSmrg os=-syllable 1442afe13c8eSmrg ;; 1443b3307321Smrg -386bsd) 1444b3307321Smrg os=-bsd 1445b3307321Smrg ;; 1446b3307321Smrg -ctix* | -uts*) 1447b3307321Smrg os=-sysv 1448b3307321Smrg ;; 1449b3307321Smrg -nova*) 1450b3307321Smrg os=-rtmk-nova 1451b3307321Smrg ;; 1452b3307321Smrg -ns2 ) 1453b3307321Smrg os=-nextstep2 1454b3307321Smrg ;; 1455b3307321Smrg -nsk*) 1456b3307321Smrg os=-nsk 1457b3307321Smrg ;; 1458b3307321Smrg # Preserve the version number of sinix5. 1459b3307321Smrg -sinix5.*) 1460b3307321Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1461b3307321Smrg ;; 1462b3307321Smrg -sinix*) 1463b3307321Smrg os=-sysv4 1464b3307321Smrg ;; 146574a3f230Smrg -tpf*) 1466afe13c8eSmrg os=-tpf 1467afe13c8eSmrg ;; 1468b3307321Smrg -triton*) 1469b3307321Smrg os=-sysv3 1470b3307321Smrg ;; 1471b3307321Smrg -oss*) 1472b3307321Smrg os=-sysv3 1473b3307321Smrg ;; 1474b3307321Smrg -svr4) 1475b3307321Smrg os=-sysv4 1476b3307321Smrg ;; 1477b3307321Smrg -svr3) 1478b3307321Smrg os=-sysv3 1479b3307321Smrg ;; 1480b3307321Smrg -sysvr4) 1481b3307321Smrg os=-sysv4 1482b3307321Smrg ;; 1483b3307321Smrg # This must come after -sysvr4. 1484b3307321Smrg -sysv*) 1485b3307321Smrg ;; 1486b3307321Smrg -ose*) 1487b3307321Smrg os=-ose 1488b3307321Smrg ;; 1489b3307321Smrg -es1800*) 1490b3307321Smrg os=-ose 1491b3307321Smrg ;; 1492b3307321Smrg -xenix) 1493b3307321Smrg os=-xenix 1494b3307321Smrg ;; 1495b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1496b3307321Smrg os=-mint 1497b3307321Smrg ;; 1498b3307321Smrg -aros*) 1499b3307321Smrg os=-aros 1500b3307321Smrg ;; 1501afe13c8eSmrg -zvmoe) 1502afe13c8eSmrg os=-zvmoe 1503afe13c8eSmrg ;; 15045e358ecaSmrg -dicos*) 15055e358ecaSmrg os=-dicos 15065e358ecaSmrg ;; 150774a3f230Smrg -nacl*) 150874a3f230Smrg ;; 1509b3307321Smrg -none) 1510b3307321Smrg ;; 1511b3307321Smrg *) 1512b3307321Smrg # Get rid of the `-' at the beginning of $os. 1513b3307321Smrg os=`echo $os | sed 's/[^-]*-//'` 1514b3307321Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1515b3307321Smrg exit 1 1516b3307321Smrg ;; 1517b3307321Smrgesac 1518b3307321Smrgelse 1519b3307321Smrg 1520b3307321Smrg# Here we handle the default operating systems that come with various machines. 1521b3307321Smrg# The value should be what the vendor currently ships out the door with their 1522b3307321Smrg# machine or put another way, the most popular os provided with the machine. 1523b3307321Smrg 1524b3307321Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1525b3307321Smrg# "-sun"), then you have to tell the case statement up towards the top 1526b3307321Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1527b3307321Smrg# will signal an error saying that MANUFACTURER isn't an operating 1528b3307321Smrg# system, and we'll never get to this point. 1529b3307321Smrg 1530b3307321Smrgcase $basic_machine in 153174a3f230Smrg score-*) 1532afe13c8eSmrg os=-elf 1533afe13c8eSmrg ;; 153474a3f230Smrg spu-*) 1535afe13c8eSmrg os=-elf 1536afe13c8eSmrg ;; 1537b3307321Smrg *-acorn) 1538b3307321Smrg os=-riscix1.2 1539b3307321Smrg ;; 1540b3307321Smrg arm*-rebel) 1541b3307321Smrg os=-linux 1542b3307321Smrg ;; 1543b3307321Smrg arm*-semi) 1544b3307321Smrg os=-aout 1545b3307321Smrg ;; 154674a3f230Smrg c4x-* | tic4x-*) 154774a3f230Smrg os=-coff 154874a3f230Smrg ;; 154974a3f230Smrg hexagon-*) 155074a3f230Smrg os=-elf 1551b3307321Smrg ;; 155229cb5710Smrg tic54x-*) 155329cb5710Smrg os=-coff 155429cb5710Smrg ;; 155529cb5710Smrg tic55x-*) 155629cb5710Smrg os=-coff 155729cb5710Smrg ;; 155829cb5710Smrg tic6x-*) 155929cb5710Smrg os=-coff 156029cb5710Smrg ;; 1561b3307321Smrg # This must come before the *-dec entry. 1562b3307321Smrg pdp10-*) 1563b3307321Smrg os=-tops20 1564b3307321Smrg ;; 1565b3307321Smrg pdp11-*) 1566b3307321Smrg os=-none 1567b3307321Smrg ;; 1568b3307321Smrg *-dec | vax-*) 1569b3307321Smrg os=-ultrix4.2 1570b3307321Smrg ;; 1571b3307321Smrg m68*-apollo) 1572b3307321Smrg os=-domain 1573b3307321Smrg ;; 1574b3307321Smrg i386-sun) 1575b3307321Smrg os=-sunos4.0.2 1576b3307321Smrg ;; 1577b3307321Smrg m68000-sun) 1578b3307321Smrg os=-sunos3 1579b3307321Smrg ;; 1580b3307321Smrg m68*-cisco) 1581b3307321Smrg os=-aout 1582b3307321Smrg ;; 158374a3f230Smrg mep-*) 1584afe13c8eSmrg os=-elf 1585afe13c8eSmrg ;; 1586b3307321Smrg mips*-cisco) 1587b3307321Smrg os=-elf 1588b3307321Smrg ;; 1589b3307321Smrg mips*-*) 1590b3307321Smrg os=-elf 1591b3307321Smrg ;; 159274a3f230Smrg or1k-*) 159374a3f230Smrg os=-elf 159474a3f230Smrg ;; 1595b3307321Smrg or32-*) 1596b3307321Smrg os=-coff 1597b3307321Smrg ;; 1598b3307321Smrg *-tti) # must be before sparc entry or we get the wrong os. 1599b3307321Smrg os=-sysv3 1600b3307321Smrg ;; 1601b3307321Smrg sparc-* | *-sun) 1602b3307321Smrg os=-sunos4.1.1 1603b3307321Smrg ;; 1604b3307321Smrg *-be) 1605b3307321Smrg os=-beos 1606b3307321Smrg ;; 1607afe13c8eSmrg *-haiku) 1608afe13c8eSmrg os=-haiku 1609afe13c8eSmrg ;; 1610b3307321Smrg *-ibm) 1611b3307321Smrg os=-aix 1612b3307321Smrg ;; 161374a3f230Smrg *-knuth) 1614afe13c8eSmrg os=-mmixware 1615afe13c8eSmrg ;; 1616b3307321Smrg *-wec) 1617b3307321Smrg os=-proelf 1618b3307321Smrg ;; 1619b3307321Smrg *-winbond) 1620b3307321Smrg os=-proelf 1621b3307321Smrg ;; 1622b3307321Smrg *-oki) 1623b3307321Smrg os=-proelf 1624b3307321Smrg ;; 1625b3307321Smrg *-hp) 1626b3307321Smrg os=-hpux 1627b3307321Smrg ;; 1628b3307321Smrg *-hitachi) 1629b3307321Smrg os=-hiux 1630b3307321Smrg ;; 1631b3307321Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1632b3307321Smrg os=-sysv 1633b3307321Smrg ;; 1634b3307321Smrg *-cbm) 1635b3307321Smrg os=-amigaos 1636b3307321Smrg ;; 1637b3307321Smrg *-dg) 1638b3307321Smrg os=-dgux 1639b3307321Smrg ;; 1640b3307321Smrg *-dolphin) 1641b3307321Smrg os=-sysv3 1642b3307321Smrg ;; 1643b3307321Smrg m68k-ccur) 1644b3307321Smrg os=-rtu 1645b3307321Smrg ;; 1646b3307321Smrg m88k-omron*) 1647b3307321Smrg os=-luna 1648b3307321Smrg ;; 1649b3307321Smrg *-next ) 1650b3307321Smrg os=-nextstep 1651b3307321Smrg ;; 1652b3307321Smrg *-sequent) 1653b3307321Smrg os=-ptx 1654b3307321Smrg ;; 1655b3307321Smrg *-crds) 1656b3307321Smrg os=-unos 1657b3307321Smrg ;; 1658b3307321Smrg *-ns) 1659b3307321Smrg os=-genix 1660b3307321Smrg ;; 1661b3307321Smrg i370-*) 1662b3307321Smrg os=-mvs 1663b3307321Smrg ;; 1664b3307321Smrg *-next) 1665b3307321Smrg os=-nextstep3 1666b3307321Smrg ;; 1667b3307321Smrg *-gould) 1668b3307321Smrg os=-sysv 1669b3307321Smrg ;; 1670b3307321Smrg *-highlevel) 1671b3307321Smrg os=-bsd 1672b3307321Smrg ;; 1673b3307321Smrg *-encore) 1674b3307321Smrg os=-bsd 1675b3307321Smrg ;; 1676b3307321Smrg *-sgi) 1677b3307321Smrg os=-irix 1678b3307321Smrg ;; 1679b3307321Smrg *-siemens) 1680b3307321Smrg os=-sysv4 1681b3307321Smrg ;; 1682b3307321Smrg *-masscomp) 1683b3307321Smrg os=-rtu 1684b3307321Smrg ;; 1685b3307321Smrg f30[01]-fujitsu | f700-fujitsu) 1686b3307321Smrg os=-uxpv 1687b3307321Smrg ;; 1688b3307321Smrg *-rom68k) 1689b3307321Smrg os=-coff 1690b3307321Smrg ;; 1691b3307321Smrg *-*bug) 1692b3307321Smrg os=-coff 1693b3307321Smrg ;; 1694b3307321Smrg *-apple) 1695b3307321Smrg os=-macos 1696b3307321Smrg ;; 1697b3307321Smrg *-atari*) 1698b3307321Smrg os=-mint 1699b3307321Smrg ;; 1700b3307321Smrg *) 1701b3307321Smrg os=-none 1702b3307321Smrg ;; 1703b3307321Smrgesac 1704b3307321Smrgfi 1705b3307321Smrg 1706b3307321Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1707b3307321Smrg# manufacturer. We pick the logical manufacturer. 1708b3307321Smrgvendor=unknown 1709b3307321Smrgcase $basic_machine in 1710b3307321Smrg *-unknown) 1711b3307321Smrg case $os in 1712b3307321Smrg -riscix*) 1713b3307321Smrg vendor=acorn 1714b3307321Smrg ;; 1715b3307321Smrg -sunos*) 1716b3307321Smrg vendor=sun 1717b3307321Smrg ;; 171829cb5710Smrg -cnk*|-aix*) 1719b3307321Smrg vendor=ibm 1720b3307321Smrg ;; 1721b3307321Smrg -beos*) 1722b3307321Smrg vendor=be 1723b3307321Smrg ;; 1724b3307321Smrg -hpux*) 1725b3307321Smrg vendor=hp 1726b3307321Smrg ;; 1727b3307321Smrg -mpeix*) 1728b3307321Smrg vendor=hp 1729b3307321Smrg ;; 1730b3307321Smrg -hiux*) 1731b3307321Smrg vendor=hitachi 1732b3307321Smrg ;; 1733b3307321Smrg -unos*) 1734b3307321Smrg vendor=crds 1735b3307321Smrg ;; 1736b3307321Smrg -dgux*) 1737b3307321Smrg vendor=dg 1738b3307321Smrg ;; 1739b3307321Smrg -luna*) 1740b3307321Smrg vendor=omron 1741b3307321Smrg ;; 1742b3307321Smrg -genix*) 1743b3307321Smrg vendor=ns 1744b3307321Smrg ;; 1745b3307321Smrg -mvs* | -opened*) 1746b3307321Smrg vendor=ibm 1747b3307321Smrg ;; 1748afe13c8eSmrg -os400*) 1749afe13c8eSmrg vendor=ibm 1750afe13c8eSmrg ;; 1751b3307321Smrg -ptx*) 1752b3307321Smrg vendor=sequent 1753b3307321Smrg ;; 1754afe13c8eSmrg -tpf*) 1755afe13c8eSmrg vendor=ibm 1756afe13c8eSmrg ;; 1757b3307321Smrg -vxsim* | -vxworks* | -windiss*) 1758b3307321Smrg vendor=wrs 1759b3307321Smrg ;; 1760b3307321Smrg -aux*) 1761b3307321Smrg vendor=apple 1762b3307321Smrg ;; 1763b3307321Smrg -hms*) 1764b3307321Smrg vendor=hitachi 1765b3307321Smrg ;; 1766b3307321Smrg -mpw* | -macos*) 1767b3307321Smrg vendor=apple 1768b3307321Smrg ;; 1769b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1770b3307321Smrg vendor=atari 1771b3307321Smrg ;; 1772b3307321Smrg -vos*) 1773b3307321Smrg vendor=stratus 1774b3307321Smrg ;; 1775b3307321Smrg esac 1776b3307321Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1777b3307321Smrg ;; 1778b3307321Smrgesac 1779b3307321Smrg 1780b3307321Smrgecho $basic_machine$os 1781afe13c8eSmrgexit 1782b3307321Smrg 1783b3307321Smrg# Local variables: 1784b3307321Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1785b3307321Smrg# time-stamp-start: "timestamp='" 1786b3307321Smrg# time-stamp-format: "%:y-%02m-%02d" 1787b3307321Smrg# time-stamp-end: "'" 1788b3307321Smrg# End: 1789